Program Penghitungan Gaji karyawan Menggunakan Jframe Java NETBEANS

Deskripsi.

kali ini saya akan membuat program Penghitungan Gaji Karyawan Menggunakan Jframe Java NetBeans.
dengan data :
            "A":
                gaji=2500000
                tunjangan=200000
            "B":
                gaji=2000000
                tunjangan=150000
            "C":
                gaji=1500000
                tunjangan=100000

dan Program ini bertujuan untuk memudahkan para pekerja khususnya pada bagian tertentu seperti SDM untuk membayarkan gaji pegawai.

berikut adalah gambar program aplikasi tersebut.


HASIL KALKULASI
 

PADA SAAT DISIMPAN AKAN MUNCUL TOTAL PENYIMPANAN DI SEBELAH KANAN
 

 

LALU KETIKA PENCARIAN DATA



AKAN MUNCUL DATA YANG TADI KITA SIMPAN 
 
dan aplikasi akan tertutup apabila kita tekan tombol exit dan data yg tersimpan akan otomatis terhapus.


berikut source kode aplikasi tersebut
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package listkaryawan;

import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author master
 */
public class FormKaryawan extends javax.swing.JFrame {
    ArrayList<Karyawan> daftar = new ArrayList<>();
  
    /**
     * Creates new form FormKaryawan
     */
    public FormKaryawan() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        txtNIK = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        txtNama = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        txtGolongan = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        lblGajiPokok = new javax.swing.JLabel();
        lblTunjangan = new javax.swing.JLabel();
        lblTotalGaji = new javax.swing.JLabel();
        btnKalkulasi = new javax.swing.JButton();
        btnReset = new javax.swing.JButton();
        btnExit = new javax.swing.JButton();
        btnSimpan = new javax.swing.JButton();
        btnCari = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        lblTotal = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel1.setText("NIK");

        txtNIK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtNIKActionPerformed(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel2.setText("Nama");

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel3.setText("Golongan(A,B,C)");

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel4.setText("Gaji Pokok");

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel5.setText("Tunjangan");

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel6.setText("Total Gaji");

        lblGajiPokok.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lblGajiPokok.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lblGajiPokok.setText("Gaji Pokok");

        lblTunjangan.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lblTunjangan.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lblTunjangan.setText("Tunjangan");

        lblTotalGaji.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lblTotalGaji.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lblTotalGaji.setText("Total Gaji");

        btnKalkulasi.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnKalkulasi.setText("Kalkulasi");
        btnKalkulasi.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKalkulasiActionPerformed(evt);
            }
        });

        btnReset.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnReset.setText("Reset");
        btnReset.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnResetActionPerformed(evt);
            }
        });

        btnExit.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnExit.setText("Exit");
        btnExit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnExitActionPerformed(evt);
            }
        });

        btnSimpan.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnSimpan.setText("Simpan");
        btnSimpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSimpanActionPerformed(evt);
            }
        });

        btnCari.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnCari.setText("Cari");
        btnCari.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCariActionPerformed(evt);
            }
        });

        lblTotal.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        lblTotal.setText("Total");

        jLabel7.setText("Total");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                    .addComponent(lblTotal)
                    .addComponent(jLabel7))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblTotal)
                .addContainerGap(12, Short.MAX_VALUE))
        );

        jLabel8.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel8.setText("Program List Gaji Karyawan");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(jLabel2)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5)
                            .addComponent(jLabel6))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtNIK, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblTunjangan)
                            .addComponent(lblTotalGaji)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(txtGolongan, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblGajiPokok))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel8)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btnKalkulasi)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnSimpan)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnCari)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnReset)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnExit, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addComponent(jLabel8)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 50, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(txtNIK, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel2)
                            .addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(txtGolongan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(lblGajiPokok))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel5)
                            .addComponent(lblTunjangan))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(lblTotalGaji)))
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnKalkulasi)
                    .addComponent(btnReset)
                    .addComponent(btnExit)
                    .addComponent(btnSimpan)
                    .addComponent(btnCari))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                      

    private void btnKalkulasiActionPerformed(java.awt.event.ActionEvent evt) {                                           
        Karyawan karyawan = new Karyawan();
      
        karyawan.setNik(txtNIK.getText());
        karyawan.setNama(txtNama.getText());
        karyawan.setGolongan(txtGolongan.getText());
      
        lblGajiPokok.setText(String.valueOf(karyawan.getGajiPokok()));
        lblTunjangan.setText(String.valueOf(karyawan.getTunjangan()));
        lblTotalGaji.setText(String.valueOf(karyawan.getTotalGaji()));
    }                                          

    private void btnResetActionPerformed(java.awt.event.ActionEvent evt) {                                       
        txtNIK.setText("");
        txtNama.setText("");
        txtGolongan.setText("");
        lblGajiPokok.setText("");
        lblTunjangan.setText("");
        lblTotalGaji.setText("");
    }                                      

    private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {                                      
    System.exit(0);
    }                                     

    private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Karyawan karyawan = new Karyawan();

        karyawan.setNik(txtNIK.getText());
        karyawan.setNama(txtNama.getText());
        karyawan.setGolongan(txtGolongan.getText());

        daftar.add(karyawan);
        lblTotal.setText(String.valueOf(daftar.size()));

        btnResetActionPerformed(null);
    }                                       

    private void btnCariActionPerformed(java.awt.event.ActionEvent evt) {                                      
        int index;

        index = Integer.parseInt(JOptionPane.showInputDialog("Masukkan nomor index yang akan dicari"));
        Karyawan karyawan = new Karyawan();

        karyawan = daftar.get(index - 1);

        txtNIK.setText(karyawan.getNik());
        txtNama.setText(karyawan.getNama());
        txtGolongan.setText(karyawan.getGolongan());
        lblGajiPokok.setText(String.valueOf(karyawan.getGajiPokok()));
        lblTunjangan.setText(String.valueOf(karyawan.getTunjangan()));
        lblTotalGaji.setText(String.valueOf(karyawan.getTotalGaji()));

    }                                     

    private void txtNIKActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
    }                                    
  
    // Variables declaration - do not modify                   
    private javax.swing.JButton btnCari;
    private javax.swing.JButton btnExit;
    private javax.swing.JButton btnKalkulasi;
    private javax.swing.JButton btnReset;
    private javax.swing.JButton btnSimpan;
    private javax.swing.JLabel jLabel1;
    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.JPanel jPanel1;
    private javax.swing.JLabel lblGajiPokok;
    private javax.swing.JLabel lblTotal;
    private javax.swing.JLabel lblTotalGaji;
    private javax.swing.JLabel lblTunjangan;
    private javax.swing.JTextField txtGolongan;
    private javax.swing.JTextField txtNIK;
    private javax.swing.JTextField txtNama;
    // End of variables declaration                 
}

