uses crt;
type
dosen=record
kodeD : byte;
Nama : string[20];
pend : string[8];
kehl : string[15];
end;
mahasiswa=record
NPM : string[8];
Nama : String [20];
jjg, jur : string [20];
thn : string;
end;
var
rDos : array[1..20] of Dosen;
rMhs : array[1..20] of Mahasiswa;
i,j : byte;
Pil,
lg : char;
PROCEDURE InputDosen;
PROCEDURE FormDosen;
BEGIN
Clrscr;
gotoxy(20,2); write(‘INPUT DATA DOSEN’);
gotoxy(11,3); write(‘———————————‘);
gotoxy(11,4); write(‘kode dosen :’);
gotoxy(11,5); write(‘Nama :’);
gotoxy(11,6); write(‘Pendidikan :’);
gotoxy(11,7); write(‘Keahlian :’);
gotoxy(11,8); write(‘———————————‘);
gotoxy(11,9); write(‘Isikan Data Lagi[Y/T] :’);
end;
BEGIN
REPEAT
FormDosen;
with RDos[i] do
begin
gotoxy(25,4); Readln(kodeD);
gotoxy(25,5); Readln(Nama);
gotoxy(25,6); Readln(Pend);
gotoxy(25,7); Readln(kehl);
gotoxy(30,9); Readln(lg);
end;
inc(i);
until upcase(lg)=’T’;
end;
PROCEDURE InputMahasiswa;
PROCEDURE FormMahasiswa;
begin
clrscr;
gotoxy(20,2); write(‘INPUT DATA MAHASISWA’);
gotoxy(10,3); write(‘——————————‘);
gotoxy(10,4); write(‘NPM :’);
gotoxy(10,5); write(‘Nama :’);
gotoxy(10,6); write(‘Jenjang :’);
gotoxy(10,7); write(‘Jurusan :’);
gotoxy(10,8); write(‘Tahun :’);
gotoxy(10,9); write(‘——————————-‘);
gotoxy(10,10); write(‘Isikan Data Lagi[Y/T] :’);
end;
begin
repeat
FormMahasiswa;
with RMhs[i] do
begin
gotoxy(25,4); readln(NPM);
gotoxy(25,5); readln(Nama);
gotoxy(25,6); readln(Jjg);
gotoxy(25,7); readln(Jur);
gotoxy(25,8); readln(Thn);
gotoxy(30,9); readln(lg);
inc(i);
end;
until upcase(lg)=’T’;
end;
PROCEDURE OutputDosen;
PROCEDURE TabelDosen;
begin
clrscr;
gotoxy(3,3); write(‘INPUT DATA DOSEN’);
gotoxy(3,4); write(‘————————————————–‘);
gotoxy(3,5); write(‘No Kode Nama Pendidikan Keahlian’);
gotoxy(3,6); write(‘—————————————————‘);
end;
begin
i:=1;
InputDosen;
TabelDosen;
FOR j:=1 to I-1 do
begin
with RDos[j] do
begin
gotoxy(5,6+j) ; write(j:2,’ ‘,kodeD:3,’ ‘,Nama);
gotoxy(44,6+j); write(pend);
gotoxy(49,6+j); write(kehl);
end;
end;
gotoxy(3,7+j); write(‘—————————————————‘);
repeat until keypressed;
end;
PROCEDURE OutputMahasiswa;
PROCEDURE TabelMahasiswa;
begin
clrscr;
gotoxy(3,3); write(‘INPUT DATA MAHASISWA’);
gotoxy(3,4); write(‘————————————————–‘);
gotoxy(3,7); write(‘No NPM Nama Jenjang Jurusan Tahun’);
gotoxy(3,8); write(‘————————————————–‘);
end;
begin
i:=1;
InputMahasiswa;
For j:=1 to I-1 do
begin
with rMhs[j] do
begin
gotoxy(5,6+j) ; write(j:2,’ ‘,NPM:8,’ ‘,Nama);
gotoxy(44,6+j); write(Jjg);
gotoxy(49,6+j); write(Jur);
gotoxy(54,6+j); write(Thn);
end;
end;
gotoxy(3,7+j); write(‘————————————————-‘);
repeat until keypressed;
end;
PROCEDURE MENU;
begin
clrscr;
gotoxy(20,2); write(‘MENU DATA’);
gotoxy(10,3); write(‘———————————‘);
gotoxy(10,4); write(‘[1]. Input Data Dosen’);
gotoxy(10,5); write(‘[2]. Input Data Mahasiswa’);
gotoxy(10,6); write(‘[3]. Output Data Dosen’);
gotoxy(10,7); write(‘[4]. Output Data Mahasiswa’);
gotoxy(10,8); write(‘[5]. Keluar Program’);
gotoxy(10,9); write(‘———————————-‘);
gotoxy(10,10); write(‘Pilihan :’);
end;
begin{Program Utama}
i:=1; Pil:=’1′;
while Pil<>’5′ do
begin
menu;
Pil:=Readkey;
case Pil of
‘1’: InputDosen;
‘2’: InputMahasiswa;
‘3’: OutputDosen;
‘4’: OutputMahasiswa;
end;
end;
end.