Berikut ini adalah pertanyaan dari JosenMateuwu pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
• Nilai rata-rata merupakan hasil dari nilai pertandingan I, II., III dibagi dengan 3.
• Ketentuan Mendapat Hadiah dari pertandingan :
- Jika Nilai Rata-Rata >=85, maka mendapat hadiah Komputer.
- Jika Nilai Rata-Rata >=70, maka mendapat hadiah Uang Tunai sebersar Rp.
500.000,-
- Jika mendapat Rata-Rata <70, maka mendapat hadiah Hiburan.
Pake Bahasa Java:
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Kode Program (Java)
import java.util.Scanner;
public class NilaiRataRataSiswa {
// DEKLARASI Variabel
static String namaSiswa, hadiah;
static float jumlahNilai, nilaiRataRata;
// Objek scanner, diperlukan untuk input
static Scanner sc = new Scanner(System.in);
// METHOD
static void inputNamaSiswa() {
// Gunakan nextLine() untuk membaca String
System.out.print("Masukkan nama siswa : ");
namaSiswa = sc.nextLine();
}
static void inputNilaiPertandingan() {
// Gunakan nextFloat() untuk membaca floating-point
System.out.print("Masukkan nilai pertandingan I : ");
jumlahNilai += sc.nextFloat();
System.out.print("Masukkan nilai pertandingan II : ");
jumlahNilai += sc.nextFloat();
System.out.print("Masukkan nilai pertandingan III : ");
jumlahNilai += sc.nextFloat();
}
static void hitungRataRata() {
nilaiRataRata = jumlahNilai / 3;
}
static void tentukanHadiah() {
if (nilaiRataRata >= 85)
hadiah = "KOMPUTER";
else if (nilaiRataRata >= 70)
hadiah = "UANG TUNAI Rp500.000,-";
else
hadiah = "HADIAH HIBURAN";
}
static void cetakOutputNilaiRataRata() {
System.out.printf("=> Nilai rata-rata = %.2f\n", nilaiRataRata);
}
static void cetakOutputHadiah() {
System.out.printf("=> Siswa \"%s\" berhak mendapatkan hadiah berupa %s.\n", namaSiswa, hadiah);
}
// MAIN METHOD
public static void main(String[] args) {
// INPUT
inputNamaSiswa();
inputNilaiPertandingan();
// PROSES
hitungRataRata();
tentukanHadiah();
// OUTPUT
System.out.println("----------------------------");
cetakOutputNilaiRataRata();
cetakOutputHadiah();
}
}
_____________
Pembahasan
Pada pertanyaan, tidak ada persyaratan bahwa harus menggunakan class khusus untuk data siswa. Oleh karena itu, kita rancang programnya secara prosedural saja, walaupun tetap harus "dibungkus" dalam sebuah class utama dan method utama (main method).
Pada program di atas, algoritma secara garis besar dapat terlihat pada main method. Pada saat merancang program tersebut, main method saya rancang terlebih dahulu, baru kemudian melengkapinya dengan implementasi masing-masing method.
Perlu diperhatikan bahwa variabel dan method pendukung dideklarasikan di luar main method. Main method bersifat "static". Maka, semua variabel dan method yang diakses di dalam main method harus bersifat "static" pula.
_____________
Contoh Hasil Eksekusi Program
- Masukkan nama siswa : Siswadi
Masukkan nilai pertandingan I : 85
Masukkan nilai pertandingan II : 83
Masukkan nilai pertandingan III : 83
----------------------------
=> Nilai rata-rata = 83.67
=> Siswa "Siswadi" berhak mendapatkan hadiah berupa UANG TUNAI Rp500.000,-.
- Masukkan nama siswa : Siswanto
Masukkan nilai pertandingan I : 75
Masukkan nilai pertandingan II : 60
Masukkan nilai pertandingan III : 55
----------------------------
=> Nilai rata-rata = 63.33
=> Siswa "Siswanto" berhak mendapatkan hadiah berupa HADIAH HIBURAN.
- Masukkan nama siswa : Siswa Juara
Masukkan nilai pertandingan I : 85
Masukkan nilai pertandingan II : 90
Masukkan nilai pertandingan III : 95
----------------------------
=> Nilai rata-rata = 90.00
=> Siswa "Siswa Juara" berhak mendapatkan hadiah berupa KOMPUTER.
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Sat, 17 Dec 22