Pencarian Biner (Binary Search) adalah metode pencarian yang bekerja dengan membagi data menjadi dua bagian, lalu membandingkan data pada salah satu bagian dengan target yang dicari. Proses ini memerlukan indeks terkecil dan terbesar untuk dihitung rata-rata, yang kemudian digunakan untuk menentukan bagian mana yang akan diperiksa lebih lanjut. Jika nilai yang dicari tidak ada dalam data, maka akan dikembalikan -1 atau indikasi bahwa nilai tidak ditemukan. Metode ini hanya dapat digunakan pada data yang telah diurutkan, dan secara signifikan lebih efisien dibandingkan dengan pencarian linear (linear search).
Dekomposisi membantu kita memecah pencarian biner menjadi langkah-langkah berikut:

Catatan: Jika hasil perhitungan nilai mid berupa angka desimal (misalnya 0,5), bulatkan nilai indeks ke bawah.

Berdasarkan rumus diatas, didapatkan nilai m atau mid = 6, yang berarti nilai tengahnya adalah angka yang ada pada indeks ke-6 yaitu 33. Mari kita periksa lagi apakah angka 33 sama dengan angka yang dicari? Jawabannya adalah tidak.
Lanjutkan pencarian.

Pencarian target pada area sebelum m adalah indeks ke-5. Apakah nilai yang ada dalam indeks ke-5 sama dengan angka yang dicari? Jawabannya adalah YA, maka pencarian selesai.
Pola yang bisa dikenali dalam pencarian biner:
Perhatikan barisan angka berikut. Untuk melihat visualisasi cara kerja algoritma pencarian biner, cobalah masukkan angka “17” sebagai target pada kolom masukan.
Dalam pencarian biner, kita dapat menyederhanakan masalah sebagai berikut:
Berikut adalah langkah-langkah algoritma pencarian biner:
✅ Best Case:
Kondisi terbaik saat pencarian dilakukan, dimana data ditemukan dengan cepat:
❌ Worst Case:
Kondisi terburuk saat pencarian dilakukan, dimana pencarian memakan waktu paling lama:
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 16 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 15 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 12 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 10 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 1 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 800 dengan algoritma pencarian biner?
Perhatikan barisan angka berikut ini:
Dari barisan angka di atas, berapa langkah yang dibutuhkan untuk menemukan angka 28 dengan algoritma pencarian biner?