Halo! Kali ini OmahTI akan membahas tentang apa itu binary search. Mungkin mendengar namanya saja kita sudah dibuat kebingunan, karena bahasanya saja sudah terdengar asing. Tapi tenang saja, binary search itu sebenarnya adalah hal yang sangat alami, sesuatu yang sering kita jumpai dalam kehidupan sehari-hari.

Mungkin banyak di antara kita yang sudah pernah mencari sesuatu yang sudah diurutkan terlebih dahulu sebelumnya. Seperti mencari KTP milik kita diantara puluhan KTP lain saat kita mengembalikan DVD sewaan, atau mencari lembar jawab kita yang sudah dinilai diantara tumpukan lembar jawab. Ketika kita melakukan hal tersebut, mungkin banyak diantara kita yang mencari satu persatu sampai apa yang kita cari ketemu. Tapi apa yang akan kamu lakukan jika ternyata sesuatu yang akan kita cari berada di dalam suatu tumpukan yang sangat banyak? Mencari satu persatu tentu saja akan memakan waktu yang sangat banyak juga.

Insting awal kita akan menyuruh kita untuk melihat bagian tengah dari tumpukan tersebut dan membagi tumpukan tersebut menjadi dua, kemudian menentukan apakah sesuatu yang kita cari ada di bagian sebelum tengah, atau di bagian setelah tengah. Kemudian kita mengulangi lagi hal yang sama, dengan tumpukan yang baru, sampai kita mendapatkan apa yang kita mau.

Paragraf di atas tadi sesungguhnya adalah bagaimana binary search itu bekerja. Dengan membuat  ruang pencarian menjadi setengah dari semula pada setiap langkah, kita dapat membuat pencarian yang mulanya memakan waktu sangat banyak, menjadi sangat sebentar. Kompleksitas dari binary search ini adalah O(2log n), jauh lebih singkat dari pencarian satu-satu yang sebesar O(n). Hal ini membuat pencarian dengan jumlah tumpukan sebesar 1.000.000 hanya memakan kurang lebih 20 langkah saja. Sangat hebat bukan?

Saking hebatnya, hampir semua teknologi di zaman sekarang menggunakan binary search sebagai metode pencarian utama. Google, Facebook, Microsoft, bahkan website ini sekalipun juga menggunakan binary search. Bayangkan saja jika perusahaan-perusahaan terkenal di atas tidak memakai binary search. Siapa yang mau googling jika kita harus menunggu 10 menit untuk sekali search?

Tapi ingat, seperti yang dibilang di awal, agar kita dapat melakukan binary search, kita harus mengurutkan terlebih dahulu semua data yang ada dan binary search belum tentu menjadi cara yang paling efisien. Terkadang, untuk data dengan jumlah yang sedikit atau pencarian hanya dilakukan sekali saja, metode satu-satu sudah cukup untuk menyelesaikan suatu masalah.

Kegunaan binary search tidak terbatas oleh pencarian sesuatu di suatu tumpukan saja. Namun informasi tentang itu kami serahkan kepada pembaca untuk mencarinya sendiri. Cara tercepat untuk mencari informasi tersebut adalah dengan membuka tab baru pada browser,  kemudian menggunakan search engine (yang tentu saja menggunakan binary search di dalamnya) untuk mencari informasi tentang binary search.