progem ini di gunakan untuk mencari angka
==============================================================
program Binary_Search;
uses win;
const
x = 10;
Var
arr : array [1..x] of integer;
i, kiri,tengah,kanan,cari :integer;
ketemu :boolean;
Begin
clrscr;
writeln('List Angka : ');
for i := 1 to x do
begin
arr[i] := i;
write(arr[i],' ');
end;
writeln;
write('Masukan data yang dicari (dgn Binary Serach) : ');
readln(cari);
kiri:=x;
kanan:=1;
ketemu:=false;
while not(ketemu) do
begin
tengah:=(kiri + kanan) div 2;
If arr[tengah]=cari then
begin
ketemu:=true;
writeln('Kunci yang di cari berada pada index ke ',tengah);
end
else if (cari < arr[tengah]) then
kiri := tengah - 1
else
kanan:= tengah+1;
if (kanan > kiri) then
begin
ketemu:=true;
writeln('Data yang Anda cari tidak ada !');
end;
end;
readln;
end.
===============================================
program pencarian;
uses wincrt;
procedure binary_search;
var
L:array [1..20] of integer;
x,i,j,k:integer;
ketemu:boolean;
begin
write('angka yang dicari=');readln(x);
L[1]:=8; L[2]:=76; L[3]:=21; L[4]:=18;
L[5]:=16; L[6]:=13; L[7]:=10; L[8]:=7;
ketemu:= false;
i:=1;
j:=10;
while(i<=j) and (not ketemu) do
begin
k:= (i+j) div 2;
if (L[k]=x) then
ketemu:= TRUE
else
if (L[k]>x) then
i:= k+1
else
j:=k-1;
end;
if ketemu then
writeln('Ditemukan di larik ke=',k)
else
writeln('Tidak ditemukan!');
end;
begin
binary_search;
end.
No comments:
Post a Comment
Silahkan Komentar Anda..
Mohon Gunakan Bahasa yang baik dan sopan, OK. ^^