sudah lama tak posting tentang program lagi....maklum karna aktivitas aku yang full...jadi melupakan Blog ku....nah kali ini aku posting program tentang Binary Search
maksud dari program ini..kita telah menginputkan L[10] artinya L itu mempunya batas index arraynya 10 dimulai dari 0-9, nah dan program ini inputannya secara otomatis kita tentukan bukan inputan melalu keyboard atau secara randome...
dan bilangan yang aku masukkan kali ini L[10] = {12,14,15,17,23,25,45,67,68,70};
oke langsung aja ke source codenya :)
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
#pragma argused
using namespace std;
int main(int argc, char *argv[])
{
int X,i,j,k,p;
int L[10] = {12,14,15,17,23,25,45,67,68,70};
if(L[0]<L[9]){
printf("Data Terurut Menail \n");
p=0;
}
else{
printf("Data Terurut Menurun \n");
p=1;
}
printf("Data yang akan dicari =");
scanf("%d", &X);
i=0;
j=9;
do{
k=(i+j)/2;
if(p==0){
if(L[k]==X){
printf("Data ditemukan diElemen %d",k);
getch();
return 0;
}
else if (L[k]<X){
i=k;
}
else{
j=k;
}
}
else{
if(L[k]==X){
printf("Data diTemukan dieleme %d",k);
getch();
return 0;
}
else if(L[k]>X){
i=k;
}
else{
j=k;
}
}
}
while(k!=0);
printf("Data Tidak diTemukan");
system("PAUSE");
return EXIT_SUCCESS;
}
Hasil Running programnya ketika aku mencari data 14 maka data akan ditemukan diELemen yang ke-1
karena index array dimulai dari 0-9 ("L[10]") , dan data ke 14 ada diposisi ke-2 atau index ke-1, jadi ditemukan dielemen 1.