Pages

Monday, September 29, 2014

SEARCHING PART II (Binary Search)

-Hasil Keluaran-

masukan jumlah data yang akan dimasukkan ke dalam larik: 5
masukan elemen larik ke-1 : 27
masukan elemen larik ke-2 : 24
masukan elemen larik ke-3 : 22
masukan elemen larik ke-4 : 10
masukan elemen larik ke-5 : 9

masukan elemen larik yang dicari : 10
----------------------------------------------
10 ditemukan pada index ke : 4
-Sintax Pascal-

program BinarySearch;
uses wincrt;
    const Nmaks = 100;

var
   L : array [1..Nmaks] of integer;
   X, K, n, idx, i, j : integer;
   found : boolean;

begin
write ('masukan jumlah data yang akan dimasukan ke dalam larik : '); readln (n);
   for K := 1 to n do
   begin
      write ('masukan elemen larik ke-',k,': '); readln(L[k]);
   end;
   writeln;
   write ('masukan data elemen larik yang dicari : '); readln (X);
   write ('----------------------------------------------');

i := 1;
j := n;
while (i<=j) and (not found) do
  begin
     k:= (i+j) div 2;
     if L[K] = X then
     begin
        found := true
     end
     else
     begin
        if L[K] > X then
        begin
           i := K+1;
     end
     else
     begin
         j := K-1;
      end;
    end;
 end;

if found then
begin
   idx := K;
   write (X,'ditemukan pada index ke : ', idx);
end
else
   begin
      write (X,'ga ketemu nih');
end;
end.


No comments:

Post a Comment