Binary Search adalah pencarian bagi dua atau pencarian biner, hanya dapat dilakukan pada data yang sudah terurut. Bila data belum terurut dan akan dilakukan pencarian menggunakan metode ini maka terlebih dahulu harus diurutkan. Untuk data yang besar metode ini lebih efektif dibandingkan dengan metode pencarian sequential search.
Proses Pencarian
- Misalkan terdapat data 99 12 23 67 56 60 34 78 29 84.
- Misalkan yang di cari adalah data 84.
- Langkah pertama adalah mengurutkan data.
- 12 23 29 34 56 | 60 67 78 84 99
- Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari .diabaikan
- 60 67 78 84 99
- Pencarian dimulai dari tengah.
- 60 67 78 84 99
- Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari diabaikan.
- 78 84 99
- 78 84 99
- Pencarian dimulai dari tengah, maka data 84 ditemukan.
Contoh program binary search
#include <stdio.h>
#include <stdlib.h>
// Judul : pencarian data dengan metode Binary Search
// Kamus :
int tabInt[10] = {12,23,29,34,56,60,67,78,84,99};
int i,j,k;
int cariData,ketemu;
int main(){
printf("Masukkan data yang dicari = ");
scanf("%d",&cariData);
i = 0; j = 9;ketemu = 0;
while((ketemu == 0) && (i<=j)){
k = (int)(i + j) / 2;
if(tabInt[k] == cariData){
ketemu = 1;
}
else{
if(tabInt[k] > cariData){
j = k - 1;
}
else{
i = k + 1;
}
}
}
if(ketemu==1){
printf("Data %d terdapat pada kumpulan data\n",cariData );
}else{
printf("Data %d tidak terdapat pada kumpulan data\n",cariData );
}
}
Demikian postingan dari saya semoga bermanfaat dan terimakasih telah membaca 







0 comments:
Post a Comment