Dasar Pemrograman Java: Array Multidimensi (2D)

Array Multidimensi (2D) adalah pengembangan dari Array 1 Dimensi. Array 2D digunakan untuk menyimpan data dalam bentuk tabel atau matriks, yang diorganisir dalam baris dan kolom.

Perbedaan utama dalam deklarasi Array 2D adalah penggunaan dua kurung kotak ([][]), yang masing-masing merepresentasikan dimensi (baris dan kolom).

1. Deklarasi dan Inisialisasi Array 2D

Untuk mengakses elemen dalam Array 2D, Anda memerlukan dua indeks: satu untuk baris (dimensi pertama) dan satu untuk kolom (dimensi kedua). Indeks selalu dimulai dari 0.

Cara 1: Deklarasi dan Inisialisasi Ukuran Terpisah

Cara ini umum digunakan ketika Anda ingin membuat struktur matriks terlebih dahulu dan mengisi nilainya secara terpisah atau dengan loop.

// Deklarasi: Kurung kotaknya ada 2 
int[][] arrx; 

// Inisialisasi ukuran 3x3 (3 baris, 3 kolom) 
arrx = new int[3][3]; 

// Pemberian nilai per elemen:
arrx[0][0] = 1; // Baris 0, Kolom 0
arrx[0][1] = 2; // Baris 0, Kolom 1
// ... hingga
arrx[2][2] = 9; // Baris 2, Kolom 2

Cara 2: Deklarasi dan Inisialisasi Nilai Langsung

Cara ini menyingkat statement dengan memberikan nilai langsung saat deklarasi. Setiap pasangan kurung kurawal ({}) di dalamnya merepresentasikan satu baris.

// Inisialisasi matriks 3x3 
int[][] arry = {
  {10, 20, 30}, // Baris 0
  {40, 50, 60}, // Baris 1
  {70, 80, 90}  // Baris 2
}; 

// Mengakses elemen:
// System.out.println(arry[0][0]); // Output: 10
// System.out.println(arry[2][1]); // Output: 80

2. Memproses Array 2D dengan Nested Loop FOR

Karena Array 2D adalah struktur dua dimensi (baris dan kolom), ia wajib diproses menggunakan Nested Loop FOR.

  • Loop Luar (i): Mengontrol baris.
  • Loop Dalam (j): Mengontrol kolom (elemen dalam setiap baris).

Studi Kasus: Penjumlahan Dua Matriks

Matriks dan Matriks dapat dijumlahkan hanya jika keduanya memiliki dimensi yang sama. Matriks hasil adalah penjumlahan elemen-elemen yang bersesuaian ().

public class matriks_sum_2x3 {
  public static void main(String[] args) {
    double m[][] = {{7, 2, 3}, {5, 6, 12}}; // Matriks 2x3 
    double n[][] = {{8, 21, 3}, {3, 10, 10}}; // Matriks 2x3 

    System.out.println("penjumlahan m+n :");
    
    // Loop Luar untuk Baris 
    for (int i=0; i < m.length; i++) { 
      // Loop Dalam untuk Kolom 
      for(int j=0; j < m[i].length; j++) { 
        // Menjumlahkan elemen yang bersesuaian 
        System.out.print(m[i][j] + n[i][j] + " "); 
      }
      System.out.println();
    }
  }
}

Hasil Output:

Output program ini akan mencetak matriks hasil :

15.0 23.0 6.0 
8.0 16.0 22.0 

3. Latihan: Input Dinamis Array 2D

Untuk membuat array 2D secara dinamis, kita harus meminta input baris dan kolom terlebih dahulu, lalu menggunakan variabel tersebut untuk mendefinisikan ukuran array, dan akhirnya menggunakan nested loop untuk mengisi setiap elemen.

Proses Input:

  1. Input banyaknya baris (b).
  2. Input banyaknya kolom (k).
  3. Deklarasi: int[][] data = new int[b][k];
  4. Nested Loop: Lakukan perulangan dari sampai (baris) dan sampai (kolom) untuk meminta input setiap elemen.

Hasil Input yang Diharapkan:

Masukkan byk baris :2 
Masukkan byk kolom :2 
Masukkan nilai array ke [0] [0]:12 
Masukkan nilai array ke [0] [1]:13 
Masukkan nilai array ke [1] [0]:14 
Masukkan nilai array ke [1] [1]:15 

Kesimpulan

Array Multidimensi (2D) adalah cara standar di Java untuk merepresentasikan data tabel atau matriks. Dengan memahami bahwa Array 2D adalah Array di dalam Array, Anda dapat secara efektif menggunakan Nested Loop FOR untuk menginisialisasi, memanipulasi, dan menjumlahkan matriks.

Tantangan: Buatlah program lengkap untuk Latihan Input Dinamis Array 2D di atas. Setelah data diinput, tampilkan matriks tersebut dalam format tabel yang rapi.