Disetujui Oleh,
Wakil Direktur I Bidang Akademik
i
KATA PENGANTAR
Segala puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa
atas segala berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan
Laporan Kuliah Kerja Industri (KKI) ini tepat pada waktunya.
ii
DAFTAR ISI
BAB I PENDAHULUAN
iii
2.4.1 Melakukan Login ........................................................................ 8
3.6 formGaji.java............................................................................... 27
iv
DAFTAR GAMBAR
Gambar 2.2 : Actifity Diagram Menghitung Gaji ........ Error! Bookmark not
defined.
Gambar 2.5 : Tampilan Form Add Karyawan ............ Error! Bookmark not
defined.
Gambar 2.6 : Tampilan Form Search Karyawan ....... Error! Bookmark not
defined.
Gambar 2.7 : Form Gaji Pegawai ............... Error! Bookmark not defined.
Gambar 2.8 : Form Rekapitulasi Gaji ......... Error! Bookmark not defined.
Gambar 2.9 : Contoh Slip Gaji Karyawan ... Error! Bookmark not defined.
Gambar 2.11 : Form Update System Gaji ... Error! Bookmark not defined.
v
DAFTAR TABLE
Table 2.2 : Petunjuk Menu Home ............... Error! Bookmark not defined.
Table 2.3 : Petunjuk Input Data Karyawan .. Error! Bookmark not defined.
Table 2.4 : Petunjuk Update dan Hapus data Karyawan . Error! Bookmark
not defined.
Table 2.5 : Petunjuk Pengitungan Gaji bulanan ........ Error! Bookmark not
defined.
Table 2.6 : Petunjuk Update Gaji Karyawan ............. Error! Bookmark not
defined.
Table 2.7 : Petunjuk Rekapitulasi Gaji Karyawan ..... Error! Bookmark not
defined.
vi
vii
BAB I
PENDAHULUAN
1
Pada Kampus LP3i Cilodong, sistem penggajiannya masih sederhana
yaitu untuk pengolahan datanya menggunakan Microsoft Excel dengan
menginputkan satu persatu data pada tiap kolom dan barisnya,
sehingga membuat proses pengerjaan harus dilakukan secara
berulang-ulang, pada saat ini jumlah pegawai pada Kampus LP3i
Cilodong lebih dari 25 pegawai.
2
2. Admin dapat memilih menu yang akan di akses yaitu ada
menu Add karyawan, Search karyawan, Gaji karyawan
Update gaji dan Rekapitulasi gaji
3. Untuk menu Add karyawan admin dapat menambahkan , dan
menentukan gaji karyawan
4. Untuk menu update data karyawan admin dapat memilih
menu search karyawan
5. Untuk penghitungan gaji bulanan dan cetak slip gaji, admin
dapat masuk ke menu gaji pegawai
6. Untuk update gaji admin dapat masuk ke menu update gaji
7. Dan untuk rekapitulasi pengeluaran gaji karyawan admin
dapat masuk pada menu bar file
3
1.5 Batasan Masalah
4
1. Bab I Pendahuluan
Pada bab ini berisikan pengertian dari Aplication Project serta tujuan
pengambilan judul atau tema tersebut dan materi penunjang dari
pembuatan Aplication Project tersebut. ( Judulnya tentang portofolio
Organisasi / Perusahaan yang diriset )
4. Bab IV Penutup
5
BAB II
6
2.2 Aktifity Diagram
7
2.3 Panduan Menggunakan Aplikasi
No Tampilan Keterangan
1 Masukan ussername
2 Masukan password
3 Pilih devisi
8
2.4.2 Pilihan Menu Home
No Tampilan Keterangan
1 Menu untuk Menambahkan data
karayawan
2 Menu untuk Mencari data
karyawan
3 Menu untuk Penghitungan gaji
bulanan karyawan
4 Menu untuk Update data
karyawan
5 Menu untuk keluar sistem
9
2.4.3 Melakukan Input Data Karyawan
No Tampilan Keterangan
1 Input sesuai nama fied yang
dibutuhkan
2 Opsi untuk memilih sesuai data
diri karyawan
3 Klik untuk memilih foto karyawan
dengan max-size
(1024 mb)
3 Klik Untuk menambahkan data
karyawan (setelah mengisi semua
input/pilihan yang ada)
4 Klik untuk menghapus text yang
sudah dimasukan
5 Klik untuk kembali ke menu home
10
2.4.4 Melakukan Pencarian Data Karyawan
No Tampilan Keterangan
1 Klik untuk update data karyawan
11
2.4.5 Melakukan Penghitugan Gaji Bulanan
12
No Tampilan Keterangan
1 Klik untuk menghitung gaji
13
No Tampilan Keterangan
1 Cari berdasarkan nama/nim
karyawan yang akan di ubah
2 Klik untuk merubah gaji
14
2.4.7 Tampilan Slip Gaji
15
BAB III
3.1 Koneksi.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.JOptionPane;
try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db.gaji"
,"root","");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
return conn;
3.2 formLogin.java
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
16
public formLogin() {
initComponents();
conn = koneksi.getConnection();
Toolkit toolkit = getToolkit();
Dimension size = toolkit.getScreenSize();
setLocation(size.width/2 - getWidth()/2,
size.height/2 - getHeight()/2);
tanggalSekarang();
}
public void tanggalSekarang(){
Calendar cl = new GregorianCalendar();
int bulan = cl.get(Calendar.MONTH);
int tahun = cl.get(Calendar.YEAR);
int hari = cl.get(Calendar.DAY_OF_MONTH);
lbl_date.setText(hari+"/"+(bulan+1)+"/"+tahun);
int detik = cl.get(Calendar.SECOND);
int menit = cl.get(Calendar.MINUTE);
int jam = cl.get(Calendar.HOUR);
lbl_time.setText(jam+":"+(menit)+":"+detik);
}
private void btn_loginActionPerformed(java.awt.event.ActionEvent evt) {
String name = txt_username.getText();
String pas = txt_pasword.getText();
String divisi = cmb_divisi.getSelectedItem().toString();
if(name.equals("")||pas.equals("")||divisi.equals("Select")){
JOptionPane.showMessageDialog(rootPane,"Tidak boleh kosong bro","Eror",1);
}else{
try{
pst = conn.prepareStatement("select * from login where ussername=? and
password=?");
pst.setString(1,name);
pst.setString(2,pas);
rs = pst.executeQuery();
if(rs.next()){
String div = rs.getString("division");
String us = rs.getString("ussername");
if(divisi.equalsIgnoreCase("Admin")&& div.equalsIgnoreCase("Admin")){
JOptionPane.showMessageDialog(null, "Succes sebagi Admin..!");
new formAdmin().setVisible(true);
this.dispose();
}
if(divisi.equalsIgnoreCase("Manajer")&& div.equalsIgnoreCase("Manajer")){
JOptionPane.showMessageDialog(null, "Succes sebagai Manajer..!");
new formAdmin().setVisible(true);
this.dispose();
}
}else{
JOptionPane.showMessageDialog(rootPane,"Ussername and Pasword salah
Boos","Eror",1);
}
}catch(Exception ex){
17
System.out.println("eror bro"+ex);
}
}
}
private void btn_cancelActionPerformed(java.awt.event.ActionEvent
evt) {
txt_username.setText(null);
txt_pasword.setText(null);
}
private void
btn_exitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
Table 3.2 : Script form.Login.java
3.3 formAdmin.java
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JOptionPane;
public class formAdmin extends javax.swing.JFrame {
public formAdmin() {
initComponents();
waktuSekarang();
}
public void waktuSekarang(){
Timer waktu = new Timer();
waktu.scheduleAtFixedRate(new TimerTask(){
@Override
public void run(){
lbl_times.setText(new SimpleDateFormat("dd-MM-yyyy " + "
hh:mm:ss").format(new java.util.Date()));
}
},0,1000);
}
private void btn_exitActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You Want to Exit..?"," Exit
System.!",JOptionPane.YES_NO_OPTION);
if(x==0){
System.exit(0);
JOptionPane.showMessageDialog(null,"Exit System");
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
new formPenggajin().setVisible(true);
this.dispose();
}
18
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
new formAddPegawai().setVisible(true);
this.dispose();
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
new formPegawai().setVisible(true);
this.dispose();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new formUpdateGaji().setVisible(true);
this.dispose();
}
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
new formUpdateSistemGaji().setVisible(true);
this.dispose();
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
new formDaftarGaji().setVisible(true);
this.dispose();
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
new formUpdateGaji2().setVisible(true);
this.dispose();
}
3.4 formPegawai.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
import java.awt.*;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
public class formPegawai extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formPegawai() {
initComponents();
19
conn = koneksi.getConnection();
tanggalSekarang();
combo();
}
private void combo(){
try {
String sql = "select * from combo";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
cmb_pendidikan.addItem(rs.getString("pendidikan"));
cmb_divisi.addItem(rs.getString("divisi"));
cmb_agama.addItem(rs.getString("agama"));
}
} catch (Exception e) {
}
}
public void tanggalSekarang(){
Timer waktu = new Timer();
waktu.scheduleAtFixedRate(new TimerTask(){
@Override
public void run(){
lbl_time.setText(new SimpleDateFormat("dd-MM-yyyy " + "
hh:mm:ss").format(new java.util.Date()));
}
},0,1000);
}
private void btn_newActionPerformed(java.awt.event.ActionEvent evt) {
//Clear
txt_search.setText("");
txt_nik.setText("");
txt_name.setText("");
cmb_agama.setAction(null);
txt_tanggal.setDate(null);
txt_alamat.setText("");
txt_hp.setText("");
txt_email.setText("");
txt_tglmasuk.setDate(null);
txt_bank.setText("");
txt_norek.setText("");
txt_rekname.setText("");
txt_status.setText("");
txt_anak.setText("");
txt_jabatan.setText("");
txt_gaji.setText("");
img.setIcon(format);
}
20
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
new formAdmin().setVisible(true);
this.dispose();
}
private void r_priaActionPerformed(java.awt.event.ActionEvent evt) {
kelamin = "Pria";
r_pria.setSelected(true);
r_wanita.setSelected(false);
}
private void r_wanitaActionPerformed(java.awt.event.ActionEvent evt) {
kelamin = "Wanita";
r_wanita.setSelected(true);
r_pria.setSelected(false);
}
private void btn_imgActionPerformed(java.awt.event.ActionEvent evt) {
//insert gambar
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
ImageIcon imageIcon = new ImageIcon (new
ImageIcon(filename).getImage().getScaledInstance(img.getWidth(), img.getHeight(),
Image.SCALE_DEFAULT));
img.setIcon(imageIcon);
try{
File image = new File(filename);
FileInputStream fix = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for(int number; (number = fix.read(buf))!= -1;){
bos.write(buf,0,number);
}
person_image = bos.toByteArray();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
private void txt_searchKeyReleased(java.awt.event.KeyEvent evt) {
// Pencarian
try{
String src = txt_search.getText().toString();
String sql ="SELECT * FROM karyawan INNER JOIN gaji ON gaji.nik=karyawan.nik
WHERE karyawan.nama='"+src+"' OR karyawan.nik='"+src+"' ";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
21
while(rs.next())
{
txt_nik.setText(rs.getString("nik"));
txt_name.setText(rs.getString("nama"));
txt_tanggal.setDate(rs.getDate("tanggal_lahir"));
cmb_agama.setSelectedItem(rs.getString("agama"));
txt_alamat.setText(rs.getString("alamat"));
txt_hp.setText(rs.getString("nomor_telepon"));
txt_email.setText(rs.getString("email"));
cmb_divisi.setSelectedItem(rs.getString("divisi"));
cmb_pendidikan.setSelectedItem(rs.getString("pendidikan_terahir"));
txt_tglmasuk.setDate(rs.getDate("tanggal_masuk"));
txt_bank.setText(rs.getString("nama_bank"));
txt_rekname.setText(rs.getString("rekening_atas_nama"));
txt_norek.setText(rs.getString("nomor_rekening"));
//
txt_status.setText(rs.getString("status_keluarga"));
txt_anak.setText(rs.getString("jumlah_anak"));
txt_jabatan.setText(rs.getString("jabatan"));
txt_gaji.setText(rs.getString("gaji_pokok"));
22
private void btn_updateActionPerformed(java.awt.event.ActionEvent evt) {
String upd13 = txt_nik.getText();
int x = JOptionPane.showConfirmDialog(null,"Are You Want Update Record..?","
Update Record.!",JOptionPane.YES_NO_OPTION);
if(x==0){
//tgl
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl = String.valueOf(fm.format(txt_tanggal.getDate()));
String tglMasuk = String.valueOf(fm.format(txt_tglmasuk.getDate()));
try{
String upd = txt_name.getText();
String upd1 = tgl;
Object upd2 = cmb_agama.getSelectedItem();
String upd3 = txt_alamat.getText();
String upd4 = txt_hp.getText();
String upd5 = txt_email.getText();
Object upd6 = cmb_divisi.getSelectedItem();
Object upd7 = cmb_pendidikan.getSelectedItem();
String upd8= tglMasuk;
String upd9 = txt_bank.getText();
String upd10 = txt_norek.getText();
String upd11 = txt_rekname.getText();
//String upd12 = txt_status.getText();
23
pst.close();
}catch(Exception e){
}finally{
try{
rs.close();
pst.close();
}catch(Exception e){
}
}
}
}
private void btn_deleteActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You Want Delete Record..?","
Deleted Record.!",JOptionPane.YES_NO_OPTION);
if(x==0){
try{
String sql = "delete from karyawan where nik=? ";
pst=conn.prepareStatement(sql);
pst.setString(1, txt_nik.getText());
pst.execute();
rs.close();
pst.close();
//
String sq = "delete from gaji where nik =? ";
pst=conn.prepareStatement(sq);
pst.setString(1, txt_nik.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Delete Succes..??");
new formAdmin().setVisible(true);
this.dispose();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}finally{
try{
rs.close();
pst.close();
}catch(Exception e){}
}
}
}
private ImageIcon format = null;
private String filename = null;
byte[] person_image = null;
private String kelamin;
24
3.5 formAddPegawai.java
import java.awt.*;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.*;
public class formAddPegawai extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formAddPegawai() {
initComponents();
conn = koneksi.getConnection();
tanggalSekarang();
combo();
}
public void tanggalSekarang(){
Calendar cl = new GregorianCalendar();
int bulan = cl.get(Calendar.MONTH);
int tahun = cl.get(Calendar.YEAR);
int hari = cl.get(Calendar.DAY_OF_MONTH);
lbl_date.setText(hari+"/"+(bulan+1)+"/"+tahun);
int detik = cl.get(Calendar.SECOND);
int menit = cl.get(Calendar.MINUTE);
int jam = cl.get(Calendar.HOUR);
lbl_time.setText(jam+":"+(menit)+":"+detik);
}
private void combo(){
try {
String sql = "select * from combo";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
cmb_pendidikan.addItem(rs.getString("pendidikan"));
cmb_divisi.addItem(rs.getString("divisi"));
}
} catch (Exception e) {
}
}
private void btn_newActionPerformed(java.awt.event.ActionEvent
evt) {
//Clear
txt_nik.setText("");
txt_name.setText("");
cmb_agama.setAction(null);
txt_alamat.setText("");
txt_hp.setText("");
txt_email.setText("");
cmb_pendidikan.setAction(null);
txt_bank.setText("");
txt_norek.setText("");
txt_rekname.setText("");
img.setIcon(format);
}
25
private void btn_tambahActionPerformed(java.awt.event.ActionEvent
evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You Want
Add Record..?"," Add Record.!",JOptionPane.YES_NO_OPTION);
if(x==0){
String agama = cmb_agama.getSelectedItem().toString();
String pendidikan =
cmb_pendidikan.getSelectedItem().toString();
String golongan =
cmb_divisi.getSelectedItem().toString();
//tgl
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl =
String.valueOf(fm.format(txt_date.getDate()));
String tgl_masuk =
String.valueOf(fm.format(txt_tanggal_masuk.getDate()));
try{
String sql ="insert into karyawan "
+ "(nik,nama,tanggal_lahir,jenis_kelamin, "
+ "agama,alamat,nomor_telepon,divisi, "
+ "pendidikan_terahir,tanggal_masuk,nama_bank,nomor_rekening, "
+ "rekening_atas_nama,image,email) values
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
pst = conn.prepareStatement(sql);
pst.setString(1,txt_nik.getText());
pst.setString(2,txt_name.getText());
pst.setString(3,tgl);
pst.setString(4,kelamin);
pst.setString(5,agama);
pst.setString(6,txt_alamat.getText());
pst.setString(7,txt_hp.getText());
pst.setString(8,golongan);
pst.setString(9,pendidikan);
pst.setString(10,tgl_masuk);
pst.setString(11,txt_bank.getText());
pst.setString(12,txt_norek.getText());
pst.setString(13,txt_rekname.getText());
pst.setBytes(14, person_image);
pst.setString(15,txt_email.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Data succase disimpan");
new formGaji().setVisible(true);
this.dispose();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
} finally{
try{
rs.close();
pst.close();
}catch(Exception ex){
}
}
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent
evt) {
new formAdmin().setVisible(true);
this.dispose();
}
26
private void r_priaActionPerformed(java.awt.event.ActionEvent
evt) {
kelamin = "Pria";
r_pria.setSelected(true);
r_wanita.setSelected(false);
}
private void r_wanitaActionPerformed(java.awt.event.ActionEvent
evt) {
kelamin = "Wanita";
r_wanita.setSelected(true);
r_pria.setSelected(false);
}
private void btn_imgActionPerformed(java.awt.event.ActionEvent
evt) {
//insert gambar
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
ImageIcon imageIcon = new ImageIcon (new
ImageIcon(filename).getImage().getScaledInstance(img.getWidth(),
img.getHeight(), Image.SCALE_DEFAULT));
img.setIcon(imageIcon);
try{
File image = new File(filename);
FileInputStream fix = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for(int number; (number = fix.read(buf))!= -1;){
bos.write(buf,0,number);
}
person_image = bos.toByteArray();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
private ImageIcon format = null;
private String filename = null;
byte[] person_image = null;
//*
private String kelamin;
3.6 formGaji.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
public class formGaji extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formGaji() {
initComponents();
conn = koneksi.getConnection();
tampil();
status();
27
tunjanganKeluarga();
combo();
}
private void tampil(){
try{
String sql ="SELECT * FROM karyawan WHERE id IN (SELECT MAX(id)
FROM karyawan)";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next())
{
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_divisi.setText(rs.getString("divisi"));
txt_date.setDate(rs.getDate("tanggal_masuk"));
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
finally{
try{
rs.close();
pst.close();
}catch(Exception e){}
}
}
private void tunjanganKeluarga(){
int x = Integer.parseInt(txt_anak.getText());
int y = Integer.parseInt(txt_gaji.getText());
int t = y / 100 * x;
int ta = y /100 * 3;
String hasil = String.valueOf(t);
String hasilAhir = String.valueOf(ta);
if(x==1){txt_tkeluarga.setText(hasil);
}else if(x==2){txt_tkeluarga.setText(hasil);
}else{txt_tkeluarga.setText(hasilAhir);
}
}
private void status(){
try{
if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}
}catch(Exception e){
}
}
private void combo(){
try {
String sq = "select * from combo";
pst = conn.prepareStatement(sq);
rs = pst.executeQuery();
while(rs.next()){
//cmb_jabatan.addItem(rs.getString("jabatan"));
//cmb_golongan.addItem(rs.getString("golongan"));
}
} catch (Exception e) {
}
}
28
private void jabatanStaf(){
try {
String sql = "select * from jabatan where id_jabatan=1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){txt_tjabatan.setText(rs.getString("tunjangan_j
abatan"));
}
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKor(){
try {String sql = "select * from jabatan where id_jabatan=2";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKepBidang(){
try {
String sql = "select * from jabatan where id_jabatan=3";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKepkam(){
try {
String sql = "select * from jabatan where
id_jabatan=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
29
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan1(){
try {
String sql = "select * from system_gaji where id=1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
xt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"
));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan2(){
try {
String sql = "select * from system_gaji where id=2";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan3(){
try {
String sql = "select * from system_gaji where id=3";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
30
private void golongan4(){
try {
String sql = "select * from system_gaji where id=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) {
new formAdmin().setVisible(true);
new formAddPegawai().setVisible(false);
this.dispose();
}
private void txt_searchKeyReleased(java.awt.event.KeyEvent evt)
{
try{
String sql ="select * from karyawan where nama=?";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_search.getText());
rs=pst.executeQuery();
while(rs.next())
{
txt_date.setDate(rs.getDate("tanggal_masuk"));
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_divisi.setText(rs.getString("divisi"));
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
finally{
try{
rs.close();
pst.close();
}catch(Exception e){}
}
}
private void r_singleActionPerformed(java.awt.event.ActionEvent
evt) {
status = "Single";
r_single.setSelected(true);
r_menikah.setSelected(false);
txt_anak.setEnabled(false);
txt_anak.setText("0");
txt_tkeluarga.setEnabled(false);
txt_tkeluarga.setText("0");
}
private void
r_menikahActionPerformed(java.awt.event.ActionEvent evt) {
status = "Menikah" ;
r_menikah.setSelected(true);
r_single.setSelected(false);
31
txt_anak.setEnabled(true);
txt_tkeluarga.setEnabled(true);
}
private void
cmb_golonganActionPerformed(java.awt.event.ActionEvent evt) {
try{
if(cmb_golongan.getSelectedItem()=="GOLONGAN 1"){
golongan1();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 2"){
golongan2();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 3"){
golongan3();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 4"){
golongan4();
}else{
txt_gaji.setText(rs.getString("0"));
txt_tmakan.setText(rs.getString("0"));
txt_ttransport.setText(rs.getString("0"));
txt_lembur.setText(rs.getString("0"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void txt_anakKeyReleased(java.awt.event.KeyEvent evt) {
tunjanganKeluarga();
}
private btn_clearActionPerformed(java.awt.event. evt) {
txt_search.setText("");
txt_nik.setText("");
txt_nama.setText("");
cmb_jabatan.setAction(null);
txt_divisi.setText("");
txt_tjabatan.setText("0");
txt_tkeluarga.setText("0");
txt_anak.setText("0");
txt_tmakan.setText("0");
txt_ttransport.setText("0");
txt_gaji.setText("0");
txt_lembur.setText("0");
r_single.setSelected(false);
r_menikah.setSelected(false);
}
private void btn_saveActionPerformed(java.awt.event.ActionEvent
evt) {
//tgl
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String date =
String.valueOf(fm.format(txt_date.getDate()));
//golongan
String golongan = cmb_golongan.getSelectedItem().toString();
String jabatan = cmb_jabatan.getSelectedItem().toString();
try{
String sql = "insert into gaji"
+"(nik,date,nama,golongan,jabatan,"
+"gaji_pokok,status_keluarga,jumlah_anak,tunjangan_jabatan,tunj
angan_keluarga,"
+"tunjangan_makan,tunjangan_transport,biaya_lembur,tunjangan_fu
ngsional
32
) value (?,?,?,?,?,?,?,?,?,?,?,?,?,?) " ;
pst=conn.prepareStatement(sql);
pst.setString(1,txt_nik.getText());
pst.setString(2,date);
pst.setString(3,txt_nama.getText());
pst.setString(4,golongan);
pst.setString(5,jabatan);
pst.setString(6,txt_gaji.getText());
pst.setString(7,status);
pst.setString(8,txt_anak.getText());
pst.setString(9,txt_tjabatan.getText());
pst.setString(10,txt_tkeluarga.getText());
pst.setString(11,txt_tmakan.getText());
pst.setString(12,txt_ttransport.getText());
pst.setString(13,txt_lembur.getText());
pst.setString(14,txt_tfungsional.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"data succase disimpan");
new formAdmin().setVisible(true);
this.dispose();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
} finally{
try{
rs.close();
pst.close();
}catch(Exception ex){
}
}
}
private cmb_jabatanActionPerformed(java.awt.event. evt) {
try {
if (cmb_jabatan.getSelectedItem()=="STAF") {
jabatanStaf();
}else if (cmb_jabatan.getSelectedItem()=="KOORDINATOR") {
jabatanKor();
}else if (cmb_jabatan.getSelectedItem()=="KEP.BIDANG") {
jabatanKepBidang();
}else if (cmb_jabatan.getSelectedItem()=="KEP.KAMPUS") {
jabatanKepkam();
}else if (cmb_jabatan.getSelectedItem()=="WAKIL KEP.KAMPUS") {
jabatanKepkam();
}
} catch (Exception e) {
}
}
private String status;
3.7 formDaftarGaji.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.MessageFormat;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import net.proteanit.sql.DbUtils;
public class formDaftarGaji extends javax.swing.JFrame {
Connection conn = null;
33
PreparedStatement pst = null;
ResultSet rs = null;
public formDaftarGaji() {
initComponents();
conn = koneksi.getConnection();
UpdateTabelGaji();
}
public void UpdateTabelGaji(){try {
String sql = "SELECT
nik,date,nama,gaji_pokok,tunjangan_jabatan,"
+"tunjangan_keluarga,tunjangan_makan,tunjangan_transport,tunjan
gan_lain,upah_lembur,"
+"bonus,total_potongan,total_gaji_kotor,total_gaji_bersih FROM
penggajian";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
tabel_gaji.setModel(DbUtils.resultSetToTableModel(rs));
tabel_total.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
}
finally{
try {
rs.close();
pst.close();
} catch (Exception e) {
}
}
}
public void pilihGaji(){
Object bln = cmb_bulan.getSelectedItem();
Object thn = cmb_tahun.getSelectedItem();
try {
String sql = "SELECT
nik,date,nama,gaji_pokok,tunjangan_jabatan,"
+"tunjangan_keluarga,tunjangan_makan,tunjangan_transport,tunjan
gan_lain,upah_lembur,"
+ "bonus,total_potongan,total_gaji_kotor,total_gaji_bersih FROM
penggajian WHERE MONTHNAME(date) ='"+bln+"' and YEAR(date) =
'"+thn+"' ";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
tabel_gaji.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
public void totalGaji(){
Object bln = cmb_bulan.getSelectedItem();
Object thn = cmb_tahun.getSelectedItem();
try {
String sql = "SELECT
SUM(gaji_pokok),SUM(tunjangan_jabatan),
SUM(tunjangan_keluarga),SUM(tunjangan_makan),"
+
"SUM(tunjangan_transport),SUM(tunjangan_lain),SUM(upah_lembur),
SUM(bonus),"
+
"SUM(total_potongan),SUM(total_gaji_kotor),SUM(total_gaji_bersi
h) FROM penggajian WHERE MONTHNAME(date) ='"+bln+"' and
YEAR(date) = '"+thn+"' ";
34
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
tabel_total.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void btn_exitActionPerformed(java.awt.event.ActionEvent
evt) {
new formAdmin().setVisible(true);
this.dispose();
}
private btn_refresActionPerformed(java.awt.event.ActionEvent
evt) {
UpdateTabelGaji();
}
private void btn_cariActionPerformed(java.awt.event.ActionEvent
evt) {
pilihGaji();
totalGaji();
}
private void
btn_printActionPerformed(java.awt.event.ActionEvent evt) {
MessageFormat header = new MessageFormat("Laporan Gaji
LP3i Cilodong");
MessageFormat footer = new MessageFormat("Page");
try {
tabel_gaji.print(JTable.PrintMode.FIT_WIDTH,header,footer);
tabel_total.print(JTable.PrintMode.FIT_WIDTH,header,footer);
} catch (Exception e) {
}
}
3.8 formPenggajian.java
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.print.PrinterException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import java.text.NumberFormat;
public class formPenggajin extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formPenggajin() {
initComponents();
conn = koneksi.getConnection();
35
Toolkit toolkit = getToolkit();
Dimension size = toolkit.getScreenSize();
setLocation(size.width/2 - getWidth()/2,
size.height/2 - getHeight()/2);
panel3.setVisible(false);
panel5.setVisible(false);
status();
tampil();
waktuSekarang();
}
private void panelOn(){
panel3.setVisible(true);
}
private void clear(){
txt_bonus.setText("0");
txt_totalLembur.setText("0");
txt_tlainya.setText("0");
txt_pabsen.setText("0");
txt_pjamsostek.setText("0");
txt_pkoperasi.setText("0");
txt_ppinjaman.setText("0");
txt_pph.setText("0");
txt_zakat.setText("0");
txt_view.setText("");
}
public void waktuSekarang(){
Timer waktu = new Timer();
waktu.scheduleAtFixedRate(new TimerTask(){
@Override
public void run(){
lbl_time.setText(new SimpleDateFormat("dd-MM-yyyy "
+ " hh:mm:ss").format(new java.util.Date()));
}
},0,1000);
}
private void status(){
try{
if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}
}catch(Exception e){
}
}
private void tampil(){
try{
String sql = "select * from gaji";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
rs.next();
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_golongan.setText(rs.getString("golongan"));
txt_jabatan.setText(rs.getString("jabatan"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_anak.setText(rs.getString("jumlah_anak"));
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
txt_tkeluarga.setText(rs.getString("tunjangan_keluarga"));
txt_lembur.setText(rs.getString("biaya_lembur"));
36
txt_tmakan.setText(rs.getString("tunjangan_makan"));
String setatus = rs.getString("status_keluarga");
if (setatus.equals("Single")){
r_single.setSelected(true);
r_menikah.setSelected(false);
}else{
r_menikah.setSelected(true);
r_single.setSelected(false);
txt_tkeluarga.setEnabled(true);
}
panel3.setVisible(false);
clear();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
private void nav(){
try {
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_golongan.setText(rs.getString("golongan"));
txt_jabatan.setText(rs.getString("jabatan"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_anak.setText(rs.getString("jumlah_anak"));
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
txt_tkeluarga.setText(rs.getString("tunjangan_keluarga"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_fungsional.setText(rs.getString("tunjangan_fungsional"));
txt_lembur.setText(rs.getString("biaya_lembur"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
37
try{
String src = txt_search.getText().toString();
String sq = "select * from gaji where nama='"+src+"' OR
nik='"+src+"' ";
pst=conn.prepareStatement(sq);
rs=pst.executeQuery();
while(rs.next())
{
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_golongan.setText(rs.getString("golongan"));
txt_jabatan.setText(rs.getString("jabatan"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_anak.setText(rs.getString("jumlah_anak"));
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
txt_tkeluarga.setText(rs.getString("tunjangan_keluarga"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_fungsional.setText(rs.getString("tunjangan_fungsional"));
txt_lembur.setText(rs.getString("biaya_lembur"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
String setatus = rs.getString("status_keluarga");
if (setatus.equals("Single")){
r_single.setSelected(true);
r_menikah.setSelected(false);
}else{
r_menikah.setSelected(true);
r_single.setSelected(false);
txt_tkeluarga.setEnabled(true);
}
}
panel3.setVisible(false);
clear();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
private void r_singleActionPerformed(java.awt.event.ActionEvent
evt) {
status = "Single";
r_single.setSelected(true);
r_menikah.setSelected(false);
txt_anak.setEnabled(false);
}
private void
r_menikahActionPerformed(java.awt.event.ActionEvent evt) {
status = "Menikah" ;
r_menikah.setSelected(true);
r_single.setSelected(false);
txt_anak.setEnabled(true);
}
private btn_printActionPerformed(java.awt.event.ActionEvent
evt) {
try {
txt_view.print();
}catch (PrinterException ex) {
Logger.getLogger(formGaji.class.getName()).log(Level.SEVERE,
null, ex);
}
}
38
private void btn_saveActionPerformed(java.awt.event.ActionEvent
evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You
Want Save..?"," Save Salary.!",JOptionPane.YES_NO_OPTION);
if(x==0){
//tgl
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new
SimpleDateFormat(tampilan);
String date =
String.valueOf(fm.format(txt_date.getDate()));
try{
String sql = "insert into penggajian"
+"(nik,date,nama,golongan,"
+"jabatan,gaji_pokok,tunjangan_jabatan,"
+"tunjangan_keluarga,tunjangan_makan,tunjangan_transport,tunjan
gan_fungsional,tunjangan_lain,upah_lembur,"
+"jam_lembur,bonus,potongan_pph,potongan_absensi,potongan_koper
asi,"
+"potongan_jamsostek,potongan_pinjaman,potongan_zakat,total_gaj
i_kotor,total_potongan,total_gaji_bersih) value
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" ;
pst=conn.prepareStatement(sql);
pst.setString(1,txt_nik.getText());
pst.setString(2,date);
pst.setString(3,txt_nama.getText());
pst.setString(4,txt_golongan.getText());
pst.setString(5,txt_jabatan.getText());
pst.setString(6,txt_gaji.getText());
pst.setString(7,txt_tjabatan.getText());
pst.setString(8,txt_tkeluarga.getText());
pst.setString(9,txt_tmakan.getText());
pst.setString(10,txt_ttransport.getText());
pst.setString(11,txt_fungsional.getText());
pst.setString(12,txt_tlainya.getText());
pst.setString(13,txt_lembur1.getText());
pst.setString(14,txt_totalLembur.getText());
pst.setString(15,txt_bonus.getText());
pst.setString(16,txt_pph.getText());
pst.setString(17,txt_pabsen.getText());
pst.setString(18,txt_pkoperasi.getText());
pst.setString(19,txt_pjamsostek.getText());
pst.setString(20,txt_ppinjaman.getText());
pst.setString(21,txt_zakat.getText());
pst.setString(22,lbl_gajiKotor.getText());
pst.setString(23,lbl_potongan.getText());
pst.setString(24,lbl_gajibersih.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"data
succase disimpan");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
btn_print.setEnabled(true);
btn_save.setEnabled(false);
btn_calculate.setEnabled(false);
}
}
39
private void
btn_calculateActionPerformed(java.awt.event.ActionEvent evt) {
panelOn();
//Gaji
int gajiP = Integer.parseInt(txt_gaji.getText());
int tJ = Integer.parseInt(txt_tjabatan.getText());
int tT = Integer.parseInt(txt_ttransport.getText());
int tM = Integer.parseInt(txt_tmakan.getText());
int tK = Integer.parseInt(txt_tkeluarga.getText());
int tF = Integer.parseInt(txt_fungsional.getText());
int tL = Integer.parseInt(txt_tlainya.getText());
int bL = Integer.parseInt(txt_lembur.getText());
int jL = Integer.parseInt(txt_totalLembur.getText());
int bN = Integer.parseInt(txt_bonus.getText());
//perhitungan gaji
int lembur = jL*bL;
int gN = (tT+tM)+(tJ+tK)+(tL+bN)+tF;
int gS = (tT+tM)+(tL+bN)+(tJ+tF);
int totalGajiNikah = (gajiP+lembur)+gN;
int totalGajiSingle = (gajiP+lembur)+gS;
if(r_menikah.isSelected()==true){
String tG = String.valueOf(totalGajiNikah);
lbl_gajiKotor.setText(tG);
}if(r_single.isSelected()==true){
String tG = String.valueOf(totalGajiSingle);
lbl_gajiKotor.setText(tG);
}
//Potongan
int pPh = Integer.parseInt(txt_pph.getText());
int pZ = Integer.parseInt(txt_zakat.getText());
int pA = Integer.parseInt(txt_pabsen.getText());
int pK = Integer.parseInt(txt_pkoperasi.getText());
int pJ = Integer.parseInt(txt_pjamsostek.getText());
int pP = Integer.parseInt(txt_ppinjaman.getText());
//jumlah potongan
int jumlahPotongan = (pPh+pZ)+(pA+pK)+(pJ+pP);
String jP = String.valueOf(jumlahPotongan);
lbl_potongan.setText(jP);
//jumlah gaji
int gKotor = Integer.parseInt(lbl_gajiKotor.getText());
int gBersih = gKotor - jumlahPotongan;
String gB = String.valueOf(gBersih);
lbl_gajibersih.setText(gB);
//lembur
String Lm = String.valueOf(lembur);
txt_lembur1.setText(Lm);
40
int uang3 = sisa2 / 20000;
int sisa3 = sisa2 - (uang3*20000);
String u3 = String.valueOf(uang3);
lbl_u3.setText(u3);
//Rp.00,00,00
NumberFormat nf = NumberFormat.getInstance();
txt_gaji1.setText(nf.format(gajiP));
txt_tjabatan1.setText(nf.format(tJ));
txt_ttransport1.setText(nf.format(tT));
txt_tkeluarga1.setText(nf.format(tK));
txt_fungsional1.setText(nf.format(tF));
txt_tmakan1.setText(nf.format(tM));
lbl_gajiKotor1.setText(nf.format(gKotor));
txt_lembur2.setText(nf.format(lembur));
txt_pph1.setText(nf.format(pPh));
txt_zakat1.setText(nf.format(pZ));
txt_ppinjaman1.setText(nf.format(pP));
txt_pkoperasi1.setText(nf.format(pK));
txt_pabsen1.setText(nf.format(pA));
txt_pjamsostek1.setText(nf.format(pJ));
lbl_potongan1.setText(nf.format(jumlahPotongan));
lbl_gajibersih1.setText(nf.format(gBersih));
// Print
txt_view.append("\t Slip Gaji Tenaga Kependidikan \n\n"+
"Tanggal :\t\t\t" + txt_date.getDate()+ "\n"+
"Nik :\t\t\t" + txt_nik.getText() + "\n"+
"Nama lengkap :\t\t" + txt_nama.getText()+ "\n"+
"Jabatan :\t\t\t" + txt_jabatan.getText() + "\n"+
"Gaji pokok :\t\t\t " + txt_gaji1.getText() + "\n"+
"\n============================================================
===================\n"+
41
"Tunjangan jabatan :\t" + txt_tjabatan1.getText() + "\n"+
"Tunjangan Transport :\t" +
txt_ttransport1.getText() +"\n"+
"Tunjangan Keluarga :\t" + txt_tkeluarga1.getText()
+"\n"+
"Tunjangan Fungsional :\t" +
txt_fungsional1.getText() +"\n"+
"Tunjangan Makan :\t" + txt_tmakan1.getText()
+"\n"+
"Uang Lembur :\t" + txt_lembur2.getText() +
"\n"+
"Total gaji Kotor :\t\t\t" +
lbl_gajiKotor1.getText() + "\n"+
"\n============================================================
===================\n"+
"\tPotongan PPh ps 21 :\t" + txt_pph1.getText() +
"\n"+
"\tPotongan zakat :\t" + txt_zakat1.getText() +
"\n"+
"\tPotongan Pinjaman :\t" +
txt_ppinjaman1.getText() + "\n"+
"\tPotongan Koperasi :\t" +
txt_pkoperasi1.getText() +"\n"+
"\tPotongan Absensi :\t" + txt_pabsen1.getText() +
"\n"+
"\tPotongan Jamsostek :\t" +
txt_pjamsostek1.getText() + "\n"+
"\tTotal Potongan :\t\t" + lbl_potongan1.getText()
+ "\n"+
"\n============================================================
===================\n"+
"Gaji bersih :\t\t\t\t" + lbl_gajibersih1.getText()
+ "\n"+
"\n============================================================
===================\n"+
"Kabid Keuangan & HRD \t\t\t Penerima \n\n\n\n"+
" \t\t\t\t" +
txt_nama.getText() + "\n"+
"---------------------------\t\t\t-----------------
-------------"
);
btn_save.setEnabled(true);
}
private void btn_prevMouseClicked(java.awt.event.MouseEvent
evt) {
try {
rs.previous();
nav();
} catch (SQLException ex) {
Logger.getLogger(formPenggajin.class.getName()).log(Level.SEVER
E, null, ex);
}
btn_calculate.setEnabled(true);
btn_save.setEnabled(false);
btn_print.setEnabled(false);
}
42
private void btn_nextMouseClicked(java.awt.event.MouseEvent
evt) {
try {
rs.next();
nav();
} catch (Exception e) {
}
btn_calculate.setEnabled(true);
btn_save.setEnabled(false);
btn_print.setEnabled(false);
}
private void
btn_clearActionPerformed(java.awt.event.ActionEvent evt) {
panel3.setVisible(false);
txt_search.setText("");
txt_nik.setText("");
txt_nama.setText("");
txt_jabatan.setText("");
txt_tjabatan.setText("0");
txt_tkeluarga.setText("0");
txt_anak.setText("0");
txt_tmakan.setText("0");
txt_ttransport.setText("0");
txt_tlainya.setText("0");
txt_gaji.setText("0");
txt_bonus.setText("0");
txt_lembur.setText("0");
txt_totalLembur.setText("0");
txt_pph.setText("0");
txt_zakat.setText("0");
txt_pabsen.setText("0");
txt_pjamsostek.setText("0");
txt_pkoperasi.setText("0");
txt_ppinjaman.setText("0");
txt_fungsional.setText("0");
lbl_gajiKotor.setText("00.0");
lbl_potongan.setText("00.0");
lbl_gajibersih.setText("00.0");
r_single.setSelected(false);
r_menikah.setSelected(false);
txt_golongan.setText("");
lbl_u1.setText("0");
lbl_u2.setText("0");
lbl_u3.setText("0");
lbl_u4.setText("0");
lbl_u5.setText("0");
lbl_u6.setText("0");
lbl_u7.setText("0");
lbl_u8.setText("0");
txt_view.setText("");
clear();
btn_save.setEnabled(false);
btn_print.setEnabled(false);
}
private void btn_lastMouseClicked(java.awt.event.MouseEvent
evt) {
try {
rs.last();
nav();
} catch (Exception e) {
}
}
43
private void btn_firstMouseClicked(java.awt.event.MouseEvent
evt) {
try {
rs.first();
nav();
} catch (Exception e) {
}
}
private String status;
3.9 formUpdateGaji.java
import java.awt.HeadlessException;
import java.awt.Image;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
public class formUpdateGaji extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formUpdateGaji() {
initComponents();
conn = koneksi.getConnection();
tunjanganKeluarga();
status();
}
private void tunjanganKeluarga(){
int x = Integer.parseInt(txt_anak.getText());
int y = Integer.parseInt(txt_gaji.getText());
int t = y / 100 * x;
int ta = y /100 * 3;
String hasil = String.valueOf(t);
String hasilAhir = String.valueOf(ta);
if(x==1){txt_tkeluarga.setText(hasil);
}else if(x==2){txt_tkeluarga.setText(hasil);
}else{txt_tkeluarga.setText(hasilAhir);
}
}
private void status(){
try{
if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}if(r_single.isSelected()==false){
txt_anak.setEnabled(false);
}
}catch(Exception e){
}
}
44
private void golongan1(){
try {
String sql = "select * from system_gaji where id=1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan2(){
try {
String sql = "select * from system_gaji where id=2";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan3(){
try {
String sql = "select * from system_gaji where id=3";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan4(){
try {
String sql = "select * from system_gaji where id=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
45
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
46
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKepkam(){
try {
String sql = "select * from jabatan where id_jabatan=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
int x = Integer.parseInt(txt_gaji.getText());
int y = Integer.parseInt(txt_tjabatan.getText());
int t = x / 100 * y;
String hasil = String.valueOf(t);
txt_tjabatan.setText(hasil);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new formAdmin().setVisible(true);
this.dispose();
}
private void txt_searchKeyReleased(java.awt.event.KeyEvent evt) {
try{
String src = txt_search.getText().toString();
String sql ="SELECT * FROM karyawan INNER JOIN gaji ON gaji.nik=karyawan.nik WHERE
karyawan.nama='"+src+"' OR karyawan.nik='"+src+"' ";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next())
{
txt_nik.setText(rs.getString("nik"));
txt_nama.setText(rs.getString("nama"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_anak.setText(rs.getString("jumlah_anak"));
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
txt_tkeluarga.setText(rs.getString("tunjangan_keluarga"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_fungsional.setText(rs.getString("tunjangan_fungsional"));
String add = rs.getString("status_keluarga");
if (add.equals("Single")){
r_single.setSelected(true);
r_menikah.setSelected(false);
47
}else{
r_menikah.setSelected(true);
r_single.setSelected(false);
}
48
txt_fungsional.setText("0");
r_single.setSelected(false);
r_menikah.setSelected(false);
img.setIcon(format);
}
private void btn_updateActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You Want Update Salary..?"," Update
Salary.!",JOptionPane.YES_NO_OPTION);
if(x==0){
//tgl
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl = String.valueOf(fm.format(txt_date.getDate()));
//update gaji
try{
String val1 = txt_nik.getText();
String val2 = tgl;
String val3 = cmb_golongan.getSelectedItem().toString();
String val4 = cmb_jabatan.getSelectedItem().toString();
String val5 = txt_gaji.getText();
String val6 = status;
String val7 = txt_anak.getText();
String val8 = txt_tjabatan.getText();
String val9 = txt_tkeluarga.getText();
String val10 = txt_ttransport.getText();
String val12 = txt_tmakan.getText();
String val13 = txt_lembur.getText();
String val14 = txt_fungsional.getText();
String sql = "update gaji set date='"+val2+"', gaji_pokok='"+val5+"',golongan='"+val3+"',
jabatan='"+val4+"', "
+ "status_keluarga='"+val6+"',
jumlah_anak='"+val7+"',tunjangan_jabatan='"+val8+"',tunjangan_keluarga='"+val9+"',"
+ "tunjangan_transport='"+val10+"', tunjangan_makan='"+val12+"',
biaya_lembur='"+val13+"', tunjangan_fungsional='"+val14+"' where nik ='"+val1+"' ";
pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Update Sacces");
new formAdmin().setVisible(true);
this.dispose();
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
finally{
try{
rs.close();
pst.close();
}catch (Exception e){
}
}
}
}
49
}else if (cmb_jabatan.getSelectedItem()=="KOORDINATOR") {
jabatanKor();
}else if (cmb_jabatan.getSelectedItem()=="KEP.BIDANG") {
jabatanKepBidang();
}else if (cmb_jabatan.getSelectedItem()=="KEP.KAMPUS") {
jabatanKepkam();
}else if (cmb_jabatan.getSelectedItem()=="WAKIL KEP.KAMPUS") {
jabatanKepkam();
}
} catch (Exception e) {
}
}
private void cmb_golonganActionPerformed(java.awt.event.ActionEvent evt) {
try{
if(cmb_golongan.getSelectedItem()=="GOLONGAN 1"){
golongan1();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 2"){
golongan2();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 3"){
golongan3();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 4"){
golongan4();
}
} catch (Exception e) {
}
}
private String status;
private ImageIcon format = null;
private String filename = null;
byte[] person_image = null;
3.10 formUpdateSistemGaji.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
public class formUpdateSistemGaji extends javax.swing.JFrame {
Connection conn;
PreparedStatement pst;
ResultSet rs;
public formUpdateSistemGaji() {
initComponents();
conn = koneksi.getConnection();
combo();
}
private void combo(){
try {
String sq = "select * from combo";
pst = conn.prepareStatement(sq);
rs = pst.executeQuery();
50
while(rs.next()){
}
} catch (Exception e) {
}
}
private void jabatanStaf(){
try {String sql = "select * from jabatan where
id_jabatan=1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKor(){
try {
String sql = "select * from jabatan where
id_jabatan=2";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKepBidang(){
try {
String sql = "select * from jabatan where id_jabatan=3";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void jabatanKepkam(){
try {
String sql = "select * from jabatan where
id_jabatan=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_tjabatan.setText(rs.getString("tunjangan_jabatan"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan1(){
try {
String sql = "select * from system_gaji where
id=1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
51
while(rs.next()){
txt_id.setText(rs.getString("id"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan2(){
try {
String sql = "select * from system_gaji where id=2";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_id.setText(rs.getString("id"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan3(){
try {
String sql = "select * from system_gaji where id=3";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
txt_id.setText(rs.getString("id"));
txt_gaji.setText(rs.getString("gaji_pokok"));
txt_tmakan.setText(rs.getString("tunjangan_makan"));
txt_ttransport.setText(rs.getString("tunjangan_transport"));
txt_lembur.setText(rs.getString("biaya_lembur"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void golongan4(){
try {
String sql = "select * from system_gaji where id=4";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery(); 52
while(rs.next()){
txt_id.setText(rs.getString("id"));
txt_gaji.setText(rs.getString("gaji_pokok"));
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new formAdmin().setVisible(true);
new formAddPegawai().setVisible(false);
this.dispose();
}
private void cmb_golonganActionPerformed(java.awt.event.ActionEvent evt)
{
try{
if(cmb_golongan.getSelectedItem()=="GOLONGAN 1"){
golongan1();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 2"){
golongan2();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 3"){
golongan3();
}else if (cmb_golongan.getSelectedItem()=="GOLONGAN 4"){
golongan4();
}else{
txt_gaji.setText(rs.getString("0"));
txt_tmakan.setText(rs.getString("0"));
txt_ttransport.setText(rs.getString("0"));
txt_lembur.setText(rs.getString("0"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
private void btn_clearActionPerformed(java.awt.event.ActionEvent evt) {
cmb_jabatan.setAction(null);
txt_tjabatan.setText("0");
txt_tmakan.setText("0");
txt_ttransport.setText("0");
txt_gaji.setText("0");
txt_lembur.setText("0");
}
private void cmb_jabatanActionPerformed(java.awt.event.ActionEvent evt) {
try {
if (cmb_jabatan.getSelectedItem()=="STAF") {
jabatanStaf();
}else if (cmb_jabatan.getSelectedItem()=="KOORDINATOR") {
jabatanKor();
}else if (cmb_jabatan.getSelectedItem()=="KEP.BIDANG") {
jabatanKepBidang();
53
}else if (cmb_jabatan.getSelectedItem()=="KEP.KAMPUS") {
jabatanKepkam();
}else if (cmb_jabatan.getSelectedItem()=="WAKIL
KEP.KAMPUS") {
jabatanKepkam();
}
} catch (Exception e) {
}
}
private void
btn_updateActionPerformed(java.awt.event.ActionEvent evt) {
int x = JOptionPane.showConfirmDialog(null,"Are You want
to Update Salary","Update Sacces",JOptionPane.YES_NO_OPTION);
if(x==0){
try {
String val = txt_id.getText();
String val1 = txt_gaji.getText();
String val2 = txt_tjabatan.getText();
String val3 = txt_tmakan.getText();
String val4 = txt_ttransport.getText();
String val7 = txt_lembur.getText();
String cmb =
cmb_jabatan.getSelectedItem().toString();
try {
String sql = "UPDATE system_gaji SET gaji_pokok='"+val1+"',
tunjangan_makan='"+val3+"',"
+"tunjangan_transport='"+val4+"' where id='"+val+"' ";
pst = conn.prepareStatement(sql);
pst.execute();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
try {
String s = "UPDATE jabatan set tunjangan_jabatan='"+val2+"'
where nama_jabatan='"+cmb+"' ";
pst = conn.prepareStatement(s);
pst.execute();
} catch (Exception e) {
}
JOptionPane.showMessageDialog(null, "Update Succes");
new formAdmin().setVisible(true);
this.dispose();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
finally{
try {
rs.close();
pst.close();
} catch (Exception e) {
}
}
}
}
54
BAB IV
4.1 Kesimpulan
4.2 Saran
55