SEARCHING BINARY PADA ARRAY URUT dengan C

Tuesday, March 29, 2011 5:47 PM by Computer and Programming
#include <stdio.h>
#include <conio.h>

void main() {
     int i, j, iMin;
   int Tengah, ElmTengah, Tmp;
   int n, dt;
   int Posisi, Ketemu;
   int Arr[50];

   //Aplikasi dimulai
    printf("Inputkan banyak data : ");
   scanf("%i", &n);
   //Input array
   for(i = 0; i < n; i++) {              //Perulangan untuk inputan array
        printf("Masukan data ke %i : ", i + 1);
      scanf("%i", &Arr[i]);
   }


   //Lakukan sorting ascending dengan metode bubble
   for(i = 1; i < n; i++) {              //Lakukan perulangan untuk akses array
        for(j = 0; j < n - 1; j++) {       //Lakukan perulangan untuk pencocokan
           if(Arr[j] > Arr[j + 1]) {       //Cocokkan data 1 dengan data yang disebelahnya
              Tmp = Arr[j];                //Tampung array lama
            Arr[j] = Arr[j + 1];         //Ganti yang lama dengan array baru
            Arr[j + 1] = Tmp;            //Array baru ditukar dengan yang lama
         }
      }
   }

   //Proses Pencarian
   printf("\nMasukan data yang dicari : ");
   scanf("%i", &dt);
   //Init Proses Pencarian
   Ketemu = 0;                           //Data belum ditemukan
   Tengah = (n / 2) + 1;                 //Cari titik tengah
   ElmTengah = Arr[Tengah];              //Set elemen tengah
   i = 0;                                //Set index = 0
   //Proses dimulai
   if(dt == ElmTengah) {
       Ketemu = 1;
      Posisi = Tengah;
   } else {
        if(dt < ElmTengah) {
           i = 0;
         while((Ketemu == 0 && i < Tengah) && Arr[i] <= dt) {
                if(Arr[i] == dt) {
                    Ketemu = 1;
               Posisi = i;
            } else {
                 i = i + 1;
            }
         }
      } else {
          i = Tengah + 1;
         while((Ketemu == 0 && i < n) && Arr[i] <= dt) {
             if(Arr[i] == dt) {
                    Ketemu = 1;
               Posisi = i;
            } else {
                 i = i + 1;
            }
         }
      }
   }
   //Tampilkan Hasil
    if(Ketemu == 0) {                     //Jika data tidak ditemukan
        printf("Data tidak ditemukan...\n");
   } else {                              //Jika data ditemukan
      printf("Setelah Pengurutan : \n");
      for(i = 0; i < n; i++) {           //Perulangan untuk tampilan array
            printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
      }
      printf("Data ditemukan pada Posisi %i \n", Posisi + 1);
   }
   getch();                              //Tahan tampilan
}

/*-- AUTHOR BY PYXIS_AMIKOM --*/

0 Response to "SEARCHING BINARY PADA ARRAY URUT dengan C"

Post a Comment