Binary search adalah tipe algoritma untuk mencari suatu data pada array. Dalam hal ini array adalah kumpulan data yang memiliki berbagai variabel dengan tipe data yang sama. Syarat yang harus dipenuhi untuk dapat menggunakan binary search ini adalah kumpulan data tersebut harus urut. Adapun karakteristik dari binary search yaitu membagi dua suatu kumpulan data. Untuk lebih memudahkan pemahaman, coba lihat gambar dibawah ini
Misal pada data di atas kita akan mencari suatu data yaitu angka 17. Kemudian kumpulan data tersebut akan dibagi dua, untuk memudahkan pencarian.
Maka data sekarang akan terbagi menjadi dua, yaitu data sebelah kanan (right) dan data sebelah kiri (left). Sedangkan yang menjadi titik tengahnya (mid) adalah angka 13. Kemudian angka 17 yang dicari akan dibandingkan dengan angka 13 yang menjadi titik tengah. Karena angka 17 > angka 13, maka kemungkinan angka 17 terletak disebelah kanan titik tengah. Maka pencarian akan difokuskan ke data sebelah kanan dan mengabaikan data sebelah kiri.
Maka saat ini yang menjadi titik tengah adalah angka 18. Dengan cara yang sama, yaitu angka 17 akan dibandingkan dengan angka 18. Karena angka 17 < angka 18, maka pencarian akan difokuskan di data sebelah kiri. Sedangkan data sebelah kanan akan diabaikan.
Maka saat ini yang menjadi titik tengah adalah angka 17. Kemudian angka 17 akan di bandingkan dengan angka 17 yang dicari. Karena angka 17 = angka 17 maka hasil yang dicari sudah ditentukan tempatnya. Nah, inilah akhir dari proses binary searh.
Binary search merupakan tipe algoritma pencarian data yang lebih banyak digunakan dari pada pencarian data tipe sekuensial. Jika pada tipe pencarian data sekuensial, pencarian data akan sangat lambat karena data yang akan dicari harus di cocok-kan satu persatu dengan data yang berada pada kumpulan data. Sedangkan dengan menggunakan binary search pencarian data akan lebih cepat karena tidak memerlukan pencocokan data secara satu-persatu.