Anda di halaman 1dari 8

import javax.swing.

JOptionPane;
public class Quiz_1 {
public static void main(String[] args) {
TiketPesawat objTiket = new TiketPesawat();

objTiket.no_ktp = JOptionPane.showInputDialog("Masukkan no KTP: ");


objTiket.nama = JOptionPane.showInputDialog("Masukkan nama: ");
objTiket.alamat = JOptionPane.showInputDialog("Masukkan alamat: ");
objTiket.hp = JOptionPane.showInputDialog("Masukkan hp: ");

String biaya = JOptionPane.showInputDialog("Masukkan biaya tiket: ");


objTiket.harga = Integer.parseInt(biaya);

String orang = JOptionPane.showInputDialog("Masukkan berapa penumpang: ");


objTiket.penumpang = Integer.parseInt(orang);

JOptionPane.showMessageDialog(null,
"Nama Booking : " + objTiket.nama +
"\nNo KTP : " + objTiket.no_ktp+
"\nNo Alamat : " + objTiket.alamat +
"\nNo HP : " + objTiket.hp +
"\nJumlah Sebelum diskon : Rp " + objTiket.sub_total() +
"\nDiskon : Rp " + objTiket.jumlah_diskon() +
"\nJumlah Setelah diskon : Rp " + objTiket.total_harga());
}
}

public class TiketPesawat {


public String no_ktp;
public String nama;
public String alamat;
public String hp;
public int harga;
public int penumpang;

public int sub_total(){


return harga*penumpang;
}

public double jumlah_diskon(){


if(penumpang < 3 && penumpang > 0){
return 0;
}
else{
return sub_total()*0.1;
}
}

public double total_harga(){


return sub_total() - jumlah_diskon();
}
}

AbsPegawai.java
package com.tentier;

public abstract class AbsPegawai {


public abstract void setId(String id);
public abstract String getId();

public abstract void setNama(String nama);


public abstract String getNama();

public abstract void setStatusKerja(String kerja);


public abstract String getStatusKerja();

public abstract void setJenisKelamin(String kelamin);


public abstract String getJenisKelamin();

public abstract void setStatusMenikah(String menikah);


public abstract String getStatusMenikah();

public abstract void setJmlAnak(int anak);


public abstract int getJmlAnak();

public abstract void setGajiPokok(int gapok);


public abstract int getGajiPokok();
}

Pegawai.java
package com.tentier;

public class Pegawai extends AbsPegawai {


private String id,nama,status_kerja,jenis_kelamin,status_menikah;
private int jml_anak,gapok;

@Override
public void setId(String id){
this.id = id;
}

@Override
public String getId(){
return id;
}

@Override
public void setNama(String nama){
this.nama = nama;
}

@Override
public String getNama(){
return nama;
}

@Override
public void setStatusKerja(String kerja){
if(kerja == "T"){
this.status_kerja = "Tetap";
} else if(kerja == "K"){
this.status_kerja = "Kontrak";
} else if(kerja == "H"){
this.status_kerja = "Harian";
} else{
this.status_kerja = "Tidak teridentifikasi";
}
}

@Override
public String getStatusKerja(){
return status_kerja;
}

@Override
public void setJenisKelamin(String kelamin){
if(kelamin == "P"){
this.jenis_kelamin = "Pria";
} else if(kelamin == "W"){
this.jenis_kelamin = "Wanita";
} else{
this.jenis_kelamin = "Tidak teridentifikasi";
}
}

@Override
public String getJenisKelamin(){
return jenis_kelamin;
}

@Override
public void setStatusMenikah(String menikah){
if(menikah == "M"){
this.status_menikah = "Menikah";
} else if(menikah == "B"){
this.status_menikah = "Belum Menikah";
} else{
this.status_menikah = "Tidak teridentifikasi";
}
}

@Override
public String getStatusMenikah(){
return status_menikah;
}

@Override
public void setJmlAnak(int anak){
this.jml_anak = anak;
}

@Override
public int getJmlAnak(){
return jml_anak;
}

@Override
public void setGajiPokok(int gapok){
this.gapok = gapok;
}

@Override
public int getGajiPokok(){
return gapok;
}
}

PegawaiKontrak.java
package com.tentier;

public class PegawaiKontrak extends Pegawai {


private int uang_prestasi;

public void setUangPrestasi(int prestasi){


this.uang_prestasi = prestasi;
}

public int getUangPrestasi(){


return uang_prestasi;
}

public float tunjangan(){


return getGajiPokok() * 10/100;
}

public float bonus(){


return getGajiPokok() * 10/100;
}

public float pph(){


return getGajiPokok() * 15/1000;
}

public float totalgaji(){


return (uang_prestasi+bonus()+tunjangan())-pph();
}
}

PegawaiTetap.java
package com.tentier;

