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

Postingan populer dari blog ini

PENGUJIAN BERORIENTASI OBYEK

Soal Latihan Subject Verb Agreement

CONTOH USE CASE PROSEDUR PENDAFTARAN MAHASISWA BARU