Minggu, 13 Januari 2013

Pencarian Bagi Dua

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

Tidak ada komentar:

Posting Komentar