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. 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;
Indeks Berupa Karakter 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 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. Misal : TYPE RangeUsia = 17..100; VAR 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.
LATIHAN Buat program untuk menghitung penjumlahan dua buah matriks, contoh : 1 2 + 0 4 = 1 6 4 5 1 2 5 7