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
kode berwarna hitam adalah sintaks yang telah disediakan sistem
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
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(); } |
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(" "); } |
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); } } |
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); } } |
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(); } |
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
terima kasih gan
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