Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------
- Nama file: Karyawan.java
- --------------------------
- public class Karyawan {
- public String nik, nama, golongan;
- public int bulan;
- // constructor
- Karyawan(String nik, String nama, String golongan, int bulan){
- this.nik = nik;
- this.nama = nama;
- this.golongan = golongan;
- this.bulan = bulan;
- }
- }
- --------------------------
- Nama file: KaryawanTetap.java
- --------------------------
- public class KaryawanTetap extends Karyawan{
- KaryawanTetap(String nik, String nama, String golongan, int bulan) {
- super(nik, nama, golongan, bulan);
- }
- public void infoPinjam(){
- int pinjaman = 0;
- if(this.golongan.equalsIgnoreCase("A")){
- pinjaman = 100000000;
- }else if(this.golongan.equalsIgnoreCase("B")){
- pinjaman = 75000000;
- }else if(this.golongan.equalsIgnoreCase("C")){
- pinjaman = 50000000;
- }
- double bunga = (double) pinjaman * 0.025;
- int jumlah = (pinjaman - (int)bunga);
- int perbulan = pinjaman / bulan;
- System.out.println("--- INFO PEMINJAM ---");
- System.out.println("NIK : \t\t"+ this.nik);
- System.out.println("Nama : \t\t"+ this.nama);
- System.out.println();
- System.out.println("--- DETIL PINJAMAN ---");
- System.out.println(String.format("Pinjaman: \tRp.%,2d", pinjaman));
- System.out.println(String.format("Bunga: \t\tRp.%,2d", (int)bunga));
- System.out.println("-----------------------------");
- System.out.println(String.format("Jumlah: \tRp.%,2d", jumlah));
- System.out.println("=============================");
- System.out.println(String.format("Bulanan: \tRp.%,2d", perbulan));
- System.out.println(String.format("Selama: \t%d bulan", bulan));
- }
- }
- --------------------------
- Nama file: KaryawanHonorer.java
- --------------------------
- public class KaryawanHonorer extends Karyawan{
- KaryawanHonorer(String nik, String nama, String golongan, int bulan) {
- super(nik, nama, golongan, bulan);
- }
- public void infoPinjam(){
- int pinjaman = 0;
- if(this.golongan.equalsIgnoreCase("A")){
- pinjaman = 30000000;
- }else if(this.golongan.equalsIgnoreCase("B")){
- pinjaman = 20000000;
- }else if(this.golongan.equalsIgnoreCase("C")){
- pinjaman = 10000000;
- }
- double bunga = (double) pinjaman * 0.025;
- int jumlah = (pinjaman - (int)bunga);
- int perbulan = pinjaman / bulan;
- System.out.println("--- INFO PEMINJAM ---");
- System.out.println("NIK : \t\t"+ this.nik);
- System.out.println("Nama : \t\t"+ this.nama);
- System.out.println();
- System.out.println("--- DETIL PINJAMAN ---");
- System.out.println(String.format("Pinjaman: \tRp.%,2d", pinjaman));
- System.out.println(String.format("Bunga: \t\tRp.%,2d", (int)bunga));
- System.out.println("-----------------------------");
- System.out.println(String.format("Jumlah: \tRp.%,2d", jumlah));
- System.out.println("=============================");
- System.out.println(String.format("Bulanan: \tRp.%,2d ", perbulan));
- System.out.println(String.format("Selama: \t%d bulan", bulan));
- }
- }
- --------------------------
- Nama file: Main.java
- --------------------------
- import java.util.Scanner;
- public class Main {
- static Scanner sc = new Scanner(System.in);
- static int pilih = 0;
- public static void main(String[] args) {
- do {
- boolean valid = false;
- mainMenu();
- // memastikan user harus input integer
- while (!valid) {
- System.out.print("[ Ketik 1/2/3 ]: ");
- if (sc.hasNextInt()) {
- pilih = sc.nextInt();
- if(pilih > 3){
- System.out.println("[ Menu salah!, Coba lagi. ]");
- valid = false;
- }else{
- valid = true;
- }
- } else {
- System.out.println("[ Coba lagi! ]");
- sc.next();
- valid = false;
- }
- }
- // pilih 1 = karyawan tetap
- // pilih 2 = karyawan honorer
- mainInputKaryawan(pilih);
- } while (pilih != 3);
- }
- private static void mainInputKaryawan(int tipe) {
- String nik, nama, golongan;
- int bulan;
- sc.nextLine();
- System.out.print("NIK: ");
- nik = sc.nextLine();
- System.out.print("Nama: ");
- nama = sc.nextLine();
- //menu golongan
- System.out.print("Golongan [ A/B/C ]: ");
- golongan = sc.nextLine();
- System.out.print("Lama pinjaman (bln): ");
- bulan = sc.nextInt();
- if(tipe == 1){ // karyawan tetap
- KaryawanTetap k = new KaryawanTetap(nik, nama, golongan, bulan);
- k.infoPinjam();
- }else if(tipe == 2){ // karyawan honorer
- KaryawanHonorer k = new KaryawanHonorer(nik, nama, golongan, bulan);
- k.infoPinjam();
- }
- System.out.print("[ Tekan apapun untuk lanjut ]");
- sc.nextLine();
- sc.nextLine();
- }
- private static void mainMenu() {
- System.out.println("-----------------------");
- System.out.println("1. Karyawan Tetap");
- System.out.println("2. Karyawan Honorer");
- System.out.println("3. Keluar");
- System.out.println("-----------------------");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment