Anda di halaman 1dari 62

POLITEKNIK LP3I JAKARTA

SK Dikti No. 158/D/O/2003

Direktorat : Gedung Sentra Kramat Blok A


Jl. Kramat Raya No. 7-9, Jakarta
Phone: (021) 3190-5498,
Fax (021) 3190-499
Website : www.politeknik-lp3i-jkt.ac.id

PENGESAHAN LAPORAN KULIAH KERJA INDUSTRI

Laporan Kuliah Kerja Industri ini disusun oleh:


Nama : Hermawan
NIM : 170441180033
Program Studi/Kons : Manajemen Informatika/Teknik Informatika
Tempat Kuliah : Kampus Lp3i Cilodong
Disetujui dan memenuhi persyaratan untuk diajukan dalam penilaian laporan
Kuliah Kerja Industri
Depok, 10 Oktober 2019
Diperiksa oleh,

Ketua Program Studi Pembimbing Industri


Manajemen Informatika

Nasril, S.Kom., M.M Rizal Riyadi, S.E., M.M

Disetujui Oleh,
Wakil Direktur I Bidang Akademik

Rony Setiawan, S.Kom., M.Kom

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.

Sebagaimana ketentuan yang berlaku di Politeknik LP3I Jakarta, bahwa


mahasiswa tingkat tiga diharuskan menyusun dan memaparkan Laporan
Kuliah Kerja Industri (KKI) sebagai salah satu persyaratan penyelesaian
pendidikan Politeknik LP3I Jakarta Program D3. Untuk itu penulis
melakukan observasi dari bulan September 2019 di Politeknik Lp3i Jakarta
Kampus Cilodong kemudian meyusun hasil pengamatan tersebut dalam
bentuk Laporan ini di bawah bimbingan Supriyanto S.Kom, M.M

Dengan kerendahan hati penulis mengucapkan terima kasih kepada semua


pihak yang telah terlibat dalam mendorong dan membantu penulis dalam
pelaksanaan penyusunan pelaporan Kuliah Kerja Industri (KKI), khususnya
kepada :

1. Direktur Politeknik LP3I Jakarta,


Drs. Jaenudin Akhmad, S.E., M.M., M.Pd.
2. Wakil Direktur I Bidang Akademik, Rony Setiawan, M.Kom.
3. Wakil Direktur II Bidang Keuangan dan Personalia, Nurdin, S.S., M.M.
4. Wakil Direktur III Bidang Kemahasiswaan dan Kerjasama,
Arifin Setiabudi, S.Kom., M.M.
5. Wakil Direktur IV Bidang Kerjasama Internasional dan Hubungan
Industri, Dr. Aspizain Chaniago, S.Pd., M.Si.
6. Ketua Program Studi Manajemen Informatika, Nasril, S.Kom., M.M.
7. Dosen Pembimbing KKI, Supriyanto S.Kom, M.M
8. Kepala Bagian Administrasi Akademik, Isti Nuraini, S.E.

ii
DAFTAR ISI

Cover / Sampul Luar


LEMBAR PENGESAHAN ........................................................................... i

KATA PENGANTAR ................................................................................... i

DAFTAR ISI ............................................................................................... iv

DAFTAR GAMBAR .................................................................................... v

DAFTAR TABEL ........................................................................................ vi

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah ............................................................... 1

1.2 Alasan Pemilihan Objek ................................................................ 2

1.3 Mekanisme Kinerja Sistem ........................................................... 2

1.4 Tujuan Dan Manfaat Application project ....................................... 3

1.4.1 Tujuan Aplication Project........................................................ 3

1.4.2 Manfaat Aplication Project...................................................... 3

1.5 Batasan Masalah .......................................................................... 4

1.6 Metodologi Penulisan ................................................................... 4

1.6.1 Studi Kepustakaan ................................................................. 4

1.6.2 Studi Lapangan ...................................................................... 4

1.7 Sistematika Penulisan .................................................................. 4

BAB II RANCANGAN BANGUN SISTEM

