About

RECORD



Record adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing – masing elemen data tersebut dikenal dengan sebutan Field. Field – Field ini memiliki tipe data masing-masing yang dpat diakses secara individual.
Bentuk Umum Pendeklarasian Record

Type <NamaRecord> =Record
          <NamaField1> : TipeData;
          <NamaField2> : TipeData;
          ...  : ...;
          <NamaFieldN> : TypeData;
End;
Var <NamaVarRecord>:<NamaRecord>;

Contoh :

Program Nilai;
uses crt;
Type Mahasiswa = record
   Nim   : String [10];
   Nama  : String [35];
   NH,NT,NM,NF  : Integer;
   NA : Real;
End;
Var Mhs : Mahasiswa;
Begin
     clrscr;
     Writeln('Aplikasi Perhitungan Nilai : ');
     Write('Masukkan Nim   : ');Readln(mhs.Nim);
     Write('Masukkan Nama  : ');Readln(mhs.Nama);
     Write('Masukkan Nilai Hadir  : ');Readln(mhs.NH);
     Write('Masukkan Nilai Tugas  : ');Readln(mhs.NT);
     Write('Masukkan Nilai MID    : ');Readln(mhs.NM);
     Write('Masukkan Nilai FINAL  : ');Readln(mhs.NF);
     Mhs.NA := (0.10 * Mhs.NH) + (0.25 * Mhs.NT) +(0.30 * Mhs.NM) + (0.35 * Mhs.NF);
Writeln('Total Nilainya = ',Mhs.NA:11:2);Readln(Mhs.NA);
end.

Berikut hasil eksekusi program diatas :




Agar Variabel record dapat menampung beberapa data yang sama dengan susunan fieldnya maka variabel tersebut dapat dikombinasikan dengan tipe data array. Bentuk Umumnya :

Type <NamaRecord> =Record
          <NamaField1> : TipeData;
          <NamaField2> : TipeData;
          ...  : ...;
          <NamaFieldN> : TipeData;
End;
Var <NamaVarRecord> : Array [IndeksArray] of <NamaRecord>;

Seringkali pada program-program aplikasi untuk system informasi diperlukan penyimpanan data agar dapat digunakan untuk keperluanpengolahan lebih lanjut. Variabel dan larik hanya menggunakan internal memory hanya bisa menyimpan data pada saat proses saja dan kapasitasnya terbatas. Untuk itu diperlukan penyimpanan luar (External Memory) yang kapasitasnya lebih besar dan tidak terhapus pada saat tidak ada aliran listrik.
Salah satu bentuk file yang digunakan sebagai media penyimpanan data adalah file teks. File ini akan berisi data karakter meskipun data sumbernya bukan karakter (otomatis diubah ke karakter).
Untuk mengakses file text pada pascal, dibutuhkan sebuah variabel yang dideklarasikan dengan tipe text (file variabel). Setelah file variabel didalam file teks dihubungkan dengan file eksternal yang akan digunakan dengan prosedur standar Assign. Bentuk umumnya :

Assign (fileVariabel,NamaFileText)

Setelah itu dibuka dengan menggunakan beberapa intruksi berikut :
Prosedur Standar
Keterangan
Rewrite
(FileVariabel)
Digunakan untuk membuka file baru yang bersifat Write Only
Reset
(FileVariabel)
Digunakan untuk membuka file baru yang bersifar Read Only
Append
(FileVariabel)
Digunakan untuk membuka file yang telah ada untuk keperluan menambah data kedalam file
Close
(FileVariabel)
Digunakan untuk menutup file yang telah dibuka

Contoh program merekam data :

Program Rekam_Data_Mhs;
uses crt;
Const JumlahMK = 5;
Type
    BNilai = 1..100;
   Nilai = record
   Nama    : string [25];
   NoPokok : string [12];
   Angkatan         : string [5];
   NilaiUjian       : array [1..JumlahMK] of BNilai;
   NilaiRata        : real;
   end;
   DNilai = file of Nilai;

Var
   DafNilai     : DNilai;
   NilaiMhs     : nilai;
   I,j    : integer;
   Lagi   : char;

begin
     Assign(dafnilai,'NILAI.DAT');
     Rewrite(dafnilai);
     I := 0;
     repeat
           Inc(I);
           clrscr;
           writeln('MEREKAM DATA PADA FILE "NILAI.DAT" ');
           writeln('-----------------------------------');
           writeln;
           writeln('MENGISI REKAMAN KE: ',1:2);
           writeln('-----------------------------------');
           writeln;

           with nilaimhs do
           begin
                nilairata := 0.0;
                write('Nama mahasiswa :'); readln(nama);
                write('Nomor mahasiswa :'); readln(nopokok);
                write('Angkatan        :');readln(angkatan);
                for j := 1 to JumlahMK do
                begin
                     write('Nilai MK ',J,' : ');
                     readln(nilaiujian[j]);
                     Nilairata := nilairata + nilaiujian[j];
                end;
                nilairata := nilairata / JumlahMK;
           end;

           write(dafnilai, nilaimhs);
           gotoxy (1,20); write('Ada data lagi [ya/tidak]');
           readln(lagi);
     until not (lagi in ['Y','y']);
     close (dafnilai);
end.

Berikut hasil eksekusi program diatas :




Contoh program membuka data :

Program Baca_Data_Mhs;
uses crt;
const JumlahMK = 5;
Garis ='----------------------------';
type
    Bnilai = 1..100;
    Nilai = record
          Namamhs   : string [25];
          Nopokok   : string [5];
          Angkatan  : string [5];
          Nilai_Ujian : array [1..JumlahMK] of bnilai;
          Nilairata : real;
    end;
    Dnilai = file of nilai;
var
   DafNilai  : Dnilai;
   Nilaimhs  : nilai;
   I,j,n     : integer;

begin
     clrscr;
     assign (dafnilai,'nilai.dat');
     reset (dafnilai);
     N := filesize (dafnilai);
     writeln (' ':28,'DAFTAR NILAI UJIAN AKHIR');
     writeln (' ':28,'------------------------------');
     writeln; writeln (garis,garis);
     writeln ('No. Nama No. Pokok N1 N2 N3 N4 N5 Rata2');
     writeln (garis,garis);
   for I := 1 to n do
   begin
        gotoxy (1,I+6); write(I:2);
        read (dafnilai, nilaimhs);

         with nilaimhs do
         begin
              Gotoxy (8,I+6); write(Namamhs);
              Gotoxy (34,I+6); write(nopokok);
              for j := 1 to JumlahMK do
              begin
                   Gotoxy (43+5*(j-1),I+6);
                   write (nilai_ujian[j]:2);
              end;
              Gotoxy (68,I+6);
              writeln (Nilairata:5:2);
         end
        end;
        writeln (garis, garis);
        close (DafNilai);
readln;
end.

0 komentar "RECORD", Baca atau Masukkan Komentar

Posting Komentar