Dani Record
Kasus :
Program ini akan merekam informasi mengenai 20 data buku-buku yang ada meliputi judul buku, kode, pengarang, edisi, tahun terbit, dan penerbitnya. Output yang diharapkan adalah berupa tabel yang menampilkan informasi data buku yang telah direkam secara terurut ascending dengan metode sorting berdasarkan judul buku.
Demikianlah kira-kira gambaran tentang program tersebut..
uses wincrt;
type
recBuku=record
judul:string[20];
kode:string[10];
pengarang:string[20];
ed:string[4];
tahun:integer;
penerbit:string[20];
end;
var
a:array[1..20] of recBuku;
tempjudul,temppeng,temppnb:string[20];
tempkod:string[10];
temped:string[4];
tempth,i,j:integer;
begin
writeln(‘+++++++++++++++++ Input Data Buku ++++++++++++++++’);
writeln(‘—————————————————————–’);
for i:=1 to 200 do
begin
write(‘Judul Buku : ‘);readln(a[i].judul);
write(‘Kode Buku : ‘);readln(a[i].kode);
write(‘Pengarang : ‘);readln(a[i].pengarang);
write(‘Edisi : ‘);readln(a[i].ed);
write(‘Tahun terbit : ‘);readln(a[i].tahun);
write(‘Penerbit : ‘);readln(a[i].penerbit);
writeln;
end;
for i:=1 to 200 do
begin
for j:=1 to 200 do
begin
if a[j].judul > a[i].judul then
begin
tempjudul:=a[j].judul;
a[j].judul:=a[i].judul;
a[i].judul:=tempjudul;
tempkod:=a[j].kode;
a[j].kode:=a[i].kode;
a[i].kode:=tempkod;
temppeng:=a[j].pengarang;
a[j].pengarang:=a[i].pengarang;
a[i].pengarang:=temppeng;
temped:=a[j].ed;
a[j].ed:=a[i].ed;
a[i].ed:=temped;
tempth:=a[j].tahun;
a[j].tahun:=a[i].tahun;
a[i].tahun:=tempth;
temppnb:=a[j].penerbit;
a[j].penerbit:=a[i].penerbit;
a[i].penerbit:=temppnb;
end;
end;
end;
clrscr;
writeln;
writeln(‘+++++++++++++++++ Output Data Buku +++++++++++++++++++’);
writeln;
writeln(‘———————————————————————–’);
writeln(‘| No | Judul | Kode | Pengarang | Edisi | Tahun | Penerbit |’);
writeln(‘———————————————————————–’);
writeln;
for i:=1 to 200 do
begin
writeln(i,’ ‘,a[i].judul:3,’ ‘,a[i].kode:3,’ ‘,a[i].pengarang:3,’ ‘,a[i].ed:3,’ ‘,a[i].tahun:3,’ ‘,a[i].penerbit:3);
end;
readln;
end.
Pada program diatas deklarasi untuk proses sorting data ditunjukkan pada :
for i:=1 to 200 do
begin
for j:=1 to 200 do
begin
if a[j].judul > a[i].judul then
begin
tempjudul:=a[j].judul;
a[j].judul:=a[i].judul;
a[i].judul:=tempjudul;
…
a[j].penerbit:=a[i].penerbit;
a[i].penerbit:=temppnb;
end;
end;
end;
Kata Kunci
buku pascal procedure function pengarang, contoh makalah array dan record, contoh program stack secara descending dengan pascal, pascal program procedure data buku judul kode pengarang edisi tahun terbit penerbit, pascal record ascending, program data buku pascal.
Related posts: