Sie sind auf Seite 1von 6

program DataBase;

uses crt;

type

matakuliah = record

namamk :array[1..5] of string;

sks : array[1..5] of integer;

nilai : array[1..5] of real;

end;

mahasiswa = record

nama : array[1..20] of string;

nim : array[1..20] of string;

mk : array [1..20] of matakuliah;

ipkangka : array[1..20] of real;

end;

var

data1 : mahasiswa;

n,i,m,j,no : integer;

Total1, Total2: real;

nama1, nim1 : string;

pilih,tekan : char;

begin

clrscr;

write('Masukkan Jumlah Mahasiswa :'); readln(n);

write('Masukkan Banyak Mata Kuliah :'); readln(m);


for i:= 1 to n do

Begin

writeln;

writeln('Masukkan data Mahasiswa ke-', i);

write('Nama Mahasiswa :'); readln(data1.nama[i]);

write('NIM :'); readln(data1.nim[i]);

for j:=1 to m do

begin

writeln('Mata Kuliah ke-',j);

write('Nama Mata Kuliah :');readln(data1.mk[i].namamk[j]);

write('SKS :'); readln(data1.mk[i].sks[j]);

write('Nilai :'); readln(data1.mk[i].nilai[j]);

writeln;

end;

end;

for i:=1 to n do

begin

Total1 := 0;

Total2 :=0;

for j:=1 to m do

begin

Total1 := Total1 + (data1.mk[i].sks[j]) * (data1.mk[i].nilai[j]);

Total2 := Total2 + data1.mk[i].sks[j];


end;

data1.ipkangka[i] := Total1 / Total2 ;

end;

writeln;

writeln('DATA MAHASISWA');

writeln;

writeln('==================================================================
=======');

writeln('No':3, 'Nama':15, 'NIM':10, 'IPK':10);

writeln('==================================================================
=======');

for i:=1 to n do

writeln( i:3, data1.nama[i]:15, data1.nim[i]:10, data1.ipkangka[i]:10:2);

writeln('==================================================================
=======');

writeln;

write('Ingin mencari data tertentu (y/n)? '); readln(pilih);

writeln;

case pilih of

'y':begin

tekan:='Y';

while upcase(tekan)='Y' do

begin
clrscr;

writeln;

writeln('MENU PILIHAN');

writeln;

writeln('[1] NAMA');

writeln('[2] NIM');

writeln;

write('Pilihan anda : '); readln(no);

case no of

1: begin

write('Masukkan Nama Mahasiswa : '); readln(nama1);

writeln;

writeln('==================================================================
=======');

writeln('No':3, 'Nama':15, 'NIM':10, 'IPK':10);

writeln('==================================================================
=======');

for i:=1 to n do

if (nama1) = (data1.nama[i]) then

begin

writeln( i:3, data1.nama[i]:15, data1.nim[i]:10, data1.ipkangka[i]:10:2);

end;
writeln('==================================================================
=======');

writeln;

end;

2: begin

write('Masukkan NIM Mahasiswa : '); readln(nim1);

writeln;

writeln('==================================================================
=======');

writeln('No':3, 'Nama':15, 'NIM':10, 'IPK':10);

writeln('==================================================================
=======');

for i:=1 to n do

if (nim1) = (data1.nim[i]) then

begin

writeln( i:3, data1.nama[i]:15, data1.nim[i]:10, data1.ipkangka[i]:10:2);

end;

writeln('==================================================================
=======');

writeln;

end;

end;

write('ingin mencari data lagi (y/n) ? '); readln(tekan);


readln;

end; end; end;

end.

Das könnte Ihnen auch gefallen