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 memiliki 2 nilai. Maka, anda bisa menuliskan syntaxnya dengan:

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


Untuk lebih jelasnya lihat contoh gambar tabel di bawah ini:



Dari tabel di atas, anda bisa membuat dan menginisialisasi array secara langsung 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 contoh program 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 misalnya 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) + " adalah %4.2f \n", pilihanGanda);
   
   System.out.printf("Nilai rata-rata ujian soal essay siswa " 
        + (i + 1) + " adalah %4.2f \n", essay);
   System.out.println();
  } 
 }
}


Berikut ini misalkan anda ingin menginisialisasi array berdasarkan 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) + " adalah %4.2f \n", pilihanGanda);
  System.out.printf("Nilai rata-rata ujian soal essay siswa " 
         + (i + 1) + " adalah %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 adalah 60.08 
Nilai rata-rata ujian soal essay siswa 1 adalah 73.85 

Semoga bisa menambah pengetahuan anda mengenai array tiga dimensi.
Memahami Array 3 Dimensi Pada Java Memahami Array 3 Dimensi Pada Java Reviewed by Bahasa Java on 05.16.00 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.