Page 237 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 237
if (array[mid] == dataDicari) {
return mid;
} else if (array[mid] < dataDicari) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1; // Nilai tidak ditemukan
}
int main() {
int n; // Jumlah elemen array
int dataDicari; // Nilai yang ingin dicari
// Meminta input jumlah elemen array
cout << "Masukkan jumlah elemen array: ";
cin >> n;
// Deklarasi dan inisialisasi array
int array[n];
cout << "Masukkan nilai-nilai array (pastikan terurut): " << endl;
for (int i = 0; i < n; i++) {
cin >> array[i];
}
// Meminta input nilai yang ingin dicari
cout << "Masukkan nilai yang ingin dicari: ";
cin >> dataDicari;
// Mencari data menggunakan interpolation search
int indeks = interpolationSearch(array, n, dataDicari);
// Menampilkan hasil pencarian
if (indeks == -1) {
cout << "Data " << dataDicari << " tidak ditemukan dalam array." <<
endl;
} else {
cout << "Data " << dataDicari << " ditemukan pada indeks ke-" <<
indeks << endl;
}
return 0;
}
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:
228