searching binary
A. PENGERTIAN SEARCHING
Searching adalah metode pencarian informasi
dalam suatu aplikasi, dengan suatu kunci (key). Pencarian diperlukan
untuk mencari informasi khusus dari table pada saat lokasi
yang pasti dari informasi tersebut sebelumnya tidak diketahui. Pencarian selalu
dinyatakan dengan referensi pada adanya sekelompok data yang tersimpan secara
terorganisasi, kelompok data tersebut kita sebut table. Pada metode searching(pencarian)
ada 2 teknik yang digunakan yaitu:
1. Pencarian sekuensial (sequential
search) dan
2. Pencarian biner (Binary search).
B. PENGERTIAN BINERY
SEARCH
Binary search adalah algoritma pencarian
untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data
yang dicari berada ditengah-tengah data, kemudian membandingkan data yang
dicari dengan data yang ada ditengah. Bila data yang ditengah sama dengan data
yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar
dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan
berada disebelah kiri dari data tengah dan data disebelah kanan data tengah
dapat diabai. Upper bound dari bagian data kiri yang baru
adalah indeks dari data tengah itu sendiri. Sebaliknya, bila data yang ditengah
lebih kecil dari data yang dicari, maka dapat dipastikan bahwa data yang dicari
kemungkinan besar berada disebelah kanan dari data tengah. Lower bound dari
data disebelah kanan dari data tengah adalah indeks dari data tengah itu
sendiri ditambah 1. Demikian seterusnya.
Merupakan salah satu metode
pencarian yang menangani kasus terburuk (worst case) pada pencarian
secara berurutan. Proses pencarian binary search hanya dapat
dilakukan pada data yang sudah berurutan. Cara pencarian binary ini adalah
dengan membagi dua elemen penampung nilai dan membandingkan nilainya Algoritma
dari binary search adalah:
1. Tentukan posisi awal = 0 dan
posisi akhir = N – 1
2. Hitung posisi tengah = (posisi
awal + posisi akhir) / 2
3. Bandingkan data yang dicari
dengan elemen posisi tengah
a) Jika data yang dicari sama maka
catat posisi dan cetak kemudian berhenti
b) Jika lebih besar maka akan
dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal = posisi
tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
c) Jika nilai datanya lebih kecil
maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal
tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin 2.
C. Algoritma binary
awal=0;
akhir=n-1;
do
{
tengah=(awal+akhir)/2;
if
(x<data[tengah])
{
akhir=tengah-1;
}
else
{
awal=akhir+1;
}
}
while
(akhir>=awal)&&(data[tengah!=x]);
if(data[tengah]==x)
{
cout
<<"data "<<x<<" pada
posisi"<<tengah+1;
}
else
{
cout<<"data
tidak ditemukan";
}
|
D. Contoh program binary
Listing Progam
Hasil Running
Daftar Pustaka :
http://mimpi-kecilku.blogspot.com/2015/06/pengertian-binary-search-dan-contoh.html
https://www.academia.edu/9216301/MAKALAH_BINARY_SEARCH
~~~TERIMAKASIH~~~





0 komentar:
Posting Komentar