2.1 Usecase Diagram ......................................................................... 6

2.2 Aktifity Diagram ............................................................................. 7

2.3 Panduan Menggunakan Aplikasi .................................................. 8

iii
2.4.1 Melakukan Login ........................................................................ 8

2.4.2 Pilihan Menu Home .................................................................... 9

2.4.3 Melakukan Input Data Karyawan .............................................. 10

2.4.4 Melakukan Pencarian Data Karyawan ...................................... 11

2.4.5 Melakukan Penghitugan Gaji Bulanan ...................................... 12

2.4.6 Melakukan Update Gaji Karyawan ........................................... 13

2.4.6 Melakukan Rekapitulasi Gaji .................................................... 14

2.4.7 Tampilan Slip Gaji .................................................................... 15

2.4.8 Melakukan Update System Gaji ............................................... 15

BAB III SCRIPT / CODING PROGRAM

3.1 Koneksi.java ............................................................................... 16

3.2 formLogin.java ............................................................................ 16

3.3 formAdmin.java ........................................................................... 18

3.4 formPegawai.java ....................................................................... 19

3.5 formAddPegawai.java ................................................................. 25

3.6 formGaji.java............................................................................... 27

3.7 formDaftarGaji.java ..................................................................... 33

3.8 formPenggajian.java ................................................................... 38

3.9 formUpdateGaji.java ................................................................... 44

3.10 formUpdateSistemGaji.java ........................................................ 50

BAB IV KESIMPULAN & SARAN

4.1 Kesimpulan ................................................................................. 55

4.2 Saran .......................................................................................... 55

iv
DAFTAR GAMBAR

Gambar 2.1 : Usecase Diagram Penggajian ............. Error! Bookmark not


defined.

Gambar 2.2 : Actifity Diagram Menghitung Gaji ........ Error! Bookmark not
defined.

Gambar 2.3 : Form Login ............................ Error! Bookmark not defined.

Gambar 2.4 : Tampilan Home ..................... 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.10 : Tambah Data Manualbook . Error! Bookmark not defined.

Gambar 2.11 : Form Update System Gaji ... Error! Bookmark not defined.

v
DAFTAR TABLE

Table 2.1 : Petunjuk Login ......................... Error! Bookmark not defined.

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.

Table 3.1 : Script Koneksi.java ................... Error! Bookmark not defined.

Table 3.2 : Script formLogin.java ................ Error! Bookmark not defined.

Table 3.3 : Script formAdmin.java ............... Error! Bookmark not defined.

Table 3.4 : Script formPegawai.java ........... Error! Bookmark not defined.

Table 3.5 : Script formAddPegawai.java ..... Error! Bookmark not defined.

Table 3.6 : Script formGaji.java ................... Error! Bookmark not defined.

Table 3.7 : Script formDaftarGaji.java ......... Error! Bookmark not defined.

Table 3.8 : Script formPenggajian.java ....... Error! Bookmark not defined.

Table 3.9 : Script formUpdateGaji.java ....... Error! Bookmark not defined.

Table 3.10 : Script formUpdateSitemGaji.java .......... Error! Bookmark not


defined.

vi
vii
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Gaji merupakan sejumlah uang yang diberikan kepada seseorang baik


