Selasa, 17 Mei 2011

Program Pencarian Bagi Dua

program pencarianbagidua;
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.

0 komentar:

Posting Komentar