Tampilkan postingan dengan label DASAR PEMROGRAMAN. Tampilkan semua postingan
Tampilkan postingan dengan label DASAR PEMROGRAMAN. Tampilkan semua postingan

Kamis, 26 Juli 2018

Metode Binary Search



Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.

- Pertama, kita menentukan terlebih dahulu letak MIN dan MAX pada suatu array;
- Kedua, kita harus mencari nilai MID / Tengah antara MIN & MAX, yang kemudian bandingkan nilai yang kita cari dengan nilai MID sekarang;
- Ketiga, kita memindahkan nilai MIN/MAX untuk mendekati nilai yang kita cari;

Kita menggunakan 3 siklus tersebut hingga MID berada pada data yang kita cari. Sebagai contoh binary search akan saya gambarkan sebagai berikut.

 Binary Search, Carilah nilai 70!

1. Kita menentukan nilai MIN dan MAX, yaitu ada di index 0 & 13


 
2. Kita mencari nilai MID dengan cara yaitu, MID = 0 + 13 / 2 = 6,5 dan harus dibulatkan menjadi 6. Kemudian kita bandingkan nilai yang kita cari yaitu 70 dengan nilai MID sekarang yaitu 49. Maka 70 > 49

 3. Kita ketahui bahwa 70 > 49, maka kita menggeser nilai MIN kita untuk mendekati nilai yang kita cari ( 70 ). Kita menggunakan rumus MIN = MID + 1 = 7





4. Kita telah menemukan nilai MIN sekarang yaitu pada index 7 dan MAX tetap di index 13
 5. Kemudian kita kembali mencari nilai MID di antara MIN dan MAX, yaitu dengan cara
 MID = 7 + 13 / 2 = 10. Bandingkan nilai yang kita cari dengan nilai MID sekarang. maka 70 > 64
6.   Kita ketahui bahwa 70 > 64, maka kita menggeser nilai MIN kita untuk mendekati nilai yang kita cari ( 70 ). Kita menggunakan rumus MIN = MID + 1 = 7
7.  Kita telah menemukan nilai MIN sekarang yaitu pada index 11 dan MAX tetap di index 13
 
8.  Kemudian kita kembali mencari nilai MID di antara MIN dan MAX, yaitu dengan cara 
MID = 11 + 13 / 2 = 12. Bandingkan nilai yang kita cari dengan nilai MID sekarang. maka 70 = 70

 

Maka kita telah menemukan nilai yang kita cari yaitu 70 dengan menggunakan metode pencarian Binary Search.


Semoga Bermanfaat 👍