Pages

Blogroll

Program gabungan Sorting dan Searching

Minggu, 05 April 2015

uses crt;
const
  nmin = 1;
  nmax = 100;
type
penunjukbrg = ^catatanbrg;
catatanbrg = record
kode :integer;
nama : string[25];
harga :real;
end;
var
databrg : array [nmin..nmax] of penunjukbrg;
i, j : byte;
temp : catatanbrg;
a: integer;
 indeks : integer;
  function seqsearch1(xx : integer): integer;
begin
clrscr;
write('masukkan data barang:'); readln(a);
for i := 1 to a do
begin
writeln;
writeln('Barang ke ', i:2, ' :');
new(databrg[i]);
with databrg[i]^ do
begin
write('Kode Barang  : ');readln(kode);
write('Nama Barang  : ');readln(nama);
write('Harga Barang : Rp.');readln(harga);
end;
end;
writeln('Data Barang Belanjaan :');
writeln('-----------------------');
writeln;
writeln('Kode Barang    Nama Barang     Harga Barang ');
writeln;
for i := 1 to a do
with databrg[i]^ do
writeln(kode:5, Nama:15, Harga:20:2);
writeln; writeln;
writeln('Data Berdasarkan Abjad Barang :');
writeln;
writeln('Kode barang    Nama Barang     Harga Barang ');
begin
for i := 1 to a do
for j := 1 to a do
with databrg[i]^ do
if databrg[i]^.nama < databrg[j]^.nama then
Begin
temp := databrg[i]^;
databrg[i]^ := databrg[j]^;
databrg[j]^ := temp;
end;
for i := 1 to a do
with databrg[i]^ do
writeln(kode:5, Nama:15, Harga:20:2);
 writeln;
 end;
 end;
 begin
 with databrg[i]^ do
begin
  clrscr;
  write('Nilai yang dicari = '); readln(kode);
  writeln;
  indeks:=seqsearch1(kode);
  if indeks <> 0 then
    write(kode,' ditemukan pada indeks ke-',indeks)
    else
    write(kode,' tidak ditemukan');
  writeln;
writeln;
end;
readkey;
end.

Berikut Output akhirnya :












Tidak ada komentar:

Posting Komentar

 

Most Reading

Sidebar One