Anda di halaman 1dari 10

Praktikum Program Penggajian Kayawan

TUGAS INDIVIDU : Membuat Aplikasi Penggajian Karyawan Dengan Netbeans, Mysql.


KELAS : XI RPL

Gambaran Project :

1. Membuat Database Dengan Nama “ Gaji_Karyawan”dan buat table dengan nama “tabelgaji”

Nama Jenis panjang

NIP int 10

Nama Varchar 50

Jabatan VARCHAR 20

Gapok Int 10

Transport Int 10

Gaber Int 10
2. Memulai Membuat Project Java
Proses selanjutnya adalah membuat project baru dengan nama aplikasi_penggajian.
ingat Pada bagian create main class jangan dicentang!
Karena yang perlu pertama kali dilakukan untuk menghubungkan data di mysql dengan aplikasi
netbeans, akan membuat package baru di project dengan nama koneksi.

3. Buat class dengan nama dbkoneksi di package koneksi tadi untuk menampung kode koneksi yang
akan dibuat. masukan code class dbkoneksi dibawah ini !
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package koneksi;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import static sun.rmi.transport.TransportConstants.Return;

/**
*
* @author ASUS
*/
public class Db_koneksi {
private static Connection conn;
public static Connection getKoneksi() {
String host = "jdbc:mysql://localhost/karyawan",
user = "root",
pass = "";
try{
conn = (Connection) DriverManager.getConnection(host,user,pass);
}catch(SQLException err) {
JOptionPane.showMessageDialog(null, err.getMessage());
}
return conn;
}
}

4. Buat aplikasi seperti di gambar dibawah ini!

Jangan lupa untuk mengganti variabel nya


Keterangan

NO variabel
1 txtnip
2 txtnama
3 CmBoxJabatan
4 txtgapok
5 txttrans
6 txtgaber
7 btnSave
8 btnReset
9 btnUpdate
10 btnClear
11 btnKeluar
12 tblgaji
5. Selanjutnya masukan code dibawah ini !
Pertama import class yang diperlukan, taruh di bawah package karyawan;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

import koneksi.Db_koneksi;

6. Masukan kode berikut pada bawah bagian deklarasi class

