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:
Lihat contoh program di bawah ini:
Sekarang misalnya Anda ingin mencari nilai rata-rata dari setiap ujian:
Berikut ini misalkan anda ingin menginisialisasi array berdasarkan input dari user, dan setiap ujian terdiri dari dua nilai, yaitu pilihan ganda dan essay.
Contoh output:
Semoga bisa menambah pengetahuan anda mengenai array tiga 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.
Post a Comment for "Memahami Array 3 Dimensi Pada Java"