Postest Strategi Algoritma ke 8

Program Strategi Algoritma Halaman 47 (Binary Search)


#include <conio.h>
#include <stdio.h>
//Lukman Reza 01 juni 2o12

int main(int argc , char* argv[]){
int x,i,k;
int l[10]={20,15,22,30,60,28,17,18,21,22};
 printf("Data yang dicari = "); scanf("%d",&x);
 k=0;
  for(i=0;i<10;i++){
   if(l[i]==x){
    printf("Data ditemukan di elemen %d\n",i);
    k++;}}

if(k==0){
printf("Data tidak ditemukan\n");}

printf("Jumlah data yang ditemukan = %d",k);

getch();
return 0;
}

Program halaman 48-49 (Sequential Search)

#include <conio.h>
#include <stdio.h>

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};

/*Menentukan apakah terurut menaik atau menurun*/
/*Variabel p digunakan untuk kode, apakah menaik atau menurun*/
/*Jika p=0, maka data terurut menaik*/
/*Jika p=1, maka data terurut menurun*/

if (L[0]<L[9]){
 printf("Data terurut menarik \n");
 p=0;}
else{
 printf("Data terurut menurun \n");
 p=1;}

/*input data X yang akan dicari*/
printf("Data yang dicari="); scanf("%d",&X);

/*Penentuan indeks awal dan akhir semula*/
i=0;
j=10;

/*proses perulangan untuk menentukan nilai tengah k */
do{
k=(i+j)/2;
if (p==0){           //jika data terurut menaik
 if (L[k]==X){
  printf ("Data ditemukan di elemen %d",k);
  getch();
  return 0; //langsung keluar program
  }

 else if(L[k]==X){
  i=k;}
else{
j=k;
}}}

while(k!=0); //sampai nilai k=0, iterasi berakhir
 printf("data tida ditemukan!!");
 getch();
 return 0;
}

Posting Komentar

1 Komentar