Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Binary_Search2;
- uses crt;
- Var
- data : array [1..50] of integer;
- i,j,n,x, kiri,tengah,kanan,cari :integer;
- ketemu :boolean;
- ulang : char;
- Begin
- clrscr;
- randomize;
- ulang :='y';
- write('Tentukannya banyaknya data (Maks 50) = ');
- readln(x);
- write('Data input = ');
- for i := 1 to x do
- Begin
- data[i]:=random(50);
- write(' ',data[i],' ');
- End; writeln;
- while ulang='y' do
- Begin
- {Urutkan data}
- for i:=1 to x do
- for j:=1 to x do
- Begin
- if (data[i]<data[j]) then Begin
- n:=data[i];
- data[i]:=data[j];
- data[j]:=n;
- end;
- end;
- {Cetak Data}
- write('Data Sorting = ');
- for i:=1 to x do
- write(' ',data[i],' ');writeln;
- writeln;
- write('Masukan data yang dicari (dgn Binary Serach) : ');
- readln(cari);
- kiri:=x;
- 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;writeln;
- write('Ulangi (y/t)?? ');readln(ulang);writeln;
- End;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement