Docstoc

Program binary search_a

Document Sample
Program binary search_a Powered By Docstoc
					Program binary_search;

      uses wincrt;

       (*
        variabel array diisi dengan cara assignment dari
                program *)

 const
      N=10 ;
 type
    larik = array [1..10] of integer ;

 var
        A :larik;
        maks:integer;
        b,index:integer;

 procedure isilarik ;

 Begin
    A[1]:= 3;
    A[2]:= 6;
    A[3]:= 8;
    A[4]:= 9;
    A[5]:= 12;
    A[6]:= 14;
    A[7]:= 19;
    A[8]:= 23;
    A[9]:= 30;
    A[10]:=44;

end;

procedure tulislarik;

var
   i:integer ;
begin
   writeln ( 'diberikan larik sebagai berikut:');
   for i:=1 to N do
      writeln ('A[',i,'] =',A[i]);

end ;


procedure cari(bil:integer; var pos:integer) ;
var
        ketemu :boolean ;
        i,j,k :integer ;

begin

pos :=0 ;
i:=0 ;
j:=10;
k:=0;
ketemu :=false ;

  while (i<=j) and (not ketemu) do
  begin
      k:= (i+j) div 2;



   if (bil = A[k] ) then
      begin
        ketemu :=true ;
        pos :=k;
      end
   else
     begin
      if( bil < A[k]) then
            j:=k-1
      else
           i:=k+1 ;
     end;
  end; (*while*)


      (* if ( not ketemu) then
       begin
          ketemu :=false ;
          pos:=0;

     end; *)
end; (*procedure cari*)




  begin (*program utama*)
    isilarik;
    tulislarik;
    write('bilangan yang akan dicari :');readln (b);

    cari (b ,index);
    if (index <>0) then
       writeln (' nilai yang dicari , ketemu di posisi   : ',
index)
    else
       writeln (' nilai tidak diketemukan' );


   end.

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:22
posted:4/22/2010
language:Indonesian
pages:3