Pencarian Biner
AWAL :=1
Akhir := n
While AWAL ≤ AKHIR do
tengah := [ (awal+akhir)/2]
if kunci (cari) = kunci (tengah)
then pencarian berakhir.
else if kunci(cari) > kunci (tengah)
then AWAL := TENGAH + 1
else AKHIR := TENGAH – 1
end
rekaman tidak ditemukan
end pencarian_biner
Flowchart utk pencarian biner
Mulai
AWAL = 1
AKHIR = N
> Rekaman
AWAL : AKHIR Tidak
ditemukan
≤
TENGAH := [(AWAL+AKHIR)/2]
>
→ AWAL = TENGAH2 + 1 = 8
TENGAH3 = [ (8 + 9)/2] = 8 → Kcari : Ktengah 3 → 49 = 49
Ketemu, di Probe = 3
Perhitungan
1 2 3 4 5 6 7 8 9
→ AWAL = TENGAH2 + 1 = 3
TENGAH3 = [ (3 + 4)/2] = 3 → Kcari : Ktengah 3 → 27< 28
→ AKHIR = TENGAH3 – 1 = 2
AWAL > AKHIR → Rekaman tidak ditemukan
1. Diketahui rekaman-rekaman dengan kunci
34, 44, 51, 56, 690, 890, 1060, 2876, 3570,
dan 3999, berapa Probe diperlukan untuk
menemukan reakaman dengan kunci 51,
1060 dan 895 menggunakan pencarian
biner?