Sama seperti halnya pada passing array satu dimensi pada method, maka ketika anda melakukan passing array dua dimensi pada method, maka referensi array tersebut akan di-passkan pada method.
Untuk lebih jelasnya, lihat contoh program di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import java.util.Scanner; public class PassingArrayDuaDimensi { public static void main (String [] args){ //Method buatArray akan mengembalikan array dua dimensi //yang sudah dibuat dan myArray ditetapkan sebagai //referensi dari array tersebut int [][] myArray = buatArray(); //Kemudian jumlah semua elemen pada array tersebut dijumlahkan //dengan menggunakan method jumlahElemen() System.out.print("Jumlah total seluruh elemen adalah " + jumlahElemen(myArray)); } //Membuat array 5 x 5 yang diinisialisasi secara random //Dengan elemen antara 0-9 menggunakan method buatArray() public static int [][] buatArray(){ //Membuat array dua dimensi int[][] array2D = new int[5][5]; //For loop bersarang untuk inisialisasi array //outer loop for (int baris = 0; baris < array2D.length; baris++) { //inner loop for (int kolom = 0; kolom < array2D[baris].length; kolom++) { //Membuat elemen array dengan angka random array2D[baris][kolom] = (int)(Math.random()*10); //Menampilkan elemen array System.out.print(array2D[baris][kolom] + "\t"); } System.out.println(); } return array2D; } //Membuat method untuk menjumlahkan semua elemen array public static int jumlahElemen(int array2D [][]){ //inisialisasi jumlah awal int jumlahAwal = 0; //Gunakan for loop untuk menjumlahkan semua elemen for (int baris = 0; baris < array2D.length; baris++) { //inner loop for (int kolom = 0; kolom < array2D[baris].length; kolom++) { //Menjumlahkan total elemen array jumlahAwal += array2D[baris][kolom]; } } return jumlahAwal; } } |
Contoh output:
2 4 6 1 4
3 2 7 8 6
6 3 2 3 4
0 8 2 6 4
0 0 0 4 5
Jumlah total seluruh elemen adalah 90
Tips lainnya adalah program di bawah ini menampilkan array 2 Dimensi yang sudah diinisialisasi dengan for loop dan bisa juga menggunakan method deepToString() dari class Arrays.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public class Array2D { public static void main(String[] args) { //Inisialisasi array dua dimensi int[][] array2D = { {1, 2, 3, 4}, {5, 6, 7, 8} }; //Menampilkan array dua dimensi dengan for loop System.out.println("Menampilkan array 2D dengan" + " for loop: "); for(int i = 0;i < 2;i++){ for(int j = 0; j < 4 ; j++){ System.out.print(array2D[i][j] + " "); } System.out.println(); } System.out.println("Menampilkan array 2D dengan" + " method deepToString: "); //Menampilkan array dua dimensi dengan method //deepToString dari class Arrays System.out.println(java.util.Arrays.deepToString(array2D)); } } |
Output:
Menampilkan array 2D dengan for loop:
1 2 3 4
5 6 7 8
Menampilkan array 2D dengan method deepToString:
[[1, 2, 3, 4], [5, 6, 7, 8]]
Trik lainnya adalah anda juga bisa mengambil elemen dari array dua dimensi, atau length dari baris ataupun kolom untuk di jadikan array satu dimensi. Seperti contoh pogram di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class Array2D { public static void main(String[] args) { //Inisialisasi array dua dimensi int [][] array2D = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; int [] arrayBaru = ambilElemenArray2D(array2D); System.out.println("Array baru adalah: " + java.util.Arrays.toString(arrayBaru)); } public static int [] ambilElemenArray2D(int [][] myArray){ //Membuat array int [] array = new int [3]; //Array pada index 0 adalah elemen pada array dua dimensi pada index [0][0] array [0] = myArray [0][0]; //Array pada index 1 adalah length dari baris array dua dimensi array [1] = myArray.length; //Array pada index 2 adalah length dari kolom array dua dimensi array [2] = myArray[0].length; return array; } } |
Output:
Array baru adalah: [1, 3, 4]
Leave a Reply