Langsung ke konten utama

Kajian Algoritma Metode Pencarian Biner



Assalamualaikum, hari ini tugas perbaikan membuat kajian algoritma.

Saya akan membahas tentang pencarian deret billangan dengan metode pencarian biner.

 MENCARI DERET BILANGAN DENGAN METODE PENCARIAN BINER


Langkah 1
 Bagi dua elemen larik yang telah terurut secara ascending, dengan cara menentukan elemen awal pencarian, elemen akhir pencarian dan elemen tengahnya.

Langkah 2 
Membandingkan kunci dengan data yang berada ditengah, bila sama berarti data ketemu. Bila berbeda akan mengecek data di sebelah kiri.

Langkah 3
Mengecek data disebelah kiri ataukah kanan. Bila data disebelah kiri akan dilakukan pencarian.

ketemu <- false

while (low <= high) and (not ketemu) do

middle <- (low+high) div 2
if (kunci = aray[middle]) then ketemu <- true { data pencarian = data di tengah }
else if (kunci < aray[middle]) then high <-middle – 1 {data akan dicari lagi di sebelah kiri}

else low <- middle + 1 {data akan dicari lagi di sebelah kanan}

endif
end while


Langkah 4
Melakukan pencarian dengan cara yang sama seperti langkah 1,2,3 (kanan diabaikan).


Langkah 5
Setiap pencarian data dibelah menjadi dua bagian biner sampai pada batas yang ditentukan. Jika sama dengan data tengah maka pencarian berhenti. Jika sampai batas tidak ketemu maka data tidak ada.

if ketemu then pencarianBiner := middle
else pencarianBiner := -1;
endif


Komentar

Postingan populer dari blog ini

Latihan Menentukan (Modus, Median, Mean, MIN, MAKS) dari banyak data

halo minggu ini mendapatkan tugas, tetapi tugasnya sudah aku post minggu kemaren ini tugas baru. yaitu mencari nilai modus, mean, median, dari banyak data. untuk c++ nya #include <iostream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char** argv) {     int A[100], modus, maks, min, i,a,tmp,banyak[100],k;     float mean, jumlah=0, tengah;         cout<<"masukkan jumlah data yang ingin di inputkan : "; cin>>a;     for(i=0; i<a; i++){         cout<<"masukkan data ke "<<i<<" : "; cin>>A[i];     jumlah=jumlah+A[i];     } mean=jumlah/ a ; cout<<endl; cout<<"Nilai mean= "<<mean; cout<<endl; min = A[1]; maks = A[1];  for(i=0; i<a; i++){    if(A[i] < min){    min = ...