Saturday 8 May 2010

PROGRAM BINARY SEARCH..

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. ^^