MENGHITUNG NILAI MAHASISWA DENGAN PASCAL

program recordarray;
uses crt;
type
Tmahasiswa = record
nim           : string[12];
nama        : string[18];
nilai          : array [1..8] of real;
ket            : string;
end;
var
fileTmahasiswa : file of Tmahasiswa;
recordmahasiswa : Tmahasiswa;
i  : integer;
pilih :byte;
jumlahrecord :integer;
lagi : char;
KETEMU : boolean;
namacari : string;
procedure menambahdata;
begin
assign(fileTmahasiswa,’daftar .txt’);
rewrite(fileTmahasiswa);
lagi :=’Y’;
while upcase (lagi)= ‘Y’ do
begin

with recordmahasiswa do
begin
CLRSCR;
gotoXY (27,2);writeln(‘PROGRAM DAFTAR NILAI SEMESTER’);
gotoXY(30,4);writeln(‘mengisi data nilai ‘);
gotoXY(25,5);write(‘tekan enter setelah mengisin data’);
writeln;
write(‘================================================================================’);
writeln;
gotoXY(5,8) ;write(‘Nama Mahsiswa          :’);
gotoXY(5,10) ;write(‘NIM  Mahasiswa       :’);
gotoXY(5,12) ;write(‘Nilai tatap muka        :’);
gotoXY(5,14);write(‘Nilai tugas mandiri    :’);
gotoXY(5,16);write(‘Nilai terstruktur         :’);
gotoXY(5,18);Write(‘Nilai praktek              :’);
gotoXY(5,20);write(‘Nilai MID                    :’);
gotoXY(5,22);write(‘Nilai Ujian                   :’);

gotoXY(35,8);readln(nama);
gotoXY(35,10);readln(nim);
gotoXY(35,12);readln(nilai[1]);
gotoXY(35,14);readln(nilai[2]);
gotoXY(35,16);readln(nilai[3]);
gotoXY(35,18);readln(nilai[4]);
gotoXY(35,20);readln(nilai[5]);
gotoXY(35,22);readln(nilai[6]);
begin
nilai[7] :=((nilai[1]*1)+(nilai[2]*1)+(nilai[3]*1)+(nilai[4]*2)+(nilai[5]*2)+(nilai[6]*3));
nilai[8] :=(nilai[7])/10;
if (Nilai[8]>=0)and (Nilai[8]<1)then
ket:=’E T lulus’
else if (Nilai[8]>=1)and (Nilai[8]<1.5)then
ket:=’D T lulus’
else if (Nilai[8]>=1.5) and (Nilai[8]<3) then
ket:=’C lulus’
else if (nilai[8]>=3)and(nilai[8]<3.5) then
ket:=’B lulus’
else if (nilai[8]>=3.5) and (nilai[8]<=4)then
ket:=’A lulus’;
end;
end;
write(fileTmahasiswa,recordmahasiswa);
gotoXY(5,24);write(‘masukkan data lagi (y/t) ?’);readln(lagi);
end;
close(fileTmahasiswa);
end;
procedure menampilkandata;
begin
clrscr;
assign(fileTmahasiswa,’daftar.txt’);
reset(fileTmahasiswa);
textcolor(blue);
jumlahrecord := filesize(fileTmahasiswa);
gotoXY (28,2);writeln(‘DEPARTEMEN PENDIDIKAN NASIONAL’);
gotoXY (30,3);writeln(‘UNIVAESITES NEGERI MANADO’);
gotoXY (21,4);writeln(‘BIRO ADMINISTRASI AKADEMIK DAN KEMAHASISWAAN’);
writeln(‘================================================================================’);

gotoXY (1,8);write(‘Daftar nilai mahasiswa’);
writeln;

write(‘——————————————————————————–’);
writeln(‘|’,’NO’:1,’|’,’NIM’:12,’|’,’NAMA’:18,’|’,’NTM’:4,’|’,’NTMD’:4,’|’,’NTT’
:4,’|’,’NP’:4,’|’,’NMID’:4,’|’,’NUJ’:4,’|’,’NA’:4,’|’,’KLA’);
write(‘——————————————————————————–’);
for i := 1 to jumlahrecord do
begin

read(fileTmahasiswa,recordmahasiswa);
textcolor(white);
with recordmahasiswa do

writeln (‘|’,i:2,’|’,nim:12,’|’,nama:18,’|’,nilai[1]:1:2,’|’,nilai[2]:1:2,’|’,
nilai[3]:1:2,’|’,nilai[4]:1:2,’|’,nilai[5]:1:2,’|’,nilai[6]:1:2,’|’,nilai[8]:1:2,’|’,ket);
textcolor(yellow);
write(‘——————————————————————————–’);
textcolor(blue);
END;
close(fileTmahasiswa);
end;
procedure carimahasiswa;
begin
assign (fileTmahasiswa,’daftar.txt’);
reset(fileTmahasiswa);
jumlahrecord := filesize(fileTmahasiswa);
lagi :=’Y’;
while upcase(lagi)=’Y’ do
begin
clrscr;
ketemu := false;
write(‘nama mahasiswa yang akan dicari :’); readln(namacari);
writeln;
for i := 1 to jumlahrecord do
begin
seek(fileTmahasiswa,i-1);
read(fileTmahasiswa,recordmahasiswa);
if recordmahasiswa.nama=namacari then
begin
ketemu :=true;
write(‘nama mahasiswa :’,recordmahasiswa.nama);
writeln;
write(‘klasisfikasi   :’,recordmahasiswa.ket);
end;
end;
if not ketemu  then
write(‘tidak ada nama mahasiswa ini !!!’);
writeln;
write(‘ada lagi yang mau dicari ?’);readln(lagi);
end;
close(fileTmahasiswa);
end;
begin
while true do
begin
textbackground(GREEN);
clrscr;
textcolor(red);
gotoxy(20,5);write(‘<< MENU DAFTAR NILAI MAHASISWA >>’);
textcolor(white);
gotoxy(20,8);write(‘pilih 1 untuk menambah data…!’);
gotoxy(20,9);write(‘pilih 2 untuk menampilkan data…!’);
gotoxy(20,10);write(‘pilih 3 untuk cari mahaiswa…!’);
gotoxy(20,11);write(‘pilih 4 untuk keluar(EXIT)….!’);
pilih:=0;
begin
gotoxy(20,13); write(‘MENU YANG INGIN ANDA PILIH ?: ‘); readln(pilih);
if (pilih<1) or (pilih>3) then
gotoxy(15,14); writeln(‘MENU INI TIDAK TERSIDIA…!’);
end;
case pilih of
1:menambahdata;
2: begin
menampilkandata;
writeln;
write(‘tekan enter untuk kembali ke menu!!!’);
readln;
end;
3:carimahasiswa;
4:exit;
end;
end;
end.

perhatian :

koding di atas bisa saja terbongkar susunannya kalau di salin ke pascal jadi anda perlu mengaturnya kembali.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: