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