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
   232   233   234   235   236   237   238   239   240   241   242