Memahami Array 3 Dimensi Pada Java

Array 3 dimensi merupakan array yang terdiri dari suatu array 2 dimensi.

Misalkan 3 orang siswa mengikuti 5 kali ujian, dan masing-masing ujian tersebut terdiri dari soal pilihan ganda dan essay, dengan kata lain setiap ujian mempunyai 2 nilai. Maka, anda dapat menuliskan syntaxnya dengan:

double [][][] nilai = new double [3][5][2];


Untuk lebih jelasnya lihat teladan gambar tabel di bawah ini:



Dari tabel di atas, anda dapat menciptakan dan menginisialisasi array secara pribadi dengan:
1 2 3 4 5
double  [][][] nilai =  {    {{51.58, 89.94}, {60.06, 59.58}, {52.93, 47.63}, {89.98, 77.56}, {45.87, 94.56}},    {{39.46, 58.41}, {71.42, 85.37}, {39.08, 78.21}, {79.03, 80.32}, {45.49, 23.47}},    {{81.09, 32.24}, {51.86, 86.92}, {59.58, 31.69}, {96.18, 26.72}, {28.76, 91.54}}    }; 

Menampilkan Array Tiga Dimensi

Untuk menampilkan array tiga dimensi, maka anda memerlukan tiga buah loop, dalam bentuk nested for loop, misalkan anda akan menampilkan array tiga dimensi di atas.

Lihat teladan kegiatan di bawah ini:


 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import java.util.Scanner;  public class NilaiUjianSiswa {    public static void main(String[] args){      double  [][][] nilai = {     {{51.58, 89.94}, {60.06, 59.58}, {52.93, 47.63}, {89.98, 77.56}, {45.87, 94.56}},     {{39.46, 58.41}, {71.42, 85.37}, {39.08, 78.21}, {79.03, 80.32}, {45.49, 23.47}},     {{81.09, 32.24}, {51.86, 86.92}, {59.58, 31.69}, {96.18, 26.72}, {28.76, 91.54}}     };      for (int i =0; i < nilai.length; i++){         for(int j = 0; j < nilai[0].length; j++){       for(int k = 0; k < nilai[0][0].length; k++ ){       System.out.print("nilai[" +i+ "][" +j+ "][" +k+ "] = " + nilai [i][j][k]+ "\t");     }     System.out.println();    }        System.out.println();   }     }   } 

Sekarang contohnya Anda ingin mencari nilai rata-rata dari setiap ujian:


 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
