Tugas : 
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
keterangan 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.
 
 
Saya udh cobaa ketik, tpi koq malah eror yach..?
ReplyDeleteRecord Variable Expected.
kalo ada screenshotnya mbk fitri...???
ReplyDeletemaaf baru di bales sekarang...karena baru ada kesibukan...
kalau mungkin ada yang lama di balasnya... hubungi saja ke no 085729607485 whatsapp/sms
ReplyDelete