Searching (binary search dan sequental search)


SEARCHING

a.   Definisi Searching

Searching adalah mencari data yang dibutuhkan. Searching adalah pemrograman bisa dilakukan untuk mencari data yang ada di dalam memori komputer.

b.   Definisi Binary Search

Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.

c.    Prinsip Binary Search

Prinsip dari binary search terhadap N elemen dapat dijelaskan seperti berikut:
1.   Tentukan posisi awal = 0 dan posisi akhir = N-1.
2.   Hitung posisi tengah = (posisi awal + posisi akhir)/2.
3.   Bandingkan data yang dicari dengan elemen posisi tengah.
            4.   Jika sama maka catat posisi dan cetak kemudian berhenti.
            5.   Jika lebih besar maka akan dilakukan pencarian kembali kebagian kanan dengan posisi awal
            6.   posisi tengah +1 dan posisi akhir tetap kemudian ulangi mulai poin 2.
            7.   Jika lebih kecil maka akan di lakukan pencarian kembali ke bagian kiri dengan nilai posisi awal.
            8.   tetap dan nilai posisi akhir  = posisi tengah-1 kemudian ulangi mulai poin 2.
Misalkan kita mempunyai sederatan data dalam array nilai sebanyak 10 elemen dan akan dilakukan pencarian data 87 terhadap array.
Nilai[0..9] = 12,45,23,87,90,55,15,25,40,21
Urutkan elemen array secara menaik, sehingga diperoleh:
Nilai[0..9] = 12,15,21,23,25,40,45,55,87,90
Data yang akan dicari = 87(bilangan)
Tentukan nilai awal = 0, akhir = N-1=9
Hitung tengah = (9+0)/2=4
Bandingkan Bilangan < Nilai[tengah]->87=25->false
Bandingkan Bilangan < Nilai[tengah]->87<25->false
Bandingkan Bilangan < Nilai[tengah]->87>25->true maka pencarian dilakukan ke sebelah kanan dengan nilai awal = tengah+1 = 5
Karena awal masih lebih kecil dari akhir maka ulangi kembali mulai menghitung tengah
Hitung tengah = (9+5)/2=7
Bandingkan Bilangan  < Nilai[tengah] ->87=55->false
Bandingkan Bilangan < Nilai[Tengah]->87<55->false
Bandingkan Bilangan < Nilai[tengah]->87>55->true maka pencarian dilakukan ke sebelah kanan dengan nilai awal = tengah+1 = 8
Karena awal masih lebih kecil dari akhir maka ulangi kembali mulai menghitung tengah
Hitung tengah = (9+8)/2 = 8
Bandingkan Bilangan < Nilai[tengah]->87=87->true
Karena sudah di tentukan hasilnya maka proses pencarian berhenti.
Program Binary Search:

Hasil Running:
Flowchart:



d.   Definisi Sequential Search

Sequential search adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. 

e.    Cara Kerja Sequential Search

Cara Kerja Sequential Search, sebagai berikut:
             a.       Data Array = { 21, 4, 94, 14, 1, 9, 2}
             b.      Elemen  kunci  yang di cari = 14
             c.       Maka elemen Data Array : 10, 8, 11, 20, 27, 99, 21, 5, 41, 17
             d.      Elemen yang di cari : 99
             e.       Maka elemen yang di periksa adalah : 21, 4, 94, 14 (Data 14 di temukan)
             f.       Index larik yang di kembalikan : idx : 3
            g.       Setelah elemen kunci yang di cari ketemu maka pencarian akan berhenti di sini tanpa        memeriksa elemen setelah elemen 14.

f.    Kelebihan dan Kekurangan Sequential Search

Sequential Searching memiliki Kelebihan dan Kekurangan yaitu:
           1.   Kelebihan Sequential Searching bisa dikatakan lebih mudah dalam implementasinya dalam pemrograman.
           2.   Kekurangannya jika data yang terdapat dalam suatu array itu sangat banyak, maka akan diperlukan waktu yang lebih lama untuk membandingkan data yang dicari dengan jumlah data yang sangat banyak dalam suatu array.



Program:


Hasil Running:


Komentar

Postingan populer dari blog ini

CLI Linux

Remastering Linux UBUNTU tema Defending

HIMPUNAN