Berry Blog |
| Contoh program pencarian beruntun bagi dua Posted: 02 May 2011 05:27 AM PDT uses wincrt;
var L : array [1..100] of integer; n1,x1,m,hasil :integer; function BinarySearch2(n :integer; x : integer) : integer; var i,j : integer; idx, k : integer; ketemu : boolean; begin i := 1; j := n; ketemu := false; while (not ketemu) and (i <= j) do begin k:=(i + j) div 2; if (L[k] = x) then ketemu:= true else if (x > l[k]) then i := k + 1 else j := k - 1; end; if (ketemu) then idx := k else idx := -1; BinarySearch2:=idx; end; begin write ('masukkan jumlah data '); readln (n1); for m:=1 to n1 do begin write ('masukkan isi larik ke ' ,m, ' '); readln (L[m]); end; write ('inputkan data yang ingin dicari '); readln (x1); hasil:=BinarySearch2 (n1,x1); if (hasil = -1) then writeln ('tidak ditemukan di larik') else writeln ('data inputan ditemukan di larik ke ', hasil); end. |