Materi switch-case
Buatlah sebuah program Java menggunakan switch-case yang melakukan hal berikut:
Program meminta pengguna memasukkan nilai ujian dalam bentuk angka (0-100).
Berdasarkan nilai ujian tersebut, program akan menentukan dan menampilkan grade sesuai dengan kriteria berikut:
o Nilai 90-100: Grade A o Nilai 80-89: Grade B o Nilai 70-79: Grade C o Nilai 60-69: Grade D o Nilai < 60: Grade E
Setelah menampilkan grade, program juga akan memunculkan komentar:
o Grade A: "Luar biasa, terus pertahankan!"
o Grade B: "Bagus, namun masih bisa lebih baik."
o Grade C: "Cukup, tapi perlu meningkatkan pemahaman."
o Grade D: "Perlu usaha lebih keras."
o Grade E: "Tidak lulus, lakukan evaluasi menyeluruh."
Bonus Kesulitan: Jika pengguna memasukkan nilai yang tidak valid (kurang dari 0 atau lebih dari 100), program akan menampilkan pesan kesalahan dan meminta pengguna untuk mengulangi input hingga nilai yang valid dimasukkan.
Contoh Kerangka Program import java.util.Scanner;
public class GradeSwitchCase {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int nilai;
// Loop untuk memastikan input valid do {
System.out.print("Masukkan nilai ujian (0-100): ");
nilai = scanner.nextInt();
if (nilai < 0 || nilai > 100) {
System.out.println("Nilai tidak valid. Harap masukkan nilai antara 0 dan 100.");
}
} while (nilai < 0 || nilai > 100);
// Menggunakan switch-case untuk menentukan grade switch (nilai / 10) {
case 10: // Untuk nilai 100 case 9:
System.out.println("Grade: A");
System.out.println("Luar biasa, terus pertahankan!");
break;
case 8:
System.out.println("Grade: B");
System.out.println("Bagus, namun masih bisa lebih baik.");
break;
case 7:
System.out.println("Grade: C");
System.out.println("Cukup, tapi perlu meningkatkan pemahaman.");
break;
case 6:
System.out.println("Grade: D");
System.out.println("Perlu usaha lebih keras.");
break;
default:
System.out.println("Grade: E");
System.out.println("Tidak lulus, lakukan evaluasi menyeluruh.");
} } }
Penjelasan Tantangan:
Penggunaan Switch-case dengan Perhitungan: Pada contoh ini, variabel nilai dibagi 10 untuk menghasilkan angka puluhan (misalnya, jika nilai 85 maka hasilnya adalah 8). Ini memungkinkan untuk menangani rentang nilai menggunakan satu kasus case untuk setiap rentang 10 nilai.
Validasi Input: Program memiliki mekanisme looping untuk memastikan pengguna memasukkan nilai yang valid (antara 0 dan 100). Jika tidak, program akan meminta input ulang hingga valid.
Kompleksitas Tambahan: Menangani input tidak valid serta memberikan umpan balik yang spesifik berdasarkan grade membuat tantangan ini lebih sulit dan mencakup lebih banyak skenario nyata.
Pengembangan Lebih Lanjut
Mahasiswa bisa diminta untuk mengembangkan fitur tambahan seperti:
o Menyimpan semua nilai yang dimasukkan dan menghitung rata-rata setelah beberapa nilai diberikan.
o Membuat program yang dapat menerima nilai dari beberapa siswa dan menentukan grade mereka masing-masing secara otomatis.
Tantangan ini akan menguji pemahaman mahasiswa tentang kontrol alur, validasi input, serta pemanfaatan struktur switch-case yang lebih dinamis.