You are on page 1of 3

Algoritma_Pencarian_Binary_Sequential_Matriks {i.s {f.s Deklarasi const baris = 3 const kolom = 3 M:Array [1..baris,1..

kolom] of Integer baris, kolom, i, j, dicari, pilih, temp, cur, cur2, awal,akhir, tengah : Integer ketemu : Boolean Algoritma read (baris,kolom) for i 1 to baris do for j to kolom do write ( Input data matriks M [ ,i, ][ ,j, ] = ) read (M[i][j]) endfor endfor {cetak matriks} for i 1 to baris do for j to kolom do write (M[i][j]) endfor endfor {Pilihan} Write ( Pilih Pencarian dengan : ) Write (------------------------------) Write (1. Sequential Search) Write (2. Binary Search) Write (Pilihan : ) Read (pilih) case (pilih) pilih = 1 : write ( Pencarian dengan Sequential Search) write (--------------------------------------------) write (Masukkan nilai yang dicari : ) read (dicari) i baris ketemu false while (i baris) and ( not ketemu) do j1 while (j kolom) and ( not ketemu) do if M[i,j] = dicari then ketemu true else j j +1 endwhile if not ketemu then

ii+1 endif endwhile if ketemu then write (Nilai ,dicari,ditemukan pada matrik M baris ke ,i, dan kolom , j) else write (Nilai ,dicari, tidak ditemukan) endif pilih = 2: write (Pencarian dengan Binary Search) write (---------------------------------------) write (Masukkan nilai yang dicari :) read (dicari) {Proses Pengurutan Sebelum pencarian} for i 1 to baris do for j 1 to kolom do cur i cur2 j k 1 l1 for k 1 to baris do for l 1 to kolom do if M[cur][cur2] < M[k][l] then cur k cur2 l endif temp M[i][j] M[i][j] M[cur][cur2] M[cur][cur2]=temp endfor endfor endfor endfor {------Tampil Matriks Terurut------} for i 1 to baris do for j 1 to kolom do write (Data Terurut) write (---------------) write (M[i][j]) endfor endfor {------Proses Pencarian Binary Search------} awal 1 akhir kolom -1

ketemu false while (ketemu = false) and (awal akhir) do tengah (awal+akhir) div 2 if M[i][tengah] = dicari then ketemu true else if M[i][tengah] < dicari then awal tengah + 1 else akhir tengah 1 endif endif endwhile if ketemu then write (Nilai, dicari,ditemukan di matriks M pada baris ke- , i, dan kolom ke- ,j) else write (Nilai,dicari,tidak ditemukan) endif endcase

You might also like