Program Binary Search dengan fungsi dan prosedur

Pembahasan Program  Binary tanpa prosedur dan fungsi sebelumnya dapat dikembangkan dengan menggunakan fungsi dan prosedur dalam program.

Program lengkapnya sebagai berikut :


program Binary_Search;
uses crt;

type matrix = array [1..50] of integer;

Procedure input(var n:integer; var data: matrix);
var i: integer;
Begin
  clrscr;
  randomize;
  write('Input  Banyaknya Data (Maks 50) : ');readln(n);
  for i := 1 to n do
    Begin
      data[i]:=random(50);
      write(' ',data[i],'  ');
    End;
    writeln;
End;

  {Urutkan data}
Procedure sort(n : integer; data:matrix; var urut:matrix);
var i,j,x: integer;
Begin
  for i:=1 to n do
   for j:=1 to n do
     Begin
         if data[i]           Begin
             x:=data[i];
             data[i]:=data[j];
             data[j]:=x;
           ENd;
      End;
   urut:=data;
End;
    {Cetak Data}

Procedure Cetak(n : integer;data :matrix);
var i: integer;
Begin
    write(' Data Sort = ');
    for i:=1 to n do
      write(' ',data[i],'  ');writeln;
ENd;

Function Cari:integer;
var n :integer;
Begin
   write('Masukan data yang dicari (dgn Binary Serach) : ');
   readln(n);
   Cari:=n;
End;

Function Caridata(n : integer; cari :integer; data:matrix):integer;
var  kiri,tengah,kanan,i :integer;
     ketemu :boolean;
Begin
   writeln;
   kiri:=n;
   kanan:=1;
   ketemu:=false;
   while not(ketemu) do
     begin
       tengah:=(kiri + kanan) div 2;
       If data[tengah]=cari then
          begin
            ketemu:=true;
            writeln('Data ditemukan pada index ke ',tengah);
          end
       else if (cari < data[tengah]) then
           kiri := tengah - 1
               else kanan:= tengah+1;
                  if (kanan > kiri) then
                     begin
                        ketemu:=true;
                        writeln('Data tidak ditemukan !');
                     end;
     end;
 End;

 {Program Utama}
 var  A,B:matrix;
     c,n: integer;
     ya : char;
 Begin
    clrscr;
    ya:='y';
    input(n,A);
    while ya='y' do
    Begin
      sort(n,A,B);
      cetak(n,B);
      c:=cari;
      Caridata(n,c,B);
      Write('Ulangi? (Y/T) :');
      readln(ya);
    End;
end.

Output Program :



Demkian pembahasan tentang contoh program pencarian data dengan algoritam binary search. Jika ada pertanyaan dan tanggapan, silakan tuliskan pada bagian komentar di bagian bawah.


Semoga bermanfaat.
God bless you all.


Tidak ada komentar:

Posting Komentar

Silakan memberikan komentar dan pertanyaan yang sifatnya positif.