itu seorang pegawai atau karyawan sebagai imbalan jasa atas usaha
atau kerja yang telah dilakukannya terhadap perusahaan. Dalam
memberikan gaji setiap perusahaan memiliki sistem yang berbeda-
beda. Di mana gaji yang diberikan kepada para tenaga kerja juga
berbeda sesuai dengan jabatan dan tingkat golongannya. Sehingga
bukanlah suatu hal yang mengherankan apabila suatu perusahaan
mengalami kesulitan dalam melakukan perhitungan gaji tenaga kerja
tersebut.
Hal ini umumnya disebabkan karena adanya jumlah tenaga kerja yang
sangat banyak dan waktu yang digunakan untuk menghitung gaji
sangatlah singkat yang biasanya dilakukan diakhir bulan. Peranan
komputerisasi dalam mengelola data menjadi suatu informasi yang
berguna sangatlah dibutuhkan karena berfungsi sebagai sarana
penunjang lancarnya suatu pekerjaan, khususnya dalam penanganan
data penggajian karyawan. Program komputer yang ada disini tidak
akan mengubah struktur organisasi yang ada didalam perusahaan,
arus dokumen ataupun prosedur-prosedur lainnya.
Untuk mempermudah dan mengakuratkan proses perhitunga ngaji
pokok, tunjangan untuk karyawan, lembur dan potongan – potongan.
Begitu juga pada Kampus LP3i Cilodong, masalah penggajian
merupakan sesuatu yang sangat penting sehingga dibutuhkan suatu
sistem informasi penggajian pegawai yang dapat meningkatkan
kecepatan dan ketepatan dalam menyampaikan informasi.
Dengan menggunakan teknologi komputer sebagai alat pengolahan
data penggajian, maka sistem informasi penggajian diharapkan dapat
mengolah data gaji dengan tepat.

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.

Hal tersebut menimbulkan berbagai persoalan yaitu waktu yang


diperlukan baik dalam perhitungan ataupun pembuatan laporan
penggajian membutuhkan waktu yang lama. Informasi data yang
ditampilkan menjadi kurang teliti. Selain itu, data gaji karyawan dapat
diakses siapa saja, sehingga dalam segi keamanan kurang terjamin.
Dengan semakin bertambah banyaknya pegawai maka kebutuhan
pegawai juga bertambah pula. Perhitungan gaji yang dilakukan
semakin lama semakin banyak dan rumit, padahal penggajian
merupakan salah satu unsur penting pada Kampus LP3i Cilodong.
Maka dari itu dirancang aplikasi Perancangan Sistem Informasi
Penggajian Karyawan Pada Politeknik Lp3i Jakarta Kampus Cilodong
untuk mengurangi permasalahan atau kesalahan yang terjadi.

1.2 Alasan Pemilihan Objek

Berdasarkan latar belakang yang telah dijelaskan, maka alasan penulis


dalam membuat laporan kuliah kerja industri ini adalah bagaimana
membangun sebuah aplikasi sistem informasi yang efektif dalam
pengolahan gaji karyawan dengan komputerisasi. Dengan begitu
bagian keuangan tidak harus melakukan perhitungan gaji karyawan
dengan cara manual

1.3 Mekanisme Kinerja Sistem

Mekanisme kerja sistem yaitu :


1. Admin melakukan login pada divisi admin

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

1.4 Tujuan Dan Manfaat Application project

1.4.1 Tujuan Aplication Project

Di buatnya sistem ini bertujuan untuk dapat memudahkan


admin dalam mengelola dan memproses data karyawan dan
data gaji dengan cepat, juga mempermudah dalam pembuatan
laporan. Sehingga dapat menghemat waktu, tenaga dan biaya.
Selain itu sistem ini juga memberikan kemudahan bagi manajer
untuk memperoleh informasi baik tentang pegawai maupun
tentang keuangan khususnya penggajian.

1.4.2 Manfaat Aplication Project

Manfaat melakukan Application Project yaitu untuk


mengembangakan diri serta mengasah pemahaman dalam
memecahkan masalah agar ketika terjun kedalam industri kerja,
mahasiswa dapat memecahkan masalah yang timbul.

3
1.5 Batasan Masalah

Untuk membatasi serta memfokuskan hal-hal yang menjadi


pokok permasalahan yang akan dibahas agar tidak meluas dan
jelas pembahasannya, maka dibuat batasan-batasan sebagai berikut :
1.5.1 Sistem yang dibuat adalah sistem informasi yang dapat
membantu dalam pendataan/penghitungan penggajian pegawai.
1.5.2 Sistem yang dibuat digunakan oleh Admin.

1.6 Metodologi Penulisan

Metodologi penulisan dalam KKI ini untuk mendapatkan data-data guna


