Page 256 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 256
Output:
Masukkan jumlah elemen array: 4
Masukkan nilai-nilai array (pastikan terurut):
6
7
8
9
Masukkan nilai yang ingin dicari: 4
Data 4 tidak ditemukan dalam array.
Penjelasan:
1) Fungsi interpolationSearch:
• Fungsi ini menerima 3 parameter:
o array: Array yang akan dicari datanya (tipe int).
o n: Jumlah elemen dalam array (tipe int).
o dataDicari: Nilai yang ingin dicari dalam array (tipe int).
• Fungsi ini mengembalikan nilai int:
o Indeks elemen array yang berisi nilai dataDicari jika ditemukan.
o Nilai -1 jika data tidak ditemukan.
• Algoritma pencarian menggunakan loop while dengan kondisi low <= high.
o low dan high mewakili indeks awal dan akhir dari bagian array yang sedang dicari.
• Pada setiap iterasi loop:
o Hitung mid menggunakan rumus interpolasi yang melibatkan nilai dataDicari,
array[low], dan array[high].
o Bandingkan array[mid] dengan dataDicari:
▪ Jika sama, kembalikan mid sebagai indeks yang ditemukan.
▪ Jika array[mid] < dataDicari, perbarui low menjadi mid + 1 untuk mencari
di bagian kanan array.
▪ Jika array[mid] > dataDicari, perbarui high menjadi mid - 1 untuk
mencari di bagian kiri array.
• Jika loop selesai dan low > high, artinya data tidak ditemukan, kembalikan -1.
2) Fungsi main:
• Sama seperti pada program binary search sebelumnya, fungsi ini mendeklarasikan
variabel, meminta input dari pengguna, dan menampilkan hasil pencarian.
• Perbedaan utama terletak pada pemanggilan fungsi pencarian:
o Dalam program ini, fungsi interpolationSearch digunakan untuk mencari data dengan
parameter array, jumlah elemen, dan nilai yang dicari.
233