Bagosep

Gaji Perusahaan in Java

Oct 15th, 2017
107
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * @(#)Perusahaan.java
  3.  *
  4.  * Perusahaan application
  5.  *
  6.  * @author
  7.  * @version 1.00 2017/10/12
  8.  */
  9.  
  10. /*
  11. Class Main
  12. */
  13.  
  14. import java.util.Scanner;
  15.  
  16. public class Perusahaan {
  17.    
  18.     public static void main(String[] args) {
  19.         PekerjaTetap tetap = new PekerjaTetap();
  20.         PekerjaKontrak kontrak = new PekerjaKontrak();
  21.         Manager manager = new Manager();  
  22.         Scanner cetak = new Scanner(System.in);
  23.         String status;
  24.         char ulang;
  25.        
  26.         do{
  27.            
  28.             System.out.print("\n\nMasukan Status anda (tetap/kontrak/manager) = ");
  29.             status = cetak.next();
  30.             if (status.compareTo("tetap")==0){
  31.                 tetap.pekerjaTetap();
  32.             }
  33.             else if (status.compareTo("kontrak")==0){
  34.                 kontrak.pekerjaKontrak();
  35.             }
  36.             else if(status.compareTo("manager")==0){
  37.                 manager.Manager();
  38.             }
  39.         System.out.print("Apakah anda ingin mengulang = (y/t)");
  40.         ulang = cetak.next().charAt(0);
  41.         }while(ulang == 'y');
  42.              
  43.  
  44.     }
  45. }
  46.  
  47.  
  48. /*
  49. Class Pekerja
  50. */
  51.  
  52. import java.io.*;
  53. import java.util.Scanner;
  54. import java.text.DecimalFormat;
  55. import java.text.DecimalFormatSymbols;
  56.  
  57.  
  58. class PekerjaTetap {
  59.     public float gajiPekerjaTetap = 5000000;
  60.     double potongan = 0.1;
  61.     double gajiManager = 10000000;
  62.     double gajiKontrak = 150000;
  63.     int jumlahAnak, bulan, absen;
  64.     double anak1 = 750000, anak2 = 1250000;
  65.     double totalKontrak, jamKerja;
  66.     double tunjangan, total;
  67.    
  68.     public void pekerjaTetap(){
  69.         Scanner cetak = new Scanner(System.in);
  70.         KonversiRupiah konversi = new KonversiRupiah();
  71.         System.out.print("Anda Absen berapa kali dalam 1 bulan = ");
  72.         absen = cetak.nextInt();
  73.        
  74.         System.out.print("Anda Mempunyai berapa anak = ");
  75.         jumlahAnak = cetak.nextInt();
  76.         if (jumlahAnak > 0 && jumlahAnak <= 1){
  77.             tunjangan += anak1;
  78.         }
  79.         else if(jumlahAnak >= 2){
  80.             tunjangan += anak2;
  81.         }
  82.        
  83.         if(absen >= 3){
  84.             total = (gajiPekerjaTetap + tunjangan ) - potongan;
  85.         }
  86.         else if(absen < 3 && absen >= 0){
  87.             total = gajiPekerjaTetap + tunjangan;
  88.         }
  89.        
  90.         konversi.konversiRupiah(total);
  91.        
  92.     }
  93.  
  94. }
  95.  
  96. class PekerjaKontrak extends PekerjaTetap{
  97.     PekerjaTetap kontrak = new PekerjaTetap();
  98.     KonversiRupiah konversi = new KonversiRupiah();
  99.    
  100.     public void pekerjaKontrak(){
  101.         Scanner cetak = new Scanner(System.in);
  102.    
  103.         System.out.print("Anda kerja berapa jam perhari = ");
  104.         kontrak.jamKerja = cetak.nextFloat();
  105.        
  106.         kontrak.totalKontrak = kontrak.jamKerja * 150000;
  107.         kontrak.totalKontrak *= 20;
  108.        
  109.         konversi.konversiRupiah(kontrak.totalKontrak);
  110.     }
  111.        
  112. }
  113.  
  114. class Manager extends PekerjaTetap{
  115.     PekerjaTetap manager = new PekerjaTetap();
  116.    
  117.     public void Manager(){
  118.         Scanner cetak = new Scanner(System.in);
  119.         KonversiRupiah konversi = new KonversiRupiah();
  120.         System.out.print("Anda Absen berapa kali dalam 1 bulan = ");
  121.         manager.absen = cetak.nextInt();
  122.        
  123.         System.out.print("Anda Mempunyai berapa anak = ");
  124.         manager.jumlahAnak = cetak.nextInt();
  125.         if (manager.jumlahAnak > 0 && manager.jumlahAnak <= 1){
  126.             manager.tunjangan += manager.anak1;
  127.         }
  128.         else if(manager.jumlahAnak >= 2){
  129.             manager.tunjangan += manager.anak2;
  130.         }
  131.        
  132.         if(manager.absen >= 3){
  133.             manager.total = (manager.gajiManager + manager.tunjangan ) - manager.potongan;
  134.         }
  135.         else if(manager.absen < 3 && manager.absen >= 0){
  136.             System.out.print(manager.tunjangan);
  137.             manager.total = manager.gajiManager + manager.tunjangan;
  138.         }
  139.        
  140.         konversi.konversiRupiah(manager.total);
  141.     }
  142. }
  143.  
  144.  
  145. class KonversiRupiah {
  146.    
  147.     double konversiRupiah(double harga){
  148.    
  149.         DecimalFormat kursIndonesia = (DecimalFormat) DecimalFormat.getCurrencyInstance();
  150.         DecimalFormatSymbols formatRp = new DecimalFormatSymbols();
  151.  
  152.         formatRp.setCurrencySymbol("Rp. ");
  153.         formatRp.setMonetaryDecimalSeparator(',');
  154.         formatRp.setGroupingSeparator('.');
  155.  
  156.         kursIndonesia.setDecimalFormatSymbols(formatRp);
  157.         System.out.printf("Total Gaji nya adalah : %s %n", kursIndonesia.format(harga));
  158.        
  159.         return harga;
  160.     }
  161. }
RAW Paste Data