Page 254 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 254
}
// Menampilkan hasil pencarian
if (ditemukan) {
cout << "Data " << cari << " ditemukan pada indeks ke-" << mid <<
endl;
} else {
cout << "Data " << cari << " tidak ditemukan dalam array" << endl;
}
return 0;
}
Output:
Masukkan jumlah elemen array: 5
Masukkan nilai elemen ke-1: 1
Masukkan nilai elemen ke-2: 2
Masukkan nilai elemen ke-3: 3
Masukkan nilai elemen ke-4: 4
Masukkan nilai elemen ke-5: 5
Masukkan nilai yang ingin dicari: 3
Data 3 ditemukan pada indeks ke-2
Penjelasan:
1) Mengurutkan array:
• Fungsi sort() dari library <algorithm> digunakan untuk mengurutkan array data
dalam urutan menaik.
• Hal ini penting karena binary search hanya bekerja pada array yang terurut.
2) Melakukan pencarian binary search:
• Algoritma binary search diimplementasikan menggunakan loop while.
• Loop ini berulang selama nilai cari belum ditemukan dan low (indeks awal) tidak
melebihi high (indeks akhir).
• Pada setiap iterasi:
o Hitung nilai mid sebagai indeks tengah antara low dan high.
o Bandingkan data[mid] dengan cari:
▪ Jika sama, ditemukan diubah menjadi true dan indeks mid disimpan.
▪ Jika data[mid] lebih kecil dari cari, low diperbarui menjadi mid + 1.
▪ Jika data[mid] lebih besar dari cari, high diperbarui menjadi mid - 1.
3) Menampilkan hasil pencarian:
• Jika ditemukan bernilai true, program akan mencetak pesan bahwa data ditemukan
pada indeks tertentu.
• Jika tidak ditemukan, program akan mencetak pesan bahwa data tidak ditemukan dalam
array.
231