Selamat datang di blog kodeprogramcpp. Pada postingan kali ini, saya akan membahas mengenai "Pencarian data pada Bahasa C/C++" dengan metode Binary Search. Adapun tahap yang harus diselesaikan terlebih dahulu sebelum masuk ke proses pencarian data, data yang ada haruslah sudah terurut dengan secara benar terlebih dahulu, karena ini merupakan syarat pertama dan terutama dalam pencarian dengan binary search. Syarat kedua sebelum kita melakukan pengkodean program untuk "binary search", kita harus mengerti terlebih dahulu "prinsip-prinsip dalam Binary Search" ini.
Prinsip Binary Search
- Mula-mula diambil posisi awal = 0 dan posisi akhir = n-1
- Cari posisi data tengah dengan rumus (posisi awal + posisi akhir)/2
- Bandingkan data yang dicari dengan data tengah
- Jika sama, data telah ditemukan dan program selesai
- Jika tidak,lanjutkan pencarian dengan menentukan terlebih dahulu arah pencarian data ke sebelah kanan atau kesebelah kiri data tengah yang telah dibandingkan. Cara menentukannya :
- Jika data cari lebih besar dari data tengah, maka pencarian dilanjutkan ke arah kanan
- Atur posisi awal = tengah+1, akhir tetap, dan tengah = (posisi awal + posisi akhir)/2
- Jika data cari lebih kecil dari data tengah, maka pencarian dilanjutkan ke arah kiri
- Atur, posisi awal tetap, posisi akhir = tengah-1 dan posisi tengah = (posisi awal + posisi akhir)/2
- Bandingkan data cari dengan data tengah, jika masih tidak sama lanjutkan pencarian
- Begitu seterusnya hingga data yang di cari dengan data tengah sama
- Jika data masih tidak sama padahal data sudah habis dan tidak bisa lagi dilakukan proses perpindahan posisi, maka tampilkan pesan data yang dicari tidak ditemukan, program selesai.
Untuk pengimplementasiannya ke dalam kode program dan agar pengertian kita lebih mantap lagi, silahkan perhatikan kode program C/C++ untuk pencarian data dengan metode Binary Search di bawah ini.
pakek turbo c donk gan, jgn pakek borland, ane blm belajar
ReplyDeleteDisini saya tidak memakai borland, IDE yang saya gunakan untuk membuat kode program di atas adalah wxdev-c++.
DeleteKalo boleh tau, sintaks apa yang belum kamu pelajari pada kode program di atas brother?
mungkin saya bisa bantu menjelaskannya sedikit.
kita juga punya nih artikel mengenai Pemrograman c++, silahkan dikunjungi dan dibaca , berikut linknya
ReplyDeletehttp://repository.gunadarma.ac.id/bitstream/123456789/2392/1/Analisis%20Stabilitas%20Lereng%20dan%20Rancang%20Bangun%20Penahan%20Tanah%20Dengan%20Pemrograman%20C%2B%2B%20Provinsi%20Banten.pdf
semoga bermanfaat
mas kalo data yang mau dicari bertipe data string , bisa engga pake metode biner?
ReplyDeleteSyarat binary search, data yang akan dicari harus sudah terurut terlebih dahulu.
DeleteString -> kumpulan dari beberapa karakter.
So, setiap karakter di dalam data string harus di urutkan terlebih dahulu juga, kalau sudah terurut, pencarian bisa dilakukan dengan baik. :)
Selamat Sore Mas kalau Memodifikasi Program Sequential Seacrh Sehingga dapat encari data lebih dari satu gimana ya mas..??
ReplyDeleteContoh : data input -> 8 4 5 3 4 2 8 4 1 7 10
data cari 1 = 5
data cari 2 = 12
data cari 3 = 7
Output : Data 5 Ketemu
Data 7 Ketemu
Mohon Pencerahannya mas. :D Terima KAsih
Data yang ingin di cari bisa ditampung ke dalam sebuah variabel array (larik), dengan begitu program akan mencari apakah seluruh nilai yang ada di variabel array tersebut terdapat pada data input. Jadi, user harus menginput data-data yang akan dicari dan program akan menyimpan data yang akan dicari ke dalam variabel array.
Deletecth pendeklarasian variabelnya :
int dataCari [3];
Kira-kira seperti itu penjelasan singkatnya.
Jika ada yang kurang jelas, bisa langsung ditanyakan lagi. :D