Searching Binary
1. Pengertian Searching Binary
Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.
2. Cara Pencarian Dari Binary
- Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
- Beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah.
- Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
- Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut.
3. Algoritma Searching Binary
- Pertama-tama diambil posisi awal 0 dan posisi akhir = N - 1, N merupakan jumlah data. kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
- Kemudian kita cari posisi data tengah dengan rumus posisi tengah yaitu = (posisi awal + posisi akhir ) /2.
- Lalu data yang di cari akan dibandingkan dengan data tengah.
- Jika sama, data ditemukan, Proses selesai.
- Jika lebih kecil, maka proses akan dilakukan kembali tetapi, posisi akhir dianggap sama dengan posisi tengah -1.
- Jika lebih besar pun proses akan dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1.
- Mengulang dari langkah kedua sampai data ditemukan, atau tidak ditemukan.
- Searching binery ini akan berakhir jika data ditemukan posisi awal lebih besar dari pada posisi akhir. Jika posisi awal sudah lebih besar dari posisis akhir berarti data tidak ditemukan.
4. Contoh Searching Binary
Data = 4 6 11 14 16
x = 16
Penyelesaian :
- N =5
- awal = 0, akhir =5 -1=4. akhir>awal.
- tengah = (0 + 4)/2 = 2.
- x .......data[tengah] = x ........data[2]
- =16 > 11
- awal = tengah + 1
- awal = 2 + 1 = 3
- awal = 3, akhir =5 -1=4. akhir>awal.
- tengah = (3 + 4)/2 = 3.
- x .......data[tengah] = x ........data[3]
- =16 > 14
- awal = tengah + 1
- awal = 3 + 1 = 3
- awal = 4, akhir =5 -1=4. akhir = awal.
- tengah = (4 + 4)/2 = 4.
- x .......data[tengah] = x ........data[4]
- =16 == 16
- tengah+1= 4+1= 5
- Data 16 terdapat pada posisi 5.
4. Contoh Program
Refernsi:
2. http://blog-sharings.blogspot.com/2012/07/konsep-binary-search.html
Tidak ada komentar:
Posting Komentar