Jumat, 06 Januari 2012

PROGRAM MULTI LIST


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 Mahasiswa');
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 daftarmahasiswa;
begin
a:=5;
gotoxy(1,30);writeln('Daftar Mahasiswa');
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;daftarmahasiswa;
end.