Tipe Data Record Dengan Field Tipe Record

Dalam Turbo Pascal Tipe Data Record Dapat Didefinisikan Juga Sebagai Field Dari Suatu Record. Artinya Record Dapat Juga Mempunyai Field Yang Merupakan Record.

Contoh:

Sebuah Data Pegawai Mempunyai Struktur Sebagai Berikut :

  • Nama Pegawai -> String

  • Mulai masuk -> -Tgl

    • Bln

    • Thn

  • Alamat pegawai -> - Jalan

    • Kota

  • Gaji -> Gaji pokok

    • Lembur

    • Tunjungan

Maka Dapat Disusun Program Sebagai Berikut :

Contoh :

program penggunaan_field_tipe_record; 
uses crt;
type
    masuk = record
        tgl : 1..31;
        bln : 1..12; 
        thn : integer; 
        end;
    alamat = record
        jalan : string[20];
        kota : string[10];
        end; 
    gajipeg = record
        pokok,tunjangan,lembur : real; 
        end;
    datapegawai = record
        nama : string[20];
        tglmasuk : masuk; 
        almt : alamat; 
        gaji : gajipeg;
        end; 

var
    pegawai : array [1..10] of datapegawai; 
    i,p,banyak : integer;

begin 
    clrscr;
    write('Banyak data record =');readln(banyak); 
    for i := 1 to banyak do
    begin
        writeln('record ke -',i);
        with pegawai[i] do 
            begin
                write('nama pegawai :');readln(nama); 
                write('Tanggal masuk:');readln(tglmasuk.tgl); 
                write('Bulan Masuk :');readln(tglmasuk.bln); 
                write('Tahun masuk :');readln(tglmasuk.thn); 
                write('Alamat :');readln(almt.jalan); 
                write('Kota :');readln(almt.kota); 
                write('Gaji pokok :');readln(gaji.pokok); 
                write('Tunjangan :');readln(gaji.tunjangan); 
                write('Lembur :');readln(gaji.lembur);
            end; 
    end;
    { cetak data }
    for i := 1 to banyak do
    begin
        writeln('record ke -',i);
        with pegawai[i] do 
            begin
                writeln('nama :',nama); 
                writeln('Tanggal masuk:',tglmasuk.tgl); 
                writeln('Bulan Masuk :',tglmasuk.bln); 
                writeln('Tahun masuk :',tglmasuk.thn); 
                writeln('Alamat :',almt.jalan); 
                writeln('Kota :',almt.kota); 
                writeln('Gaji pokok :',gaji.pokok); 
                writeln('Tunjangan :',gaji.tunjangan);
                writeln('Lembur:',gaji.lembur);
            end;
    end;
    readln;
end.
 

Last updated

Was this helpful?