Anda di halaman 1dari 7

public class JFrameoop extends javax.swing.

JFrame { int gapok; int gator; int pajak; int gaber; int t_istri; int t_anak; int j_anak; String t_istri_1; String t_anak_1; String gator_1; String pajak_1; String gaber_1;

Penjelasan Script : Pada scrip diatas yaitu pada class JFrameoop di wariskan atau di turunkan dari class atasnya javax.swing.JFrame. Yang bertipe integer yaitu gaji pokok, gaji kotor, pajak, gaji bersih, tunjangan istri,tunjangan anak, jumlah anak. Sedangkan yang bertipe String yaitu tunjangan istri_1,tunjangan anak_2, gaji kotor_1,pajak_1, gaji bersih_1.

public JFrameoop() { setTitle("APLIKASI PERHITUNGAN GAJI KARYAWAN"); initComponents(); }

Penjelasan Script: Public JFrameoop yaitu mendklarasikan nama oop secara umum, set title yaitu di gunakan untuk memberi nama aplikasi program pada java yaitu ("APLIKASI PERHITUNGAN GAJI KARYAWAN");

private void gaji(){ int pilihan=cmbjabatan.getSelectedIndex(); switch(pilihan){ case 0: txtgapok.setText("7500000");

break; case 1: txtgapok.setText("5000000"); break; case 2: txtgapok.setText("3000000"); break; case 3: txtgapok.setText("2000000"); break; case 4: txtgapok.setText("1200000"); break; case 5: txtgapok.setText("750000"); break; }}

Penjelasan Script: Static void gaji adalah setiap pernyataan dalam fungsi gaji akan dieksekusi satu persatu secara berurut sampai dengan akhir fungsi dicapai.Int pilihan bernilai digunakan pada combobox jabatan. Switch di gunakan untuk mengevaluasi banyak pilihan yang harus di eksekusi berdasarkan ekspresi dan nilainya, pada pilihan 0 teks gaji pokok akan manampilkan teks 7500000 berhenti,jika memilih 1 teks gaji pokok akan menampilkan teks 500000 berhenti. Dan seterusnya sampai pilihan ke 5.

private void kawin (){ txtistri.setEnabled(true); txtanak.setEnabled(true); txtjumlah.setEnabled(true); gapok=Integer.parseInt(txtgapok.getText()); t_istri=(20*gapok)/100; t_istri_1=String.valueOf(t_istri); txtistri.setText(t_istri_1); }

Static void kawin adalah setiap pernyataan dalam fungsi kawin akan dieksekusi satu persatu secara berurut sampai dengan akhir fungsi dicapai. Kode diatas adalah kode apabila sudah menikah. Pada kode program diatas dideklarasikan bahwa apabila statusnya adalah kawin maka pada t_istri/tunjangan istri nilainya sebesar 20% dari gaji pokok.

private void tidakkawin(){ t_istri=0; t_anak=0; j_anak=0; txtistri.setText("0"); txtanak.setText("0"); txtjumlah.setText("0"); txtistri.setEnabled(false); txtanak.setEnabled(false); txtjumlah.setEnabled(false);

Pada

kode

program

txtistri.setEnabled(false);,

txtanak.set

Enabled(false);,

txtjumlah.setEnabled(false); berarti semua textfield dikunci saat form dubuka/dipanggil dari main.java Static void tidakkawin adalah setiap pernyataan dalam fungsi tidakkawin akan dieksekusi satu persatu secara berurut sampai dengan akhir fungsi dicapai. Pada kode program diatas untuk status belum menikah. Pada kode diatas dideklarasikan apabila belum menikah maka t_anak/tunjangan anak, t_istri/tunjangan istri, j_anak/jumlah anak adalah 0, txtistri dan txtanak memiliki tipe string bernilai 0.

private void total(){ gapok=Integer.parseInt(txtgapok.getText()); if(txtjumlah.getText()!=""||txtjumlah.getText()!="0"){ j_anak=Integer.parseInt(txtjumlah.getText()); if(j_anak>2){ t_anak=((15*gapok)/100)*j_anak; } else{ t_anak=0; } t_anak_1=String.valueOf(t_anak); txtanak.setText(t_anak_1); } if(opsi1.isSelected()==true){ gator=gapok+t_anak+t_istri; }else{ gator=gapok; } pajak=(gator*10)/100; gaber=gator-pajak; gator_1=String.valueOf(gator); pajak_1=String.valueOf(pajak); gaber_1=String.valueOf(gaber); txtgator.setText(gator_1); }

Static void total adalah setiap pernyataan dalam fungsi total akan dieksekusi satu persatu secara berurut sampai dengan akhir fungsi dicapai. Pada kode diatas dideklarasikan untuk menghitung gaji total. Apabila statusnya sudah menikah dan jumlah anaknya lebih dari 2 maka t_anak/tunjangan untuk anak adalah sebesar 15% dari gaji pokok dikalikan jumlah anak, selain itu t_anak/tunjangan anak sebesar 0. Jika pada pilihan pertama (menikah dipilih) maka besarnya gaji kotor merupakan hasil dari perhitungan dari gaji pokok ditambah tunjangan anak, dan tunjangan istri. Selain itu (yang dipilih adalah opsi dua yaitu belum menikah maka besarnya gaji kotor sama dengan gaji pokok. Untuk besarnya pajak dihitung dengan perhitungan gaji kotor dikalikan dengan 0.1%. besarnya gaji bersih sama dengan gaji kotor dikurangi dengan pajak.

private void bersih(){ gapok=0; gator=0; pajak=0; gaber=0;

t_istri=0; t_anak=0; j_anak=0; txtgapok.setText("0"); txtistri.setText("0"); txtjumlah.setText("0"); txtanak.setText("0"); txtgator.setText("0"); txtpajak.setText("0"); txtgaber.setText("0"); }

Static void total adalah setiap pernyataan dalam fungsi total akan dieksekusi satu persatu secara berurut sampai dengan akhir fungsi dicapai. Semua variable pada kode diatas diset stringnya

private void opsi2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tidakkawin(); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: tidakkawin(); }

Penjelasan Script : Membaca class saat program dieksekusi, variable yang dituju adalah tidakkawin.

private void cmbjabatanItemStateChanged(java.awt.event.ItemEvent evt) { // TODO add your handling code here: bersih(); gaji(); if(opsi1.isSelected()==true){ kawin(); }else{ tidakkawin();} }

Penjelasan Script : Saat cmbjbatan memilih salah satu item, maka variable gaji dan bersih akan diset. Kemudian proses dilanjutkan pada status yang pilihannya kawin dan tidak kawin.

private void opsi1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: kawin(); }

Penjelasan Script : Jika dipilih pilihan pertama maka yang akan diproses adalah variable kawin.

private void cmdbersihMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here: bersih(); }

Penjelasan Script : Jika tombol bersih diklik, maka semua textfield akan dihapus isi datanya.

private void cmdhitungMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: total(); }

