Posted by : Unknown
Jumat, 14 Desember 2012
2. Pencarian Terhadap Data Urut
Apabila kumpulan data sudah dalam keadaan urut, pencarian data dengan
menggunakan pencarian sekuensial akan memakan waktu yang lama jika jumlah data
dalam kumpulan data tersebut sangat banyak. Untuk mengatasi hal itu terdapat
algoritma yang dirancang agar pencarian data dapat dilakukan secara efisien.
Metode yang digunakandikenal dengan sebutan pencarian biner (binary search).
Pencarian biner dilakukan dengan membagi larik menjadi dua bagian dengan
jumlah yang sama atau berbeda 1 jika jumlah data semula ganjil. Data yang
dicari kemudian dibandingkan dengan data terakhir pada bagian utama. Data hal
ini ada tiga kemungkinan yang terjadi.
1.
Data yang
dicari sama dengan elemen terakhir pada bagian pertama dalam larik. Jika
kondisi ini terpenuhi, data yang dicari berarti ditemukan.
2.
Data yang
dicari bernilai kurang dari nilai elemen terakhir pada bagian pertama dalam
larik. Pada keadaan ini, pencarian diteruskan pada bagian pertama.
3.
Data yang
dicari bernilai lebih dari elemen terakhir pada bagian pertama dalam larik.
Pada keadaan ini, pencarian diteruskan pada bagian kedua.
Untuk lebih jelasnya bisa dilihat pada gambar di bawah ini :
data yang dicari adalah 12
Mula-mula larik
tersebut dipecah menjadi dua bagian seperti berikut :
Selanjutnya, bilangan yang dicari yaitu 12 dibandingkan dengan elemen terakhir pada bagian pertama pada larik yaitu angka 10. maka pencarian diteruskan pada bagian kedua (bagian kanan). Menunjukkan setelah bagian kanan dibagi menjadi dua dan seterusnya sampai data yang dicari ditemukan.
Berdasarkan gambar di atas yang merupakan langkah terakhir, angka yang
dicari dibandingkan dengan elemen terakhir pada bagian pertama (yaitu angka
12).
Dan hasil eksekusinya seperti berikut :
Contoh lainnya : mencari nama
Hasil eksekusi program tersebut sebagai berikut :