ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan tipe komponen (component type) atau tipe basis (basis type). Suatu array mempunyai mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suau larik ditunjukkan oleh suatu indekx (index type) berbentuk ungkapan tipe ordinal. Tiap-tiap tipe komponen di array dapat diakses dengan menunjukkan nilai indeksnya (index value) atau disebut juga dengan subscript.
Bentuk penulisan dari array adalah : ARRAY BERDIMENSI SATU Jenis Array yang paling sederhana adalah array berdimensi satu. Biasanya array berdimensi satu dinyatakan sebagai kotak panjang yang dibagi menjadi beberapa bagian yang sama. Bentuk penulisan dari array adalah : Tipe larik : array [ tipe indeks ] of tipe Contoh : Var Tipe dari array X : array[1..100] of integer Nilai X telah dideklarasikan sebagai array tipe integer dengan jumlah maksimum sebanyak 100 elemen. Nilai elemen array ini harus berisi nilai integer. Contoh : Nilai integer X[1] := 10; X[2] := 20; X[3] := 30; Bila nilai elemen ke-3 dari array X akan ditampilkan, maka dapat digunakan statemen : WRITELN(X[3]);
Indeks Berupa Bilangan Bulat Program berikut menggambarkan cara memasukkan data nilai ke dalam array, menghitung dan menampilkan nilai rata-ratanya. Contoh : PROGRAM larik; USES CRT; VAR I, JUMLAH : INTEGER; RATA : REAL; X : ARRAY[1..100] OF INTEGER; BEGIN CLRSCR; FOR I:=1 TO 10 DO WRITE('Nilai bilangan ke-', I, ' = '); READLN(X[I]); JUMLAH:= JUMLAH + X[I]; END; RATA:=JUMLAH/10; WRITELN; WRITELN ('Rata-rata bilangan = ', RATA:9:2); READLN; END.
Indeks Berupa Karakter Untuk mendeklarasikan array dengan tipe string maka tipe string harus dideklarasikan terlebih dahulu di bagian deklarasi terlebih dahulu pada bagian tipe. Misal : TYPE Huruf = string[30]; VAR Nama : array[1..100] of Huruf; Bentuk yang salah : Nama : array[1..100] of string[30]; Bila nilai elemen array dibatasi nilainya dalam suatu jangkauan nilai yang tertentu, maka dapat dideklarasikan dengan tipe array subrange. RangeUsia = 17..100; Usia : array[1..100] of RangeUsia; Bentuk yang salah : Usia : array[1..100] of 17..100; Sebuah array bisa diberi nilai awal. Pemberian nilai awal dapat dilakukan dalam deklarasi CONST.
Contoh : PROGRAM larik; USES CRT; TYPE TIPEHARI = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); CONST KET : ARRAY [TIPEHARI] OF STRING[6] = ('Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'); VAR MAKS : REAL; HARI : TIPEHARI; SUHU : ARRAY[TIPEHARI] OF REAL; BEGIN CLRSCR; FOR HARI:= Minggu TO Sabtu DO WRITE ('Masukkan data suhu hari ', KET[HARI]:6,' ='); READLN(SUHU[HARI]); END; MAKS := SUHU[Minggu]; FOR HARI:= Senin TO Sabtu DO IF SUHU[HARI] > MAKS THEN MAKS := SUHU[HARI]; WRITELN('Suhu Tertinggi Adalah ', MAKS:4:1); READLN; END
ARRAY MULTIDIMENSI Array multidimensi merupakan array yang bertipe array. Pada bahasa PASCAL, jumlah dimensi array tidak dibatasi. Namun yang paling umum dipakai adalah array berdimensi dua. Bentuk deklarasi : Tipe larik : array [ tipe indeks1 ] of array [ tipe indeks2 ] of tipe-larik Atau dapat ditulis : Tipe larik : array [ tipe indeks1, tipe indeks2 ] of tipe-larik
Contoh : PROGRAM larik; USES CRT; VAR TABEL : ARRAY [1..3, 1..2] OF BYTE; I, J : BYTE; BEGIN CLRSCR; FOR I:=1 TO 3 DO FOR J:=1 TO 2 DO WRITE('Masukkan Matriks Baris ke-',I,' Kolom ke-',J,' = '); READLN(TABEL[I,J]); END; WRITELN;WRITELN('Hasil Matriks : '); WRITE(TABEL[I,J]:7); WRITELN; READLN; END.