Pada rekaman yang sudah diurutkan dapat diperkecil dengan menggunakan pencarian biner. Jika kunci cari lebih kecil dari pada kunci tengah maka bagian berkas dimulai dari kunci tengah sampai akhir berkas dieliminasi. Sebaliknya jika kunci cari lebih besar dari pada kunci tengah maka bagian berkas dimulai dari awal berkas sampai kunci tengah
Rumus :
awal=1
akhir=n
tengah= 1+n/2
Jika Kc > Kt maka tengah +1
Jika Kc< Kt maka tengah - 1
contoh :
anda memiliki rekaman 10,20,30,40,50,60,70,80,90.kita mau mencari nilai 70
langkah-langkah :
iterasi I
awal = 1
akhir = 9 =>(didapat karena jumlah berkas 9)tengah = 1+9/2 = 5 =>5 merupakan nilai tengah
Kc : Kt = 70 > 50 =>(70 adalah nilai yang dicari & 50 adalah nilai yang didapat dari kunci tengah)
Awal = tengah + 1= 5+1=6 =>(5 merupakan kunci tengah)
Iterasi II
awal = 6
akhir = 9
tengah = 6+9/2 = 7.5 = 7 =>(nilai sisa dibuang sehingga menjadi 7)
Kc : Kt = 70= 70
Ketemu pada itersi II
Tidak ada komentar:
Posting Komentar