Program menentukan_IP;
uses wincrt;
var
f : text;
Nim : string[10];
Prodi : string[25];
Name : string[35];
MTK : array[1..35] of string;
SKS : array[1..35] of integer;
JumSKS : integer;
Nilai : array[1..35] of char;
Bobot : array[1..35] of integer;
BotNil : array[1..35] of integer;
IP : real;
No : integer;
Pil,i,n : integer;
JmlBobot : integer;
JmlMTK : integer;
{menulis file}
Procedure isi;
Begin
clrscr;
assign(f,’Menghitung’);
rewrite(f);
write(‘Nama :’);readln(Name);
write(‘No.Mahasiswa :’);readln(Nim);
write(‘Jumlah matakuliah :’);readln(JmlMTK);
writeln;
for i := 1 to JmlMTK do
Begin
writeln;
writeln(‘ Matakuliah(MTK) ke’,i );
writeln(‘============================’);
write(‘No :’);readln(No);
write(‘Nama matakuliah :’);readln(MTK[i]);
write(‘Jumlah SKS :’);readln(SKS[i]);
write(‘Nilai (A/B/C/D/E) :’);readln(Nilai[i]);
If Nilai[i] = ‘E’ Then Bobot[i] := 0 else;
If Nilai[i] = ‘D’ Then Bobot[i] := 1 else;
If Nilai[i] = ‘C’ Then Bobot[i] := 2 else;
If Nilai[i] = ‘B’ Then Bobot[i] := 3 else;
If Nilai[i] = ‘A’ Then Bobot[i] := 4;
writeln(‘Bobot :’,Bobot[i]);
BotNil[i] := Bobot[i]*SKS[i];
writeln(‘Bobot Nilai :’,BotNil[i]);
writeln;
{BotNil : Bobot*SKS;}
JumSKS := JumSKS+SKS[i];
JmlBobot := JmlBobot+BotNil[i];
IP := JmlBobot/JumSKS;
End;
writeln(f, Nim:10, Name:10, MTK[i]:10, SKS[i]);
close(f);
End;
{membaca file}
Procedure cetak;
Begin
clrscr;
assign(f,’Menghitung’);
reset(f);
writeln;
writeln(‘Nama Mahasiswa :’,Name);
writeln(‘NIM :’,Nim);
writeln;
writeln(‘ DATA NILAI IP MAHASISWA UNRIYO “TEKNIK INFORMATIKA” ‘);
writeln(‘=============================================================’);
writeln(‘| No | Matakuliah | SKS | Nilai | Bobot | BotNil |’);
writeln(‘=============================================================’);
for n := 1 to i do
Begin
gotoxy(3,n+9);write(n);
gotoxy(7,n+9);write(MTK[n]);
gotoxy(29,n+9);write(SKS[n]);
gotoxy(36,n+9);write(Nilai[n]);
gotoxy(46,n+9);write(Bobot[n]);
gotoxy(55,n+9);write(BotNil[n]);
writeln;
End;
writeln(‘=============================================================’);
writeln(‘IP Mahasiswa :’,IP:2:2);
writeln(‘=============================================================’);
readln;
End;
{program utama}
Begin
repeat;
writeln(‘ MENU UTAMA ‘);
writeln(‘[1] Baca Data ‘);
writeln(‘[2] Cetak Data ‘);
writeln(‘[3] S E L E S A I ‘);
writeln;
write(‘ Masukkan Pilihan: ‘);readln(Pil);
case pil of
1: Isi;
2: Cetak;
End;
until Pil = 3;
End.

