Interpolation Search
Interpolation Search
juga dilakukan pada kumpulan data yang sudah urut. Akan tetapi jika pada binary search kita membagi data menjadi 2 bagian tiap prosesnya, pada interpolation search kita akan membagi data menurut rumus sebagai berikut: Posisi = ( kunci data lo!" # data high" data lo!" $ % ( high lo! $ & lo! 'ingkatnya proses pencarian interpolation search hampir mirip dengan proses pencarian kata dikamus, yaitu kita mencari data yang dimaksud dengan cara memperkirakan letak data.
(isal terdapat data sebagai berikut: Kode )2* )/0 )03 )*2 )2/ )92 )<< )?2 Judul +he ,&& Programming (astering 1elphi 2 Pro4essional ,5 Pure -a6a'cript 62 Ad6anced -'P 8 'er6let ,alculus (ake it :asy =isual 7asic 2))* :>press Arti4icial @i4e : =olume 3 Buku Pengarang -ames .ood (arcopolo 'imon .ebe (ichael 7olton 1a6id 1unn ;unner ,hristian Antonie ;loria =irginia
Aunci Pencarian B )<< @o! B ) Cigh B 9 Posisi = ()<< D )2*$ # ()?2 D )2*$ % (9 D )$ & ) = 2" Aunci 2" = kunci pencarian, data ditemukan : =isual 7asic 2))* Aunci Pencarian B )2) @o! B ) Cigh B 9 Posisi = ()2) )2*$ # ()?2 )2*$ % (9 )$ & ) = /" Aunci /" E kunci pencarian, maka teruskan @o! = / & 3 = 0 Cigh = 9 +ernyata Aunci 0" adalah )2/ yang lebih besar daripada )2). 7erarti tidak ada kunci )2).
4. p !i!i " ((cari_data - data#awal$)%(akhir-awal)&awal)'(data#akhir$data#awal$) (. ). .. cari_data "" data#p !i!i$ ? *ika !a+a, data t-lah dit-+ukan dan pr gra+ !-l-!ai *ika tidak, /andingkan 0 *12A (data#p !i!i$ < cari_data) awal " p !i!i & 13 4. lakukan langkah 4,( 5. *ika data#p !i!i$ 6 cari_data, ta+pilkan data tidak dit-+ukan, pr gra+ !-l-!ai