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.
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.
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
Post a Comment