membantu pembangunan sistem ini yaitu

1.6.1 Studi Kepustakaan

Penulis mempelajari buku-buku, jurnal-jurnal ilmiah dan segala


sesuatu yang bermanfaat sebagai referensi dan literature dalam
penelitiannya.

1.6.2 Studi Lapangan

Pada studi lapangan ini saya menggunakan metode observasi


dimana saya melakukan kegiatan pengamatan di lokasi dan
merancang sistem dengan hasil yang saya dapatkan dan
mengamati sistem yang sudah ada

1.7 Sistematika Penulisan

Sistematika penulisan laporan KKI ini dibagi menjadi 4 bab, masing-


masing bab diuraikan secara singkat dan jelas sebagai berikut:

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 )

2. Bab II Rancang Bangun Sistem

Memuat tampilan system, mulai dari sistem dijalankan sampai


dengan sistem selesai digunakan /ditutup, kemudian bagaimana
langkah-langkah mengerjakan pada masing-masing tampilan sistem
tersebut bekerja ( Mirip dengan guidance book manual ).

3. Bab III Script / Coding Program

Memuat script / coding dari program yang dirancang dan dibuat


secara terkonsep dengan jelas.

4. Bab IV Penutup

Penutup terdiri dari kesimpulan dan saran. Kesimpulan merupakan


jawaban ringkas atas identifikasi masalah, sedangkan saran adalah
solusi-solusi yang ditawarkan oleh penulis. Bab ini cukup ditulis dalam
2 (dua) halaman.

5
BAB II

RANCANGAN BANGUN SISTEM

2.1 Usecase Diagram

Gambar Diagram 2.1 : Usecase Diagram Penggajian

6
2.2 Aktifity Diagram

Gambar Diagram 2.2 Menghitung Gaji Karyawan Actifity Diagram

7
2.3 Panduan Menggunakan Aplikasi

2.4.1 Melakukan Login

Gambar 2.3 : Form Login

No Tampilan Keterangan
1 Masukan ussername

2 Masukan password

3 Pilih devisi

4 Pilih ‘Login’ untuk masuk


system

Pilih ‘Cancel’ untuk


membatalkan
5 Pilih ‘Exit’ untuk keluar
sistem

Table 2.1 : Petunjuk Login

8
2.4.2 Pilihan Menu Home

Gambar 2.4 : Tampilan 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

Table 2.2 : Petunjuk Menu Home

9
2.4.3 Melakukan Input Data Karyawan

Gambar 2.5 :Tampilan Form Add 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

Table 2.3 : Petunjuk Input data karayawan

10
2.4.4 Melakukan Pencarian Data Karyawan

Gambar 2.6 : Tampilan Form Search Karyawan

No Tampilan Keterangan
1 Klik untuk update data karyawan

2 Klik untuk hapus data karyawan

3 Klik untuk kembali ke menu home

3 Klik untuk mengganti foto karyawan

4 Klik untuk menghapus textfield

Table 2.4 : Petunjuk Update dan hapus data karyawan

11
2.4.5 Melakukan Penghitugan Gaji Bulanan

Gambar 2.7 : Form Gaji Pegawai

12
No Tampilan Keterangan
1 Klik untuk menghitung gaji

2 Klik untuk menyimpan gaji

3 Klik untuk mencetak slip gaji

3 Klik untuk menghapus gaji

4 Klik untuk kembali ke data sebelumnya

5 Klik untuk melanjutkan data berikutnya

6 Klik untuk kembali ke data pertama

7 Klik untuk masuk ke data terakhir

8 Klik untuk kembali menu home

Table 2.5 : Petunjuk Penghitungan Gaji bulanan

2.4.6 Melakukan Update Gaji Karyawan

Gambar 2.8 : Form Update Gaji Karyawan

13
No Tampilan Keterangan
1 Cari berdasarkan nama/nim
karyawan yang akan di ubah
2 Klik untuk merubah gaji

3 Klik untuk menghapus textfield