Penjelasan Script : Jika tombol hitung diklik, maka variable total akan dikeluarkan.

public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new JFrameoop().setVisible(true); } }); }

Penjelasan Script : Kode program diatas merupakan command arguments pada program

private javax.swing.ButtonGroup buttonGroup1; private javax.swing.JComboBox cmbjabatan; private javax.swing.JButton cmdbersih; private javax.swing.JButton cmdhitung; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JRadioButton opsi1; private javax.swing.JRadioButton opsi2; private javax.swing.JTextField txtanak; private javax.swing.JTextField txtgaber; private javax.swing.JTextField txtgapok; private javax.swing.JTextField txtgator; private javax.swing.JTextField txtistri; private javax.swing.JTextField txtjumlah;

private javax.swing.JTextField txtnama; private javax.swing.JTextField txtnip; private javax.swing.JTextField txtpajak;

Penjelasan Script : Pada kode diatas mendeklarasikan variabel =============================================================================

Inputan data antara lain: Nama Karyawan, NIK, Golongan, Jumlah Anak Gaji Pokok untuk golongan 1 adalah 1000000, golongan 2 adalah 1500000 dan golongan 3 adalah 2000000 Tunjangan akan diberikan kepada golongan 1 sebesar 200000, golongan 2 sebesar 150000 dan untuk golongan 3 adalah 100000 dengan syarat jumlah anak tidak lebih dari 3. Menggunakan statement JoptionPane

Hasilnya sebagai berikut:

Lalu bagaimana script programnya? Berikut silakan dianalisa sendiri: import javax.swing.*; public class gaji_karyawan{ public static void main(String[]args){ int gapok=0,tunjangan=0,total_gaji; String nama=JOptionPane.showInputDialog("Masukkan nama"); String NIK=JOptionPane.showInputDialog("Masukkan NIK"); String golongan=JOptionPane.showInputDialog("Masukkan Golongan (1/2/3)"); int a=Integer.parseInt(golongan); String jumlah_anak=JOptionPane.showInputDialog("Masukkan Jumlah Anak"); int b=Integer.parseInt(jumlah_anak); if(a==1) {gapok=1000000; if(b<3) {tunjangan=200000;} else {tunjangan=0;} } else if(a==2) {gapok=1500000; if(b<3) {tunjangan=150000;} else {tunjangan=0;} } else if(a==3) {gapok=2000000; if(b<3) {tunjangan=100000;} else {tunjangan=0;} } total_gaji=tunjangan+gapok; JOptionPane.showMessageDialog(null,"Nama:"+nama+"\nNIK:"+NIK+"\nGolongan:"+a+"\nJumlah Anak:"+b+"\nGaji Pokok:"+gapok+"\nTunjangan:"+tunjangan+"\nTotal Gaji:"+total_gaji); } }

Anda mungkin juga menyukai