Senin, 11 Januari 2010

PROGRAM PASCAL_PEMROGRAMAN_FILE;

Uses
Wincrt;
type
rec_mhs = record
glb : string[3];
no_dft : string[12];
nama : string[25];
nilai : integer;
end;
var
fmhs : file of rec_mhs;
data_mhs : rec_mhs;
nil2 : real;
grade : char;
ulang : boolean;
yn : char;
jumrec : longint;
tcari : string;
i,brs,hal : integer;

Procedure tampil;
begin
ulang:=true;
while ulang do
begin
assign(fmhs,'mahas.dat');
reset(fmhs);
jumrec:=filesize(fmhs);
clrscr;
brs:=0;hal:=0;
gotoxy(3,2);Write('Laporan Test Penentuan Grade Gelombang ke [I/II/III] :');readln(tcari);
seek(fmhs,0);
for i:=1 to jumrec do
begin
if brs=0 then
begin
clrscr;
hal:=hal+1;
Writeln('<-SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BANTEN JAYA SERANG->');
Writeln(' <-- DAFTAR NILAI CALON MAHASISWA BARU --> ');
Writeln(' Hal :',hal);
Writeln('________________________________________________________________________');
Writeln(' NO No. Daftar Nama Calon Mhs Jwb. Benar Nilai Grade ');
Writeln('________________________________________________________________________');
end;
brs:=brs+1;
read(fmhs,data_mhs);
With data_mhs do
begin
if tcari=glb then
begin
{nil2:=(nilai*5)/3;}
nil2:=nilai;
if (nil2>=85) and (nil2<=100) then
grade := ('A') else
if (nil2>=70) and (nil2<85) then
grade := ('B') else
if (nil2>=55) and (nil2<70) then
grade := ('C') else
if (nil2>=40) and (nil2<55) then
grade := ('D') else
grade := ('E');
Writeln(i:3,' ',no_dft:10,' ',nama:20,' ',nilai:2,' ',nil2:0:2,' ',grade:2,'');
if brs=10 then
begin
Writeln('_______________________________________________________________________');
writeln('Tekan Enter Untuk melanjutkan......');
readln;
brs:=0;
end;
end;
end;
end;
Writeln('________________________________________________________________________');
Writeln ('Data habis...........');
Write('Cetak Lagi (Y/T):');
readln(yn);
If (yn='T') or (yn='t') then
ulang:=false;
readln;
end;
close(fmhs);
end;

begin
clrscr;
assign(fmhs,'mahas.dat');
{$i-}
reset(fmhs);
{$i+}
if ioresult<>0 then rewrite(fmhs);
jumrec:=filesize(fmhs);
seek(fmhs,jumrec);
ulang:=true;
while ulang do
begin
clrscr;
gotoxy(5,2);write(' P E N E R I M A A N M A H A S I S W A B A R U ( P M B ) ');
gotoxy(5,3);write(' T A H U N A K A D E M I K 2 0 0 4 / 2 0 0 5 ');
gotoxy(5,4);write('_____________________________________________________________________');
gotoxy(5,6);write(' GELOMBANG [I/II/III] :');
gotoxy(5,7);write(' NOMOR PENDAFTARAN :');
gotoxy(5,8);write(' NAMA CALON MAHASISEWA:');
gotoxy(5,9);write(' NILAI TOTAL :');
gotoxy(5,10);write('_____________________________________________________________________');
with data_mhs do
begin
gotoxy(30,6);readln(glb);
gotoxy(30,7);readln(no_dft);
gotoxy(30,8);readln(nama);
gotoxy(30,9);readln(nilai);
write(fmhs,data_mhs);
end;
gotoxy(4,11);write ('Input Lagi [Y/T] =:');
gotoxy(5,12);write('_____________________________________________________________________');
gotoxy(30,11);readln(yn);
if (yn='t') or (yn='T') then
ulang:=false;
end;
close(fmhs);
tampil;
end.