fbpx

Algoritma dan Pemrogaman : Array Dua Dimensi dan Multi Dimensi

Array Dua Dimensi

Array yang telah kita bahas pada artikel sebelumnya merupakan artikel satu dimensi. Array yang memiliki dimensi lebih dari 1 disebut array multidimensi. Array yang memiliki 2 dimensi disebut dengan array 2 dimensi. Setiap elemen array dapat diakses menggunakan indeks[baris, kolom]
Misal kita mendeklarasikan array 2 dimensi sebagai berikut:

var
  x:array[1..3,1..4] of integer;

Maka jumlah data yang disimpan pada variabel X adalah sebanyak baris kali kolom atau 3 x 4 = 12. Kira-kira memori akan menyimpan variabel X seperti berikut:

Baris/Kolom 1 2 3 4
1 [1,1] [1,2] [1,3] [1,4]
2 [2,1] [2,2] [2,3] [2,4]
3 [3,1] [3,2] [3,3] [3,4]

Setiap elemen array dapat diakses menggunakan indeks[baris, kolom]. Misalnya:

Var X : array[1..3, 1..4] of integer; 
Begin 
  X[1,3] := 10; 
  Writeln(X[1,3]); {output 10} 
End.

Array dua dimensi biasa digunakan untuk keperluan pembuatan matriks.

Contoh lain, misalkan kita ingin mendefinisikan sebuah array untuk menyimpan data setiap 1000 mahasiswa dalam beberapa kurun waktu 10 tahun terakhir. Dalam hal ini kita dapat menggunakan definisi:

mhs:array[1..10] of array[1..1000] of integer;

atau

mhs:array[1..10,1..1000] of integer;

Di dalam komputer data mahasiswa tersebut akan disimpan dengan urutan sebagai berikut:

mhs[1,1] mhs [1,2] ... mhs[1,1000]
mhs[2,1] ... mhs[10,1000]

atau mhs[i,j] menyatakan mhs pada tahun ke-i urutan ke-j

Berikut ini adalah contoh kode untuk mencetak data mahasiswa dalam 10 tahun terakhir.

for i:=1 to 10 do
begin
  for j:=1 to 1000 do
    write(mhs[i,j],' ');
end;

Sebuah array juga dapat digunakan untuk menyimpan beberapa koonstanta, seperti padad contoh berikut:

const
  bulan:array[1..12] of string[3]=('jan','feb','mar','apr','mei','jun','jul','agt','sep','okt','nov','des');

Array Multi Dimensi

Seringkali dibutuhkan suatu susunan struktur penyimpanan data dengan mendefinisikan suatu array dalam array. Hal ini dinamakan sebagai array multidimensi.

Contoh deklarasinya sebagai berikut:

var
  x:array[1..3,1..3,1..3] of integer;

Maka variabel X memiliki elemen sebanyak 3 x 3 x 3 = 27 buah. Untuk mengakses tiap elemen, indeksnya sebanyak 3 seperti contoh berikut ini.

Var 
  X : array[1..3, 1..3, 1..3] of integer;

Begin 
  X[1,1,1] := 10; 
  Writeln(X[1,1,1]); {output 10} 
End.

Terdapat 27 elemen pada X yaitu:

X[1,1,1] , X[1,2,1] , X[1,3,1], X[1,1,2] , X[1,2,2] , X[1,3,2],
X[1,1,3] , X[1,2,3] , X[1,3,3], X[2,1,1] , X[2,2,1] , X[2,3,1],
X[2,1,2] , X[2,2,2] , X[2,3,2], X[2,1,3] , X[2,2,3] , X[2,3,3],
X[3,1,1] , X[3,2,1] , X[3,3,1], X[3,1,2] , X[3,2,2] , X[3,3,2],
X[3,1,3] , X[3,2,3] , X[3,3,3]

Dapatkah anda bayangkan array 4 dimensi, 5 dimensi, dan seterusnya?
Array dapat juga kita nyatakan pada bagian type, untuk selanjutnya kita gunakan pada bagian var. Perhatikan contoh berikut:

Type 
  Matrix = array[1..3, 1..3] of real; 
Var 
  A,B,C : Matrix;

Untuk array multidimensi terdapat cara lain untuk mengakses indeks elemen array selain menggunakan koma yaitu menggunakan kurung siku terpisah. Misalnya:

Var 
  X : array[1..3, 1..4] of integer; 
Begin 
  X[1][3] := 10; 
  Writeln(X[1][3]); {output 10} 
End.

Contoh Program

Program TransposeMatrik;
Uses crt;
Var 
  Matrik:array [1..10,1..10] of integer;
  i,j,baris,kolom:integer;
begin
 clrscr;
 write('input jumlah baris: ');
 readln(baris);
 write('input jumlah kolom: ');
 readln(kolom);
 for i:=1 to baris do
  for j:=1 to kolom do
   begin
    Write('Isi[',i,',',j,']:');
    Readln(matrik[i,j]);
   end;
 writeln('hasil transposenya: ');
 for i:=1 to kolom do
  for j:=1 to baris do
    Writeln('Isi[',i,',',j,']: ', matrik[j,i]);
 Readln;
end.

Contoh output:


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Array dan Record, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up