3 Klik untuk kembali ke menu home

Table 2.6 : Petunjuk Update Gaji Karyawan

2.4.6 Melakukan Rekapitulasi Gaji

Gambar 2.9 : Form Rekapitulasi Gaji


No Tampilan Keterangan
1 Pilih bulan dan tahun untuk menetukan
Rekapitulasi data
2 Klik utntuk mencari data

3 Klik untuk mencetak table data

4 Klik untuk mengosongkan table

5 Klik untuk kembali ke menu home

Table 2.6 Petunjuk : Rekapitulasi Gaji Karyawan

14
2.4.7 Tampilan Slip Gaji

Gambar 2.10 : Contoh Slip Gaji Karyawan

2.4.8 Melakukan Update System Gaji

Gambar 2.11 : Form Update Sytem Gaji

15
BAB III

SCRIPT / CODING PROGRAM

3.1 Koneksi.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.JOptionPane;

public class koneksi {


static Connection conn=null;
public static Connection getConnection(){

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;

static Statement createStatement() {


throw new UnsupportedOperationException("Not supported
yet."); //To change body of generated methods, choose Tools |
Templates.
}

Table 3.1 : Script Koneksi.java

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;

public class formLogin extends javax.swing.JFrame {


Connection conn;
PreparedStatement pst;
ResultSet rs;

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();
}

Table 3.3 : Script FormAdmin.java

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"));

String add = rs.getString("jenis_kelamin");


if (add.equals("Pria")){
r_pria.setSelected(true);
r_wanita.setSelected(false);
}else{
r_wanita.setSelected(true);
r_pria.setSelected(false);
}
byte[] image = rs.getBytes("image");
ImageIcon imageIcon = new ImageIcon (new
ImageIcon(image).getImage().getScaledInstance(img.getWidth(), img.getHeight(),
Image.SCALE_DEFAULT));
img.setIcon(imageIcon);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
finally{
try{
rs.close();
pst.close();
}catch(Exception e){}
}
}

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();

String sgl = "update karyawan set nik= '"+upd13+"', nama= '"+upd+"',


tanggal_lahir= '"+upd1+"', agama= '"+upd2+"',"+ "
alamat='"+upd3+"',nomor_telepon='"+upd4+"', email='"+upd5+"',
divisi='"+upd6+"',pendidikan_terahir='"+upd7+"',"+ "
tanggal_masuk='"+upd8+"',nama_bank='"+upd9+"', nomor_rekening='"+upd10+"',
rekening_atas_nama='"+upd11+"', jenis_kelamin='"+kelamin+"'
where nik= '"+upd13+"' ";
pst = conn.prepareStatement(sgl);
pst.execute();
JOptionPane.showMessageDialog(null, "Record update.?");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
try{
File file = new File(filename);
FileInputStream fis = new FileInputStream(file);
byte [] image = new byte[(int)file.length()];
fis.read(image);
String sql = "update karyawan SET image =? where nik ='"+upd13+"' ";
pst = conn.prepareStatement(sql);
pst.setBytes(1, image);
pst.executeUpdate();

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;

Table 3.4 : Script formPegawai.java

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;

Table 3.5 : Script formAddPegawai.java

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;

Table 3.6 : Script formGaji.java

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) {
}
}

Table 3.7 : Script formDaftarGaji.java

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"));

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,"Record null");
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) {
new formAdmin().setVisible(true);
this.dispose();
}
private void txt_searchKeyReleased(java.awt.event.KeyEvent evt)
{

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);

//jumlah lembar uang


int uang1 = Integer.parseInt(lbl_gajibersih.getText());
int jumlah = uang1 / 100000;
int sisa1 = uang1 -(jumlah * 100000);
String u1 = String.valueOf(jumlah);
lbl_u1.setText(u1);

int uang2 = sisa1 / 50000;


int sisa2 = sisa1 - (uang2*50000);
String u2 = String.valueOf(uang2);
lbl_u2.setText(u2);

