ARRAY
Array didefinisikan sebagai suatu kumpulan dimana
elemen-elemennya berjenis data sama. (homogen)
Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu
:
a.
Array berdimensi
satu.
Array berdimensi
satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom.
Bentuk deklarasi
dari array jenis ini dalam bahasa Pascal adalah :
VAR nama_array :
ARRAY [index] OF jenis_elemen;
Contoh :
VAR x : ARRAY [1..10] OF
integer;

b.
Array Multi
Dimensi
Contoh untuk array jenis ini
adalah array dimensi dua.
Array dimensi dua ini dapat
dianggap sebagai sebuah matriks yang jumlah kolomnya lebih dari satu.
Bentuk deklarasi :
VAR nama_array : ARRAY [indeks_baris,indeks_kolom] OF jenis;
Contoh :
VAR A
: ARRAY [1..3,1..4] OF integer;
Array A di atas terdiri atas 12
elemen, yaitu :
A[1,1] A[1,2] A[1,3] A[1,4]
A[2,1] A[2,2] A[2,3] A[2,4]
A[3,1] A[3,2] A[3,3] A[3,4]
Masing-masing A[i,j] adalah diatas
adalah integer
(i = 1,2,3 ; j = 1,2,3,4)
Selanjutnya untuk array
berdimensi tiga, empat dst, cara pendeklarasiannya hanya berbeda pada indeksnya
saja.
MEMPROSES
ARRAY
Misal diberikan deklarasi suatu array sebagai berikut
:
VAR X : ARRAY [1..10] OF
integer;
Untuk keperluan membaca variabel X (input) kita tidak bisa melakukan seperti
sebuah data bernilai tunggal, yaitu READ (X).
Sebab jika kita membaca/input suatu variabel berjenis
array berarti kita membaca elemen-elemen array tersebut.
Untuk itu diperlukan suatu bentuk perulangan seperti
berikut :
FOR I
:= 1 TO 10 DO READ ( X[1] );
Demikian pula halnya untuk keperluan memproses
elemen-elemennya, harus ditunjukkan elemen yang akan diproses.
Contoh :
Misal terdapat 10 bilangan integer positif yang
berbeda disimpan di dalam suatu array B.
Tentukan integer yang terbesar diantara 10 integer
tersebut dengan suatu program Pascal.
Penyelesaiannya :
PROGRAM
MAKS ;
VAR B : ARRAY [1..10] OF integer;
I,J,MAX
: integer;
Begin
FOR I := 1 TO 10 DO READLN(B[I]);
MAX := B[1];
FOR J := 2 TO 10 DO
IF
MAX <= B[J] THEN MAX :=
B[J];
WRITE
(MAX);
END.
Contoh 2 :
Dari soal contoh 1 di atas, buat program yang
menghitung rata-rata dari 10 bilangan tersebut.
Penyelesaiannya :
PROGRAM RATA_RATA;
TYPE INDEKS =
1..10;
VAR A : ARRAY [INDEKS] OF INTEGER;
I,
TOTAL :
INTEGER;
RATA :
REAL;
BEGIN
Total := 0;
FOR I
:= 1 TO 10 DO
BEGIN
READLN (A[I]);
TOTAL := TOTAL + A[I];
END;
RATA :=
TOTAL / 10;
WRITE (RATA:6:2);
END.
Contoh 3 : Program Penjumlahan 2 buah Matrik A dan B
PROGRAM
MATRIK ;
VAR A, B, C : ARRAY [1..2, 1..2] OF integer;
I,J
: integer;
BEGIN
Writeln
(‘Input Nilai Matrik A’);
FOR I := 1 TO 2 DO
Begin
FOR J := 1 TO 2 DO
Readln(A[I,J]);
End;
WRITELN (‘Input Nilai Matrik
B’);
FOR I := 1 TO 2 DO
Begin
FOR J := 1 TO 2 DO
Readln(B[I,J]);
End;
WRITELN
(‘Penjumlahan Matrik A dan B’);
FOR I := 1 TO 2 DO
Begin
FOR J := 1 TO 2 DO
Begin
C[I,J] := A[I,J] + B[I,J];
Write (C[I,J]);
End;
Writeln;
End;
Readln;
END.
Komentar
Posting Komentar