import java.util.Scanner;  public class NilaiUjianSiswa {    public static void main(String[] args){      double  [][][] nilai = {     {{51.58, 89.94}, {60.06, 59.58}, {52.93, 47.63}, {89.98, 77.56}, {45.87, 94.56}},     {{39.46, 58.41}, {71.42, 85.37}, {39.08, 78.21}, {79.03, 80.32}, {45.49, 23.47}},     {{81.09, 32.24}, {51.86, 86.92}, {59.58, 31.69}, {96.18, 26.72}, {28.76, 91.54}}     };      System.out.println("Array nilai ditampilkan: ");   for (int i =0; i < nilai.length; i++){         for(int j = 0; j < nilai[0].length; j++){       for(int k = 0; k < nilai[0][0].length; k++ ){       System.out.print("nilai[" +i+ "][" +j+ "][" +k+ "] = " + nilai [i][j][k]+ "\t");     }     System.out.println();    }        System.out.println();   }      //Menghitung nilai rata-rata   System.out.println("Nilai rata-rata siswa: ");   for (int i = 0; i < nilai.length; i++){    double totalNilaiPilihanGanda = 0, totalNilaiEssay = 0;    for (int j = 0; j < nilai[0].length; j++){          totalNilaiPilihanGanda += nilai [i][j][0];     totalNilaiEssay += nilai [i][j][1];    }        //Menampilkan hasil    double pilihanGanda = totalNilaiPilihanGanda / nilai[0].length;    double essay = totalNilaiEssay / nilai[0].length;            System.out.printf("Nilai rata-rata ujian soal pilihan ganda siswa "          + (i + 1) + " yaitu %4.2f \n", pilihanGanda);        System.out.printf("Nilai rata-rata ujian soal essay siswa "          + (i + 1) + " yaitu %4.2f \n", essay);    System.out.println();   }   } } 


Berikut ini misalkan anda ingin menginisialisasi array menurut input dari user, dan setiap ujian terdiri dari dua nilai, yaitu pilihan ganda dan essay.

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
import java.util.Scanner;  public class InisialisasiArray3D{    public static void main (String args []){      Scanner input = new Scanner (System.in);      System.out.println("Masukkan jumlah siswa: ");   final int JUMLAH_SISWA = input.nextInt();      System.out.println("Berapa kali ujian dilakukan: ");   final int JUMLAH_UJIAN = input.nextInt();      double [][][] nilai = new double [JUMLAH_SISWA][JUMLAH_UJIAN][2];      System.out.println("Silakan masukkan data: ");      //Membaca nilai yang diinput oleh user   for (int a = 0; a < JUMLAH_SISWA * JUMLAH_UJIAN; a++){         int nomorSiswa = input.nextInt();     int nomorUjian = input.nextInt();          double nilaiPilihanGanda = input.nextDouble();     double nilaiEssay = input.nextDouble();          nilai[nomorSiswa - 1][nomorUjian - 1] [0] = nilaiPilihanGanda;     nilai[nomorSiswa - 1][nomorUjian - 1] [1] = nilaiEssay;       }      //Menampilkan array   System.out.println("Array nilai ditampilkan: ");   for (int i =0; i < nilai.length; i++){         for(int j = 0; j < nilai[0].length; j++){       for(int k = 0; k < nilai[0][0].length; k++ ){       System.out.print("nilai[" +i+ "][" +j+ "][" +k+ "] = "           + nilai [i][j][k]+ "\t");     }     System.out.println();    }        System.out.println();   }      //Menghitung nilai rata-rata   System.out.println("Nilai rata-rata siswa: ");   for (int i = 0; i < nilai.length; i++){    double totalNilaiPilihanGanda = 0, totalNilaiEssay = 0;     for (int j = 0; j < nilai[0].length; j++){             totalNilaiPilihanGanda += nilai [i][j][0];      totalNilaiEssay += nilai [i][j][1];         }            //Menampilkan hasil   double pilihanGanda = totalNilaiPilihanGanda / nilai[0].length;   double essay = totalNilaiEssay / nilai[0].length;   System.out.printf("Nilai rata-rata ujian soal pilihan ganda siswa "           + (i + 1) + " yaitu %4.2f \n", pilihanGanda);   System.out.printf("Nilai rata-rata ujian soal essay siswa "           + (i + 1) + " yaitu %4.2f \n", essay);   System.out.println();      }       }   } 

Contoh output:

Masukkan jumlah siswa:  1 Berapa kali ujian dilakukan:  5 Silakan masukkan data:  1 1 51.58 89.94 1 2 60.06 59.58 1 3 52.93 47.63 1 4 89.98 77.56 1 5 45.87 94.56 Array nilai ditampilkan:  nilai[0][0][0] = 51.58 nilai[0][0][1] = 89.94  nilai[0][1][0] = 60.06 nilai[0][1][1] = 59.58  nilai[0][2][0] = 52.93 nilai[0][2][1] = 47.63  nilai[0][3][0] = 89.98 nilai[0][3][1] = 77.56  nilai[0][4][0] = 45.87 nilai[0][4][1] = 94.56   Nilai rata-rata siswa:  Nilai rata-rata ujian soal pilihan ganda siswa 1 yaitu 60.08  Nilai rata-rata ujian soal essay siswa 1 yaitu 73.85 

Semoga dapat menambah pengetahuan anda mengenai array tiga dimensi.

Belum ada Komentar untuk "Memahami Array 3 Dimensi Pada Java"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel