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 READ(B[I});
MAX := B[1];
FOR J := 2 TO 10 DO
IF MAX <=
B[J] THEN MAX :=
B[I};
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
: INTEGER;
TOTAL :
INTEGER;
RATA2 :
REAL;
BEGIN
Total := 0;
FOR
I := 1
TO 10 DO
BEGIN
READ (A[I]);
TOTAL := TOTAL + A[I];
END;
RATA2 := TOTAL / 10;
WRITE (RATA2);
END.
0 komentar:
Posting Komentar
Please Leave Your Comment :)