Passing Array Dua Dimensi Pada Method Java

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:

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.


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:


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]

Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.