Menguasai Array Dua Dimensi di Java: Panduan Lengkap dan Contohnya

Dalam pemrograman Java, Array adalah sebuah objek yang digunakan untuk menyimpan sejumlah data dalam satu variabel. Secara umum, array terbagi menjadi dua jenis, yaitu Array Satu Dimensi dan Array Multidimensi. Artikel ini akan fokus membahas salah satu jenis multidimensi yang paling sering digunakan, yaitu Array Dua Dimensi.

Array dua dimensi sering kali dianalogikan sebagai sebuah tabel yang terdiri dari baris dan kolom. Struktur ini sangat efektif untuk menyimpan data yang memiliki hubungan kategorikal, seperti data nilai mahasiswa atau daftar inventaris barang.

Deklarasi Array Dua Dimensi di Java

Terdapat dua cara utama untuk mendeklarasikan array dua dimensi di Java, tergantung pada apakah Anda sudah mengetahui nilai datanya atau belum.

Cara 1: Deklarasi dengan Alokasi Ukuran

Cara ini digunakan jika Anda ingin menentukan ukuran baris dan kolom terlebih dahulu sebelum mengisi datanya.

Format: Tipe_data nama_array [][] = new tipe_data[jumlah_baris][jumlah_kolom];

Contoh:

int abc [][] = new int [2][2]; // Membuat array ukuran 2x2 
abc [0][0] = 1; 
abc [0][1] = 2; 
abc [1][0] = 3; 
abc [1][1] = 4; 

Cara 2: Deklarasi dengan Inisialisasi Langsung

Cara ini digunakan jika Anda ingin langsung memasukkan nilai data saat deklarasi dilakukan.

Format: Tipe_data nama_array [][] = { {n00, n01}, {n10, n11} };

Contoh:

String data[][] = {
    {"123", "Diana", "Jakarta"}, 
    {"234", "Sari", "Bandung"},  
    {"456", "Riani", "Semarang"}  
};

Implementasi Program Array Dua Dimensi

Untuk memproses data di dalam array dua dimensi, kita memerlukan perulangan bersarang (nested loop) menggunakan for. Loop pertama mengontrol baris, sedangkan loop kedua mengontrol kolom.

Contoh 1: Menampilkan Data Statis

Berikut adalah kode untuk menampilkan data yang telah didefinisikan di awal:

class array2D {
    public static void main (String [] args) {
        int abc[][] = {{1, 2}, {3, 4}}; 
        int i, j;
        for (i = 0; i < 2; i++) { // Baris 
            for (j = 0; j < 2; j++) { // Kolom 
                System.out.print(abc[i][j] + " "); 
            }
            System.out.println(); // Pindah baris 
        }
    }
}

Contoh 2: Program Input Data Dinamis (Scanner)

Dalam kasus nyata, kita sering meminta pengguna menginputkan data. Kita bisa menggunakan import java.util.Scanner untuk menangkap masukan dari keyboard.

import java.util.Scanner;
class DataArr2D {
    public static void main (String[] args) {
        Scanner fa = new Scanner(System.in);
        System.out.print("Jumlah Data: "); 
        int jdata = fa.nextInt(); 
        
        String data[][] = new String[jdata][3]; // 3 kolom: NPM, Nama, Alamat 
        
        for (int i = 0; i < jdata; i++) { 
            System.out.print("NPM    : "); data[i][0] = fa.next(); 
            System.out.print("Nama   : "); data[i][1] = fa.next(); 
            System.out.print("Alamat : "); data[i][2] = fa.next(); 
            System.out.println(); 
        }
        
        // Menampilkan hasil dalam bentuk tabel
        System.out.println("NPM\tNama\tAlamat"); 
        for (int i = 0; i < jdata; i++) { 
            System.out.println(data[i][0] + "\t" + data[i][1] + "\t" + data[i][2]); 
        }
    }
}

Kesimpulan

Array dua dimensi di Java adalah alat yang sangat efektif untuk mengelola data tabular. Dengan memahami dua cara deklarasi serta penggunaan nested loop, Anda dapat mengolah data yang lebih kompleks seperti sistem manajemen data mahasiswa atau laporan nilai.

Tantangan: Cobalah buat program yang menerima input Nama Mata Kuliah, Nilai Teori, dan Nilai Praktikum. Simpan dalam array dua dimensi, lalu hitung Rata-rata di setiap barisnya untuk menghasilkan output laporan nilai yang lengkap.