pascal array 2D

ARRAY 2 DIMENSI

 

Selain dikenal array satu dimensi (one-dimensional array) seperti yang sudah kita pelajari, juga terdapat array dua dimensi (two-dimensional array). Jika array satu dimensi seperti vector dalam matematika, maka array dua dimensi seperti matriks.

 

DEKLARASI ARRAY 2 DIMENSI

 

Secara umum array dua dimensi dideklarasikan dengan aturan

 

Type:

Namaarray = array[jangkauan indeks pada baris , jangkauan indeks pada kolom ] of tipe-basis;

Sebagai contoh, matriks MatA, berikut mempunyai 2 baris dan 3 kolom dan tipe-basisnya adalah integer

 

MatA =      2     3     5

7     1     8

 

MatA tersebut dapat disimpan dalam array dua dimensi yang didefinisikan sebagai

 

Type

Mat = array [1..2 , 1..3] of integer;

Var

MatA : Mat;

 

TEKNIK MENGAKSES ELEMEN ARRAY 2 DIMENSI

 

Untuk memudahkan kita dalam mempelajari teknik pengaksesan elemen array 2 dimensi, kita dapat menganalogikan setiap elemen pada array tersebut kedalam koordinat koordinat tertentu. Sebagai contoh, elemen MatA diatas dapat digambarkan kedalam koordinat koordinat sbb

 

 

MatA =      2     3     5

7     1     8

 

 

Kolom 1

Kolom 2

Kolom 3

Baris 1

1,1

1,2

1,3

Baris 2

2,1

2,2

2,3

Misal kita ingin mengganti nilai pada koordinat 1,1 menjadi 10 maka yang harus kita lakukan adalah

MatA[1,1] := 10;

 

Berikut ini akan diberikan contoh program yang menggambarkan bagaimana teknik mengisi elemen array 2 D dan teknik menampilkan hasil pengisian tersebut ke layar monitor

 

PROGRAM

DemoArray2D;

USES

wincrt;

 

Deklarasi Array 2D

TYPE

Mat = array [1..2 , 1..3] of integer;

Var

MatA : Mat;

BEGIN

Writeln(‘Tahap Pengisian Array’);

Write(‘Index ke [1,1] = ‘);

readln(MatA[1,1]);

Write(‘Index ke [1,2] = ‘);

readln(MatA[1,2]);

Write(‘Index ke [1,3] = ‘);

 

Penginputan/Pembacaan Array 2D

readln(MatA[1,3]);

writeln;

Write(‘Index ke [2,1] = ‘);

readln(MatA[2,1]);

Write(‘Index ke [2,2] = ‘);

readln(MatA[2,2]);

Write(‘Index ke [2,3] = ‘);

readln(MatA[2,3]);

writeln ;

 

Writeln(‘Tahap Menampilkan isi array’);

 

Menampilkan hasil input array 2 D

write(MatA[1,1], ‘ ‘);

write(MatA[1,2], ‘ ‘);

writeln(MatA[1,3]);

write(MatA[2,1], ‘ ‘);

write(MatA[2,2], ‘ ‘);

writeln(MatA[2,3]);

END.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Seperti halnya pada array 1 D, kita juga dapat memanfaatkan metode perulangan dalam proses penginputan/pembacaan dan menampilkan isi array

 

PROGRAM

DemoArray2D;

USES

wincrt;

TYPE

Mat = array [1..2 , 1..3] of integer;

Var

MatA : Mat;

i,j : integer;

BEGIN

 

 

Writeln(‘Proses Input Elemen Array’);

For i := 1 to 2 do

 Begin

for j := 1 to 3 do

Begin

write(‘MatA[‘,i,’,’,j,’] = ‘);

readln(MatA[i,j]);

End;

writeln;

End;

 

writeln(”);

 

Writeln(‘Tahap Menampilkan isi array’);

For i := 1 to 2 do

 Begin

for j := 1 to 3 do

Begin

write(MatA[i,j],’ ‘);

End;

writeln;

End;

END.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Untuk memahami proses perulangan yang terjadi dalam memanipulasi elemen array perhatikan ilustrasi dibawah ini

  1. Pahami bahwa elemen array 2 D diakses melalui koordinat yang direpresentasikan dalam Baris, Kolom.
  2. Setiap Baris akan terdiri dari beberapa kolom, seperti halnya dalam contoh diatas, Baris ke 1 mempunyai 3 kolom dan begitupun baris ke 2 mempunyai 3 kolom. Bila indeks i mewakili perulangan baris dan j mewakili perulangan kolom maka hal ini dapat diartikan bahwa dalam setiap Perulangan i akan terjadi perulangan j sebanyak 3 kali

 

MatA =           2          3          5

7          1          8

 

 

Kolom 1

Kolom 2

Kolom 3

Baris 1

1,1

1,2

1,3

Baris 2

2,1

2,2

2,3

 

Perhatikan bahwa pada baris pertama yang berubah adalah kolomnya, atau dalam hal ini adalah indeks j nya (1,2,3). Begitupun pada baris kedua yang berubah adalah kolomnya, atau dalam hal ini adalah indeks j nya (1,2,3).

 

 

  1. Extended

 

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s