02 August, 2012

Binary Search C++

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.




Oke teman-teman, demikian dulu untuk postingan kali ini. Semoga postingan ini bermanfaat buat teman-teman sekalian, di lain waktu saya akan menyapa teman-teman kembali dalam kode program C/C++ dengan topik pembahasan yang berbeda tentunya. :)
Salam kodeprogramcpp.

7 comments:

  1. pakek turbo c donk gan, jgn pakek borland, ane blm belajar

    ReplyDelete
    Replies
    1. Disini saya tidak memakai borland, IDE yang saya gunakan untuk membuat kode program di atas adalah wxdev-c++.
      Kalo boleh tau, sintaks apa yang belum kamu pelajari pada kode program di atas brother?
      mungkin saya bisa bantu menjelaskannya sedikit.

      Delete
  2. kita juga punya nih artikel mengenai Pemrograman c++, silahkan dikunjungi dan dibaca , berikut linknya
    http://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

    ReplyDelete
  3. mas kalo data yang mau dicari bertipe data string , bisa engga pake metode biner?

    ReplyDelete
    Replies
    1. Syarat binary search, data yang akan dicari harus sudah terurut terlebih dahulu.
      String -> 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. :)

      Delete
  4. Selamat Sore Mas kalau Memodifikasi Program Sequential Seacrh Sehingga dapat encari data lebih dari satu gimana ya mas..??

    Contoh : 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

    ReplyDelete
    Replies
    1. 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.
      cth pendeklarasian variabelnya :
      int dataCari [3];

      Kira-kira seperti itu penjelasan singkatnya.
      Jika ada yang kurang jelas, bisa langsung ditanyakan lagi. :D

      Delete

Berikan komentar, Kritik dan saran teman-teman mengenai blog ini. Komentar, Kritik dan saran teman-teman sangat berarti untuk perkembangan Blog ini.
Salam Blogger, salam kodeprogramcpp.

Lihat Juga Berita Pilihan Ini