Selasa, 10 Januari 2012

PEMROGRAMAN MULTI LIST

contoh Program database sederhana menggunakan Turbo Pascal. Isi dari program ini berbentuk Biodata Mahasiswa dimana data mahasiswa diperoleh dari 2 type yang berisi file mahasiswa dan file NIRM.

berikut contoh source code nya:

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.

hasil screenshoot biodata:










screenshoot NIRM:










screenshoot hasilnya: