Belajar Java Array Untuk Memecahkan Masalah
Berikut ini adalah suatu contoh program yang membutuhkan array.
Buatlah program untuk menghitung nilai rata-rata dari sebanyak x siswa, dimana jumlah x ditentukan oleh user dalam int.
Kemudian hitunglah berapa jumlah siswa yang memiliki nilai di atas nilai rata-rata dari keseluruhan siswa tersebut!.
Untuk menghitung nilai rata-rata :
Output :
Untuk menghitung nilai rata-rata siswa sudah terpecahkan. Bagaimana untuk menghitung berapa jumlah siswa yang memiliki nilai di atas rata-rata?
Kita bisa mencobanya menggunakan loop, tapi itu tidak akan bekerja. Masalahnya adalah kita tidak bisa mengetahui nilai rata-rata sampai semua data sudah diproses.
Berarti kita harus membuat jalan kedua untuk melewati data untuk mengetahui berapa banyak siswa yang nilainya berada di atas rata-rata.
Tunggu dulu, bagaimana dengan menggunakan Scanner?
Jawabannya adalah tidak bisa, karena Scanner tidak memiliki pilihan reset, yang mengizinkan kita untuk 'melihat' data untuk kedua kalinya. Kita perlu meminta user untuk memasukkan data nilai siswa untuk kedua kalinya, yang tidak menarik dan efisien untuk program tersebut.
Untuk mengatasi hal ini, kita bisa menggunakan array.
Seperti di bawah ini:
Output:
Buatlah program untuk menghitung nilai rata-rata dari sebanyak x siswa, dimana jumlah x ditentukan oleh user dalam int.
Kemudian hitunglah berapa jumlah siswa yang memiliki nilai di atas nilai rata-rata dari keseluruhan siswa tersebut!.
Gunakan prompt untuk menginput banyaknya siswa dan prompt untuk menginput setiap nilai siswa.
Untuk menghitung nilai rata-rata :
import java.util.Scanner; public class NilaiSiswa { public static void main(String args []){ Scanner input = new Scanner(System.in); System.out.print("Berapa jumlah siswa? "); //prompt untuk input jumlah siswa int jumlahSiswa = input.nextInt(); int totalNilai = 0;//inisialisasi total nilai //for loop for (int i = 1; i <= jumlahSiswa; i++){ System.out.print("Nilai ujian siswa ke " + i + " adalah: "); //prompt untuk input nilai siswa int nilai = input.nextInt(); totalNilai += nilai; } double nilaiRataRata = (double) totalNilai / jumlahSiswa; System.out.println(); System.out.println("Nilai rata-rata hasil ujian siswa adalah: " + nilaiRataRata); } }
Output :
Output nilai rata-rata siswa |
Kita bisa mencobanya menggunakan loop, tapi itu tidak akan bekerja. Masalahnya adalah kita tidak bisa mengetahui nilai rata-rata sampai semua data sudah diproses.
Berarti kita harus membuat jalan kedua untuk melewati data untuk mengetahui berapa banyak siswa yang nilainya berada di atas rata-rata.
Tunggu dulu, bagaimana dengan menggunakan Scanner?
Jawabannya adalah tidak bisa, karena Scanner tidak memiliki pilihan reset, yang mengizinkan kita untuk 'melihat' data untuk kedua kalinya. Kita perlu meminta user untuk memasukkan data nilai siswa untuk kedua kalinya, yang tidak menarik dan efisien untuk program tersebut.
Untuk mengatasi hal ini, kita bisa menggunakan array.
Seperti di bawah ini:
import java.util.Scanner; public class NilaiSiswa { public static void main(String args []){ Scanner input = new Scanner(System.in); System.out.print("Berapa jumlah siswa? "); int jumlahSiswa = input.nextInt(); int [] jmlSiswa = new int [jumlahSiswa]; int totalNilai = 0; for (int i = 0; i < jumlahSiswa; i++){ System.out.print("Nilai ujian siswa ke " + ( i + 1 ) + " adalah: "); jmlSiswa[i] = input.nextInt(); totalNilai += jmlSiswa[i]; } double nilaiRataRata = (double) totalNilai / jumlahSiswa; int nilaiDiatasRataRata = 0; for (int i = 0; i < jmlSiswa.length; i++){ if(jmlSiswa[i] > nilaiRataRata){ nilaiDiatasRataRata++; } } System.out.println(); System.out.println("Nilai rata-rata hasil ujian siswa adalah: " + nilaiRataRata); System.out.println("Siswa dengan nilai di atas rata rata " + nilaiDiatasRataRata + " orang"); } }
Output:
Ouput nilai rata-rata dan jumlsh siswa yang memiliki nilai diatas rata-rata |
Hi, Thanks for sharing this nice article. It’s very helpful to me.
ReplyDeleteRegards,
Java Online Training
Java Online Training in India
Java Online Training India
Java Online Training in Hyderabad
Java Online Training Hyderabad
Java Training in Hyderabad
Java Training in India
Java Training Institutes in India
Java Training Institutes in Hyderabad
Java Course in Hyderabad
Java Training