Binary Search (Pencari bagi dua)

Binary Search hanya bisa melakukan pencarian di data yang sudah terurut.Prinsip kerjanya adalah membagi dua daftar jika elemen key ditemukan.Secara logaritmik pencarian ini lebih cepat dibandingkan pencarian beruntun karena mereduksi jumlah elemen yang dcari.
Berikut ini adalah ilustrasi dari Binary Search

Skema dasar Binary Search

Dibawah ini adalah notasi algoritmik yang dibuat untuk menjadi abstraksi dari metode

Agar lebih paham listing code dibawah ini bisa dianalisis bagaimana proses binary search terjadi.

<pre>#include <stdio.h>
#define MAX 10

void bsearch(int list[],int n,int element)
{
   int l,u,m, flag = 0;
   l = 0;
   u = n-1;
   while(l <= u)
   {
      m = (l+u)/2;
      if( list[m] == element)
      {
               printf(" The element whose value is %d is present at
position %d in list\n",
                     element,m);
                 flag =1;
                 break;
      }
      else
            if(list[m] < element)
                   l = m+1;
            else
                   u = m-1;
   }
   if( flag == 0)
   printf("The element whose value is %d is not present in the list\n",
       element);
}
void readlist(int list[],int n)
{
   int i;
   printf("Enter the elements\n");
   for(i=0;i<n;i++)
       scanf("%d",&list[i]);
}

void printlist(int list[],int n)
{
    int i;
   printf("The elements of the list are: \n");
   for(i=0;i<n;i++)
       printf("%d\t",list[i]);
}
void main()
{
   int list[MAX], n, element;
   printf("Enter the number of elements in the list max = 10\n");
   scanf("%d",&n);
   readlist(list,n);
   printf("\nThe list before sorting is:\n");
   printlist(list,n);
   printf("\nEnter the element to be searched\n");
   scanf("%d",&element);
   bsearch(list,n,element);
}

Referensi :
Liem, Inggriani.2007.Diktat Kuliah Dasar Pemrograman (Pemrograman Prosedural).STEI-ITB : Bandung.
Shalahudin, M. dan Rosa A.S. 2007. Belajar Pemrograman dengan Bahasa C++ dan JAVA : Dari Nol Menjadi Andal.Penerbit Informatika : Bandung.
A.S. , Rosa.2010.Diktat Kuliah Algoritma dan Pemrograman 2.Program Studi Pendidikan Ilmu Komputer dan Ilmu Komputer-UPI : Bandung.
Sunaryo, Anthony Rahmat.Algoritma Pencarian Simpul Solusi Graf.Jurusan Teknik Informatika – ITB : Bandung.
Deshpande, P.S and O.G. Kakde.2004.C & Data Structures.Charles River Media.

 

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s