Minggu, 21 April 2019

ALGORITMA PEMROGAMAN 2 SEARCHING BINARY


searching binary

A.         PENGERTIAN SEARCHING
Searching adalah metode pencarian informasi dalam suatu aplikasi, dengan suatu kunci (key). Pencarian diperlukan untuk mencari informasi khusus dari table pada saat lokasi yang pasti dari informasi tersebut sebelumnya tidak diketahui. Pencarian selalu dinyatakan dengan referensi pada adanya sekelompok data yang tersimpan secara terorganisasi, kelompok data tersebut kita sebut table. Pada metode searching(pencarian) ada 2 teknik yang digunakan yaitu:
     1.       Pencarian sekuensial (sequential search) dan
     2.       Pencarian biner (Binary search).

B.           PENGERTIAN BINERY SEARCH
Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah. Bila data yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabai. Upper bound dari bagian data kiri yang baru adalah indeks dari data tengah itu sendiri. Sebaliknya, bila data yang ditengah lebih kecil dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan besar berada disebelah kanan dari data tengah. Lower bound dari data disebelah kanan dari data tengah adalah indeks dari data tengah itu sendiri ditambah 1. Demikian seterusnya.
Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case) pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen penampung nilai dan membandingkan nilainya Algoritma dari binary search adalah:
      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
     a)   Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
     b)   Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
     c)   Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin 2.

       C. Algoritma binary

awal=0;
akhir=n-1;
do
{
    tengah=(awal+akhir)/2;
    if (x<data[tengah])
    {
        akhir=tengah-1;
    }
    else
    {
        awal=akhir+1;
    }
}
while (akhir>=awal)&&(data[tengah!=x]);
if(data[tengah]==x)
{
    cout <<"data "<<x<<" pada posisi"<<tengah+1;
}
else
{
    cout<<"data tidak ditemukan";
}


























       D. Contoh program binary
  
Listing Progam

Hasil Running




Daftar Pustaka :
http://mimpi-kecilku.blogspot.com/2015/06/pengertian-binary-search-dan-contoh.html
https://www.academia.edu/9216301/MAKALAH_BINARY_SEARCH

                                                     


                                          ~~~TERIMAKASIH~~~




0 komentar:

Posting Komentar