Melanjutkan tulisan sebelumnya, tutorial kali ini akan membahas tentang array multidimensi dalam pemrograman java.
Array multidimensi pada intinya adalah array yang nilai elemennya adalah array lain dengan tipe yang sama.
Syntax penulisan array multidimensi adalah sebagai berikut :
tipe_data[][] identifier = new tipe_data[n1][n2];
Sebagai contoh :
int[][] m = new int[3][3];
Kode diatas akan membentuk array integer dengan ukuran 3x3 (3 kolom dan 3 baris). Array tersebut memiliki ukuran 3 elemen, dengan nilai dari masing-masing elemen adalah array lain yang juga berukuran 3 elemen.
Array tersebut dapat diilustasikan dalam tabel berikut :
| 0 | 1 | 2 | |
|---|---|---|---|
| 0 | m(0,0) | m(1,0) | m(2,0) |
| 1 | m(0,1) | m(1,1) | m(2,1) |
| 2 | m(0,2) | m(1,2) | m(2,2) |
Array ini akan memiliki 2 index untuk masing-masing kolom dan baris. Untuk mengakses nilai array kita harus menyebutkan kedua index tersebut, sebagai contoh :
m[0][0] = 9;
m[0][1] = 6;
m[0][2] = 7;
System.out.println(m[0][1]);
int x = m[0][2];
Array yang telah ditentukan/diketahui nilainya dapat langsung dideklarasikan seperti berikut :
int[][] m = {
{9, 6, 7},
{3, 5, 2},
{1, 4, 0}
};
Kode diatas akan membentuk array dengan ukuran 3x3, dengan nilai elemen m[0][0] adalah 9, m[0][1] adalah 6, m[0][2] adalah 7 dan seterusnya. Array tersebut dapat diilustrasikan dalam tabel berikut :
| 0 | 1 | 2 | |
|---|---|---|---|
| 0 | 9 | 6 | 7 |
| 1 | 3 | 5 | 2 |
| 2 | 1 | 4 | 0 |
Mengakses Array Multidimensi dalam Perulangan
Nilai Array multidimensi dapat diakses dengan menggunakan perulangan. Disini kita akan menggunakan perulangan bertingkat (nested loop), sebagai contoh :
int[][] m = {
{9, 6, 7},
{3, 5, 2},
{1, 4, 0}
};
for(int i=0; i<m.length; i++) {
for(int j=0; j<m[i].length; j++) {
System.out.println(m[i][j]);
}
}
Penjelasan :
-
Perulangan
foryang pertama digunakan untuk mengakses nilai elemen array terluar dengan menggunakan indexi. Nilai-nilai elemen tersebut adalah :m[0] = {9, 6, 7}m[1] = {3, 5, 2}m[2] = {1, 4, 0}
-
Perulangan
forberikutnya digunakan untuk mengakses tiap elemen arraym[i]dengan menggunakan indexj. Nilai-nilai elemen untuk arraym[0]antara lain :m[0][0] = 9m[0][1] = 6m[0][2] = 7