Larik (array) dimensi banyak di program Java
Larik (Array) Java Dimensi Banyak

Larik (array) di Java tidak hanya terbatas sampai berdimensi satu, tetapi juga bisa berdimensi banyak atau multidimensional array. Anda dapat membuat larik dimensi dua untuk menggambarkan sebuah matrik atau tabel, membuat larik dimensi tiga, empat dan seterusnya.

1. Deklarasi variabel dan membuat larik dimensi banyak.

Berikut ini adalah sintaksis deklarasi variabel yang mengacu ke larik dimensi dua:

tipe-data[][] nama-variabel;
 

atau

tipe-data nama-variabel[][];

Sebagai contoh, di bawah ini adalah deklarasi variabel tabel yang mengacu ke sebuah larik dimensi dua.

int[][] tabel;

atau

int tabel[][];

Larik dimensi dua memerlukan dua buah subscribe (indeks), masing-masing untuk baris dan kolom. Anda dapat membuat larik dimensi dua dengan menentukan jumlah elemen untuk masing-masing indek dan kemudian memberikan acuan larik tersebut ke variabel tabel.

tabel = new int [2][3];

Anda juga dapat mendeklarasikan variabel yang mengacu ke sebuah larik, membuat dan sekaligus menginisialisasi larik dimensi dua dalam satu pernyataan.

int[][] tabel = {{10, 11, 12, 13}, {14, 15, 16, 17}, {18, 19, 20, 21}};

Larik dimensi banyak sebenarnya adalah larik yang setiap elemennya adalah juga larik lain. Larik dimensi dua adalah larik dimensi satu yang setiap elemennya adalah juga larik dimensi satu yang lain.

2. Menentukan jumlah elemen larik dimensi banyak.

Setiap larik secara otomatis dapat mengetahui jumlah elemennya. Panjang (length) larik tabel adalah jumlah elemen dari larik tabel yang dapat diketahui dengan cara menggunakan tabel.length. tabel[0], tabel[1] dan tabel[2] adalah elemen larik tabel yang mewakili baris.

Baca artikel:

Masing-masing elemen baris dari larik tabel sebenarnya adalah juga larik yang elemennya mewakili kolom larik tabel. Jumlah elemen yang mewakili kolom untuk setiap baris larik tabel dapat diperoleh dengan menggunakan ekspresi tabel[0].length, tabel[1].length dan tabel[2].length. Di bawah ini adalah gambaran lebih jelas tentang larik dimensi dua.

Larik berdimensi banyak atau multidimensional array di Java

Berikut ini adalah contoh program Java untuk menentukan kelulusan pelamar kerja dilihat dari nilai rata-rata hasil test yang telah diikuti:

// Nama file : Kelulusan.java
// Menentukan kelulusan dilihat dari nilai rata-rata test
 
// Mengimpor Java predefined class
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.text.DecimalFormat;
 
// Deklarasi kelas
public class Kelulusan {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      JTextArea areaTampilan;
      DecimalFormat duaAngka;
      String tampilan;
      double rata2;
 
      int[ ][ ] daftarNilai = {{70, 85, 75, 70},
                               {65, 80, 75, 70},
                               {60, 75, 65, 60},
                               {70, 85, 70, 75},
                               {80, 85, 75, 70}};
 
      duaAngka = new DecimalFormat("0.00");
      areaTampilan = new JTextArea();
 
      // Menampilkan nilai test, rata-rata dan kelulusan
      tampilan = "KETERANGAN KELULUSAN HASIL TEST\n";
      tampilan += "________________________________\n\n";
      tampilan += "Pelamar\tDaftar Nilai\tRata-Rata\tKeterangan";
 
      for (int x = 0; x < daftarNilai.length; x++) {
         tampilan += "\nPelamar" + x + "\t";
         int jumlahNilai = 0;
         for (int y = 0; y < daftarNilai[x].length; y++) {
            tampilan += daftarNilai[x][y] + "  ";
            jumlahNilai += daftarNilai[x][y];
         }
          
         rata2 = (double) jumlahNilai / daftarNilai[x].length;
         tampilan += "\t" + duaAngka.format(rata2);
         if (rata2 >= 70.00)
            tampilan += "\t" + "Lulus";
         else
            tampilan += "\t" + "Tidak lulus";
      }
       
      areaTampilan.setText(tampilan);
      JOptionPane.showMessageDialog(null, areaTampilan,
         "Tabel Kelulusan", JOptionPane.INFORMATION_MESSAGE);
 
      // Mengakhiri aplikasi GUI
      System.exit(0);
   }
}
Larik berdimensi banyak atau multidimensional array di Java

Pernyataan baris nomor 20 adalah deklarasi variabel larik daftarNilai, membuat dan menginisialisasi larik dimensi dua. Perulangan for bagian luar melakukan iterasi sebanyak jumlah elemen baris atau jumlah pelamar (daftarNilai.length). Di iterasi yang pertama (pelamar0), variabel jumlahNilai diberi nilai awal 0.

Variabel ini digunakan untuk menyimpan hasil penjumlahan nilai test untuk masing-masing pelamar. Perulangan for bagian dalam yaitu baris nomor 37 melakukan iterasi untuk menampilkan nilai elemen larik kolom atau nilai hasil test (tampilan += daftarNilai[x][y] + “ ”). Nilai yang ditampilkan kemudian dijumlahkan dan disimpan ke variabel jumlahNilai (jumlahNilai += daftarNilai[x][y]).

Di baris nomor 42–47, nilai yang telah tersimpan di variabel jumlahNilai kemudian dibagi dengan nilai dari ekspresi daftarNilai[x].length untuk mendapatkan nilai rata-rata yang kemudian disimpan ke variabel rata2. daftarNilai[x].length menunjukkan banyaknya test yang diikuti oleh setiap pelamar.

Di penyeleksian if sederhana (baris nomor 44), apabila nilai rata-rata hasil test lebih besar atau sama dengan 70.00 (rata2 >= 70.00), pelamar dinyatakan lulus test dan diterima untuk bekerja. Setelah penyeleksian if sederhana selesai dieksekusi, perulangan for bagian luar akan melanjutkan proses iterasi kedua (untuk pelamar1) dan begitu seterusnya.