40
int uang3 = sisa2 / 20000;
int sisa3 = sisa2 - (uang3*20000);
String u3 = String.valueOf(uang3);
lbl_u3.setText(u3);

int uang4 = sisa3 / 10000;


int sisa4 = sisa3 - (uang4*10000);
String u4 = String.valueOf(uang4);
lbl_u4.setText(u4);

int uang5 = sisa4 / 5000;


int sisa5 = sisa4 - (uang5*5000);
String u5 = String.valueOf(uang5);
lbl_u5.setText(u5);

int uang6 = sisa5 / 2000;


int sisa6 = sisa5 - (uang6*2000);
String u6 = String.valueOf(uang6);
lbl_u6.setText(u6);

int uang7 = sisa6 / 1000;


int sisa7 = sisa6 - (uang7*1000);
String u7 = String.valueOf(uang7);
lbl_u7.setText(u7);

int uang8 = sisa7 / 500;


int sisa8 = sisa7 - (uang7*500);
String u8 = String.valueOf(uang8);
lbl_u8.setText(u8);

//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;

Table 3.8 : Script formPenggajian.java

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);

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"));

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();
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);
}

byte[] image = rs.getBytes("image");


ImageIcon imageIcon = new ImageIcon (new
ImageIcon(image).getImage().getScaledInstance(img.getWidth(), img.getHeight(),
Image.SCALE_DEFAULT));
img.setIcon(imageIcon);
}
tunjanganKeluarga();
}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_tkeluarga.setEnabled(false);
txt_anak.setText("0");
txt_tkeluarga.setText("0");
}
private void r_menikahActionPerformed(java.awt.event.ActionEvent evt) {
status = "Menikah" ;
r_menikah.setSelected(true);
r_single.setSelected(false);
txt_anak.setEnabled(true);
txt_tkeluarga.setEnabled(true);
}
private void txt_anakKeyReleased(java.awt.event.KeyEvent evt) {
tunjanganKeluarga();
}
private void btn_clearActionPerformed(java.awt.event.ActionEvent evt) {
txt_search.setText("");
txt_date.setDate(null);
txt_nik.setText("");
txt_nama.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");

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;

Table 3.9 : Script formUpdateGaji.java

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) {
}
}
}
}

Table 3.10 : Script formUpdateSistemGaji.java

54
BAB IV

KESIMPULAN & SARAN

4.1 Kesimpulan

Berikut dapat diambil kesimpulan perihal Analisa Sistem Penggajian


Dalam Meningkatkan Sistem Informasi Pada Kampus LP3i Cilodong
yang berjalan berdasarkan uraian yang telah dijelaskan pada ketiga
bab sebelumnya:

1. Berdasarkan hasil uji coba, aplikasi penggajian karyawan dapat


berjalan dengan baik dan sesuai dengan kebutuhan user.
2. Aplikasi yang dibangun dapat mempermudah pihak-pihak yang
berkepentingan untuk mendapatkan informasi yang semestinya.
3. Sistem penggajian yang dibuat merupakan media pendukung
yang berguna untuk sistem penghitungan dan report, dengan
adanya system ini, dapat memudahkan Kampus LP3i Cilodong
dalam melakukan perhitungan gaji terhadap pekerja secara cepat
dan akurat.

4.2 Saran

Saran yang dapat disampaikan oleh penulis yang dapat digunakan


sebagai bahan pertimbangan bagi Kampus LP3i Cilodong yaitu
sebagai berikut :

1. Aplikasi penggajian karyawan ini hanya menampilkan data gaji dan


karyawan yang belum sepenuhnya terintegrasi. Oleh sebab itu
perlu pengembangan sistem selanjutnya,
2. diperlukan integrasi dengan absensi agar data kehadiran karyawan
lebih mudah diperoleh dan dapat selalu update secara otomatis.
3. Diharapkan bukan hanya bagian penggajian saja yang
menggunakan system atau aplikasi ini tetapi diharapkan bisa
berlanjut kebagian lainya.

55

Anda mungkin juga menyukai