---------------------------------------------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package listkaryawan;

/**
 *
 * @author master
 */
public class Karyawan {
    private String nik;
    private String nama;
    private String golongan;
   
    public double getGajiPokok(){
        double gaji=0;
       
        switch (getGolongan()){
            case "A":
                gaji=2500000;
                break;
            case "B":
                gaji=2000000;
                break;
            case "C":
                gaji=1500000;
                break;
        }
        return gaji;
    }
   
    public double getTunjangan(){
        double tunjangan=0;
       
        switch (getGolongan()){
            case "A":
                tunjangan=200000;
                break;
            case "B":
                tunjangan=150000;
                break;
            case "C":
                tunjangan=100000;
                break;
        }
        return tunjangan;
    }
   
    public double getTotalGaji(){
        double totalGaji;
       
        totalGaji=getGajiPokok()+getTunjangan();
        return totalGaji;
    }

    /**
     * @param nik the nik to set
     */
    public void setNik(String nik) {
        this.nik = nik;
    }

    /**
     * @param nama the nama to set
     */
    public void setNama(String nama) {
        this.nama = nama;
    }

    /**
     * @param golongan the golongan to set
     */
    public void setGolongan(String golongan) {
        this.golongan = golongan;
    }

    /**
     * @return the nik
     */
    public String getNik() {
        return nik;
    }

    /**
     * @return the nama
     */
    public String getNama() {
        return nama;
    }

    /**
     * @return the golongan
     */
    public String getGolongan() {
        return golongan;
    }
}

----------------------------------------------------------------------------------------------------------------------------
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package listkaryawan;

/**
 *
 * @author master
 */
public class ListKaryawan {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        FormKaryawan karyawan = new FormKaryawan();
        karyawan.setVisible(true);
    }
}





Demikian Informasi kami sampaikan , kami harap program ini dapat berguna
Terimakasih

Komentar

Postingan populer dari blog ini

Program Perhitungan Gaji Karyawan only java class