public class PegawaiTetap extends Pegawai {


private int lama_lembur,biaya_lembur_per_jam;

public void setLamaLembur(int lembur){


this.lama_lembur = lembur;
}

public int getLamaLembur(){


return lama_lembur;
}

public void setBiayaLembur(int biayalembur){


this.biaya_lembur_per_jam = biayalembur;
}

public int getBiayaLembur(){


return biaya_lembur_per_jam;
}

public float tunjangan(){


return getGajiPokok() * 10/100;
}

public float bonus(){


return getGajiPokok() * 10/100;
}

public float uanglembur(){


return lama_lembur * biaya_lembur_per_jam;
}

public float pph(){


return getGajiPokok() * 15/1000;
}

public float thr(){


return getGajiPokok();
}

public float tun_istri(){


if(getStatusMenikah()=="Menikah" && getJenisKelamin()=="Pria"){
return getGajiPokok() * 30/100;
} else{
return 0;
}
}

public float tun_anak(){


if(getStatusMenikah()=="Menikah" && getJmlAnak()>3){
return getGajiPokok() * 3 * 20/100;
}else if(getStatusMenikah()=="Menikah" && getJmlAnak()<=3){
return getGajiPokok() * getJmlAnak() * 20/100;
}else{
return 0;
}
}

public float totalgaji(){


return (tunjangan()+bonus()+uanglembur()+thr()+tun_istri()+tun_anak()+getGajiPokok())-pph();
}
}

PegawaiHarian.java
package com.tentier;

public class PegawaiTetap extends Pegawai {


private int lama_lembur,biaya_lembur_per_jam;

public void setLamaLembur(int lembur){


this.lama_lembur = lembur;
}

public int getLamaLembur(){


return lama_lembur;
}

public void setBiayaLembur(int biayalembur){


this.biaya_lembur_per_jam = biayalembur;
}

public int getBiayaLembur(){


return biaya_lembur_per_jam;
}

public float tunjangan(){


return getGajiPokok() * 10/100;
}

public float bonus(){


return getGajiPokok() * 10/100;
}

public float uanglembur(){


return lama_lembur * biaya_lembur_per_jam;
}

public float pph(){


return getGajiPokok() * 15/1000;
}

public float thr(){


return getGajiPokok();
}

public float tun_istri(){


if(getStatusMenikah()=="Menikah" && getJenisKelamin()=="Pria"){
return getGajiPokok() * 30/100;
} else{
return 0;
}
}

public float tun_anak(){


if(getStatusMenikah()=="Menikah" && getJmlAnak()>3){
return getGajiPokok() * 3 * 20/100;
}else if(getStatusMenikah()=="Menikah" && getJmlAnak()<=3){
return getGajiPokok() * getJmlAnak() * 20/100;
}else{
return 0;
}
}

public float totalgaji(){


return (tunjangan()+bonus()+uanglembur()+thr()+tun_istri()+tun_anak()+getGajiPokok())-pph();
}
}

