Tuesday 14 June 2016

Aplikasi Penggajian Karyawan - CRUD (Create, Reset, Update, Delete) - NetBeans

Aplikasi Penggajian Karyawan - CRUD (Create, Reset, Update, Delete) - Sebelum memulai membuat aplikasi penggajian karyawan ini, pastikan anda telah membaca tutorial sebelumnya, yaitu :

Menampilkan Data di Database MySQL pada JTable Netbeans


Setelah anda membaca dan membuat program untuk menampilkan data di database, proses selanjutnya adalah mendesain ulang Form_Gaji pada project App_Database seperti berikut :
Desain Form_Gaji
Sesuaikan nilai dari komponen control pada Form_Gaji dengan tabel berikut :
Komponen Properties Values Code Values
Frame Title Form Penggajian Karyawan - -
jLabel1 Text Data Gaji Karyawan - -
jLabel2 Text NIP - -
jLabel3 Text Nama - -
jLabel4 Text Jabatan - -
jLabel5 Text Gaji Pokok - -
jLabel6 Text Transport - -
jLabel7 Text Gaji Bersih - -
jTextField1 Text - Variable Name txtNip
jTextField2 Text - Variable Name txtNama
jTextField3 Text - Variable Name txtGapok
jTextField4 Text - Variable Name txtTransport
jTextField5 Text - Variable Name txtGaber
jComboBox1 Model Manager
Asisten Manager
Kepala HRD
Staf Keuangan
Karyawan
Office Boy
Variable Name cmboxJabatan
jButton1 Text
Icon
horizontolTextPosition
verticalTextPosition
Keluar
Pilih lokasi icon
Center
Bottom
Variable Name btnKeluar
jButton2 Text
Icon
horizontolTextPosition
verticalTextPosition
Delete
Pilih lokasi icon
Center
Bottom
Variable Name btnDelete
jButton3 Text
Icon
horizontolTextPosition
verticalTextPosition
Update
Pilih lokasi icon
Center
Bottom
Variable Name btnUpdate
jButton3 Text
Icon
horizontolTextPosition
verticalTextPosition
Reset
Pilih lokasi icon
Center
Bottom
Variable Name btnReset
jButton4 Text
Icon
horizontolTextPosition
verticalTextPosition
Save
Pilih lokasi icon
Center
Bottom
Variable Name btnSave
jTable1 - - Variable Name tblGaji
Note :
untuk icon pada button anda bisa mendownload nya di google images, icon yang bagus adalah dengan format .png

    Membuat Variable Baru

    Note:
    kode berwarna hitam adalah sintaks yang  telah disediakan sistem
      kode berwarna hijau adalah sintaks yang telah diketik di tutorial sebelumnya
        kode berwarna merah adalah kode yang harus anda ketik  
          Selanjutnya buatlah beberapa variable baru untuk menampung nilai sementara dari Nip, Nama, Jabatan, Gaji Pokok, Transport dan Gaji Bersih, masukkan variable tersebut pada class utama yaitu class Form_Gaji seperti kode program berikut :
          public final class Form_Gaji {
                private DefaultTableModel model;
                String nip, nama, jabatan;
                int gapok, transport, gaber;

          Memberi Nilai Pada Variable

          Buatlah class baru dengan nama loadData(), fungsi class ini adalah untuk memberi nilai pada variable yang telah dibuat. Berikut kode program class loadData( ) :
           
          public void loadData() {
                nip = txtNip.getText();
                nama = txtNama.getText();
                jabatan = (String) cmboxJabatan.getSelectedItem();

          Setelah class loadData() selesai dibuat, selanjutnya buat class baru dengan nama loadGaji(), fungsi class ini adalah untuk menentukan besaran gaji pokok, transport dan gaji bersih. Berikut kode program pada class loadGaji():

          public void loadGaji( ) {
               jabatan = " "+ cmboxJabatan.getSelectedItem();
               switch(jabatan){
                       case "Manager":
                              gapok    = 5000000;
                       break;
                       case "Asisten Manager":
                              gapok    = 4500000;
                       break;
                       case "Kepala HRD":
                              gapok    = 4000000;
                       break;
                       case "Staf Keuangan":
                              gapok    = 3500000;
                       break;
                       case "Karyawan":
                              gapok    = 3000000;
                       break;
                       case "Office Boy":
                              gapok    = 2500000;
                       break;
                }
                transport = (int) (gapok * 0.1);
                gaber      = gapok + transport;
                txtGapok.setText(""+gapok);
                txtTransport.setText(""+transport);
                txtGaber.setText(""+gaber);
          }             


          Membuat Class Save

          Pada tahap ini merupakan tahap pembuatan class saveData(), fungsi class ini adalah untuk menyimpan data berdasarkan input dari user, berikut kode program pada class saveData()
           
          public void saveData(){
                loadData();
                try{
                     Statement stat = (Statement) Db_Connection.getKoneksi().createStatement();
                     String sql        = "Insert into gaji (Nip, Nama, Jabatan, Gapok, Transport, Gaber)"
                                                + "values ('"+ nip +"','"+ nama +"','"+ jabatan +"','"+ gapok +"',"
                                                + " '"+ transport +"', '"+ gaber +"')";
                    PreparedStatement p = (PreparedStatement) Db_Connection.getKoneksi().preparedStatement(sql);
                    p.executeUpdate();
                    getData();
                 }catch (SQLException err){
                    JOptionPane.showMessageDialog(null, err.getMessage());
                 }
          }

          Memanggil Class loadGaji

          Selanjutnya adalah pemanggilan class loadGaji() saat jabatan pada cmboxJabatan dipilih, berikut kode program pada cmboxJabatan:
          private void cmboxJabatanActionPerformed(java.awt.event.ActionEvent evt{
                loadGaji();
          }

          Memanggil Class saveData() pada Button Save

          private void btnSaveActionPerformed(java.awt.event.ActionEvent evt{
                saveData();
          }
          Jalankan program dengan menekan tombol pada keyboard Shift + F6, lakukan uji coba input data pada aplikasi.

          Membuat Tombol Reset 

          Buatlah sebuah class Reset(), fungsi class ini adalah untuk mengkosongkan nilai pada variable – variable yang ada. Berikut kode program pada class Reset() :
          public void Reset( ){
              nip           = " ";
              nama       = " ";
              jabatan    = " ";
              gapok     = 0;
              transport = 0;
              gaber      = 0;
              txtNip.setText(nip);
              txtNama.setText(nama);
              txtGapok.setText(" ");
              txtTransport.setText(" ");
              txtGaber.setText(" ");
          }
          Lakukan pemanggilan class Reset() saat tombol Reset di klik, berikut kode program pada tombol Reset
          private void btnResetActionPerformed(java.awt.event.ActionEvent evt{
              Reset();
          }

          Menampilkan record terpilih dari Table

          Dalam proses updatedan delete data harus dilakukanpenentuan data yang akan diubah atau dihapus, agar proses tersebut dapat dilakukan, maka buatlah class baru yang berfungsi untuk memanggil data yang dipilih oleh user dari tblGaji. Berikut kode program pada class tersebut :
           
          public void dataSelect(){
                int i = tblGaji.getSelectRow();
                if (i == -1){
                    //tidak ada data terpilih
                    return;
                }
                txtNip.setText(""+model.getValueAt(i, 0));
                txtNama.setText(""+model.getValueAt(i, 1));
                txtJabatan.setSelectedItem(""+model.getValueAt(i, 2));
                txtGapok.setText(""+model.getValueAt(i, 3));
                 txtTransport.setText(""+model.getValueAt(i, 4));
                txtGaber.setText(""+model.getValueAt(i, 5)); 
          }
          Selanjutnya klik kanan pada tblGaji pada bagian Design kemudian pilih Events – Mouse – mouseClicked, kemudian lakukan pemanggilan class dataSelect() pada events tersebut.
          private void tblGajiMouseClicked(java.awt.event.MouseEvent evt{
                dataSelect();
          }
          Kemudian jalankan program dan lakukan pemilihan data pada tabel tblGaji, jika berhasil maka data yang dipilih akan tampil pada komponen – komponen yang disediahkan.

          Membuat Button Update

          Setelah proses SelectRow berhasil, maka selanjutnya adalah proses update data. Buatlah class baru dengan nama updateData(), masukan kode program berikut : 

          public void updateData(){
                 /* memanggil class loadData() untuk menentukan kondisi atau variable nip
                     yang akan diubah, berdasarkan yang dipilih
                 */
                 loadData();
                 try{
                      Statement stat = (Statement) Db_Connection.getConection().createStatement();
                      String sql        = "UPDATE gaji SET Nama       = '"+ nama +"',"
                                                                        + "Jabatan      = '"+ jabatan +"',"
                                                                        + "Gapok       = '"+ gapok +"',"
                                                                        + "Transport   = '"+ transport +"',"
                                                                        + "Gaber        = '"+ gaber +"',"
                                                 + "WHERE Nip = '"+ nip +"' ";
                 PreparedStatement p = (PreparedStatement) Db_Connection.getConection().preparedStatement(sql);
                 p.executeUpdate();

                 getData();
                 Reset();
                 JOptionPane.showMessageDialog(null, "Update berhasil....");
               }catch(SQLException err){
                      JOptionPane.showMessageDialog(null, err.getMessage);
               }
          }
          Kemudian klik kanan pada tombol Update pilih Events – Action – actionPerformed, kemudian lakukan pemanggilan pada events tersebut:
          private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt){
                 updateData( );
          }

          Membuat Button Delete


          Selanjutnya adalah proses delete data. Buatlah class baru dengan nama deleteData(), masukan kode program berikut  :
          public void deleteData(){
               loadData();
               //pesan konfirmasi untuk menghapus data
               int pesan = JOptionPane.showConfirmDialog(null, "Anda yakin menghapus data"+ nip "+"?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION);
               //jika user mengklik tombol OK maka proses delete dilakukan
               if (pesan = JOptionPane.OK_OPTION){
                   try{
                         Statement stat = (Statement) Db_Connection.getConection().createStatement();
                         String sql = "DELETE FROM gaji WHERE Nip = '"+ nip +"' ";
                   PreparedStatement p = (PreparedStatement) Db_Connection.getConection().preparedStatement(sql);
                   p.executeUpdate();
                   getData();
                   Reset();
                   JOptionPane.showMessageDialog(null, "Delete berhasil");
                   }catch(SQLException err){
                          JOptionPane.showMessageDialog(null, err.getMessage);
                   }
          }
          Kemudian klik kanan pada tombol Delete pilih Events – Action – actionPerformed, kemudian lakukan pemanggilan pada events tersebut :
          private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt){
               deleteData();
          }

          Membuat Button Keluar

          Klik kanan pada tombol Keluar pilih Events – Action – actionPerformed, kemudian lakukan pemanggilan pada events tersebut.
          private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt){
          this.dispose();
          }
          Proses pembuatan aplikasi penggajian karyawan telah selesai, silahkan jalankan program tersebut dan coba untuk menggunkan perintah - perintah yang telah dibuat.
          Jika tutorial ini bermanfaat 
          kami menerima donasi sebagai penyemangat dalam menulis artikel
          Bank Syariah Indonesia (BSI)
          An. Siswan Syahputra
          No. Rek. 1041890734
          Jika tutorial ini bermanfaat silahkan share... terima kasih...

          2 komentar

          Silahkan kunjungi dan koment ke mari jga gan... Langgengrestuonoskom.blogspot.com
          Dan ke freedownloadmovie-byrestu.blogspot.com
          Pada tanggal 17 Jun 2016 08.58, "Disqus" menulis:
          "terima kasih gan"

          [image: Disqus] Settings

          A new comment was posted on Belajar Koding ------------------------------ *siswan90*
          terima kasih gan

          9:58 p.m., Thursday June 16 | Other comments by siswan90
          * Reply to siswan90 *

          siswan90’s comment is in reply to *Langgeng Restuono S Kom* :

          Mantap gan...
          sangat membantu...
          lanjutkan gan,,,

          Read more ------------------------------

          You're receiving this message because you're signed up to receive notifications about replies to langgengrestuonoskom.

          You can unsubscribe from emails about replies to langgengrestuonoskom by replying to this email with "unsubscribe" or reduce the rate with which these emails are sent by adjusting your notification settings .
          [image: Disqus]


          EmoticonEmoticon