Program Pembayaran_kuliah;
{By: Samsul Ma'arif}
uses crt;
type
recdata = record
kd_bayar: integer;
nama : string;
bikul : integer;
uma : integer;
ktm : integer;
almamater : integer;
end;
const biaya = 1.000000;
var
Data : Array [1..20] of recdata;
ttl_bayar : real;
ket : string;
i,n : integer;
Ul : Char;
Procedure IsiData;
Begin
For i:=1 to n do
Begin
Writeln;
Writeln('Data ke-',i);
Write('KODE : ');Readln(data[i].kd_bayar);
Write('Nama : ');Readln(data[i].nama);
Write('BIKUL : ');Readln(data[i].bikul);
Write('UMA : ');Readln(data[i].uma);
Write('KTM : ');Readln(data[i].ktm);
Write('AlMAMATER : ');Readln(data[i].almamater);
End;
End;
Procedure CetakData;
Begin
Clrscr;
GotoXY(20,1);Writeln('DAFTAR PEMBAYARAN');
GotoXY(1,4);Writeln('========================================================');
GotoXY(2,5);Write('NO');
GotoXY(5,5);Write('KODE');
GotoXY(9,5);Write('NAMA');
GotoXY(25,5);Write('BIKUL');
GotoXY(35,5);Write('UMA');
GotoXY(44,5);Write('KTM');
GotoXY(51,5);Write('ALMAMATER');
GotoXY(58,5);Write('BIAYA');
GotoXY(66,5);Write('TOTAL');
GotoXY(72,5);Write('KET');
GotoXY(1,6);Writeln('========================================================');
For i:=1 to n do
Begin
ttl_bayar := data[i].bikul + data[i].uma + data[i].ktm + data[i].almamater;
if ttl_bayar >=1.000000 then
begin
ket := 'LUNAS';
end
else
begin
ket := 'BELUM';
end;
GotoXY(2,6+i);Write(i);
GotoXY(5,6+i);Write(data[i].kd_bayar);
GotoXY(9,6+i);Write(data[i].nama);
GotoXY(25,6+i);Write(data[i].bikul:2);
GotoXY(35,6+i);Write(data[i].uma:4);
GotoXY(44,6+i);Write(data[i].ktm:4);
GotoXY(51,6+i);Write(data[i].almamater:4);
GotoXY(58,6+i);Write(biaya:3);
GotoXY(68,6+i);Write(ttl_bayar:0:2);
GotoXY(72,6+i);Write(ket);
End;
GotoXY(1,6+i+1);Writeln('===================================================');
End;
Begin
Repeat
Clrscr;
Write('Masukkan Data : ');Readln(n);
IsiData;
CetakData;
Writeln;
Write('Mau Ulang Lagi.? [Y/T]: ');Readln(Ul);
Until Upcase(Ul)<>'Y';
Writeln('Copy@SAMSUL MAARIF');
Readln;
End.

