Field Record Bertipe Array

Jika Dalam Suatu Record Terdapat Beberapa Field Yang Sama Tipenya Dapat Digunakan Array. Contoh Ada Data Barang Yang Mempunyai Struktur.

  • Nama Barang -> Bertipe String

  • Jumlah Unit Barang Ke 1 -> Bertipe Byte

  • Jumlah Unit Barang Ke 2 -> Bertipe Byte

  • Jumlah Unit Barang Ke 3 -> Bertipe Byte

Terlihat Bahwa Jumlah Unit Barang 1,2,3 Bertipe Sama. Dalam Hal Ini Dapat Digunakan Array Ber Index 1.. 3 Untuk Mempersingkat Filed Jumlah Unit Barang.

Contoh :

program penggunaan_field_record_tipe_array;
uses crt; 
type
    data_brg = record
        namaBrg : string[15]; 
        unitBrg : array[1..3] of byte;
        end; 
var
    Barang : array[1..10] of data_brg; 
    i,j,banyak,Jum1,jum2,jum3 : integer;
begin
    jum1 :=0;
    jum2 :=0;
    jum3 :=0;
    write('Banyak record Max 10 ='); readln(banyak);
    for i:= 1 to banyak do 
        begin
            with barang[i] do 
                begin
                    writeln('Record ke -',i);
                    write('Nama barang =');readln(namabrg);
                    for j:= 1 to 3 do 
                        begin
                            write('Unit barang ke- ',j,'= ');readln(unitbrg[j]); 
                        end;
            end; 
        end;
    clrscr;
    writeln(' ------------------------------- '); 
    writeln('Nama barang unit 1 unit2 unit3'); 
    writeln(' ------------------------------- ');
    { cetak data }
    for i:= 1 to banyak do
        begin
            with barang[i] do
                begin
                    jum1:=jum1+unitbrg[1];
                    jum2:=jum2+unitbrg[2];
                    jum3:=jum3+unitbrg[3]; 
                    writeln(namabrg:15,unitbrg[1]:5,unitbrg[2]:5,unitbrg[3]:5);
                end; 
        end;
    writeln(' ------------------------------- '); 
    writeln('Jumlah unit 1 =',jum1:6); 
    writeln('Jumlah unit 2 =',jum2:6);
    writeln('Jumlah unit 3 =',jum3:6); readln;
end.

Last updated

Was this helpful?