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
   249   250   251   252   253   254   255   256   257   258   259