Buatlah progam untuk
memasukkan sejumlah data nilai mahasiswa dalam bentuk record. Data yang
dimasukkan adalah Nim, Nama, Nilai UTS, Nilai UAS, Nilai Tugas. Setelah semua
data dimasukkan, semua data ditampilkan dalam bentuk tabel yang diurutkan
secara descending berdasarkan nilai rata-rata tiap mahasiswa, kemudian konversi
nilai rata-rata ke dalam nilai angka dengan aturan.
Rata-rata >= 80 nilai
huruf A keterangan Lulus
Rata-rata >= 70 nilai
huruf B keterangan Lulus
Rata-rata >= 60 nilai
huruf C keterangan Lulus
Rata-rata >= 50 nilai
huruf D keterangan Tidak Lulus
Rata-rata < 50 nilai
huruf E keterangan Tidak Lulus
Contoh output program :
Jumlah Data : 2
Data ke-1
N I M : 11010001
N a m a : Jono
Nilai UTS : 50
Nilai UAS : 50
Nilai TUGAS : 50
Data ke-2
N I M : 11010002
N a m a : Hari
Nilai UTS : 90
Nilai UAS : 90
Nilai TUGAS : 90
Proses Penyelesaian Pembuatan Program:
1. Pendeklarasian
dari type data record. Dengan kita mendeklarasikan seluruh data yang ingin dimaksukkan
kedalam table.
program nilai_mahasiswa;
Uses Crt;
Type Nilai = Record
Nim : longint;
Nama : String;
Tugas : Real;
UTS : Real;
UAS : Real;
Na : Real;
huruf : Char;
keterangan : string;
End;
2. pendeklarasian
variable yang akan di pakai di semua program.
Var
Mhs
: Array[1..50] of Nilai;
I : Integer;
n :
integer;
3. kemudian
dengan menggunakan procedure kita buat cara untuk menampilkan data.
procedure input_data;
begin
Clrscr;
write('masukkan jumlah mahasiswa = ');
readln(n);
For I := 1 To n Do
Begin
With Mhs[i] Do
Begin
Writeln('Mahasiswa ke : ',i:2);
Write('Nim : ');Readln(Nim);
Write('Nama : ');Readln(Nama);
Write('Tugas : ');Readln(Tugas);
Write('UTS : ');Readln(Uts);
Write('UAS : ');Readln(Uas);
End;
End;
end;
4. kemudian
dengan procedure lagi kita buat untuk menghitung data. Dari menghitung
rata-rata sampai pernyataan lulus atau tidak lulus.
procedure hitung_data;
begin
For i := 1 To n Do
Begin
With Mhs[i] Do
Begin
Na := (Tugas + Uts + Uas) / 3;
If (Na >= 80) Then huruf := 'A' Else
If (Na < 80) and (Na>=70) Then huruf := 'B' Else
If (Na < 70) and (Na>=60) Then huruf := 'C' Else
If (Na < 60) and (Na>=50) Then huruf := 'D' Else
huruf :='E';
End;
End;
end;
procedure tampil_keterangan;
begin
for i := 1 to n do
begin
with mhs[i] do
begin
if huruf = 'A' then
keterangan := 'lulus' else
if huruf = 'B' then
keterangan := 'lulus' else
if huruf = 'C' then
keterangan := 'lulus' else
if huruf = 'D' then
keterangan := 'tidak lulus' else
keterangan := 'tidak lulus';
end;
end;
end;
5. kemudian
selanjutnya membuat prosedur untuk menampilkan seluruh data yang tadi telah di
imputkan.
procedure tampil_data;
begin
clrscr;
gotoxy(25,1); writeln('H A S I L P R O S E S');
Writeln('+---+---------+-------------+------+-----+-----+----------+------+----------+');
Writeln('|NO |NIM |NAMA |TUGAS |UTS |UAS
|RATA-RATA |HURUF |KETERANGAN|');
Writeln('+---+---------+-------------+------+-----+-----+----------+------+----------+');
For i := 1 To n Do
Begin
With Mhs[i] Do
Begin
gotoxy(2, 4+i); Writeln(i);
gotoxy(6, 4+i); write(Nim);
gotoxy(16, 4+i); write(Nama);
gotoxy(30, 4+i); write(Tugas:2:2);
gotoxy(37, 4+i); write(Uts:2:2);
gotoxy(43, 4+i); write(Uas:2:2);
gotoxy(49, 4+i); write(Na:2:2);
gotoxy(60, 4+i); write(huruf);
gotoxy(67, 4+i); write(keterangan);
End;
End;
end;
6. Membuat
program utama yang digunakan untuk memproses seluruh kegiatan program.
begin
input_data;
hitung_data;
tampil_keterangan;
tampil_data;
readln;
end.
0 comments:
Post a Comment