Assalamualaikum
pada kali ini saya akan mengupload source Code program binary searching. program ini pada dasarnya fungsinya ialah untuk mencari data dan pada urutan keberapa data tersebut. hampir mirip dengan linear searching pada program yang sudah saya upload kemarin. hanya pada sistematika penulisan sintaks nya mengalami perbedaan dan juga konsep yang berbeda. saya tidak terlalu ingat konsep nya gimana karena pas kemarin kami belajarnya singkat banget, udah gitu langsung disuruh membuat program nya.
oke langsung saja saya bagikan source kode program binary searching pada Delphi 7 :)
program binary;
{$APPTYPE CONSOLE}
uses
windows;
var input:Array [1..100,1..100] of integer;
jumlah,i,j,cari,langkah:integer;
isi:boolean;
procedure mencari;
function cektengah(var z:integer):integer;
var x:integer;
ada: boolean;
begin
x := 1;
ada := false;
while not(ada) do
begin
if (z = input[x,2]) then
begin
cektengah := x;
ada := true;
end
else
x := x+1;
end;
end;
function cekkirkan(var z:integer): integer;
var x:integer;
ada: boolean;
begin
x := 1;
ada := false;
while not(ada) do
begin
if (z = input[x,1]) or (z =input[x,3]) then
begin
cekkirkan := x;
ada := true;
end
else
x := x+1;
end;
end;
begin
j := cektengah(cari); langkah := 1;
while (j > 1) do
begin
i := input[j,2]; j := cekkirkan(i);
if (input[j,1] = i) or (input[j,3] = i) then
begin
langkah := langkah + 1;
end;
end;
writeln('Angka ditemukan pada data ke ',langkah);
end;
procedure masuk;
function cektengah(var z:integer):integer;
var x:integer;
ada: boolean;
begin
x := 1;
ada := false;
while not(ada) do
begin
if (z = input[x,2]) then
begin
cektengah := x;
ada := true;
end
else
x := x+1;
end;
end;
begin
j:=1;isi:=false;
while not(isi) do
begin
if (input[i,2]>input[j,2])then
begin
if (input[j,3]=0)then
begin
input[j,3]:=input[i,2];
isi:=true;
end
else j:=cektengah(input[j,3]);
end
else
begin
if (input[j,1]=0) then
begin
input[j,1]:=input[i,2];
isi:=true;
end
else j:=cektengah(input[j,1]);
end;
end;
end;
begin
writeln(' BY SUKRAN J1F113003');
writeln;
writeln;
writeln;
write('Masukan banyaknya data yang ingin dimasukan : ');readln(jumlah);
for i:= 1 to jumlah do
begin
write('Masukkan data ke -',i,' : ');readln(input[i,2]);
input[i,1]:=0;input[i,3]:=0;
end;
for i:= 2 to jumlah do
begin
masuk;
end;
writeln;
write('Masukan angka yang dicari : ');readln(cari);
mencari;
readln;
end.
end.
Terimakasih dan semoga bermanfaat :D
HIDUP MAHASISWA !!!!
untuk komponen yang digunakan apa saja ya kak?
BalasHapus