05/01/12

Program MULTI - LIST pada PASCAL

uses crt;
type
filebio = record
npm:string[8];
nirm:string[3];
nama:string[15];
alamat:string[10];
end;
filenirm = record
nirm2:string[3];
masuk:string[10];
akhir:string[10];
end;
var
biodata :array[1..10] of filebio;
tglnirm :array[1..10] of filenirm;
isi:text;
a,x,y:integer;


Procedure tbio;
begin
a:=5;
assign(isi,'biodata2.dat');
reset(isi);
writeln('Biodata');
writeln('************************************************************');
writeln('* Npm * Nirm * Nama * alamat *');
writeln('************************************************************');
for x:=1 to 10 do
begin
readln(isi,biodata[x].npm);
readln(isi,biodata[x].nirm);
readln(isi,biodata[x].nama);
readln(isi,biodata[x].alamat);
write('* ',biodata[x].npm,' * ',biodata[x].nirm,' * ',biodata[x].nama,' * ',biodata[x].alamat:5);
gotoxy(60,a);
writeln('*');
a:=a+1;
end;
close(isi);
writeln('************************************************************');
readln;
end;

procedure tnirm;
begin
assign(isi,'filenirm.dat');
reset(isi);
writeln('File Nirm');
writeln('*****************************************************');
writeln('* Nirm * Tanggal Masuk * Tanggal Akhir *');
writeln('*****************************************************');
for x := 1 to 10 do
begin
readln(isi,tglnirm[x].nirm2);
readln(isi,tglnirm[x].masuk);
readln(isi,tglnirm[x].akhir);
writeln('* ',tglnirm[x].nirm2,' * ',tglnirm[x].masuk,' * ',tglnirm[x].akhir,' *');
end;
writeln('*****************************************************');
close(isi);
readln;
end;


procedure daftarsiswa;
begin
a:=5;
gotoxy(1,30);writeln('Daftar Siswa');
writeln('***********************************************************************');
writeln('* No * Npm * Nirm * Nama * Tgl masuk * Tgl Akhir *');
writeln('***********************************************************************');
for x := 1 to 10 do
begin
write('* ',x,' * ',biodata[x].npm,' * ',biodata[x].nirm,' * ',biodata[x].nama,' *',' *',' *');
for y := 1 to 10 do
if biodata[x].nirm = tglnirm[y].nirm2 then
begin
gotoxy(46,a);
writeln(tglnirm[y].masuk);
gotoxy(60,a);
writeln(tglnirm[y].akhir);
a:=a+1;
end;
end;
writeln('***********************************************************************');
readln;
end;

begin
clrscr;tbio;
clrscr;tnirm;
clrscr;daftarsiswa;
end.