A. Array Satu Dimensi
Array satu dimensi adalah array yang hanya memiliki indeks tunggal. Indeks disini merupakan nomor identitas untuk setiap elemen di dalam array. Array dikatakan struktur data statis karena ukuran dari array tersebut sudah ditentukan oleh programmer (pembuat program) pada saat penulisan variabel array tersebut. Dan seterusnya akan memiliki ukuran yang sama. erhatikan algoritma dan program berikut ini :
Pogram InputOutputArray; Var Bilangan:array[1..5]of integer; i:integer; begin for i:=1 to 5 do begin write(‘input angka ke‘,i,‘:‘); readln(Bilangan[i]); end; writeln(‘angka yang diinput: ‘); for i:=1 to 5 do writeln(Bilangan[i]); end. |
B. Array of Record (Bentukan)
Layaknya variable, array juga bisa memiliki tipe data berupa tipe bentukan. Konsepnya akan sama saja seperti pada variable. Perhatikan algoritma dan program yang menerapkan array of record.
Program Gaji; Const gajipokok = 500000; Type Pegawai = Record Id, nama : String; Jam_kerja,gol : integer; totalgaji :longint; end; Var P:array[1..10]of Pegawai; i:integer; function hitunggaji(x,z:integer) :longint; var bonus : longint; begin case z of 1 : bonus:=100000; 2 : bonus:=500000; 3 : bonus:=1000000 Else bonus:=0; End; hitunggaji:=(x*gajipokok)+bonus; end; begin { algorita program } for i:=1 to 10 do begin writeln(‘Pegawai ke‘,i); write (‘ID : ‘); readln(P[i].id); write (‘Nama : ‘); readln(P[i].nama); write (‘Jam Kerja : ‘); readln(P[i].Jam_kerja); write (‘Golongan : ‘); readln(P[i].gol); P[i].totalgaji:=hitunggaji (P[i].Jam_kerja, P[i].gol); end; for i:=1 to 10 do begin writeln(‘Pegawai ke‘,i); writeln(‘Nama : ‘,P[i].nama); writeln(‘Gaji : ‘,P[i].totalgaji); end; end.
C. Array Multidimensi
Array multidimensi adalah array yang memiliki indeks lebih dari satu. Contoh sederhana dari array multidimensi adalah matriks 2 dimensi. Coba anda perhatikan algoritma dan program transpose matrik berikut ini.
Program TransposeMatrik; Uses crt; Var Matrik:array [1..10,1..10] of integer; i,j,baris,kolom:integer; begin clrscr; write(‘input jumlah baris: ‘); readln(baris); write(‘input jumlah kolom: ‘); readln(kolom); for i:=1 to baris do for j:=1 to kolom do begin Write(‘Isi[‘,i,‘,‘,j,‘]:‘); Readln(matrik[i,j]); end; writeln(‘hasil transposenya: ‘); for i:=1 to kolom do for j:=1 to baris do Writeln(‘Isi[‘,i,‘,‘,j,‘]: ‘, matrik[j,i]); Readln; end.