Struktur Data - Binary Search
Struktur Data - Binary Search
program pencarian_biner;
type
tipelarik=word;larik=array[1..8] of tipelarik;
procedure caribiner( x :larik;
cari:tipelarik;bawah,atas:word;var urutketemu:word);
var
tengah:word;
begin
if bawah>atas thenurutketemu:=0elsebegin
tengah:=(bawah+atas)div 2;if cari=x[tengah] thenurutketemu:=tengahelseif cari<x[tengah] thencaribiner(x,cari,bawah,tengah-1,urutketemu)elsecaribiner(x,cari,tengah+1,atas,urutketemu)
end;
end;
type
type
stringnama=string[20];
constnomerantrian:larik=(1,2,3,4,5,6,7,8);nama:array[1..8] of stringnama=('Budi','Ridwan','Susan','Raisa','Andreas','Maman','Cecep','Zulkifli');
var
cari:word;
ketemu:word;
lagi:char;
begin
lagi:='Y';while upcase(lagi)='Y' dobegin
write('Nomer antrian yang dicari?');readln(cari);writeln;caribiner(nomerantrian,cari,1,8,ketemu);if ketemu=0 thenwriteln('Tidak ada nomer antrian ini!!!')elsebegin
writeln('Nomer antrian:',nomerantrian[ketemu]);writeln('Nama:',nama[ketemu]);
end;writeln;write('Cari yang lain lagi (y/t)?');readln(lagi);
end;
end.