{****************************************************************************
PROGRAM DAFTAR NILAI MAHASISWA
LATIHAN MENGGUNAKAN ARRAY
*****************************************************************************}
PROGRAM DAFTAR_NILAI_MAHASISWA;
USES CRT;
CONST GRS='------------------------------------------------------------------------------';
TYPE TABEL=ARRAY[1..24]OF REAL;
TABLE=ARRAY[1..24]OF STRING;
TAB=ARRAY[1..24]OF LONGINT;
VAR CON:STRING[1];
NM,KET:TABLE;
NIM:TAB;
UTS,UAS,HSL:TABEL;
Z: INTEGER;
JML: INTEGER;
{*****************************************************************************
PROCEDURE UNTUK TAMPILAN HEADER. BERUPA INFORMASI TENTANG NAMA PROGRAM DAN
INFORMASI LAINNYA
*****************************************************************************}
PROCEDURE HEADER;
BEGIN
CLRSCR;
TEXTCOLOR(GREEN);
GOTOXY(26,2);WRITELN('PROGRAM DATA NILAI MAHASISWA');
GOTOXY(29,3);WRITELN('MADE BY AJIE JAMALUDIN');
GOTOXY(19,4);WRITELN('TEKNIK OTOMASI MANUFAKTUR DAN MEKATRONIKA');
GOTOXY(22,5);WRITELN('POLITEKNIK MANUFAKTUR NEGERI BANDUNG');
WRITELN('================================================================================');
TEXTCOLOR(18);GOTOXY(29,23);WRITELN('FULL SCREEN : ALT+ENTER'); TEXTCOLOR(GREEN);
END;
{*****************************************************************************
PROCEDURE UNTUK MENAMPILKAN FIELD-FIELD UNTUK MEMASUKKAN DATA
*****************************************************************************}
PROCEDURE INPUT_DATA;
BEGIN
CLRSCR;
HEADER;
GOTOXY(15,10);WRITELN('NO : ', Z);
GOTOXY(15,11);WRITELN('NAMA : ');GOTOXY(30,11);READLN(NM[Z]);
GOTOXY(15,12);WRITELN('NIM : ');GOTOXY(30,12);READLN(NIM[Z]);
GOTOXY(15,13);WRITELN('NILAI UTS : ');GOTOXY(30,13);READLN(UTS[Z]);
GOTOXY(15,14);WRITELN('NILAI UAS : ');GOTOXY(30,14);READLN(UAS[Z]);
END;
{*****************************************************************************
PERHITUNGAN
*****************************************************************************}
PROCEDURE PERHITUNGAN;
BEGIN
FOR Z:=1 TO JML DO
BEGIN
HSL[Z]:=(UTS[Z]+UAS[Z])*0.5;
IF (HSL[Z]>=85) AND (HSL[Z]<100)THEN KET[Z]:='A' ELSE
IF (HSL[Z]>=75) AND (HSL[Z]<85)THEN KET[Z]:='B' ELSE
IF (HSL[Z]>=60) AND (HSL[Z]<75)THEN KET[Z]:='C' ELSE
IF (HSL[Z]<60)>=0) THEN KET[Z]:='E' ELSE
IF (HSL[Z]>100) OR (HSL[Z]<0) THEN KET[Z]:='WRONG';
END;
END;
{*****************************************************************************
PROGRAM UTAMA
*****************************************************************************}
BEGIN
REPEAT
CLRSCR;
HEADER; GOTOXY(20,10);WRITELN('MASUKKAN JUMLAH MAHASISWA :');GOTOXY(48,10);READLN(JML);
CLRSCR;
BEGIN
FOR Z:=1 TO JML DO
INPUT_DATA;
END;
PERHITUNGAN;
CLRSCR;HEADER;
TEXTCOLOR(RED);
GOTOXY(2,8);WRITELN(GRS);
GOTOXY(2,9);WRITE('NO');
GOTOXY(10,9);WRITE('NAMA');
GOTOXY(27,9);WRITE('NIM');
GOTOXY(37,9);WRITE('UTS');
GOTOXY(45,9);WRITE('UAS');
GOTOXY(52,9);WRITE('NILAI AKHIR');
GOTOXY(69,9); WRITE('NILAI MUTU');
GOTOXY(2,10); WRITELN(GRS);
FOR Z:=1 TO JML DO
BEGIN
TEXTCOLOR(GREEN);
GOTOXY(3,Z+10); WRITE(Z);
GOTOXY(6,Z+10); WRITE(NM[Z]);
GOTOXY(24,Z+10); WRITE(NIM[Z]);
GOTOXY(36,Z+10); WRITE(UTS[Z]:0:2);
GOTOXY(44,Z+10); WRITE(UAS[Z]:0:2);
GOTOXY(55,Z+10); WRITE(HSL[Z]:0:2);
GOTOXY(74,Z+10); WRITE(KET[Z]);
END;
TEXTCOLOR(RED);GOTOXY(2,JML+11);WRITELN(GRS);
READLN;
GOTOXY(41,24);READLN;
CLRSCR; TEXTCOLOR(GREEN);GOTOXY(30,17);WRITELN('MENGULANG ? (y,t)');GOTOXY(48,17); READLN(CON);
UNTIL (CON='t') or (CON='T');
END.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar