Senin, 07 Mei 2012

Materi ALGORITMA PEMROGRAMAN 2A - PERTEMUAN 8 (ARRAY)


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 :)