public class Form_Gaji extends javax.swing.JFrame {


//membuat clas DefaultTableModel
private DefaultTableModel model;
String nip, nama, jabatan;
int gapok, transport,gaber;
7. Kemudian masukan juga code di bawah ini dengan posisi dibawah code public Form_Gaji() {

model = new DefaultTableModel();


tblgaji.setModel(model);
model.addColumn("NIP");
model.addColumn("Nama");
model.addColumn("Jabatan");
model.addColumn("Gaji Pokok");
model.addColumn("Transport");
model.addColumn("Gaji Bersih");
getData();
8. Buat class baru langsung pada frame formpenggajian ini (class berada di dalam frame
formpenggajian). Dengan memasukan code dibawah ini di paling bawah!

private void getData() {


model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try {
Statement stat = (Statement) Db_koneksi.getKoneksi().createStatement();

String sql=

"Select * from tabelgaji where 1";

ResultSet res = stat.executeQuery(sql);

while(res.next()){

Object[] obj =

new Object[6];

obj[0] =

res.getString("NIP");

obj[1] =

res.getString("Nama");

obj[2] =

res.getString("Jabatan");

obj[3] =

res.getString("Gapok");

obj[4] =

res.getString("Transport");

obj[5] =

res.getString("Gaber");

model.addRow(obj);

catch(SQLException err)
{

JOptionPane.showMessageDialog(null, err.getMessage()); //To change body

of generated methods, choose Tools | Templates.

9. Buat class baru lagi dan letakan dipaling bawah seperti code di atas!

public void loadData(){


nip = txtnip.getText();
nama = (String) txtnama.getText();
jabatan = (String) CmBoxJabatan.getSelectedItem();
gapok = Integer.parseInt(txtgapok.getText());
transport = Integer.parseInt(txttrans.getText());
gaber = Integer.parseInt(txtgaber.getText());
}

10. Buat class untuk menampung code yang berfungsi untuk combo box pada CmBoxJabatan.
Masukan code berikut ini!

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);
txttrans.setText(""+transport);
txtgaber.setText(""+gaber);
}

11. Selanjutnya panggil class pada combobox jabatan dengan cara klik
kanan>event>actions>actionsperfomed.

LoadGaji();

12. Kemudian, membuat fungsi class save berikut codenya!


public void saveData() {
LoadGaji();
try{
Statement stat = (Statement) Db_koneksi.getKoneksi().createStatement();
String sql = "insert into `tabelgaji` (NIP,Nama,Jabatan,Gapok,Transport,Gaber)" + "values
(?,?,'"+ jabatan +"','"+ gapok +"','"+ transport +"','"+ gaber +"')";
PreparedStatement p = (PreparedStatement) Db_koneksi.getKoneksi().prepareStatement(sql);
p.setString(1, txtnip.getText().trim());
p.setString(2, txtnama.getText().trim());
p.executeUpdate();
getData();
}catch(SQLException err){
JOptionPane.showMessageDialog(null, err.getMessage());
}
}

13. Panggil pada button save dengan cara klik kanan>event>actions>actionsperfomed.


saveData();
14. Selanjutnya membuat juga class reset.
private void Reset() {
nip = "";
nama = "";
jabatan = "";
gapok = 0;
transport = 0;
gaber = 0;
txtnip.setText(nip);
txtnama.setText(nama);
txtgapok.setText("");
txttrans.setText("");
txtgaber.setText("");
//To change body of generated methods, choose Tools | Templates.
}
/**
*
*/

15. Panggil pada button reset dengan cara klik kanan>event>actions>actionsperfomed.

Reset()
16. Sebelum membuat update data, diharuskan sistem bisa mengambil data dari tabel ke textfield. Maka
buat fungsinya dahulu, masukan codenya sebagai berikut!

private void PilihData() {


int i = tblgaji.getSelectedRow();
if (i == -1) {
return;
}
txtnip.setText(""+model.getValueAt(i, 0));
txtnama.setText(""+model.getValueAt(i, 1));
CmBoxJabatan.setSelectedItem(""+model.getValueAt(i,2));
txtgapok.setText(""+model.getValueAt(i,3));
txttrans.setText(""+model.getValueAt(i,4));
txtgaber.setText(""+model.getValueAt(i,5));

}
17. Panggil pada button reset dengan cara klik kanan>event>mouse>mousecliced.

PilihData()

18. Selanjutnya membuat updatenya codenya sebagai berikut:

public void UpdateData() {


//manggil load menentukan kondisi atau variabel
loadData();
try {
Statement stat = (Statement) Db_koneksi.getKoneksi().createStatement();
String sql = "UPDATE tabelgaji SET Nama = '"+ nama +"',"
+ "Jabatan = '"+ jabatan +"',"
+ "Gapok = '"+ gapok +"',"
+ "Transport = '"+ transport +"',"
+ "Gaber = '"+ gaber +"' WHERE NIP = '"+ nip +"'";
PreparedStatement p = (PreparedStatement)
Db_koneksi.getKoneksi().prepareStatement(sql);
p.executeUpdate();
getData();
Reset();
JOptionPane.showMessageDialog(null, "update berhasil");
} catch(SQLException err) { JOptionPane.showMessageDialog(null, err.getMessage());
}}

19. Panggil pada button update dengan cara klik kanan>event>actions>actionsperfomed.

UpdateData()

20. Selanjutnya membuat fungsi delete data, codenya sebagai berikut!

public void hapusData() {


loadData();
//menampilkan pesan konfirmasi OK dan Cancel sebelum dulakukan proses delete
int pesan = JOptionPane.showConfirmDialog(null, "anda yakin ingin menghapus data"+ nip
+"?","konfirmasi",
JOptionPane.OK_CANCEL_OPTION);
//jika user memilih OK maka Delete akan dilakukan
if (pesan == JOptionPane.OK_OPTION){
try{
Statement stat = (Statement) Db_koneksi.getKoneksi().createStatement();
String sql = "DELETE FROM tabelgaji WHERE NIP = '"+ nip +"'";
PreparedStatement p = (PreparedStatement)
Db_koneksi.getKoneksi().prepareStatement (sql);
p.executeUpdate();

getData();
Reset();
JOptionPane.showMessageDialog(null, "Delete berhasil");
}
catch(SQLException err) { JOptionPane.showMessageDialog(null, err.getMessage());
}
}}

21. Panggil pada button delete dengan cara klik kanan>event>actions>actionsperfomed.


hapusData()

22. Membuat code keluar pada button keluar dengan cara klik
kanan>event>actions>actionsperfomed. Masukan code berikut!

this.dispose();

NB : Buat folder pada Document dengan nama “ TUGAS_PROGRAM_GAJI_NAMA


ANDA_KELAS” dan Back Up Project juga databasenya pada folder tersebut, kemudian jadikan
winrar folder tersebut dan kirim ke email “ kurniawansmk1@gmail.com “ paling lambat pukul 15.30
Wib. ( Pengiriman Project Lewat Waktu Yang Ditentukan Tidak Diterima!! )

TTD
KURNIAWAN, S.Kom

Anda mungkin juga menyukai