Binary search adalah salah satu metode pencarian data, pada record-record atau yang lainnya. proses kerja binary search mencari datanya unik,,disini saya menggunakan bahasa C, setahu saya datanya harus di sorting terlebih dahulu. mohon maaf kalau ada kekurangan.Yah langsung saja ini listing yang saya buat
================================================================
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int intcmp(const void *v1, const void *v2);
main()
{
char ul='y';
int A[100],i,n,s,l,h,m;
do
{ clrscr();
printf("\nMasukkan Jumlah Data : ");scanf("%d",&n);
printf("\nMasukkan Nilai: \n");
for(i=0;i<n;i++)
{
int no=i+1;
printf("%d. Array Ke %d: ",no,i);scanf("%d",&A[i]);
}
puts("Tekan Sembarang Untuk Sorting");//nilai Harus di sorting terlebih dahulu
getch();
qsort(A, n, sizeof(A[0]),intcmp);
for(i=0;i<n;i++)
{
int no=i+1;
printf("%d. Array %d : %d\n",no,i,A[i]);
}
printf("\nMasukkan elemen yang ingin anda cari : ");scanf("%d",&s);
l=0;h=n-1;
while(l<=h) //proses mencari.
{
m=(l+h)/2;
if(s==A[m])
break;
if(s<A[m])
h=m-1;
else
l=m+1;
}
if(l<=h)
printf("\nElemen %d ditemukan pada Array Ke %d",s,m);
else
printf("\nElemen Tidak ditemukan");
printf("\nIngin Mengulang yang lain (Y/T)? ");scanf("%s",&ul);
}
while((ul=='y')||(ul=='Y'));
}
//fungsi pendukung pada qsort(sorting)
int intcmp(const void *v1, const void *v2)
{
return (*(int *)v1 - *(int *)v2);
}
3 komentar:
maksih dah membantu...
makasih postingannya, sangat membantu.....
terimakasih telah memberikan feedback yang baik :)
Posting Komentar
silahkan comment :)