Page 20 - E-Modul Pembelajaran Informatika Fase E_2_Neat
P. 20

b. Pencarian Biner
                      Algoritma biner adalah pencarian yang membagi elemen-elemen data menjadi dua bagian, kemudian melakukan
                  pencarian  sampai  menemukan  data  yang  dicari.  Proses  pencarian  dilakukan  dengan  mengurutkan  data  input,
                  kemudian membaginya menjadi dua bagian dan membandingkan data yang di tengah dengan kriteria yang diberikan.

                       Proses tersebut dapat dianalogikan sebagai berikut. Misalnya Anda ingin mencari seseorang bernama Udin
                  dengan kriteria tinggi badan 167 cm di antara 1.000 orang. Anda kemudian meminta 1.000 orang tersebut untuk
                  berdiri dalam urutan dari yang paling pendek ke yang paling tinggi. Kemudian anda mendatangi orang yang ke-500
                  dan memeriksa tingginya. Jika ternyata tinggi orang tersebut 170cm , Udin dipastikan berada di antara orang 1

                  sampai 499. Oleh karena itu, orang ke-500 sampai 1.000 dieleminasi. Selanjutnya, adna mendatangi orang yang ke-
                  250 dan mengukur tinggi orang tersebut. Jika tinggi orang tersebut adalah 166cm, dipastikan Udin berada pada
                  barisan orang ke-251 sampai 499. Proses pencarian ini dilanjutkan kembali dengan membagi kelompok orang yang
                  tersisa menjadi dua bagian, sampai Udin ditemukan.


















                                    Sumber Gambar : https://mikirinkode.com/algoritma-pencarian/

                       Jika dituliskan, implementasi langkah-langkah untuk melakukan pencarian biner adalah sebagai berikut.

                     1. Pada data yang telah diurutkan, ambil elemen data yang ada di tengah-tengah. Bandingkan nilai data dengan
                      kriteria yang digunakan, jika:
                           a. Nilai data sama dengan kriteria, kembalikan nilai indeks array dari elemen data yang bersangkutan.
                           b. Nilai data tidak sama dengan kriteria, lakukan hal berikut.
                      Jika nilai data lebih kecil dari kriteria, pindah ke indeks array yang ada di tengah-tengah kelompok data yang

                      ada disebelah kanan dan ulangi langkah 1.
                      Jika nilai data lebih besar dari kriteria, indah ke indeks array yang ada di tengah-tengah kelompok data yang
                      ada disebelah kiridan ulangi langkah 1.

                       2.  Jika datan yang sesuai dengan kriteria ditemukan, kembalikan nilai indeks array dari elemen data yang
                  bersangkutan. Jika tidak ada data yang ditemukan, kembalikan nilai -1 (data tidak ditemukan).




















                                                                                                         16
   15   16   17   18   19   20   21   22   23   24   25