public static void main(String[] args) { Scanner input = new Scanner(System.in); while (true) { // Input golongan karyawan dan mengubahnya menjadi huruf kapital System.out.print("Masukkan Golongan Karyawan (A/B/C) atau kosong untuk keluar: "); String golonganInput = input.nextLine().toUpperCase(); // Cek jika input kosong untuk keluar dari loop if (golonganInput.isEmpty()) { System.out.println("Program berhenti. Terima kasih!"); break; } // Pastikan input hanya satu karakter if (golonganInput.length() != 1) { System.out.println("Masukkan hanya satu karakter (A/B/C) atau kosong untuk keluar."); continue; // Melanjutkan loop untuk input selanjutnya } char golongan = golonganInput.charAt(0); // Inisialisasi gaji pokok berdasarkan golongan double gajiPokok = 0; switch (golongan) { case 'A': gajiPokok = 5000000; break; case 'B': gajiPokok = 6500000; break; case 'C': gajiPokok = 9500000; break; default: System.out.println("Golongan tidak valid."); continue; // Melanjutkan loop untuk input selanjutnya }
// Input jam lembur
System.out.print("Masukkan Jam Lembur: "); int jamLembur = input.nextInt();
// Menghitung gaji lembur berdasarkan aturan yang diberikan
double gajiLembur = 0; if (jamLembur == 1) { gajiLembur = gajiPokok * 0.30; } else if (jamLembur == 2) { gajiLembur = gajiPokok * 0.32; } else if (jamLembur == 3) { gajiLembur = gajiPokok * 0.34; } else if (jamLembur == 4) { gajiLembur = gajiPokok * 0.36; } else if (jamLembur >= 5) { gajiLembur = gajiPokok * 0.38; } // Menghitung total gaji double totalGaji = gajiPokok + gajiLembur; // Menampilkan hasil ke layar System.out.printf("Gaji Pokok: Rp %.2f%n", gajiPokok); System.out.printf("Gaji Lembur: Rp %.2f%n", gajiLembur); System.out.printf("Jumlah Penghasilan: Rp %.2f%n", totalGaji); // Membersihkan newline dari buffer input.nextLine(); } input.close(); // Optional: Menutup scanner setelah selesai } }