Main.java
package com.tentier;
import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {

OUTER:
while (true) {
String pilihan = JOptionPane.showInputDialog("Pilih Jenis Pekerja :\nT : Pegawai Tetap\nK : Pegawai Kontrak\nH : Pegawai Harian");
if (null == pilihan) {
JOptionPane.showMessageDialog(null,"Jenis Pekerja Tidak valid, Silahkan Input Ulang !!");
} else {
switch (pilihan) {
case "T":
{
PegawaiTetap objPegawai = new PegawaiTetap();
objPegawai.setId(JOptionPane.showInputDialog("Masukkan ID Pegawai : "));
objPegawai.setNama(JOptionPane.showInputDialog("Masukkan Nama Pegawai : "));
objPegawai.setStatusKerja(pilihan);
objPegawai.setJenisKelamin(JOptionPane.showInputDialog("Pilih Jenis Kelamin :\nP : Pria\nW : Wanita"));
objPegawai.setStatusMenikah(JOptionPane.showInputDialog("Masukkan Status Menikah :\nM : Menikah\nB : Belum
Menikah"));
String anak = JOptionPane.showInputDialog("Masukkan jumlah anak : ");
objPegawai.setJmlAnak(Integer.parseInt(anak));
String gaji = JOptionPane.showInputDialog("Masukkan jumlah Gaji Pokok : ");
objPegawai.setGajiPokok(Integer.parseInt(gaji));
String lamalembur = JOptionPane.showInputDialog("Masukkan lama lembur (dalam jam) : ");
objPegawai.setLamaLembur(Integer.parseInt(lamalembur));
String gajilembur = JOptionPane.showInputDialog("Masukkan gaji lembur per jam : ");
objPegawai.setBiayaLembur(Integer.parseInt(gajilembur));
JOptionPane.showMessageDialog(null,
"ID : " + objPegawai.getId() +
"\nNama Pegawai : " + objPegawai.getNama() +
"\nStatus Pegawai : " + objPegawai.getStatusKerja() +
"\nJenis Kelamin : " + objPegawai.getJenisKelamin() +
"\nStatus Menikah : " + objPegawai.getStatusMenikah() +
"\nJumlah Anak : " + objPegawai.getJmlAnak() +
"\nGaji Pokok : " + objPegawai.getGajiPokok() +
"\nUang Lembur : " + objPegawai.uanglembur() +
"\nTunjangan : " + objPegawai.tunjangan() +
"\nBonus : " + objPegawai.bonus() +
"\nTHR : " + objPegawai.thr() +
"\nPPH : " + objPegawai.pph() +
"\nTunjangan Istri : " + objPegawai.tun_istri() +
"\nTunjangan Anak : " + objPegawai.tun_anak() +
"\nTotal Gaji : " + objPegawai.totalgaji());
if (("P".equals(objPegawai.getJenisKelamin()) || "W".equals(objPegawai.getJenisKelamin())) &&
("M".equals(objPegawai.getStatusMenikah()) || "B".equals(objPegawai.getStatusMenikah()))) {
break OUTER;
} else {
JOptionPane.showMessageDialog(null,"Jenis Kelamin atau Status Menikah tidak valid\nSilahkan Coba Lagi !!");
}
break;
}
case "K":
{
PegawaiKontrak objPegawai = new PegawaiKontrak();
objPegawai.setId(JOptionPane.showInputDialog("Masukkan ID Pegawai : "));
objPegawai.setNama(JOptionPane.showInputDialog("Masukkan Nama Pegawai : "));
objPegawai.setStatusKerja(pilihan);
objPegawai.setJenisKelamin(JOptionPane.showInputDialog("Pilih Jenis Kelamin :\nP : Pria\nW : Wanita"));
objPegawai.setStatusMenikah(JOptionPane.showInputDialog("Masukkan Status Menikah :\nM : Menikah\nB : Belum
Menikah"));
String gaji = JOptionPane.showInputDialog("Masukkan jumlah Gaji Pokok : ");
objPegawai.setGajiPokok(Integer.parseInt(gaji));
String prestasi = JOptionPane.showInputDialog("Masukkan jumlah Uang Prestasi : ");
objPegawai.setUangPrestasi(Integer.parseInt(prestasi));
JOptionPane.showMessageDialog(null,
"ID : " + objPegawai.getId() +
"\nNama Pegawai : " + objPegawai.getNama() +
"\nStatus Pegawai : " + objPegawai.getStatusKerja() +
"\nJenis Kelamin : " + objPegawai.getJenisKelamin() +
"\nStatus Menikah : " + objPegawai.getStatusMenikah() +
"\nGaji Pokok : " + objPegawai.getGajiPokok() +
"\nTunjangan : " + objPegawai.tunjangan() +
"\nBonus : " + objPegawai.bonus() +
"\nUang Prestasi : " + objPegawai.getUangPrestasi() +
"\nPPH : " + objPegawai.pph() +
"\nTotal Gaji : " + objPegawai.totalgaji());
if (("P".equals(objPegawai.getJenisKelamin()) || "W".equals(objPegawai.getJenisKelamin())) &&
("M".equals(objPegawai.getStatusMenikah()) || "B".equals(objPegawai.getStatusMenikah()))) {
break OUTER;
} else {
JOptionPane.showMessageDialog(null,"Jenis Kelamin atau Status Menikah tidak valid\nSilahkan Coba Lagi !!");
}
break;
}
case "H":
{
Pegawaiharian objPegawai = new Pegawaiharian();
objPegawai.setId(JOptionPane.showInputDialog("Masukkan ID Pegawai : "));
objPegawai.setNama(JOptionPane.showInputDialog("Masukkan Nama Pegawai : "));
objPegawai.setStatusKerja(pilihan);
objPegawai.setJenisKelamin(JOptionPane.showInputDialog("Pilih Jenis Kelamin :\nP : Pria\nW : Wanita"));
objPegawai.setStatusMenikah(JOptionPane.showInputDialog("Masukkan Status Menikah :\nM : Menikah\nB : Belum
Menikah"));
String gaji = JOptionPane.showInputDialog("Masukkan jumlah Gaji Pokok : ");
objPegawai.setGajiPokok(Integer.parseInt(gaji));
String perhari = JOptionPane.showInputDialog("Masukkan jumlah Uang per Hari : ");
objPegawai.setUangPerHari(Integer.parseInt(perhari));
JOptionPane.showMessageDialog(null,
"ID : " + objPegawai.getId() +
"\nNama Pegawai : " + objPegawai.getNama() +
"\nStatus Pegawai : " + objPegawai.getStatusKerja() +
"\nJenis Kelamin : " + objPegawai.getJenisKelamin() +
"\nStatus Menikah : " + objPegawai.getStatusMenikah() +
"\nGaji Pokok : " + objPegawai.getGajiPokok() +
"\nUang per Hari : " + objPegawai.getUangPerHari() +
"\nPPH : " + objPegawai.pph() +
"\nTotal Gaji : " + objPegawai.totalgaji());
if (("P".equals(objPegawai.getJenisKelamin()) || "W".equals(objPegawai.getJenisKelamin())) &&
("M".equals(objPegawai.getStatusMenikah()) || "B".equals(objPegawai.getStatusMenikah()))) {
break OUTER;
} else {
JOptionPane.showMessageDialog(null,"Jenis Kelamin atau Status Menikah tidak valid\nSilahkan Coba Lagi !!");
}
break;
}
default:
JOptionPane.showMessageDialog(null,"Jenis Pekerja Tidak valid, Silahkan Input Ulang !!");
break;
}
}
}

Anda mungkin juga menyukai