Kode Binary Search Menggunakan Bahasa C

Pemrograman Bahasa C-- 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 dicari mencapai setengahnya. Pencarian Binary sering di gunakan untuk mencari suatu nilai, kata, atau record tertentu. Pada bab ini kita akan menggunakan Binary Search menggunakan bahasa C.
Berikut ini adalah ilustrasi dari Binary Search 
kalo ini Sequential Search cekk di sini.
Skema dasar Binary Search
Dibawah ini adalah notasi algoritmik yang dibuat untuk menjadi abstraksi dari metode
Pencarian biner dengan boolean
pencarian biner tanpa boolean
Agar lebih paham listing code dibawah ini bisa dianalisis bagaimana proses binary search terjadi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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);
}
Berikut ini referensi untuk menulis tulisan di atas, kode dan dari beberapa blog :
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.
 Semoga ilmu yang dibagikan menjadi bermanfaat, ini adalah doa, boleh di kopas, atau di bagikan secara gratis. Tulisan tentang binary Search menggunakan bahasa C ini.

Comments