Page 258 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 258

Penjelasan:
                  1)  Fungsi binarySearch:

                      •  Menerima 3 parameter:

                          o  arr: Daftar angka yang diurutkan (array of integers).
                          o  n: Jumlah elemen dalam daftar (integer).

                          o  target: Angka yang ingin dicari (integer).

                      •  Mengembalikan nilai integer:
                          o  Indeks angka yang dicari jika ditemukan.

                          o  Nilai -1 jika angka tidak ditemukan.
                      •  Melakukan pencarian menggunakan loop while dengan kondisi low <= high.

                          o  low dan high mewakili indeks awal dan akhir dari bagian daftar yang sedang dicari.
                      •  Pada setiap iterasi loop:

                          o  Hitung mid sebagai indeks tengah antara low dan high.

                          o  Bandingkan arr[mid] dengan target:
                              ▪  Jika sama, kembalikan mid sebagai indeks yang ditemukan.

                              ▪  Jika arr[mid]  <  target, perbarui low menjadi mid  +  1 untuk mencari di

                                  bagian kanan daftar.
                              ▪  Jika arr[mid] > target, perbarui high menjadi mid - 1 untuk mencari di

                                  bagian kiri daftar.

                      •  Jika loop selesai dan low > high, artinya angka tidak ditemukan, kembalikan -1.
                  2)  Fungsi main:

                        • Mendefinisikan daftar angka arr yang sudah diurutkan.
                        • Menghitung jumlah elemen dalam daftar (n).

                        • Memanggil fungsi binarySearch untuk dua kasus:

                          o  Mencari angka 67.
                          o  Mencari angka 50.

                      •  Menampilkan hasil pencarian (indeks atau pesan "tidak ditemukan").













                                                                                                         235
   253   254   255   256   257   258   259   260   261   262   263