Aplikasi Penggajian Karyawan - CRUD (Create, Reset, Update, Delete) - Sebelum memulai membuat aplikasi penggajian karyawan ini, pastikan anda telah membaca tutorial sebelumnya, yaitu :
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...