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.