PascalPemrograman

Array Bag IX (Record Berisi Array) #77

Malboro merah akan pahang jika di udud

andrypein.net : Sepertinya ini bagian terkahir tentang array-array pada pascal dab lanjutan yang kemarin gan jika yang kemarin merupakan Array Berisi Record maka sekarang adalah kebalikannya, yaitu Record Berisi Array.

Contoh programnya yaitu berupa perhitungan nilai mahasiswa yang memiliki tiga buah nilai (nilai kuis,nilai UTS,nilai UAS). Adapun nilai akhir (NA) akan dihitung berdasarkna ketentuan berikut.

NA = (20% x kuis)+(30% x UTS)+(50% x UAS).

Berdasarkan kasus diatas,kita dapat mendefinisikan mahasiswa kedalam sebuah record yang didalamnya mengandung field bertipe array,dengan penulisan kode seperti berikut:

type
 TSiswa = record
 NIM:string[8];
 Nama:string[30];
 Nilai:array[1..3] of real;
end;

kode diatas menunjukan bahwa setiap mahasiswa memiliki tiga buah nilai.

berikut contoh programnya:

program RecordArray;
uses wincrt;

const max = 100;

type
 TSiswa = record
  NIM:string[8];
  Nama:string[30];
  Nilai:array[1..3] of real;
 end;
 TKumpulanSiswa = array[1..max] of TSiswa;

var
 A : TKumpulanSiswa;
 i,n : integer;
 NA : real

begin
 write('Masukan jumlah siswa yang akan diisikan: ');
 readln(n);
 writeln;

 {Memasukan data}
 writeln('Memasukan Data');
 writeln('----------------');
 for i:=1 to n do begin
  writeln('Data siswa ke-',i);
  with A[i] do begin
   write('NIM   :');readln(NIM);
   write('Nama  :');readln(Nama);
   writeln('Nilai');
   write('Nilai 1(kuis): ');readln(nilai[1]);
   write('Nilai 2(UTS): ');readln(nilai[2]);
   write('Nilai 3(UAS): ');readln(nilai[3]);
  end;
  writeln;
 end;

 {Menampilkan data} 
 writeln('DAFTAR NILAI MAHASISWA');
 writeln('==========================');
 writeln('NIM':8, '':2, 'NAMA':25, '':2, 'NILAI');
 writeln('==========================');
 for i:=1 to n do begin
  with A[i] do begin
   NA:=(0.2*Nilai[1])+(0.3*Nilai[2])+(0.5*Nilai[3]);
   write(NIM:8, '':2, Nama:25, '':2, NA:0:2);
  end;
  writeln;
 end;  
end.
okey bagaimana record berisi array nya? semoga tidak pusing2 amat.

*AFK

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button