BAB III PEMBAHASAN · UKS Koperasi Gambar III.1. Struktur Organisasi SMP Negeri 64 Jakarta Sumber :...
Transcript of BAB III PEMBAHASAN · UKS Koperasi Gambar III.1. Struktur Organisasi SMP Negeri 64 Jakarta Sumber :...
BAB III
PEMBAHASAN
3.1. Tinjauan Sekolah
3.1.1. Sejarah Sekolah
SMP Negeri 64 Jakarta dimulai sejak tahun 1966. Semula gedung SMP
Negeri 64 berada di Jalan Krekot Bunder, Kelurahan Pasar Baru, Kecamatan
Sawah Besar, Jakarta Pusat. Pada tahun 1979, SMP Negeri 64 dipindah ke Jalan
Karang Anyar, Kecamatan Sawah Besar, Jakarta Pusat. Pada tahun 1989 gedung
sekolah di Jalan Karang Anyar ini di renovasi. Hingga sekarang ini gedung SMP
Negeri 64 telah beberapa kali direnovasi,namun hanya taraf renovasi ringan.
Tujuan sekolah yang ingin dicapai baik dalam jangka pendek maupun jangka
panjang adalah peserta didik taman SMP Negeri 64 Jakarta memiliki mutu yang
handal, yakni “UNGGUL DALAM PRESTASI BERLANDASKAN IMTAQ
DAN IPTEK”.
3.1.2. Struktur Organisasi dan Fungsi
Kepala Sekolah
Kepala Tata Wakil Kepala Usaha Sekolah
Kurikulum
Kesiswaan Sarana
Humas Prasarana
Wali Kelas
Pembinan
RT
Korpri Osis
Bimbingan Pembina PGRI
Konseling Eksul
UKS
Koperasi
Gambar III.1. Struktur Organisasi SMP Negeri 64 Jakarta
Sumber : Bagian Tata Usaha SMP Negeri 64 Jakarta (2015)
20
21
1. Kepala Sekolah
Bertanggung jawab sepenuhnya terhadap seluruh kegiatan sekolah, di sini
kepala sekolah juga berperan sebagai Manager, Edukator, Leader Motivator dan
juga Inovator. baik dari dalam maupun di luar, yaitu : Penyelenggaraan program
kerja sekolah, meliputi :
a. Menyusun program kerja sekolah.
b. Mengawasi proses belajar mengajar, pelaksanaan dan penilaian terhadap
proses dan hasil belajar serta bimbingan dan konseling ( BK ).
c. Sebagai pembina kesiswaan.
d. Pelaksanaan bimbingan dan penilaian bagi para guru serta tenaga
kependidikan lainnya.
e. Penyelenggaraan administrasi sekolah yaitu meliputi administrasi
ketenagaan, keuangan, kesiswaan, perlengkapan dan kurikulum.
f. Pelaksanaan hubungan sekolah dengan lingkungan sekitar dan atau
masayarakat.
2. Wakil Kepala Sekolah
a. Wakil Kepala Sekolah membantu Kepala Sekolah dalam segala kegiatan
di sekolah
b. Menyusun rencana, pembuatan program kegiatan dan program
pelaksanaan
c. Pengorganisasian,Ketenagakerjaan,Pengkoordinasian,Penilaian,
Pengawasn
d. Pengidentifikasi dan pengumpulan data
3. Bagian Kurikulum
Guru yang bertugas dalam bidang Kurikulum bertanggung jawab atas
semua kegiatan belajar mengajar. Seperti:
a. Menyusun pembagian tugas para guru.
b. Mengelola semua kegiatan belajar mengajar.
c. Menyusun jadwal evaluasi.
d. Menyusun kriteria untuk kenaikan kelas dan kurikulum.
e. Menyusun pelaksanaan UAS dan UAN.
f. Menyusun instrumen untuk kegiatan belajar mengajar.
22
4. Bagian Kesiswaan
Guru yang bertugas dalam bidang Kesiswaan membidangi semua urusan
kesiswaan, bertanggung jawab atas semua kegiatan belajar mengajar, antara
lain:
a. Perencanaan dan pelaksanaan kegiatan ekstrakulikuker.
b. Perngadaan pengarahan dan pembina kegiatan OSIS.
c. Penginventarisasian absensi dan pelanggaran – pelanggaran.
d. Pembina sekaligus pelaksana kegiatan 5-K.
e. Penilaian terhadap semua siswa yang mewakili sekolah terhadap kegiatan
diluar sekolah.
f. Perencanaan kegiatan setelah siswa lulus
5. Bagian Saran dan Prasarana
Bidang Sarana membidangi sarana dan prasarana, juga bertanggung
jawab atas semua kegiatan belajar mengajar yang antara lain sebagai berikut:
Inventarisasi barang, terdiri atas :
a. Mencatat semua alat / barang yang masuk.
b. Mencatat alat laboratorium yang telah masuk.
c. Mencatat alat peraga olahraga.
d. Pengadaan sarana dan prasarana olahraga.
e. Penyusunan aturan anggaran sekolah
6. Bagian Hubungan Masyarakat
Bagian Humas membidangi hubungan masyarakat, juga bertanggung
jawab atas semua kegiatan belajar mengajar antara lain sebagai berikut :
a. Membina kerjasama dengan masyarakat sekitar sekolah.
b. Membantu pelaksanaan tugas BP3
7. Guru Mata Pelajaran
a. Melaksanakan segala hal kegiatan pembelajaran
b. Melaksanakan kegiatan Penilaian Proses Belajar, Ulangan (Harian,
Umum, dan Akhir)
c. Melaksanakan penilaian dan analisis hasil ulangan harian
d. Melaksanakan program perbaikan dan pengayaan
e. Mengisi daftar nilai siswa
23
f. Membuat catatan tentang kemajuan dari hasil belajar
g. Mengisi daftar hadir siswa sebelum memulai pelajaran
8. Bagian Wali Kelas
a. Pengelolaan kelas
b. Penyelenggaraan administrasi kelas meliputi : Daftar pelajaran kelas,
Papan absensi siswa, Buku absensi siswa, Buku kegiatan
pembelajaran/buku kelas, Tata tertib siswa
c. Mengisi daftar kumpulan nilai (legger)
d. Membuat catatan khusus tentang siswa
e. Pencatatan mutasi siswa
f. Mengisi buku laporan penilaian hasil belajar
g. Pembagian buku laporan hasil belajar
9. Bagian Bimbingan dan Konseling
a. Menyusun program dan pelaksanaan bimbingan dan konseling
b. Koordinasi dengan wali kelas dalam rangka untuk mengatasi masalah-
masalah yang dihadapi oleh para siswa tentang kesulitan dalam belajar
c. Memberikan layanan dan bimbingan kepada siswa supaya lebih
berprestasi dalam Kegiatan belajar
d. Memberikan saran dan pertimbangan kepada siswa dalam memperoleh
gambaran tentang lanjutan pendidikan dan lapangan pekerjaan yang sesuai
10. Bagian Tata Usaha
a. Menyusun program kerja tata usaha sekolah
b. Mengelola keuangan sekolah
c. Mengurus administrasi ketenagaan dan siswa
d. Pembinaan dan pengembangan karir para pegawai tata usaha sekolah
e. Mengkoordinasikan dan melaksanakan 7K
f. Menyusun laporan pelaksanaan kegiatan pengurusan ketata usahaan secara
berkala
3.2. Tinjauan Kasus
Dalam hal ini penggajian yang dilakukan secara manual masih banyak
menemukan kesulitan. Diantaranya pencarian data dalam berkas atau catatan yang
24
begitu banyak dapat menyulitkan dalam perhitungan total gaji, meskipun dokumen
tersebut telah tersusun rapih tetapi tetap saja membutuhkan waktu yang cukup
lama untuk mencari dokumen tersebut. Untuk memudahkan proses penggajuan di
SMP Negeri 64 Jakarta, maka diperlukan suatu program aplikasi yang dapat
memberikan kemudahan dalam pencatatan dan pencarian data penggajian serta
pembuatan laporan penggajian.
3.2.1. Proses Bisnis Sistem Berjalan
Dalam prosedur sistem berjalan ini dijelaskan mengenai sistem yang
berjalan di organisasi tersebut.
1. Prosedur pencatatan absen
Setiap pegawai yang datang wajib mengisi daftar absen kehadiran yang telah
di sediakan oleh sekolah. Daftar absen tersebut digunakan sebagai arsip data
absen yang diperlukan untuk perhitungan gaji setiap akhir bulannya.
2. Prosedur perhitungan gaji
Bendahara sekolah melakukan perhitungan dengan menghitung jumlah
kehadiran setiap pegawai untuk mendapatkan jumlah gaji pokok, transport,
uang makan dan tunjangan-tunjangan didapat dari arsip data absen & data
pegawai. Kemudian disimpan di arsip perhitungan gaji.
3. Prosedur pembayaran gaji
Pembayaran gaji biasanya dilakukan setiap tanggal 5 setiap bulannya yang
akan diberikan oleh bagian bendahara dan dibuat berdasarkan arsip data gaji
kemudian bagian bendahara sekolah membuat slip gaji yang akan diberika
kepada pegawai sebagai tanda bukti pembayaran gaji.
4. Prosedur pelaporan
Berdasarkan arsip data pegawai, data absen. Kemudian bagian bendahara
sekolah membuat laporan penggajian bulanan kepada kepala sekolah.
25
3.2.2. Activity Diagram
Gambar III.2. Activity Diagram Sistem Berjalan
3.2.1. Spesifikasi Dokumen Masukan (input)
Dalam spesifikasi bentuk masukan terdiri dari dokumen masukan (input) yang
diperlukan untuk memasukkan data sebelum data diproses menjadi sebuah
informasi yang diperlukan. Dokumen input yang diperlukan dalam program ini
antara lain sebagai berikut:
26
1 Nama Dokumen : Data Absen
Fungsi
Sumber
Tujuan
Media
Frekuensi
Jumlah
Format
2 Nama Dokumen
Fungsi
Sumber
Tujuan
Media
Frekuensi
Jumlah
Format
: Data Pegawai
: Digunakan untuk mengetahui kehadiran pegawai
: Pegawai Sekolah
: Bendahara Sekolah
: Kertas
: Setiap hari
: Satu lembar
: Lampiran A.1
: Daftar Pegawai
: Digunakan untuk melihat data pegawai
: Pegawai
: Bendahara sekolah
: Kertas
: Setiap ada perhitungan gaji
: Satu lembar
: Lampiran B.1
3.2.2. Spesifikasi Dokumen Keluaran (output)
Rancangan bentuk keluaran yang dimaksud dalam program ini adalah segala
bentuk dokumen yang dihasilkan dari proses pengolahan data masukan, dapat
berupa laporan kertas maupun tampilan pada monitor. Adapun bentuk keluaran
adalah sebagai berikut:
1 Nama Dokumen : Laporan Penggajian Bulanan
Fungsi : Sebagai laporan pembayaran gaji pegawai
Sumber : Pegawai
Tujuan : Kepala Sekolah
27
Media
: Kertas
Frekuensi
: Setiap akhir bulan
Jumlah
: Satu lembar
Format
: Lampiran C.1
3.2.3. Permasalahan Pokok
Setiap mempelajari sistem berjalan tersebut, maka penulis mencoba
memberikan suatu analisa terhadap sistem penggajian pegawai SMP Negeri 64
Jakarta. Dalam hal ini penulis mendapatkan permasalahan-permasalahan yang
terdapat di dalam organisasi tersebut antara lain adalah :
1. Masukan yang dilakukan secara manual mengakibatkan perlunya waktu
cukup lama dalam mengakses data yang diinginkan dan dalam mengupdate
data bila terjadi perubahan atau kesalahan sangat melelahkan bagian
bendahara sekolah.
2. Arsip-arsip yang tidak tersusun rapi mengakibatkan proses penggajian sangat
lambat.
3. Keluaran yang terjadi dari slip gaji dan laporan penggajian perbulan yang
dilakukan secara manual tidak cukup mendukung pimpinan untuk membuat
keputusan sehingga diperlukan bentuk laporan yang lebih baik dapat
mendukug dalam membuat keputusan.
3.2.4. Pemecahan Masalah
Setelah mengetahui permasalahan yang di hadapi oleh SMP Negeri 64
Jakarta, maka untuk mengatasi permasalahan tersebut penulis mengusulkan
analisa sistem penggajian pegawai menggunakan program Netbeans IDE 8.1
sehingga mempermudah proses penginputan data dan pencarian data. Diharapkan
usulan tersebut dapat bermanfaat bagi sekolah.
3.1. Analisa Kebutuhan Software
Analisa kebutuhan perancangan program penggajian dengan menggunakan
Netbeans IDE 8.1 bertujuan untuk menciptakan pengolahan data yang lebih
aktual. Dengan adanya sistem baru yang telah dibuat diharapkan dapat lebih
28
membantu dalam proses transaksi dan pembuatan laporan untuk mempermudah dalam
melakukan penggajian secara keseluruhan.
Dengan adanya sistem baru yang telah dibuat diharapkan dapat lebih membantu dalam
proses transaksi dan pembuatan laporan untuk mempermudah dalam melakukan transaksi
penjualan secara keseluruhan.
3.3.1 Analisa Kebutuhan
Kegiatan yang ada pada program penggajian pegawai adalah sebagai berikut:
A. Halaman Pengguna (Tata Usaha)
A.1 Pengguna Login
A.2. Pengguna dapat melihat dashboard, bila login berhasil.
A.3 Pengguna dapat melihat data guru.
A.4 Pengguna dapat melihat data jabatan
A.5 Pengguna dapat melihat data absensi.
A.6 Pengguna dapat melihat data gaji
A.7 Pengguna dapat input data guru.
A.8 Pengguna dapat input data jabatan.
A.9 Pengguna dapat input data absensi.
A.10 Pengguna dapat input data gaji.
A.11 Pengguna dapat mencetak laporan data pegawai
A.12 Pengguna dapat mencetak laporan data gaji
A.13 Pengguna dapat mencetak slip gaji
A.14 Pengguna dapat logout
3.3.2 Use Case Diagram
Gambar III.3. Use Case Diagram
Use Case Narative
Tujuan Pengguna dapat melakukan pengolahan data yang ada di menu data pegawai, menu data absen, menu data jabatan, menu data gaji, menu laporan per data.
Deskripsi Sistem ini memungkinkan aktor untuk mengelola sistem penggajian mulai dari iput data sampai dengan pembuatan laporan
Skenario Utama
Aktor Pengguna
Kondisi Awal Aktor membuka Aplikasi penggajian, login dan masuk ke menu utama
Aksi Aktor Reaksi Sistem
1. Aktor memilih Sistem akan menampilkan nama user dan kata sandi. tombol login
2. Aktor memilih Sistem akan menampilkan submenu dari menu utama seperti menu data
tombol menu pegawai, menu data absen, menu data jabatan, menu data gaji, logout.
utama
3. Aktor memilih Sistem akan menampilkan submenu persediaan barang seperti tambah, ubah,
tombol menu data hapus, kembali dan cari
pegawai
4. Aktor memilih Sistem akan menampilkan submenu data jabatan seperti tambah, ubah, hapus,
tombol menu data kembali dan cari
jabatan
5. Aktor memilih Sistem akan menampilkan submenu data pegawai seperti tambah, ubah, hapus,
tombol menu data kembali dan cari
pegawai
6. Aktor memilih Sistem akan menampilkan submenu data gaji seperti tambah, ubah, hapus,
tombol menu data kembali dan cari
30
gaji
7. Aktor memilih Sistem akan menampilkan submenu laporan penggajian seperti simpan, cetak,
tombol menu dan ukuran kertas
laporan
penggajian
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti yang diinginkan oleh si Aktor.
3.3.3. Activity Diagram Login
Gambar III.4. Activity Diagram Login
31 3.3.4. Activity Diagram Data Pegawai
Gambar III.5. Activity Diagram Data Pegawai
3.3.5. Activity Diagram Data Jabatan
Gambar III.6. Activity Diagram Data Jabatan
32
3.3.6. Activity Diagram Data Absen
Gambar III.7. Activity Diagram Data Absen
3.3.7. Activity Diagram Data Gaji
Gambar III.8. Activity Diagram Data Gaji
33 3.3.8. Activity Diagram Laporan Data Pegawai
Gambar III.9. Activity Diagram Laporan Data Pegawai
3.3.9. Activity Diagram Laporan Data Absen
Gambar III.10. Activity Diagram Laporan Data Absen
34 3.3.10. Activity Diagram Laporan Data Gaji
Gambar III.11. Activity Diagram Laporan Data Gaji
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Gambar III.12. Entity Relationship Diagram (ERD)
3.4.2. Logical Record Structure (LRS)
Gambar III.13. Logical Record Structure (LRS)
3.4.3. Spesifikasi File
Berikut adalah tabel-tabel yang ada pada Database penggajian.java :
1. Spesifikasi file pegawai
Nama File : Pegawai
Akronim : Pegawai
Fungsi : Menyimpan data pegawai
Tipe File : File master
Organisasi File : Index Sequential
Akses File : Random
Media : Hard disk
Panjanng Record : 380 Byte
Tabel III. 2 Spesifikasi File Pegawai
No Elemen Data Akronim Type Panjang Keterangan
1 Nomor Induk NIP varchar 20 Primary Key
Pegawai
2 Nama Nama varchar 30
3 Alamat Alamat varchar 50
4 Tempat Tempat varchar 50
5 Tanggal Lahir Tgllahir Date
6 Jenis Kelamin Idjk varchar 20
7 Agama Idagm varchar 20
8 Pendidikan Pendidikan varchar 20
2. Spesifikasi file jabatan
Nama file : Jabatan
Akronim : jabatan
Fungsi : Menyimpan data jabatan
Tipe file : File Master
Organisasi file : Index Sequential
Akses file : Random
Media : Hard disk
Panjang record: 130 Byte
Kunci field : id_jabatan
Software : XAMPP
Tabel III.3 Spesifikasi Tabel Jabatan
No Elemen Data Akronim Type Panjang Keterangan
37
1 Kode Jabatan id_jabatan varchar 10 Primary Key
2 Jabatan Jabatan varchar 30
3 Gaji Pokok Gapok integer 18
4 Total Jabatan Tjabat integer 18
5 Total Transport Ttransport integer 18
6 Insentif Insentif integer 18
7 Total Total integer 18
3. Spesifikasi file absen
Nama file : Absen
Akronim : absen
Fungsi : Menyimpan data absen
Tipe file : File Master
Organisasi file : Index Sequential
Akses file : Random
Media : Hard disk
Panjang record: 70 Byte
Kunci field : kd_absen
Software : XAMPP
Tabel III. 4 Spesifikasi Tabel Absen
No Elemen Data Akronim Type Panjang Keterangan
1 Kode Absen kd_absen varchar 10 Primary Key
2 Tanggal Tgl date
3 Nomor Induk Pegawai NIP varchar 20 Foreign Key
4 Total Kehadiran totkehadiran varchar 20
38
5 Sakit Sakit varchar 5
6 Izin Izin varchar 5
7 Tanpa Keterangan Tanpaket varchar 5
8 Terlambat Terlambat varchar 5
4. Spesifikasi file gaji
Nama file : Gaji
Akronim : gaji
Fungsi : Menyimpan data gaji
Tipe file : File Penggajian
Organisasi file : Index Sequential
Akses file : Random
Media : Hard disk
Panjang record: 158 Byte
Kunci field : kd_gaji
Software : XAMPP
Tabel III.5. Spesifikasi Tabel Gaji
No Elemen Data Akronim Type Panjang Keterangan
1 Kode Gaji kd_gaji varchar 10 Primary Key
2 Tanggal Tgl date -
3 Kode Jabatan id_jabatan varchar 20 Foreign Key
4 Nomor Induk Pegawai NIP integer 20 Foreign Key
5 Sakit Sakit integer 18
6 Izin Izin integer 18
7 Tanpa Keterangan Tanpaket integer 18
8 Terlambat Terlambat integer 18
9 Total Potongan Totpot integer 18
39
10 Total Gaji Totgaji integer 18
3.4.4. Sequence Diagram
Gambar III.14. Sequence Diagaram Gaji
3.4.5. Deployment Diagram
Gambar III.15. Deployment Diagram
40
3.4.6. User Interface
Gambar III.16. Login
Gambar III.17. Menu Utama
Gambar III.18. Form Data Guru
41
Gambar III.19. Form Data Jabatan
Gambar III.20. Form Data Absen
42
Gambar III.21. Form Data Gaji
Gambar III.22. Form Laporan Data Absen
43
Gambar III.23. Form Laporan Data Pegawai
Gambar III.22. Form Laporan Data Gaji
44
Gambar III.22. Form Laporan Slip Gaji
45
3.5. Implementasi
3.5.1. Code Generation
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel2 = new javax.swing.JLabel(); jButton1 =
new javax.swing.JButton(); Jpanel2 = new
javax.swing.JPanel(); jLabel3 = new
javax.swing.JLabel(); jLabel5 = new
javax.swing.JLabel(); jLabel4 = new
javax.swing.JLabel(); jLabel6 = new
javax.swing.JLabel(); jLabel7 = new
javax.swing.JLabel(); txtNama = new
javax.swing.JTextField(); txtNmaJabatan = new
javax.swing.JTextField(); txtGapok = new
javax.swing.JTextField(); jLabel8 = new
javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new
javax.swing.JLabel(); btnCari = new
javax.swing.JButton(); txtTotGaji = new
javax.swing.JTextField(); txtTunJab = new
javax.swing.JTextField(); jLabel16 = new
javax.swing.JLabel(); txtTotPotongan = new
javax.swing.JTextField(); jTglGaji = new
com.toedter.calendar.JDateChooser(); jLabel1 = new
javax.swing.JLabel(); txtKdGaji = new javax.swing.JTextField();
txtCariNip = new javax.swing.JTextField();
jLabel17 = new javax.swing.JLabel(); jPanel2 =
new javax.swing.JPanel(); txtSakit = new
javax.swing.JTextField(); jLabel13 = new
javax.swing.JLabel(); txtTanKet = new
javax.swing.JTextField(); jLabel15 = new
javax.swing.JLabel(); jLabel14 = new
javax.swing.JLabel(); txtIzin = new
javax.swing.JTextField(); jLabel12 = new
javax.swing.JLabel(); txtLambat = new
javax.swing.JTextField(); txtComboNip = new
javax.swing.JComboBox<>(); jLabel11 = new
javax.swing.JLabel(); jLabel18 = new javax.swing.JLabel();
txtTunjTransport = new javax.swing.JTextField();
txtTunjInsentif = new javax.swing.JTextField();
txtTotGajiAwal = new javax.swing.JTextField();
jLabel19 = new javax.swing.JLabel(); jLabel20 =
new javax.swing.JLabel();
46
txtUangLembur = new javax.swing.JTextField();
jPanel1 = new javax.swing.JPanel();
labelKasbon = new javax.swing.JLabel();
txtKasbon = new javax.swing.JTextField();
jLabel21 = new javax.swing.JLabel();
txtAngsuran = new javax.swing.JTextField();
jLabel22 = new javax.swing.JLabel();
txtJamsostek = new javax.swing.JTextField();
jLabel23 = new javax.swing.JLabel();
txtLainLain = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel(); jLabel24 = new javax.swing.JLabel(); jLabel25 =
new javax.swing.JLabel(); jLabel26 = new
javax.swing.JLabel(); txtHariKerja = new
javax.swing.JTextField(); txtJmlHariKerja = new
javax.swing.JTextField(); txtJmlLembur = new
javax.swing.JTextField(); jLabel27 = new
javax.swing.JLabel(); jLabel28 = new
javax.swing.JLabel(); txtComboBulan = new
javax.swing.JComboBox<>(); jLabel29 = new
javax.swing.JLabel(); txtTahunGaji = new
javax.swing.JTextField(); txtKodeJabatan = new
javax.swing.JTextField(); jPanel4 = new
javax.swing.JPanel(); btnBatal = new javax.swing.JButton();
btnSimpan = new javax.swing.JButton();
btnEdit = new javax.swing.JButton();
btnHapus = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tblGaji = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOS
E);
jLabel2.setFont(new java.awt.Font("SansSerif", 1, 16)); // NOI18N
jLabel2.setText("FORM DATA GAJI");
jButton1.setText("Close"); jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt);
}
});
Jpanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
47
jLabel3.setText("Tanggal");
jLabel5.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel5.setText("Kode Jabatan");
jLabel4.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel4.setText("NIP");
jLabel6.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel6.setText("Jabatan");
jLabel7.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel7.setText("Nama");
jLabel8.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel8.setText("Tunj.Jabatan");
jLabel9.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel9.setText("Gaji Pokok");
jLabel10.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel10.setText("Hasil Yang Didapat");
btnCari.setText("Cari"); btnCari.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCariActionPerformed(evt);
}
});
jLabel16.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel16.setText("Total Potongan");
txtTotPotongan.addKeyListener(new java.awt.event.KeyAdapter()
{ public void keyPressed(java.awt.event.KeyEvent evt) { txtTotPotonganKeyPressed(evt);
} public void keyTyped(java.awt.event.KeyEvent evt) {
txtTotPotonganKeyTyped(evt); }
});
jTglGaji.setDateFormatString("yyyy-MM-dd");
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel1.setText("KD Gaji");
jLabel17.setText("Cari NIP");
48
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Potonga
n Absensi"));
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel13.setText("Sakit");
jLabel15.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel15.setText("Tanpa Keterangan");
jLabel14.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel14.setText("Izin");
jLabel12.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel12.setText("Terlambat");
javax.swing.GroupLayout jPanel2Layout = new
javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.TRAILING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel13)
.addGap(18, 18, 18)
.addComponent(txtSakit,
javax.swing.GroupLayout.PREFERRED_SIZE, 80,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel15)
.addGap(13, 13, 13)
.addComponent(txtTanKet,
javax.swing.GroupLayout.PREFERRED_SIZE, 80,
javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.TRAILING)
.addComponent(jLabel14)
.addComponent(jLabel12))
49
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(txtLambat,
javax.swing.GroupLayout.PREFERRED_SIZE, 80,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(txtIzin,
javax.swing.GroupLayout.PREFERRED_SIZE, 80,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) .addComponent(txtSakit,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel13) .addComponent(jLabel14)
.addComponent(txtIzin,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) .addComponent(txtTanKet,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel15)
50
.addComponent(jLabel12)
.addComponent(txtLambat,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
txtComboNip.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Silakan Pilih" }));
txtComboNip.addActionListener(new java.awt.event.ActionListener()
{ public void actionPerformed(java.awt.event.ActionEvent evt) { txtComboNipActionPerformed(evt);
}
});
jLabel11.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel11.setText("Tunj.Transport");
jLabel18.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel18.setText("Tunj.Insentif");
jLabel19.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel19.setText("Total + Lembur");
jLabel20.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel20.setText("Uang Lembur");
txtUangLembur.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) { txtUangLemburKeyPressed(evt);
}
});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Potonga
n Lain - Lain"));
labelKasbon.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
labelKasbon.setText("Kasbon");
jLabel21.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel21.setText("Angsuran");
jLabel22.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel22.setText("Jamsostek");
51
jLabel23.setText("Lain Lain");
javax.swing.GroupLayout jPanel1Layout = new
javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addComponent(jLabel22)
.addComponent(jLabel21)
.addComponent(labelKasbon)
.addComponent(jLabel23))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.TRAILING, false)
.addComponent(txtLainLain, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 148, Short.MAX_VALUE)
.addComponent(txtJamsostek,
javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtAngsuran,
javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(txtKasbon,
javax.swing.GroupLayout.DEFAULT_SIZE, 148, Short.MAX_VALUE))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(labelKasbon)
.addComponent(txtKasbon,
52
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(jLabel21)
.addComponent(txtAngsuran,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(jLabel22)
.addComponent(txtJamsostek,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(jLabel23)
.addComponent(txtLainLain,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 42, Short.MAX_VALUE))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Hari
Kerja"));
jLabel24.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel24.setText("Hari Kerja Efektif");
jLabel25.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel25.setText("Jml Hari Kerja");
53
jLabel26.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel26.setText("Jml Jam Lembur");
javax.swing.GroupLayout jPanel3Layout = new
javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.TRAILING)
.addComponent(jLabel26)
.addComponent(jLabel24)
.addComponent(jLabel25))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.TRAILING)
.addComponent(txtJmlHariKerja)
.addComponent(txtHariKerja, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtJmlLembur,
javax.swing.GroupLayout.Alignment.LEADING))
.addGap(4, 4, 4))
); jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(jLabel24)
.addComponent(txtHariKerja,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(4, 4, 4)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
54
ignment.BASELINE)
.addComponent(jLabel25)
.addComponent(txtJmlHariKerja,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING) .addComponent(txtJmlLembur,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel26))
.addGap(0, 0, Short.MAX_VALUE))
);
jLabel27.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel27.setText("-");
jLabel28.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel28.setText("Gaji Bulan");
txtComboBulan.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "Januari",
"Pebruari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus",
"September", "Oktober", "November", "Desember" }));
jLabel29.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel29.setText("Thn");
javax.swing.GroupLayout Jpanel2Layout = new
javax.swing.GroupLayout(Jpanel2); Jpanel2.setLayout(Jpanel2Layout);
Jpanel2Layout.setHorizontalGroup(
Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGap(260, 260, 260)
.addComponent(btnCari,
55
javax.swing.GroupLayout.PREFERRED_SIZE, 70,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A lignment.TRAILING)
.addComponent(jLabel1)
.addComponent(jLabel17)
.addComponent(jLabel3)
.addComponent(jLabel28)
.addComponent(jLabel4)
.addComponent(jLabel7)
.addComponent(jLabel6)
.addComponent(jLabel5)
.addComponent(jLabel9)))
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jLabel11)
.addGroup(Jpanel2Layout.createSequentialGroup() .addGap(10, 10, 10)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING)
.addComponent(jLabel18)
.addComponent(jLabel8)
.addComponent(jLabel20))))))
.addGap(30, 30, 30)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false) .addComponent(jTglGaji,
javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
.addComponent(txtCariNip))
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(Jpanel2Layout.createSequentialGroup()
56
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING)
.addGroup(Jpanel2Layout.createSequentialGroup() .addComponent(txtComboBulan, 0,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(jLabel29)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED) .addComponent(txtTahunGaji,
javax.swing.GroupLayout.PREFERRED_SIZE, 63,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING, false)
.addComponent(txtUangLembur, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 271, Short.MAX_VALUE)
.addComponent(txtTunjInsentif,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtTunJab, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtTunjTransport,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtGapok,
javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtComboNip,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE, 130,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtNama,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtKodeJabatan,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtNmaJabatan,
javax.swing.GroupLayout.Alignment.LEADING)) .addComponent(txtKdGaji,
javax.swing.GroupLayout.PREFERRED_SIZE, 270,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D, 7, Short.MAX_VALUE)))))
57
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(Jpanel2Layout.createSequentialGroup() .addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addComponent(jLabel16)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(txtTotPotongan,
javax.swing.GroupLayout.PREFERRED_SIZE, 121,
javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18)
.addComponent(jLabel27)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED) .addComponent(jLabel19)
.addGap(17, 17, 17))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
Jpanel2Layout.createSequentialGroup()
.addComponent(jLabel10)
.addGap(18, 18, 18)))
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false) .addComponent(txtTotGaji,
javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
.addComponent(txtTotGajiAwal))
.addGap(0, 0, Short.MAX_VALUE)))
58
.addContainerGap())
);
Jpanel2Layout.setVerticalGroup(
Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A lignment.LEADING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtCariNip,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnCari)
.addComponent(jLabel17))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING) .addComponent(jLabel3,
javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(Jpanel2Layout.createSequentialGroup()
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtKdGaji,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(jTglGaji,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(8, 8, 8)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
59
lignment.BASELINE)
.addComponent(jLabel28)
.addComponent(txtComboBulan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel29) .addComponent(txtTahunGaji,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(7, 7, 7)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel4,
javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtComboNip,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtNama,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel7,
javax.swing.GroupLayout.PREFERRED_SIZE, 14,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel5,
javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtKodeJabatan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
60
.addGap(8, 8, 8)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel6,
javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtNmaJabatan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING) .addComponent(txtGapok,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel9))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtTunjTransport,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel11))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtTunJab,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
61
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel18)
.addComponent(txtTunjInsentif,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel20)
.addComponent(txtUangLembur,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(33, Short.MAX_VALUE))
.addGroup(Jpanel2Layout.createSequentialGroup() .addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE) .addComponent(txtTotPotongan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel16)
.addComponent(jLabel19)
62
.addComponent(txtTotGajiAwal,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel27))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(Jpanel2Layout.createParallelGroup(javax.swing.GroupLayout.A lignment.BASELINE)
.addComponent(jLabel10)
.addComponent(txtTotGaji,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(39, 39, 39))))
);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
btnBatal.setText("Batal"); btnBatal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { btnBatalActionPerformed(evt);
}
}); jPanel4.add(btnBatal);
btnSimpan.setText("Simpan"); btnSimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { btnSimpanActionPerformed(evt);
}
});
jPanel4.add(btnSimpan);
btnEdit.setText("Edit"); btnEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { btnEditActionPerformed(evt);
}
});
jPanel4.add(btnEdit);
btnHapus.setText("Hapus");
btnHapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
63
btnHapusActionPerformed(evt);
}
});
jPanel4.add(btnHapus);
tblGaji.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] { {null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}, {null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"Kd_Gaji", "Taggal", "ID Jabatan", "Jabatan", "NIP"
}
)); tblGaji.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) { tblGajiMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tblGaji);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING )
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(326, 326, 326)
.addComponent(jLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 150,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(209, 209, 209)
.addComponent(jButton1))
.addComponent(Jpanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1)
64
.addComponent(jPanel4,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING )
.addGroup(layout.createSequentialGroup()
.addGap(5, 5, 5)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment .LEADING)
.addComponent(jButton1,
javax.swing.GroupLayout.PREFERRED_SIZE, 30,
javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup()
.addGap(13, 13, 13)
.addComponent(jLabel2)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(Jpanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(jPanel4,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D) .addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 120,
javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap())
);
pack();
}// </editor-fold>
65
3.5.2. Testing (Black Box Testing)
A. Pengujian terhadap halaman Login
Tabel III. 6
Pengujian Black Box Testing pada halaman Login
Hasil yang di Hasil
No Skenario Pengujian Kesimpulan
Harapkan Pengujian
1 Mengosongkan isian Program akan Sesuai Valid data Login, lalu tekan menolak, karena Harapan
“Login”. Username dan
Password tidak
boleh kosong.
Message “Password
salah/ Username
Salah”
2 Mengisi data Program akan Sesuai Valid “Username”, lalu mengarahkan Setfocus Harapan
tekan “Enter”. Pada
Password.
3 Mengisi data Program akan Sesuai Valid “Username”, lalu Memunculkan Harapan
tekan “Enter”. peringatan “Kode
Pengguna Tidak
Terdaftar, Coba Lagi!”
jika username
yang diinput salah.
4 Mengisi data Jika Password benar, Sesuai Valid
“Password”, lalu Akan menuju ke Harapan
66
tekan “Enter” Form Splash, lalu
diarahkan ke Form
Menu Utama.
5 Mengisi data Namun jika Sesuai Valid
“Password”, lalu “Password” yang Harapan
tekan “Enter” dimasukkan salah,
maka akan muncul
Peringatan
“Password Salah,
Coba Lagi!”
Tabel III. 7
Pengujian Black Box Testing pada halaman Menu Utama
Hasil yang di Hasil
No Skenario Pengujian Kesimpulan
Harapkan Pengujian
1 Memilih “Logout” Muncul peringatan Sesuai Valid pada menu “File”. konfirmasi “Anda Harapan
yakin ingin Logout?”.
Dengan pilihan “Ya”
Atau
“Tidak”.
2 Memilih “Exit” pada Otomatis keluar dari Sesuai Valid
menu “File”. Program. Harapan
67
3 Memilih “Data Diarahkan menuju Sesuai Valid
Barang” pada menu Form Data Pegawai. Harapan
“Master”.
4 Memilih “Data Diarahkan menuju Sesuai Valid Jabatan” pada menu Form Data Absen. Harapan
“Master”.
5 Memilih Gaji di Menu Diarahkan menuju Sesuai Valid Utama. Form untuk melakukan Harapan
Input Data Gaji.
6 Memilih “Laporan Diarahkan menuju Sesuai Valid Gaji” pada menu Form Laporan, untuk Harapan
“Laporan”. memilih Laporan mana
yang ingin
dicetak.
7 Memilih “Laporan Langsung mencetak Sesuai Valid Data Pegawai” pada Data Pegawai yang Harapan
menu “Laporan”. ada pada Database
8 Memilih “Laporan Langsung mencetak Sesuai Valid Data Jabatan” pada Data Jabatan yang ada Harapan
menu pada Database
“Laporan”.
9 Memilih “Data Diarahkan menuju Sesuai Valid
Pengguna” pada Form Data Harapan
68
menu “Utility”. Pengguna.
Tabel III.9
Pengujian Black Box Testing pada halaman Data Pegawai
Hasil yang di Hasil
No Skenario Pengujian Kesimpulan
harapkan Pengujian
1 Klik “Add” untuk Setfocus akan Sesuai Valid mengisi data (NIP, berpindah saat di klik Harapan
Nama, Alamat, “Enter”
Tempat, Tanggal
Lahir, Jenis Kelamin,
Agama dan
Pendidikan).
2 Klik “Edit” Jika ada Dengan Sesuai Valid
Data Barang yang menggunakan sistem Harapan
ingin di rubah. Replace, jadi setiap
yang di edit, akan
langsung berganti.
Tanpa membuat data
pegawai menjadi
Double.
3 Klik “Cancel” Untuk membatalkan Sesuai Valid penginputan Data Harapan
Pegawai.
69
4 Klik “Delete” Untuk menghapus Sesuai Valid
data pegawai yang Harapan
tidak diinginkan.
5 Klik “Close” Menutup Program dan Sesuai Valid kembali ke Harapan
Menu Utama.
6 Klik “Exit” Muncul peringatan Sesuai Valid konfirmasi “Anda Harapan
yakin ingin keluar
program?”. Dengan
pilihan “Ya” atau
“Tidak”.
Tabel III. 4
Pengujian Black Box Testing pada halaman Data Jabatan
Hasil yang di Hasil No Skenario Pengujian Kesimpulan
Harapkan Pengujian
1 Klik “Add” untuk Setfocus akan Sesuai Valid mengisi data (Kode, berpindah saat di klik Harapan
Jabatan, Gaji Pokok, “Enter”
Total Jabatan, Total
Transport, Insentif,
Total).
70
2 Klik “Edit” Jika ada Dengan menggunakan Sesuai Valid
Data Jabatan yang sistem Replace, jadi Harapan
ingin di rubah. setiap yang di edit,
akan langsung
berganti.
Tanpa membuat data
jabatan menjadi
Double.
3 Klik “Cancel” Untuk membatalkan Sesuai Valid penginputan Data Harapan
Jabatan.
4 Klik “Delete” Untuk menghapus data Sesuai Valid jabatan yang Harapan
tidak diinginkan.
5 Klik “Close” Menutup Program Sesuai Valid
dan kembali ke Harapan
Menu Utama.
6 Klik “Exit” Muncul peringatan Sesuai Valid
konfirmasi “Anda Harapan
yakin ingin keluar
program?”. Dengan
pilihan “Ya” atau
“Tidak”.
71
Tabel III. 10
Pengujian Black Box Testing pada halaman Gaji
Hasil yang di Hasil
No Skenario Pengujian Kesimpulan
Harapkan Pengujian
1 Klik “Cari” untuk Saat di klik “Add” Sesuai Valid mencari data (Kode akan muncul secara Harapan
Gaji). otomatis, kode,jabatan,
total absensi).
.
2 Mengisi Langsung diarahkan Sesuai Valid “Sakit/Izin/Tanpaket/T menuju total potongan Harapan
erlambat” berapa kali
3 Memilih Setfocus langsung Sesuai Valid
“Hasil Gaji” pada pemilihan Hasil Harapan
Gaji. Dan akan
langsung otomatis
muncul.
72
4 Menginput Pemilihan dapat di Sesuai Valid
pilih melalui, atau Harapan
melakukan pencarian
pada
kolom “Cari”
5 Klik “Cancel” Untuk membatalkan Sesuai Valid Penginputan Harapan
6 Klik “Close” Menutup Program dan Sesuai Valid
kembali
ke Harapan
Menu Utama.
7 Klik “Exit” Muncul peringatan Sesuai Valid konfirmasi “Anda Harapan
yakin ingin keluar
program?”. Dengan
pilihan “Ya” atau
“Tidak”.
3.5.3. Spesifikasi Hardware dan Software
Hardware adalah perangkat keras yang dimiliki oleh sebuah sistem
komputer. Software jaringan komputer adalah peramgkat lunak atau program baik
itu sistem operasi maupun program aplikasi yang berfungsi untuk mendukung
jaringan komputer.
Sistem Operasi : Microsoft Windows 7 Starter
Processor : Dual Core E-450 APU 1.65 GHz
Hardisk : 2 GB
Monitor : 320 GB
Keyboard : 15”
Printer : Canon
Mouse : Standart
Keyboard : Qwerty
Software : Bahasa Pemrograman : Java
Aplikasi Pendukung : Xampp