Pada materi sebelumnya, kita telah belajar mengenai apa itu algoritma binary search. Di sana juga telah disematkan secuil materi tentang konsep dasar dan implementasi sederhana dari algoritma ini.
Pada kesempatan kali ini, kita akan melanjutkan meteri sebelumnya dengan memahami cara kerjanya. Dengan memahami konsep kerja dari binary search (pencarian biner), anda akan dapat dengan mudah membuat sebuah program atau source code berbasis pencarian data dengan algoritma ini.
Perlu Anda ketahui, algoritma binary search dapat di implementasikan di semua bahasa pemrograman. Terutama pada bahasa pemrograman yang dapat mengelola data secara dinamis. Contohnya adalah bahasa pemrograman PHP, JavaScript, Java, C#, C++, Python dan yang lainnya.
Cara Kerja Binary Search
Cara kerja dari algoritma ini adalah dengan melakukan pengecekan data secara berulang kali dengan membuang setengah jumlah data sampai menemukan sebuah kecocokan. Dengan konsep seperti ini, lingkup pencarian data akan semakin mengecil setiap melakukan proses perulangan.
Perlu diingat, syarat dalam proses pencarian ini adalah data harus diurutkan terlebih dahulu. Jika tidak diurutkan, proses pencarian tidak akan dapat berjalan dengan sempurna.
Kenapa data harus diurutkan terlebih dahulu di dalam penggunaan algoritma binary search?
Pertanyaan yang bagus.
Dalam algoritma binary search, terdapat tiga titik data yang membantu proses pencarian data. Titik tersebut berada pada awal data (min), tengah data (mid) data pada akhir data (max).
Titik yang mempunyai peran paling penting adalah titik tengah (mid). Titik ini berfungsi sebagai titik untuk mencocokan data pencarian, sebagai titik untuk membagi data menjadi dua dan sebagai titik untuk melakukan pengecekan posisi data.
Proses pengecekan posisi yang dimaksud adalah melakukan pengecekan data yang ingin dicari dengan membandingkannya dengan nilai tengah. Proses ini mengecek apakah posisi data yang dicari lebih kecil dari nilai tengah atau sebaliknya. Kemudian mengambil setengah data yang memenuhi hasil pengecekan dan membuang sisanya.
Proses pengecekan posisi inilah yang menjawab pertanyaan kenapa data harus diurutkan terlebih dahulu. Jika tidak, proses ini tidak dapat dilakukan.
Ilustrasi Binary Search
Di sini kami telah menyiapkan ilustrasi dari cara kerja binary search dalam bentuk animasi di dalam dua study kasus yang berbeda.
Studi Kasus 1
Pada studi kasus pertama ini, kita akan melihat ilustrasi pencarian angka 2 dari deret angka 1 2 3 4 5 6 7 8 9 10. Berikut ini adalah ilustrasi pencarian datanya.
Studi Kasus 2
Sebelumnya kita telah melihat proses pencarian biner dalam deret data yang telah terurut. Pada kasus ini kita akan melihat ilustrasi pencarian data M di dalam data yang tersusun secara acak. Data yang akan digunakan adalah S 8 3 7 J K S 9 1 N H.
Bagaimana? Anda sudah paham cara kerja algoritma binary search?
Untuk selanjutnya, kita akan mengimplementasikan binary search dengan membuat script-nya dengan bahasa pemrograman. Untuk bahasa yang akan kita gunakan adalah PHP dan JavaScript.