Pencarian dengan BINARY SEARCH

10/01/2013 19:44

Prinsip dari pencarian biner dapat dijelaskan sebagai berikut : mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1. Jika lebih besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1. Demikian seterusnya sampai data tengah sama dengan yang dicari.

Untuk lebih jelasnya, perhatikan algoritma berikut:

  1. Low = 1 , High = N
  2. Ketika Low <= High Maka kerjakan langkah No .3,  Jika tidak Maka kerjakan langkah No.7
  3. Tentukan Nilai Tengah dengan rumus mid = ( Low + High ) Div 2
  4. Jika X < Nil. Tengah Maka High = Mid –1
  5. Jika X > Nil. Tengah Maka Low = Mid +1
  6. Jika X = Nil. Tengah Maka Nil. Tengah = Nil. Yg  dicari
  7. Jika X > High Maka Pencarian GAGAL

Keterangan: X adalah nilai yang dicari.

Contoh Soal: Perhatikan deret bilangan berikut:

Deret 4 5 7 8 15 20 25
Index 1(Low) 2 3 4 5 6 7(High)

 

X=15 (bilangan yang dicari)

Jawab:

Tentukan nilai tengah (Mid) terlebih dahulu. Mid= (Low+High)/2 --> (1+7)/2=4, berarti nilai tengah (Mid) ada diindex 4 yaitu 8. Kemudian lakukan perbandingan (lihat langkah ke-4).

Deret 4 5 7 8 15 20 25
Index 1(Low) 2 3 4(Mid) 5 6 7(High)

 

15 < 8 (Tidak), berarti nilai yang dicari (X) lebih besar dari nilai tengah (Mid). Lihat langkah ke-5 (algoritma diatas). Sehingga Low=Mid+1, berdasarkan ekpsresi perhitungan ini, jadi letak Low index-nya berpindah (Mid+1) artinya bergeser kekanan. dan urutanyya menjadi:

Deret 15 20 25
Index 5(Low) 6 7(High)

 

Cari nilai tengahnya lagi (Mid). Mid=(Low+High)/2 --> (5+7)/2=6, berarti nilai tengah (Mid) ada diindex 6 yaitu 20. Karena belum ditemukan, lakukan perbandingan (lihat langkah ke-4 kembali).

Deret 15 20 25
Index 5(Low) 6(Mid) 7(High)

 

15<20 (Ya), maka nilai High=Mid-1. Sehingga deret bilangannya sekarang hanya tinggal 15 saja. Karena bilangannya hanya tinggal satu, tentu saja bilangan itu meliputi semua bagian Low,Mid,High,dan X (nilai yang dicari). Sehingga pencarian SUKSES.

Deret 15
Index Low,Mid,High,dan X (nilai yang dicari)

 

Materi Kuliah

Pencarian dengan StraitMAXMIN (Best CASE)

14/01/2013 18:57

Pencarian dengan BINARY SEARCH

10/01/2013 19:44

Teknik Sorting (Quick Sort)

02/01/2013 15:07

Teknik Sorting (Buble Sort)

12/12/2011 16:27

Teknik Sorting (Selection Sort)

10/12/2011 16:14

Game Logika (pert-2)

27/09/2011 20:04

Game Logika (part-1)

27/09/2011 19:10

Struktur Dasar Algoritma

01/02/2011 10:54

Apakah Algoritma itu...?

01/02/2011 09:21