Banner Java

Larik (Array) Dimensi Banyak Di Java

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

Mendeklarasikan variabel dan membuat larik dimensi banyak.

Berikut ini adalah sintaksis untuk mendeklarasikan 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 menginisialisi larik dimensi dua sekaligus 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.

Menentukan jumlah elemen larik dimensi banyak.

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

Berikut ini adalah contoh program 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);
   }
}

Baris nomor 20 adalah pernyataan untuk mendeklarasikan variabel larik daftarNilai, membuat dan menginisialisi larik berdimensi dua. Perulangan for bagian luar melakukan iterasi sebanyak jumlah elemen baris atau jumlah pelamar (daftarNilai.length). Di iterasi 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 (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 mencari 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 bekerja. Setelah penyeleksian if sederhana selesai dieksekusi, perulangan for bagian luar akan melanjutkan proses iterasi kedua (untuk pelamar1) dan begitu seterusnya.

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.