Senin, 27 Desember 2010

Sintaks / Listing / Script Program Pencarian Data dengan Metode Binery Search

program binSearch;
uses crt;
var i,j,n,a,b,temp: integer;
    k: integer;
    ketemu: boolean;
    x: word;
    bil: array [1..100] of integer;
begin
     clrscr;
    write('Masukkan banyak bilangan yang ingin diurutkan : ');
     readln(n);
     if n < 2 then
     writeln('Input salah !! Input harus lebih dari satu !!');
   for i := 1 to n do
    begin
     write('Masukkan bilangan ke-',i,' : ');
     readln(bil[i]);
    end;
   for i := 1 to n do
    begin
     for a:=1 to n-1 do
      begin
       b:=a+1;
       if bil[a] > bil[b] then
         begin
           temp:=bil[a];
           bil[a]:=bil[b];
           bil[b]:=temp;
         end;
      end;
    end;

    writeln;
    write('Masukan Data yang dicari : ');
    readln(x);
    i:=1;
    j:=n;
    ketemu:=false;
    while (ketemu=false) and (i<=j) do
    begin
        k:=(i+j) div 2;
        if k=x then
        begin
            ketemu:=true;
        end else if k>x then
        begin
            i:=k+1;
        end else
        begin
            j:=k-1;
        end;
    end;
    if ketemu=true then
    begin
        writeln('Data ditemukan! pada indeks ke-',i);
    end else
    begin
        writeln('Data tidak ditemukan!');
    end;
    readln;
end.

0 comments:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best WordPress Web Hosting