Binary


BINARY
A.    Fungsi Binary:
Pencarian Biner (Pencarian Biner) dilakukan untuk:
1.      Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicaridengan data yang ada di dalam tabel, khusus untuk jumlah data yang sangat besarukurannya.
2.      Prinsip dasar adalah melakukan proses pembagian ruang yangditemukanberulang kalisampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (artinyaadapembaruandata tidak ditemukan).
3.      Syarat utama untuk pencarian biner adalah data dalam tabel harus sudah terurut,misalkan terurut menaik.Prinsip dari pencarian biner dapat dibaca sebagai berikut
4.      Data diambil dari posisi 1 hingga posisi akhir N
5.      Kemudian cari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2
6.      Kemudian data yang dicari dibandingkan dengan data yang ada di tengah, apakah sama atau lebihkecil, atau lebih besar?
7.      Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1
Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah 1.Jika data sama, berarti ketemu.
Algoritma dari Pencarian biner:
 Algoritma pencarian biner dapat dituliskan sebagai berikut:1 L
02 R
 N - 13 ketemu
false4 Selama (L <= R) dan (tidak ketemu) kerjakan baris 5 hingga dengan 85 m
(L + R) / 2836 Jika (Data [m] = x) maka ketemu
true7 Jika (x <Data [m]) maka R
m
 - 
 18 Jika (x> Data [m]) maka L
m + 19 Jika (ketemu) maka m adalah indeks dari data yang dicari, jika tidak data tidakditemukan
Contoh Program Binary
#include <iostream>
#include <conio.h>
using namespace std;
int BinarySearch(int Data[], int x, int n) {
  int L = 0, R = n-1, m, ketemu = 0;
  while((L <= R) && (!ketemu)){
    m = (L + R) / 2;
    if(Data[m] == x)
     ketemu = !ketemu;
    else if (x < Data[m])
     R = m - 1;
    else
     L = m + 1;
  }
 if(ketemu)
  return m+1;
 else
  return -1;
}
int main(){
            int Data[]={1,2,3,4,5,6,7,8,9,10};
            int n = sizeof(Data);///
            cout<<"nilai n adalah : "<<n<<endl;
            ///input
            int cari; cout<<"Masukkan data yang dicari : ";cin>>cari;
            /// proses pencarian dengan algoloritma binary
            int ketemu = BinarySearch(Data, cari, n);
            if(ketemu>0)
        cout<<"Data ditemukan di posisi : "<<ketemu;
    else
        cout<<"Data tidak ditemukan";
            getch();
}
Hasil Running Program






Gambar Dalam Flowchart

Share this

Related Posts

Previous
Next Post »