Uses wincrt;
{------------TYPE RECORD------------}
Type Tabel_Mhs = Record
nim : String;
nama: String;
tgl : String;
End;
Type Tabel_MK = Record
kode_MK : String;
Nama_MK : String;
jum_SKS : Integer;
End;
Type Tabel_Nilai = Record
tugas : Real;
UTS : Real;
UAS : Real;
nil_Angka : Real;
nil_Huruf : Char;
End;
Var
Mhs : Array[1..20] of Tabel_Mhs;
MK : Array[1..20] of Tabel_MK;
Nilai: Array[1..20] of Tabel_Nilai;
Angka: Real;
i, n : Integer;
{---PROCEDURE INPUT DATA MAHASISWA---}
Procedure Mahasiswa;
Begin
With Mhs[i] do
Begin
write('Nim Mahasiswa : ');readln(nim);
write('Nama Mahasiswa : ');readln(nama);
write('tgl lahir : ');readln(tgl);
Writeln;
End;
End;
{---PROCEDURE INPUT MATAKULIAH---}
Procedure Mata_Kuliah;
Begin
With MK[i] do
Begin
Write('Kode Mata Kuliah : ');readln(kode_MK);
Write('Nama Mata Kuliah : ');readln(Nama_MK);
Write('Jumlah SKS : ');readln(jum_SKS);
Writeln;
End;
End;
{---FUNCTION HITUNG NILAI ANGKA---}
Function Nilai_Mhs(tugas,UTS,UAS : Real; Var nil_Angka : Real) : Real;
Begin
nil_Angka:= (0.2 * tugas) + (0.3 * UTS) + (0.5 * UAS);
Nilai_Mhs:= nil_Angka;
End;
{-----------PROGRAM UTAMA----------}
Begin
Write('Jumlah Data : ');readln(n);
Writeln;
For i:= 1 to n do
Begin
Writeln('Data',i);
Writeln('-------');
Mahasiswa;
Mata_Kuliah;
With Nilai[i] do
Begin
Write('Nilai Tugas : ');readln(tugas);
Write('Nilai UTS : ');readln(UTS);
Write('Nilai UAS : ');readln(UAS);
Writeln('Nilai Angka : ',Nilai_Mhs(tugas,UTS,UAS,nil_Angka):0:2);
Angka:=Nilai_Mhs(tugas,UTS,UAS,nil_Angka);
if Angka >= 81 then
nil_Huruf:= 'A'
Else if Angka >= 71 then
nil_Huruf:= 'B'
Else if Angka >= 61 then
nil_Huruf:= 'C'
Else if Angka >= 51 then
nil_Huruf:= 'D'
Else if Angka < 51 then
nil_Huruf:= 'E';
Writeln('Nilai Huruf : ',nil_Huruf);readln;
End;
End;
{---MENAMPILKAN DATA DALAM BENTUK TABEL---}
Begin
Clrscr;
gotoxy(1,2);Writeln('DATA REPORT':45);
gotoxy(1,4);Writeln('[----][-------------][---------------][-----------][-----------][-------][-----]');
gotoxy(1,5);Writeln('[ NO ][ NIM ][ Nama ][ Kode MK ][ Nama MK ][ N.A ][ N.H ]');
gotoxy(1,6);Writeln('[----][-------------][---------------][-----------][-----------][-------][-----]');
For i:= 1 to n do
Begin
gotoxy(1,6+i);Write('[ ][ ][ ][ ][ ][ ][ ]');
gotoxy(3,6+i);Write(i);
gotoxy(9,6+i);Write(Mhs[i].nim);
gotoxy(24,6+i);Write(Mhs[i].nama);
gotoxy(41,6+i);Write(Mk[i].Kode_MK);
gotoxy(54,6+i);Write(Mk[i].nama_MK);
gotoxy(67,6+i);Write(Nilai[i].nil_Angka:0:2);
gotoxy(77,6+i);Write(Nilai[i].nil_Huruf);
End;
End;
Wednesday, 24 December 2014
Turbo Pascal Program Data Mahasiswa
Program Data_Mahasiswa;
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment