Contoh Program Pencarian (binary Search) pada C++




Hallo sobat blogger.
Metode Binary search..! sudah tau searching.?

Mulai dari pengertian searching. Apa itu searching.. ?. Dari tulisannya saja sudah jelas, S-E-A-R-C-H-I-N-G, saya yakin semua sudah tau.  kecuali kamu benar -benar tidak bisa berbahasa inggris. heehee. Apa ada tidak tahu.. emmm kasih tahu ngak ya...?? :D. Oke. Searching yaitu pencarian. Jelas bukan .?

Apa yang dicari..? Tentu saja sebuah informasi atau data emm misalnya mencari makan, atau mungkin cari pacar itu juga termasuk pencarian, kalau saya sih sedang mencari cinta sejati..hehehee.

Kemudian dimana mencari data.? sejatinya tempat pencarian data adalah sekumpulan data yang tersedia Jika data tidak tersedia untuk apa dilakukan pencarian. Kalaupun dilakukan penncarian maka tidak akan menemukan datanya. kalau cari makan ya di warung atau tempat makan jangan mencarinya atas atap atau di toko baju pastinya kamu tidak akan menemukannya. Gue benarkan..?

Bagaimana cara mencarinya.? cara mencarinya yaitu dengan memasukan kata kunci atau keyword. kemudian mencocokan dengannya kumpulan data.

Akhirnya dapat saya ambil kesimpulan searching atau pencarian adalah sebuah metode untuk mencari informasi atau data dari suatu kumpulan data menggunakan keyword(kata kunci).

Salah satu metode pencarian yaitu binary search. Apa sih itu binary search kamu bisa cari di mbah google. Entah kenapa malam ini saya lagi males menulis blog.. Mungkin karena tadi sore dosen saya memberikan tugas yang sedikit, iya sedikit sih tapi sulitnya minta ampun. ehh malah curhat..

Saya mengerti kamu kesini juga mencarinya di google bukan..? Oke. Kembali lagi ke google. Google adalah sebuah perusaahaan raksasa yang bergerak pada bidang IT. Apa.? gak nyambung.! protes.? terserah saya lah yang menulis kan saya.hehee. Binary search yaitu medote pencarian bagi dua.

Bagaimana sih cara kerjanya.? begini saudara-saudara sekalian sebenarnya ada lima langkah dalam binary search ini. Apa saja yuk simak tulisan saya berikut ini.

1.  Pertama mengambil data pada posisi awal=1 dan akhir =n

2. mengambil posisi tengah dengan cara membagi dua dari jumlah awal dan akhir, misalnya data       akhir adalah     9 maka data tengah adalah 9 + 1 = 10, 10/2 = 5

3. Setelah data tengah didapat, kemudian bandingkan dengan keyword atau kata kunci jika sama maka proses selesai. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah -1, Jika lebih besar proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1

4. Mengulai langkah ke dua hingga berakhir.

5. Proses akan berhenti jika data ditemukan. jika posisi awal sudah lebih besar dari posisi akhir berarti data tidak ditemukan.

misal terdapat data ={70,71,72,73,74,75,76,77,78}

mencari 75 yang terletak pada data ke 5

(1 + 9 ) / 2 = 5  data kelima nilainya 74 berarti tidak sama, maka akan dilakukan perncarian lagi. periksa apakah data ke 5 (74) < 75..?. ya . maka data tengah - 1.

(4+9)/2 = 6,5 dibulatkan menjadi 6 nilai data ke 6 adalah 75 dan data sama dengan nilai pencarian. Proses berhenti.

Nah bagaimana sulit bukan.heeehhee. tapi tenang saja saya akan bagikan kode untuk menulis programnya menggunakan C++. berikut:

#include <iostream>
#include <conio.h>
using namespace std;
int main(){
const int Ar[10] = {1,2,3,4,5,6,7,8,9,10}; // untuk proses ascending
int tar;

cout<<"masukan data yang dicari : ";
 cin>>tar;
int awal=0, akhir=10, tengah;


while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] )      // descending ubah tanda > menjadi <
   { awal = tengah + 1; }
else if (tar < Ar[tengah])  // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, Ke- "<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();

}

Nah kode diatas kopi dan pasta saja dan kalau ada kue nya sekalian untuk menemani malam yang dingin ini. hehe.. demikianlah penjelasan tentang Binary search jika ada salah dan kurang mohon untuk memberi tau saya.. Thanks.......

Previous
Next Post »

1 comments:

Click here for comments
4/08/2016 ×

Solusi buat kamu yg followers dan likes nya masih dikit. Pakai aja nih http://instagram.followersgratis.id 🙌👍😘

Congrats bro Gue'SihCuek Mereka'PadaPunya Nama'Panjang Tapi'AkuMemiliki Cinta'YangPanjangSamaKamu you got PERTAMAX...! hehehehe...
Reply
avatar