Pada
postingan ini adalah penerapan dari Konsep
Binary Search.
Program C++ dibuat menggunakan aplikasi Borland C++ ver. 5.02
berdasarkan algoritma berikut :
- Input seluruh data kedalam array
- Input data yang dicari
- Tentukan nilai kiri, kanan, dan tengah dengan rumus :
- Kiri sama dengan nol
- Kanan lebih kecil dari jumlah data
- Tengah sama dengan hasil kanan dikurangi hasil kiri dibagi dua.
- Jika elemen tengah tidak sama dengan data yang dicari, maka :
- Jika elemen tengah lebih besar dari data yang dicari, maka pencarian dilakukan pada setengah array pertama. Caranya dengan menggunakan perintah kiri sama dengan tengah ditambah satu.
- Jika elemen tengah lebih kecil dari data yang dicari, maka pencarian dilakukan pada setengah array berikutnya. Caranya dengan menggunakan perintah kanan sama dengan tengah dikurangi satu.
- Tengah sama dengan kiri ditambah (kanan - kiri) dibagi dua.
- Jika elemen tengah sama dengan data yang dicari, maka data ditemukan. Sedangkan jika elemen tengah tidak sama dengan data yang dicari, maka data tidak ditemukan.ProgramBinary Search.cpp/* Program : Binary Search
Karya : blog-sharings.blogspot.com */
#include <iostream.h>
#include <conio.h>
main ()
{
int jd, cari,no, kiri,kanan,tengah,data[50];
cout<<"\n\t\t *************************************** \n";
cout<<"\t\t | \t\t\t\t | \n";
cout<<"\t\t | \t Proses Pencarian \t | \n";
cout<<"\t\t | Menggunakan Algoritma Binary Search | \n";
cout<<"\t\t | \t\t\t\t | \n";
cout<<"\t\t *************************************** \n\n\n";
cout<<" Input Jumlah Data : ";
cin>>jd;
cout<<endl;
for (no=0;no<jd;no++)
{
cout<<" Input Data Ke-"<<(no+1)<<" : ";
cin>>data[no];
}
cout<<endl;
cout<<" Input Nilai Dicari : ";
cin>>cari;
kiri=0;
kanan=jd-1;
tengah=(kanan-kiri)/2;
while ((data[tengah]!=cari) && (kiri>=0)&& (kanan<jd) && (kanan>=kiri))
{
if (cari>data[tengah])
{
kiri=tengah+1;
}
else if (cari<data[tengah])
{
kanan=tengah-1;
}
tengah=kiri+(kanan-kiri)/2;
}
cout<<endl;
if (data[tengah]==cari)
{
cout<<" Keterangan : Data Ditemukan";
}
else
{
cout<<" Keterangan : Data Tidak Ditemukan";
}
getch();
}
4 komentar:
mantap gan,, izin sedot buat tugas nih.. hehe :D
sipp
\]
sedot terus sampe kering gan
Terima kasih. Sangat membantu
Posting Komentar
Tinggalkan Komentar Anda Untuk Memajukan Blog Ini