22
BAB III
ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan
Kegiatan rutin pada SMK Texmaco Purwasari Karawang terdapat aturan yang ditentukan dalam pelaksanaannya, dalam hal ini struktur organisasi yang menggambarkan garis perintah serta fungsi-fungsi pelaksanaan. Penulis akan menerangkan profil sekolah, visi misi, serta struktur organisasi ditempat penulis mengadakan riset, dalam pembuatan Tugas Akhir ini.
3.1.1. Sejarah Perusahaan
SMK Texmaco Purwasari Karawang adalah sekolah swasta yang berdiri pada tahun 2014, didirikan oleh Yayasan Pusat Pengembangan Ilmu dan Teknologi Texmaco dan memiliki luas tanah ± 5730 m/SHM dengan luas keseluruhan bangunan 672. Sekolah tersebut berlokasi di Jl. Moch. Sodiq, Ds. Sukasari Kec. Purwasari Kab. Karawang. Status Akreditasi SMK Texmaco Purwasari Karawang adalah peringkat B dan berdasarkan Perizinan Operasional Nomor: 421.9/Kep. /2/I/SMK-BPMPT/V/2016 pada tanggal 26 Mei 2016. Sedangkan program keahlian yang terdapat pada SMK Texmaco Purwasari Karawang diantaranya Teknik Sepeda Motor (TSM), Administrasi Perkantoran (AP), Teknik Komputer Jaringan (TKJ), Teknik Pemeliharaan Mekanik Industri (TPMI), dan Teknik Elektronika Industri (TEI), dengan 36 tenaga pendidik dan 780 siswa.
Visi dan Misi dari SMK Texmaco Purwasari Karawang adalah sebagai berikut:
1. Visi: “Menjadi SMK unggulan untuk menciptakan tenaga kerja menengah professional yang bertaqwa, cerdas, mandiri dan kompetitif”.
2. Misi
a. Mendidik peserta didik yang bertaqwa Kepada Tuhan Yang Maha Esa. b. Mendidik peserta didik yang mempunyai sikap kepribadian, berbudi
pekerti luhur, berpengetahuan, trampil serta berpikir kreatif dan inovatif. c. Menyiapkan peserta didik yang mampu mandiri sesuai program
keahliannya dan berjiwa wirausaha dengan bekerjasama dalam bidang pendidikan dunia kerja dan dunia industri.
d. Menyiapkan peserta didik agar dapat mengikuti perkembangan IPTEK sesuai tutunan dunia kerja dengan meningkatkan penelitian dan kerjasama industri.
e. Meningkatkan kerjasama dengan dunia usaha atau dunia industri dan intansi terkait.
3.1.1. Struktur Organisasi dan Fungsi
Struktur Organisasi adalah suatu susunan dan hubungan antara tiap bagian secara posisi yang ada pada sekolah dalam menjalin kegiatan operasional untuk mencapai tujuan. Organisasi atau sekolah memegang peranan yang sangat penting. Setiap sekolah harus mempunyai struktur organisasi yang baik agar koordinasi dan tata kerja dapat tergambar dengan jelas, sehingga dapat berfungsi dengan maksimal.
Berikut adalah gambar struktur organisasi serta fungsi dari tiap bagian yang ada pada SMK Texmaco Purwasari Karawang:
Ka. Program Studi TSM
Ka. Program Studi TKJ
Ka. Program Studi TEI
Ka. Program Studi TPMI
Ka. Program Studi AP
WALI KELAS
GURU
SISWA KETUA YPPIT TEXMACO
STAFF TATA USAHA KEPALA SEKOLAH KOORD. HUBINMAS WAKASEK SARPRAS WAKASEK KURIKULUM WAKASEK KESISWAAN KOMITE SEKOLAH KA TATA USAHA KOORD. BP/BK
Sumber : SMK Texmaco Purwasari Karawang. Gambar III.1.
Adapun tugas dan fungsi dari tiap bagian yang terdapat pada struktur organisasi SMK Texmaco Purwasari Karawang adalah sebagai berikut:
a. Ketua Yayasan
Wewenang dan tangung jawab dari ketua yayasan, yaitu: a. Merekrut Kepala Sekolah, dan guru.
b. Menentukan manajemen keuangan.
c. Menandatangani kesepakatan kerja bersama dan SK sebagai legalitas dokumen.
d. Menentukan kebjakan sekolah. b. Kepala Sekolah
Wewenang dan tangung jawab dari kepala sekolah, yaitu:
a. Menjaga terlaksananya dan ketercapaian program kerja sekolah.
b. Melakukan pengawasan dan penilaian kinerja tenaga pendidik dan kependidikan.
c. Merencanakan, mengelola, dan mempertanggung jawabkan keuangan sekolah.
d. Mengusulkan promosi dan mutase pendidik dan tenaga kependidikan. e. Mengangkat dan menetapkan personal struktur organisasi.
f. Melegalisasi dokumen organisasi.
g. Mengembangkan SDM. c. Komite Sekolah
Wewenang dan tangung jawab dari komite sekolah, yaitu:
a. Membantu meningkatkan kelancaran penyelenggaraan kegiatan belajar mengajar di sekolah baik sarana, prasarana maupun teknis pendidikan.
b. Melakukan penilaian sekolah untuk pengembangan pelaksanaan kurikulum, baik intra maupun ekstra kulikuler dan pelaksanaan manajemen sekolah, kepala sekolah atau wakil kepala sekolah, guru dan siswa.
c. Melakukan pembahasan tentang usulan Rancangan Anggaran Pendapatan dan Belanja Sekolah.
d. Memberikan penghargaan atas keberhasilan manajemen sekolah.
e. Meminta sekolah agar mengadakan pertemuan untuk kepentingan tertentu.
d. Wakil Kepala Sekolah Bidang Kesiswaan
Wewenang dan tangung jawab dari wakil kepala sekolah bidang kesiswaan, yaitu:
a. Mengkoordinasikan penerimaan siswa baru.
b. Mengkoordinasikan pelaksanaan masa orientasi peserta didik (MOS). c. Mengkoordinasikan pendistribusian semua bentuk beasiswa.
d. Mengkoordinasikan pelaksanaan ketertiban, kedisiplinan, keamanan, dan kekeluargaan.
e. Mengkoordinasikan pemilihan kepegurusan dan diklat OSIS.
f. Membina program kegiatan OSIS.
g. Melakukan tindakan terhadap siswa terkait pelanggaran tata tertib siswa. h. Mengkoordinasikan pelaksanaan kegiatan lomba.
i. Mengkoordinasikan ekstra kulikuler.
e. Wakil Kepala Sekolah Bidang Kurikulum
Wewenang dan tangung jawab dari wakil kepala sekolah bidang kurikulum, yaitu:
a. Menyusun program kerja bidang kurikulum
b. Mengkoordinasikan pelaksanaan dan pengembangan kurikulum. c. Mengkoordinasikan pelaksanaan evaluasi pembelajaran.
d. Memantau pelaksanaan pembelajaran.
e. Menyusun kalender pendidikan dan jadwal pembelajaran.
f. Mengusulkan tugas mengajar pada masing-masing guru.
g. Menghitung dan melaporkan jam mengajar guru.
h. Merencanakan kebutuhan tenaga pendidik dan kependidikan.
f. Wakil Kepala Sekolah Bidang Sarana Prasarana
Wewenang dan tangung jawab dari wakil kepala sekolah bidang sarana prasarana, yaitu:
a. Menyusun rencana kebutuhan sarana dan prasarana. b. Mengadministrasikan penggunaan sarana prasarana. c. Pengolahan pembiayaan alat-alat pengajaran.
d. Menyusun laporan pelaksanaan urusan sarana dan prasarana secara berkala.
g. Tata Usaha
Wewenang dan tangung jawab dari tata usaha, yaitu:
a. Menyusun dan melaksanakan program tata usaha sekolah. b. Menyusun dan melaksanakan kegiatan keuangan sekolah. c. Mengurus administrasi kepegawaian.
d. Menyusun administrasi perlengkapan sekolah. e. Menyusun administrasi lainnya.
h. Staff Tata Usaha
Wewenang dan tangung jawab dari staff tata usaha, yaitu:
a. Merekap data serta mengarsipkan dokumen yang berkaitan dengan tata usaha.
b. Membantu ketua tata usaha dalam menjalankan tugas administrasi sekolah.
c. Menyusun laporan administrasi sekolah dan melaporkannya kepada ketua tata usaha secara berkala.
i. Ketua Program Studi Teknik Sepeda Motor
Wewenang dan tangung jawab dari ketua program studi teknik sepeda motor, yaitu:
a. Menyusun program dan perkembangan program studi teknik sepeda motor.
b. Mengkoordinasi penggunaan ruang jurusan teknik sepeda motor.
c. Merencanakan dan menyiapkan bahan-bahan sesuai dengan kebutuhan kegiatan prektek.
d. Peningkatab prestasi dalam jurusan teknik sepeda motor.
e. Menyusun laporan pelaksanaan kegiatan program studi teknik sepeda motor secara berkala kepada kepala sekolah.
j. Ketua Program Studi Teknik Komputer Jaringan
Wewenang dan tangung jawab dari ketua program studi teknik komputer jaringan, yaitu:
a. Menyusun program dan perkembangan program studi teknik komputer jaringan.
b. Mengkoordinasi penggunaan ruang jurusan teknik komputer jaringan. c. Merencanakan dan menyiapkan bahan-bahan sesuai dengan kebutuhan
kegiatan prektek.
d. Peningkatab prestasi dalam jurusan teknik komputer jaringan.
e. Menyusun laporan pelaksanaan kegiatan program studi teknik komputer jaringan secara berkala kepada kepala sekolah.
k. Ketua Program Studi Teknik Elektronika Industri
Wewenang dan tangung jawab dari ketua program studi teknik elektronika industri, yaitu:
a. Menyusun program dan perkembangan program studi teknik elektronik industri.
b. Mengkoordinasi penggunaan ruang jurusan teknik elektronik industri. c. Merencanakan dan menyiapkan bahan-bahan sesuai dengan kebutuhan
kegiatan prektek.
d. Peningkatab prestasi dalam jurusan teknik elektronik industri.
e. Menyusun laporan pelaksanaan kegiatan program studi teknik elektronik industri secara berkala kepada kepala sekolah.
l. Ketua Program Studi Teknik Pemeliharaan Mekanik Industri
Wewenang dan tangung jawab dari ketua program studi teknik pemeliharaan mekanik industri, yaitu:
a. Menyusun program dan perkembangan program studi teknik pemeliharaan mekanik industri.
b. Mengkoordinasi penggunaan ruang jurusan teknik pemeliharaan mekanik industri.
c. Merencanakan dan menyiapkan bahan-bahan sesuai dengan kebutuhan kegiatan prektek.
d. Peningkatab prestasi dalam jurusan teknik pemeliharaan mekanik industri.
e. Menyusun laporan pelaksanaan kegiatan program studi teknik pemeliharaan mekanik industri secara berkala kepada kepala sekolah. m. Ketua Program Studi Administrasi Perkantoran
Wewenang dan tangung jawab dari ketua program studi administrasi perkantoran, yaitu:
a. Menyusun program dan perkembangan program studi administrasi perkantoran.
b. Mengkoordinasi penggunaan ruang jurusan administrasi perkantoran. c. Merencanakan dan menyiapkan bahan-bahan sesuai dengan kebutuhan
kegiatan prektek.
d. Peningkatab prestasi dalam jurusan administrasi perkantoran.
e. Menyusun laporan pelaksanaan kegiatan program studi administrasi perkantoran secara berkala kepada kepala sekolah.
n. BP/BK (Bimbingan Penyuluhan/Bimbingan Konseling) Wewenang dan tangung jawab dari BP/BK, yaitu:
a. Menyusun program dan pelaksanaan bimbingan konseling terhadap siswa. b. Mengkordinasi dengan wali kelas dalam rangka mengatasi
c. Memberikan layanan bimbingan kepada siswa agar lebih berprestasi dalam kegiatan belajar.
d. Memberikan saran dan pertimbangan karir kepada siswa dalam memperoleh gambaran tentang lanjutan pendidikan dan lapangan pekerjaan yang sesuai.
e. Mengadakan penilaian pelaksanaan bimbingan konseling.
f. Menyusun dan melaksanakan program tidak lanjut bimbngan konseling.
o. Wali Kelas
Wewenang dan tangung jawab dari wali kelas, yaitu:
a. Mewakili orang tua dan kepala sekolah dalam lingkungan kelasnya. b. Membina kepribadian dan budi pekerti siswa dikelasnya.
c. Sebagai pengelola kelas dalam hal mengetahui jumlah anak didik, identitas anak didik, dan jumlah kehadiran setiap hari dikelasnya.
d. Mengetahui permasalahan anak didik dalam hal pelajaran, ekonomi, dan sosial serta mengambil tindakan untuk mengatasi setiap masalah.
e. Memperhatikan buku laporan pendidikan (rapor) siswa dikelasnya.
f. Menyelengarakan administrasi kelas dalam hal denah tempat duduk
siswa, papan absensi kelas, daftar pelajaran kelas, daftar piket, dan tata tertib kelas.
p. Guru
Wewenang dan tangung jawab dari guru, yaitu:
a. Memberikan pelajaran sesuai dengan bidang studi. b. Mewakili kepala sekolah dan orang tua siswa dikelas.
c. Mengetahui tugas-tugas yang diberikan kepada siswa dan memeriksa hasil tugas itu untuk dinilai.
d. Memperhatikan kelakuan dan kerajinan siswa sebagai bahan laporan kepada kepala sekolah, wali kelas, dan guru BP/BK.
e. Memperhatikan hasil ulangan dan mengisi daftar nilai siswa.
f. Memecahkan masalah-masalah pelajaran yang dihadapi siswa untuk
memberikan memberikan bimingan pelajaran kepada siswa yang cerdas, siswa yang kurang cerdas, dan siswa yang kesulitan belajar.
q. Siswa
Wewenang dan tangung jawab dari siswa, yaitu: a. Menuntut ilmu sebaik-baiknya.
b. Mempertanggungjawabkan hasil pembelajarannya.
c. Mematuhi peraturan yang sudah ditetapkan oleh pihak sekolah.
3.1. Tinjauan Kasus
3.2.1. Proses Bisnis Sistem Berjalan
Prosedur yang dilakukan sebelum memulai suatu kegiatan untuk menyelesaikan suatu pekerjaan disebut prosedur sistem. Sesuai dengan ruang lingkup yang dibahas dalam tugas akhir ini, maka proses bisnis berjalan yang diambil yaitu analisa sistem informasi akuntansi penggajian guru pada SMK Texmaco Purwasari Karawang sebagai berikut:
1. Rekap absensi guru
Bagian tata usaha memberikan daftar absensi setiap hari untuk ditanda tangani guru sebagai bukti absensi guru. Setiap akhir bulan tata usaha
merekap absensi guru dengan melakukan pehitungan jumlah absensi. Hasil dari rekap absensi tersebut menghasilkan daftar rekap absensi, kemudian satu rangkap diberikan kepada kepala sekolah untuk di acc.
2. Perhitungan gaji guru
Selanjutnya bagian tata usaha menghitung gaji guru yang mengacu dari daftar rekap absensi guru. Setelah semuanya dicatat dan dihitung maka akan menghasilkan data gaji guru yang kemudian diberikan kepada kepala sekolah untuk diacc.
3. Pembayaran Gaji
Bagian tata usaha membuat slip gaji dari rekap absen guru, kemudian guru menerima slip gaji dan menanda tangani buku penerimaan gaji kemudian diarsipkan oleh tata usaha.
4. Pembuatan laporan.
Bagian tata usaha membuat laporan penggajian dari laporan tanda bukti penerimaan gaji tersebut sebanyak dua rangkap untuk diserahan kepada kepala sekolah untuk di acc. Satu rangkap diberikan kepada kepala sekolah dan satu lagi diarsipkan oleh tata usaha.
3.2.2. Activity Diagram
Activity Diagram adalah diagram yang menggabarkan aktivitas dari proses
bisnis yang berjalan pada penggajian guru di SMK Texmaco Purwasari Karawang. oleh karena itu dibuatkan activity diagram sebagai salah satu cara untuk menggambarkan aliran kerja tersebut. Berikut adalah activity diagram penggajian guru pada SMK Texmaco Purwasari Karawang:
Sumber : Tata Usaha SMK Texmaco Purwasari Karawang Gambar III.2.
Activity Diagram Proses Bisnis Sistem Berjalan
3.2.3. Dokumen Masukan
Dokumen masukan adalah semua dokumen yang digunakan sebagai dasar untuk memperoleh data-data yang nantinya akan diproses untuk menghasilkan suatu keluaran yang disebut dengan output. Dokumen masukan yang digunakan adalah sebagai berikut:
1. Nama Dokumen : Daftar Absensi
Fungsi : Sebagai Bukti Kehadiran
act activ ity Diagram
Kepala Sekolah
Guru Tata Usaha
Star Menyediakan Daftar Absensi Menerima Daftar Absensi Tanda Tangan
Daftar Absensi Rekap Absensi
Menerima Rekap Absensi Menyetujui Rekap Absensi Menerima Rekap Absensi
Menghitung Gaji Guru
Menerima Daftar Gaji Guru menyetujui Daftar Gaji Guru Menerima Daftar Gaji Guru
Membuat Slip Gaji Menerimat Slip Gaji
Mentanda Tangani Bukti Penerimaan Gaji Menerima Bukti Penerimaan Gaji Membuat Laporan
Arsip Laporan Guru
Menerima Laporan Gaji Guru
Finis
Melakukan Potongan
Menghitung Tunjangan
Sumber : Bagian Tata Usaha
Tujuan : Guru
Media : Kertas
Frekuensi : Setiap Hari
Bentuk : Lampiran A1
3.2.4. Dokumen Keluaran
Dokumen keluarn adalah segala bentuk dokumen yang akan mendukung kegiatan manajemen serta merupakan dokumen dari hasil catatan laporan. Dokumen keluaran yang digunakan adalah sebagai berikut:
1. Nama Dokumen : Daftar Rekap Absensi
Fungsi : Sebagai Keterangan Kehadiran
Sumber : Tata Usaha
Tujuan : Tata Usaha
Media : Kertas
Frekuensi : Setiap Bulan
Bentuk : Lampiran B1
2. Nama Dokumen : Daftar Penerimaan Gaji Guru
Fungsi : Sebagai Bukti Penerimaan Gaji Guru
Sumber : Tata Usaha
Tujuan : Guru
Media : Kertas
Frekuensi : Setiap Bulan
3. Nama Dokumen : Slip Gaji
Fungsi : Untuk mengetahui rincian gaji yang diterima guru
Sumber : Tata Usaha
Tujuan : Guru
Media : Kertas
Frekuensi : Setiap Pembayaran Gaji
Bentuk : Lampiran B3
4. Nama Dokumen : Laporan Gaji
Fungsi : Sebagai Bukti Laporan Gaji
Sumber : Tata Usaha
Tujuan : Kepala Sekolah
Media : Kertas
Frekuensi : Setiap Bulan
3.2.5. Permasalahan Pokok
Berdasarkan hasil pengamatan yang penulis lakukan di SMK Texmaco Purwasari Karawang, dari itu penulis mengetahui permasalahan yang ada di SMK Texmaco Purwasari Karawang dalam sistem penggajian guru yaitu sebagai berikut:
1. Perhitungan gaji masih menggunakan cara menual sehingga membutuhkan waktu yang lama, sering terjadi kesalahan dalam perhitungan dan penulisan total gaji.
2. Dokumen berupa kertas-kertas dalam bentuk arsip dapat mudah hilang atau rusak.
3. Sistem manual membuat data-data khususnya data penggajian menjadi lebih sulit jika ingin dilihat kembali dan rentan terhadap resiko terjadi hilangnya salah satu data penggajian karena terselip dengan berkas yang lain.
3.2.6. Pemecahan Masalah
Pemecahan masalah yang dihadapkan pada SMK Texmaco Purwasari Karawang lebih mendasar dan terletak pada sumber daya manusia serta sistem yang dijalankan di sekolah tersebut, sehingga manajemen sekolah harus melakukan tindakan efektif dan efisien terhadap permasalahan yang timbul serta dapat menggambil langkah-langkah yang sesuai dengan manajemen sekolah agar kedepan sekolah dapat lebih maju. Adapun pemecahan permasalahan adalah sebagai berikut:
1. Beralih dari sistem manual ke sistem komputerisasi berbasis desktop dengan menggunakan aplikasi Java Netbeans dan server XAMPP.
2. Sistem penggajian yang diusulkan memiliki hak akses sehingga hanya orang-orang tertentu saja yang dapat membuka data penggajian atau data-data lainnya sehingga data tersebut tidak rusak dan tidak mudah hilang.
3. Pembuatan laporan gaji guru dapat terselesaikan tepat waktu.
3.2. Analisa Kebutuhan Software
3.3.1. Analisis Kebutuhan
Berdasarkan proses penggajian sistem berjalan pada Yayasan Darul’amal, maka tahapan berikutnya adalah analisis kebutuhan. Berikut ini spesifikasi kebutuhan (System Requirement) dari sistem penggajian pada SMK Texmaco Purwasari Karawang.
A. Bagian Administrasi
A.1. Administrasi Dapat Melakukan Login A.2. Administrasi Dapat Mengelola Menu Master
a. Dapat Mengelola Data Guru
b. Dapat Mengelola Data Golongan Guru c. Dapat Mengelola Data Tunjangan d. Dapat Mengelola Data Potongan e. Dapat Mengelola Data Akun
A.3. Administrasi Dapat Mengelola Menu Transaksi a. Dapat Mengelola Rekap Absen
b. Dapat Mengelola Gaji Guru c. Dapat Mengelola Slip Gaji d. Dapat Mengelola Jurnal
A.4. Administrasi Mengelola Menu Laporan a. Dapat Mencetak Slip Gaji
b. Dapat Mencetak Laporan Gaji B. Guru
3.3.2. Use Case Diagram
Gambar III.3.
Use Case Diagram Login Admin Tabel III.1.
Deskripsi Use Case Diagram Login Admin Use Case Login Admin
Tujuan Melakukan login
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses sistem penggajian Sekenario utama
Aktor Administrasi
Kondisi Awal Aktor melakukan login atau aktivitas
Aksi Aktor Reaksi Aktor
1. Aktor memilih tombol login
Sistem akan menampilkan form untuk mengisi
username dan password
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk
ke dalam menu utama dan aktor dapat melakukan aktivitas
uc Use Case Model
Admin Mengakes Menu Admin Login Masukan User Name
Masukan Passw ord
«include»
«include» «include»
Gambar III.4.
Use Case Diagram Menu Utama Tabel III.2.
Deskripsi Use Case Diagram Menu Utama Use Case Menu Utama
Tujuan Administrasi dapat melakukan pengolahan
data yang terdapat di menu utama
Deskripsi Sistem ini memungkinkan aktor untuk
mengimput data sampai dengan pembuatan laporan
Sekenario utama
Aktor Administrasi
Kondisi Awal Aktor membuka menu utama
Aksi Aktor Reaksi Aktor
1. Aktor memilih memilih menu utama
Sistem akan menampilkan submenu utama diantaranya menu master, menu transaksi, menu laporan.
2. Aktor memilih menu master
Sistem akan menampilkan menu master 3. Aktor memilih menu
transaksi
Sistem akan menampilkan menu transaksi 4. Aktor memilih laporan
laporan
Sistem akan menampilkan menu laporan
Kondisi Akhir Jika perintah sesuai maka sistem akan sistem
akan menampilkan apa yang diinginkan
uc Use Case Model
Admin Menu Utama Menu Master Menu Transaksi Menu Laporan «extend» «extend» «extend»
Gambar III.5.
Use Case Diagram Menu Master
Tabel III.3.
Deskripsi Use Case Diagram Menu Master Use Case Menu Master
Tujuan Administrasi dapat melakukan pengolahan data
yang terdapat di menu master
Deskripsi Sistem ini memungkinkan aktor untuk masuk ke
menu master Sekenario utama
Aktor Administrasi
Kondisi Awal Aktor membuka menu utama
Aksi Aktor Reaksi Aktor
1. Aktor memilih data guru Sistem akan menampilkan informasi guru
2. Aktor memilih data golongan
Sistem akan menampilkan informasi data golongan
3. Aktor memilih data tunjangan
Sistem akan menampilkan informasi data tunjangan
4. Aktor memilih data potongan
Sistem akan menampilkan informasi data potongan
5. Aktor memilih data akun Sistem akan menampilkan informasi data akun
6. Aktor memilih Tombol Simpan
Sistem akan Menyimpan Data 7. Aktor memilih Tombol
Ubah
Sistem akan Mengubah Data uc Use Case Model
Admin Menu Master Data Guru Data Golongan Potongan Tunj angan Perkiraan Simpan Ubah Hapus Simpan Ubah Hapus Simpan Ubah Hapus Simpan Ubah Hapus Hapus Ubah Simpan «include» «include» «include» «include» «include» «include» «include» «include» «extend» «include» «include» «include» «include» «extend» «include» «extend» «extend» «include» «extend» «include»
8. Aktor memilih Tombol Hapus
Sistem akan Menghapus Data
Kondisi Akhir Jika perintah sesuai maka sistem akan sistem
akan menampilkan apa yang diinginkan
Gambar III.6.
Use Case Diagram Login Guru Tabel III.4.
Deskripsi Use Case Diagram Login Guru Use Case Login Guru
Tujuan Melakukan absensi guru
Deskripsi Sistem ini memungkinkan aktor melakukan absensi
Sekenario utama
Aktor Guru
Kondisi Awal Aktor melakukan login
Aksi Aktor Reaksi Aktor
1. Aktor memilih tombol login Sistem akan menampilkan form untuk mengisi
username dan password
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk ke
dalam menu guru dan aktor dapat melakukan absensi
uc uc Use Case Menu Login Guru
Guru Menu Absensi Login Masukan User Name Masukan Password «include» «include» «include»
3.3.3. Activity Diagram
Gambar III.7.
Activity Diagram Menu Login Admin
act Activ ity Diagram Menu Login
Sistem Admin
Star
Klik Menu Login
Mengimput Usename & Passw ord Verifikasi Username & Passw ord Masuk ke Menu Utama Kembali ke Menu Login Menu Laporan Menu Transaksi Menu Master Tampilan Form Finish No Yes
Gambar III.8.
Activity Diagram Menu Master Form Data Guru
act act Activ ity Menu Admin
Admin Sistem
Star
Klik Menu Master Menampilkan Menu Master
Menu Laporan Menu Transaksi Menu Master Data
Guru AkunData
Klik Submenu Data Guru Kli Tombol Bersih Menampilkan Form Data Guru Id Guru Nm Guru Alamat Ttl jns
Kelamin Pendidikan Golongan
Mengelola Data Guru
Mengisi Form Guru Klik tombol keluar Menampilkan Tombol Simpan Ketik Nama Guru
Yang dituju
Klik Tombol Simpan
Menyimpan Data Guru
Klik Data Yang Akan diubah Hapus data Menampilkan Tombol Ubah Klik Tombol ubah Menampilkan akun yang telah diubah Menampilkan
Tombol Hapus Klik Tombol
Hapus
menghapus akun yang telah dipilih
Keluar dari Data Guru Finish Data Admin Klik Tombol Tambah Password Username Mengubah Data [No] [Cari Data Guru]
[Tambah]
[Ubah] [Hapus]
[Data Berhasil disimpan]
[Yes] [Keluar]
Gambar III.9.
Activity Diagram Menu Transaksi Form Rekap Absen Guru
act act Activ ity Diagram Menu Admin
Sistem Admin Star Klik Menu Transaksi Menampilkan Menu Transaksi Fork
Rekap Absen Gaj i Jurnal
Join Klik Submenu
Rekap Absen Menampilkan
Form Rekap Absen Fork Status Kehadiran Waktu Tgl Id Guru Id Absen Join Mengelola Rekap Absen
Ketik Nama Guru Yg Akan dicari Klik Tombol Keluar Menampilkan Tombol Cetak Klik Tombol
Cetak Menampilkan Form
Yg Dicetak Pencarian Berdasarkan Periode Isi Tgl Awal Periode
Isi Tgl Akhir Periode (Tgl Tutup Buku)
Menampilkan Kalender
Menampilkan Kalender Klik Tobol Tgl, Bulan,
Tahun Yg Dicari Menampilkan Tombol
Cetak Klik Tombol Tgl, Bulan,
Tahun Yg Dicari
Klik Tombol
Cetak Menampilkan
Rekapan Absensi Yg Akan dicetak
Keluar Dari Form Rekap Absen Finish Absen [Keluar] [No] [Tgl Awal] [Pencarian] [Yes] [Tgl Akhir]
Gambar III.10.
Activity Diagram Menu Transaksi Form Gaji Guru
act act Activ ity Diagram Menu Admin
Sistem Admin
Star
Klik Menu Transaksi Menampilkan Menu Transaksi
Fork
Rekap Absen Absensi Gaji Jurnal
Join Menampilkan Form Gaji Klik Submenu Gaji Fork
Id Gaji Username Tgl Id Golongan Id Potongan Total Gaji
Join Mengelola Gaji Klik Tombol Bersih Klik Tombol Tambah Menampilkan id Gaji Klik Tombol Username Klik Tombol Kalender Menampilkan Kalender Klik Tgl, Bulan, Tahun Menampilkan Tgl, Bulan, Tahun Menampilkan Pilihan Nama Guru Pilih Nama Guru Menampilkan Data
Guru Yg dipilih Menampilkan Tombol Hitung Klik Tombol Hitung
Menampilkan Total Gaji Yg Harus dibayar Klik Tombol
Simpan
Menyimpan Data Gaji Klik Tombol
Keluar
Keluar Dari Form Gaji
Finish
Ketik Nama Guru Yg Akan dicari Melakukan Pengubahan Data Tampilan Tombol Ubah Klik Tombol Ubah
Menampilkan Data Gaji Yg Telah diubah Klik Data Yg
akan dihapus
Tampilan Tombol Hapus Klik Tombol Hapus
Menghapus Data Yg telah dipilih
[No] [Data Berhasil disimpan]
[Yes] [Ubah]
Gambar III.11.
Activity Diagram Menu Laporan Form Laporan Gaji Guru
act act Activ ity Menu Admin
Admin Sistem
Star
Klik Menu Laporan Menampilkan Menu
Laporan
Fork
Slip GAji Laporan Gaji
Join
Klik Submenu Laporan Gaji
Menampilkan Tombol Print Seluruh Klik Tombol Print
Seluruh
Menampilkan Keseluruhan Laporan
Gaji Yg Akan dicetak
Menampilkan Form Laporan Gaji
Fork
No. Transaksi Id Guru Nama Guru Total Gaji
Join Mengelola Laporan Gaji Akan Melakukan Print Seluruh Lap. Gaji Jika Ingin Keluar dr Form Lap. Gaji Menampilkan Tombol Keluar Klik Tombol Keluar
Keluar Dari Form Lap. Gaji
Finish [Yes]
Gambar III.12.
Activity Diagram Menu Login Absensi Guru
act act Activ ity Diagram Menu Login Guru
Sistem Guru
Star
Klik Menu Login Guru
Masukan Username & Password
Verifikasi Username & Password Kembali Ke Menu
Login Guru Masuk Ke Menu Utama Menu Transaksi Menampilkan Form
Absensi Klik Submenu Absensi
Fork
Tgl Kehadiran
Username Jam Masuk Jam Keluar
Join Tampilan Absensi Guru Menampilkan Tombol Login Tampilan Kolom Username & Password Mengisi Kolom
Username & Password Verifikasi Username & Password Kembali Ke Tombol
Login Login Berhasil
Menampilkan Tombol Keluar Menampilkan Tombol
Masuk Klik Tombol Masuk
Menampilkan Jam Masuk Absen Klik Tombol Keluar
Menampilkan Jam Keluar Absen Menampilkan Tombol Logout Klik Tombol Logout
Keluar Dari Form Absensi Finish [No] [No] [No] [Yes]
[Username Atau Password Salah !] [Username Atau Password Salah !]
3.3. Desain
3.4.1. Entity Relationship Diagram (ERD)
Gaji Guru Jurnal Golongan milik milik Milik milik milik Tunjangan Id_guru Id_gaji tanggal Id_tunjangan Id_guru nm_guru alamat Tmpt_lahir Jms_kelamin Tgl_lahir pendidikan Gaji_pokok Id_jurnal tanggal Id_gaji Id_golongan Id_golongan Tt;_gaji Potongan Id_potongan Skgk total_potongan milik Absensi waktu status_kehadiran Tgl_absensi Id_guru absensi Id_guru Id_tunjangan jabatan Akses password Nm_golongan Akun Id_akun nm_akun ket Detail Jurnal Id_jurnal Id_akun Debet Kredit Buat Koperasi Id_guru simponi absensi mengajar Ttl_tinjangan Transport Lain-;ain Id_potongan Id_golongan Hasil Gambar III.13.
3.4.2. Logical Record Structure (LRS) LRS Guru Id_guru PK Password Akses Nm_guru Alamat Jenis_kelamin Tempat Lahir Tanggal Lahir Pendidikan Id_golongan Absensi Id_absen PK Id_guru FK Tgl_absen Waktu Status_kehadiran Jurnal Id_jurnal PK Id_gaji FK tanggal Potongan Id_guru PK Id_potongan Koperasi Skgk Simponi Absendi Total_potongan Detail Jurnal Id_jurnal PK Id_akun Debit Kredit Golongan Id_golonga PK Nm_golongan Gaji Pokok Tunjangan Id_tunjangan FK Id_guru PK jabatan Jabatan Mengajar Transport lain total_tunjangan Gaji Id_gaji PK Id_guru Tanggal Id_potongan Id_tunjangan Id_golongan Total_gaji Akun Id_akun PK Nm_akun Keterangan Gambar III.14.
3.4.3. Spesifikasi File
a. Spesifikasi File Data Guru Nama Database : Gaji
Nama File : Guru
Tipe File : Master
Akses File : Random
Panjang Record : 125 Karakter
Field Key : id_Guru
Tabel III.5. Spesifikasi File Data Guru
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas guru Id_guru PK varchar 10 Primary Key
2 Password Password varchar 15
3 Akes Akes enum
4 Nama guru Nm_guru varchar 25
5 Alamat Alamat text
6 Tempat lahir Tmp_lahir varchar 15
7 Tanggal lahir Tgl_lahir date
8 Jenis kelamin Jenis_kelamin varchar 15
9 Pendidikan Pendidikan enum
10 Identitas golongan id_golongan varchar 20
b. Spesifikasi File Data Absen Nama Database : Gaji
Nama File : Absen
Tipe File : Transaksi
Akses File : Random
Panjang Record : 30 Karakter
Tabel III.6.
Spesifikasi File Data Absen
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas absensi id_absensi int 20 Primary Key
2 Identitas guru id_guru int 10
3 Tanggal masuk Tanggal_masuk date
4 Waktu masuk Waktu_masuk time
5 Waktu keluar Waktu_keluar time
c. Spesifikasi File Data Gaji Nama Database : Gaji
Nama File : Gaji
Tipe File : Transaksi
Akses File : Random
Panjang Record : 90 Karakter
Field Key : id_gaji
Tabel III.7.
Spesifikasi File Data Gaji
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas gaji Id_gaji varchar 15 Primary Key
2 Identitas guru id_guru varchar 10
3 Identitas potongan id_potongan varchar 15
4 Identitas tunjangan id_tunjangan varchar 15
5 Identitas golongan id_golongan varchar 15
6 Total gaji total int 20
7 Tanggal date
d. Spesifikasi File Data Golongan Nama Database : Gaji
Nama File : Golongan
Tipe File : Master
Akses File : Random
Panjang Record : 30 Karakter
Tabel III.8.
Spesifikasi File Data Golongan
No Elemen Data Akronim Tipe Panjang Keterangan 1 identitas golongan id_golongan varchar 10 Primary Key
2 nama golongan nm_golongan varchar 10
3 gaji pokok gaji_pokok Int 10
e. Spesifikasi File Data Tunjangan Nama Database : Gaji
Nama File : Tunjangan
Tipe File : Master
Akses File : Random
Panjang Record : 85 Karakter
Field Key : id_Tunjangan
Tabel III.9.
Spesifikasi File Data Tunjangan
No Elemen Data Akronim Tipe Panjang Keterangan 1 identitas tunjangan id_tunjangan varchar 10 Primary Key
2 identitas guru id_guru varchar 10
3 jabatan jabatan int 10
4 mengajar mengajar int 10
5 transport transport int 10
6 lain-lain lain int 10
7 total tunjangan total_tunjangan int 15
f. Spesifikasi File Data Potongan
Nama Database : Gaji
Nama File : Potongan
Tipe File : Master
Akses File : Random
Panjang Record : 75 Karakter
Tabel III.10.
Spesifikasi File Data Potongan
No Elemen Data Akronim Tipe Panjang Keterangan 1 identitas potongan id_potongan varchar 10 Primary Key
2 identitas guru id_guru varchar 10
3 koperasi koperasi int 10
4 SKGK SKGK int 10
5 simponi simponi int 10
6 absensi id_absen int 10
7 total potongan total_potongan int 15
g. Spesifikasi File Data Jurnal Nama Database : Gaji
Nama File : Jurnal Tipe
File : Transaksi
Akses File : Random
Panjang Record : 20 Karakter
Field Key : id_ Jurnal
Tabel III.11.
Spesifikasi File Data Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas jurnal id_jurnal varchar 10 Primary Key
2 Identitas gaji id_gaji varchar 10
3 Tanggal nm_akun date
h. Spesifikasi File Detail Jurnal Nama Database : Gaji
Nama File : Akun
Tipe File : Transaksi
Akses File : Random
Panjang Record : 50 Karakter
Tabel III.12.
Spesifikasi File Detail Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas jurnal id_jurnal varchar 15 Primary Key
2 Identitas akun id_akun varchar 15
3 Debit Debit int 10
4 Kredit Kredit int 10
i. Spesifikasi File Data Akun
Nama Database : Gaji
Nama File : Akun
Tipe File : Master
Akses File : Random
Panjang Record : 50 Karakter
Field Key : id_ Akun
Tabel III.13.
Spesifikasi File Data Akun
No Elemen Data Akronim Tipe Panjang Keterangan
1 identitas akun id_akun varchar 10 Primary Key
2 nama akun nm_akun varchar 20
3.4.4. Sequence Diagram
Gambar III.15.
Sequence Diagram Penggajian Guru
sd Squen Diagram Penggaj ian
Guru Admin
FormLogin Control Login Menu Utama Master Transaksi Laporan
Dapat Mengelola Semua Menu Transaksi() Dapat Mengelola Semua Menu Master()
Melihat Bukti Hadir() Username & Password() Masukan Username & Password()
Username & Password() Masukan Username & Password()
3.4.5. Deployment Diagram
Gambar III.16.
Deployment Diagram Laporan Gaji Guru
deployment Deployment Model
main «device» A <<Activ eXControl>> NetBeans 8.2 «device» Database <<Application>> Program Laporan Penggaj ian <<DBMS>> MY SQL <<Database>> db.SistemPenggaj ian
3.4.6. User Interface
Gambar III.17. User Interface Menu Login
Gambar III.18. User Interface Menu Master
Gambar III.19.
Gambar III.20.
User Interface Form Data Golongan
Gambar III..21.
Gambar III.22.
Gambar III.23.
Gambar III.24.
User Interface Menu Transaksi
Gambar III.25.
Gambar III.26. User Interface Form Absensi
Gambar III.27. User Interface Form Gaji
Gambar III.28. User Interface Form Jurnal
Gambar III.29.
Gambar III.30.
User Interface Form Slip Gaji
Gambar III.31.
Gambar III.32. User Interface Logout
3.4. Implementasi
3.5.1. Code Generation A. Form Gaji
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates * and open the template in the editor.
*/ package transaksi; import Koneksi.koneksidb; import com.sun.glass.events.KeyEvent; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /**
*
* @author lenovo */
public class gaji extends javax.swing.JInternalFrame {
Connection conn = koneksidb.Conn(); Statement st;
ResultSet rs;
private DefaultTableModel tabmode; private String tgl = null;
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd"); Date dateValue = null;
public String idguru, namaguru, namagolongan, gajipokok, idtunjangan , jumlahtunjangan, idpotongan, jumlahpotongan;
public String getIdGuru() { return idguru;
}
public String getNmGuru() { return namaguru;
}
public String getNmGol() { return namagolongan; }
public String getPokok() { return gajipokok; }
public String idTunjangan() { return idtunjangan;
}
public String getTunjangan() { return jumlahtunjangan; }
public String idPotongan() { return idpotongan;
}
public String getPotongan() { return jumlahpotongan; }
public void itemTerpilih(){
gaji_data dtgj = new gaji_data(); dtgj.gj = this; id_guru.setText(idguru); nama_guru.setText(namaguru); nama_golongan.setText(namagolongan); gaji_pokok.setText(gajipokok); id_tuj.setText(idtunjangan); jumlah_tunjangan.setText(jumlahtunjangan); id_pot.setText(idpotongan); jumlah_potongan.setText(jumlahpotongan); }
private void tampil(){
DefaultTableModel model = new DefaultTableModel(); model.addColumn("ID Gaji"); model.addColumn("Tanggal"); model.addColumn("ID Guru"); model.addColumn("ID Golongan"); model.addColumn("ID Tunjangan"); model.addColumn("ID Potongan"); model.addColumn("Total Gaji"); try{
String sql = " select * from gajian"; st = conn.createStatement(); rs = st.executeQuery(sql); while(rs.next()){ model.addRow(new Object[]{ rs.getString("id_gaji"), rs.getString("tanggal"), rs.getString("id_guru"), rs.getString("id_golongan"), rs.getString("id_tunjangan"), rs.getString("id_potongan"), rs.getString("total_gaji") }); } tdata.setModel(model); }catch (Exception e){
System.out.println(e.getMessage()); }
}
private void autoid(){ try {
String sql = "SELECT * FROM gajian order by id_gaji desc"; st = conn.createStatement();
rs = st.executeQuery(sql); if (rs.next()) {
String id_guru = rs.getString("id_gaji").substring(2); String AN = "" + (Integer.parseInt(id_guru) + 1); String Nol = ""; if(AN.length()==1) {Nol = "00"; }else if(AN.length()==2){ Nol = "0"; }else if(AN.length()==3){ Nol = ""; }
tid.setText("GJ" + Nol + AN);//sesuaikan dengan variable namenya } else {
tid.setText("GJ001");//sesuaikan dengan variable namenya } } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
private void simpan(){ try{
if (tid.getText().equals("")) {
JOptionPane.showMessageDialog(null, "ID Gaji Tidak Boleh Kosong");
tid.requestFocus();
}else if (tanggal.getDate() == null) {
JOptionPane.showMessageDialog(null, "Tanggal Tidak Boleh
Kosong");
tanggal.requestFocus();
}else if (id_guru.getText().equals("")) {
JOptionPane.showMessageDialog(null, "ID Guru Tidak Boleh Kosong");
id_guru.requestFocus();
}else if (nama_golongan.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Nama Golongan Tidak Boleh Kosong");
nama_golongan.requestFocus(); }else if (id_guru.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "ID Guru Tidak Boleh Kosong");
id_guru.requestFocus();
}else if (nama_guru.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Nama Guru Tidak Boleh Kosong");
nama_guru.requestFocus();
JOptionPane.showMessageDialog(null, "Jumlah Tunjangan Tidak Boleh Kosong");
jumlah_tunjangan.requestFocus();
}else if (jumlah_potongan.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Jumlah Potongan Tidak Boleh Kosong");
jumlah_potongan.requestFocus(); }else if (total_gaji.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Total Gaji Tidak Boleh Kosong");
total_gaji.requestFocus(); }else{
String sql = "insert into gajian values
('"+tid.getText()+"','"+tgl+"','"+id_guru.getText()+"',
'"+nama_golongan.getText()+"', '"+id_tuj.getText()+"'
,'"+id_pot.getText()+"','"+total_gaji.getText()+"')"; st = conn.createStatement();
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Data Berhasil di Simpan"); tampil();
bersih(); }
}catch(Exception e){
JOptionPane.showMessageDialog(null, "ID Guru Sudah Di Gunakan Sebelumnya"); bersih(); cariID.requestFocus(); } }
private void hapus(){ try{
String sql = "delete from gajian where
id_guru='"+id_guru.getText()+"'"; st = conn.createStatement(); st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Data Berhasil di Hapus"); bersih(); tampil(); }catch(Exception e){ System.out.println(e.getMessage()); } }
private void non_aktif(){ total_gaji.setEnabled(false);
tid.setEnabled(false); tambah.setEnabled(false); cariID.setEnabled(false); tanggal.setEnabled(false); cari.setEnabled(false); hitung.setEnabled(false); simpan.setEnabled(false); id_guru.setEnabled(false); nama_guru.setEnabled(false); nama_golongan.setEnabled(false); gaji_pokok.setEnabled(false); id_tuj.setEnabled(false); id_pot.setEnabled(false); jumlah_potongan.setEnabled(false); jumlah_tunjangan.setEnabled(false); ubah.setEnabled(false); hapus.setEnabled(false); }
private void aktif(){ ubah.setEnabled(true); hapus.setEnabled(true); total_gaji.setEnabled(true); tid.setEnabled(true); tambah.setEnabled(true); cariID.setEnabled(true); tanggal.setEnabled(true); cari.setEnabled(true); hitung.setEnabled(true); simpan.setEnabled(true); id_guru.setEnabled(true); nama_guru.setEnabled(true); nama_golongan.setEnabled(true); gaji_pokok.setEnabled(true); id_tuj.setEnabled(true); id_pot.setEnabled(true); jumlah_potongan.setEnabled(true); jumlah_tunjangan.setEnabled(true); }
private void bersih(){ total_gaji.setText(""); tid.setText(""); cari.setText(""); Date dateValue = null; try {
tanggal.setDate(dateValue); } catch (Exception e) {
} id_guru.setText(""); nama_guru.setText(""); id_pot.setText(""); jumlah_potongan.setText(""); id_tuj.setText(""); jumlah_tunjangan.setText(""); nama_golongan.setText(""); gaji_pokok.setText(""); } public gaji(){ initComponents(); non_aktif(); } /**
* This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor. */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jScrollPane2 = new javax.swing.JScrollPane(); jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane(); tdata = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel(); tambah = new javax.swing.JButton(); total_gaji = new javax.swing.JTextField(); tid = new javax.swing.JTextField(); jLabel11 = new javax.swing.JLabel(); simpan = new javax.swing.JButton(); hitung = new javax.swing.JButton(); jLabel19 = new javax.swing.JLabel(); jLabel20 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); jLabel16 = new javax.swing.JLabel(); keluar1 = new javax.swing.JButton();
tanggal = new com.toedter.calendar.JDateChooser(); jLabel12 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); cari = new javax.swing.JTextField();
jLabel26 = new javax.swing.JLabel();
nama_golongan = new javax.swing.JTextField(); gaji_pokok = new javax.swing.JTextField(); jLabel15 = new javax.swing.JLabel();
jumlah_tunjangan = new javax.swing.JTextField(); jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel(); jLabel22 = new javax.swing.JLabel();
jumlah_potongan = new javax.swing.JTextField(); jLabel23 = new javax.swing.JLabel();
jLabel28 = new javax.swing.JLabel(); jLabel29 = new javax.swing.JLabel(); jLabel24 = new javax.swing.JLabel(); id_guru = new javax.swing.JTextField(); jLabel25 = new javax.swing.JLabel(); nama_guru = new javax.swing.JTextField(); jLabel27 = new javax.swing.JLabel(); cariID = new javax.swing.JButton(); id_tuj = new javax.swing.JTextField(); id_pot = new javax.swing.JTextField(); bersih = new javax.swing.JButton(); ubah = new javax.swing.JButton(); hapus = new javax.swing.JButton();
setBackground(new java.awt.Color(255, 255, 255)); setBorder(null); setMaximizable(true); setResizable(true); addInternalFrameListener(new javax.swing.event.InternalFrameListener() { public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) { } public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) { } public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) { } public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) { } public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) { } public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) { }
public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) { formInternalFrameOpened(evt); } }); tdata.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] {
"ID Gaji", "Tanggal", "ID Guru", "ID Golongan", "ID Tunjangan", "ID Potongan", "Total Gaji"
} ));
tdata.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { tdataMouseClicked(evt);
} });
jScrollPane1.setViewportView(tdata);
jLabel1.setFont(new java.awt.Font("Arial", 1, 24)); // NOI18N jLabel1.setText("Selamat datang di Form Gaji Bersih"); tambah.setBackground(new java.awt.Color(255, 255, 255)); tambah.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/tambah.PNG"))); // NOI18N tambah.setBorder(null); tambah.setBorderPainted(false); tambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { tambahActionPerformed(evt);
} });
total_gaji.setEditable(false);
total_gaji.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N total_gaji.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { total_gajiActionPerformed(evt);
} });
tid.setEditable(false);
tid.setBackground(new java.awt.Color(255, 255, 255));
jLabel11.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel11.setText("ID Gaji :");
simpan.setBackground(new java.awt.Color(255, 255, 255));
simpan.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N simpan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/simpan.png"))); // NOI18N simpan.setText("Simpan"); simpan.setBorder(null); simpan.setBorderPainted(false); simpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { simpanActionPerformed(evt);
} });
hitung.setBackground(new java.awt.Color(255, 255, 255));
hitung.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N hitung.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/potongan.png"))); // NOI18N
hitung.setText("Hitung");
hitung.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hitungActionPerformed(evt);
} });
jLabel19.setFont(new java.awt.Font("Courier New", 3, 18)); // NOI18N jLabel19.setText("Total Gaji Yang dibayar :");
jLabel20.setFont(new java.awt.Font("Courier New", 3, 18)); // NOI18N jLabel20.setText("PENERIMAAN");
jLabel21.setFont(new java.awt.Font("Courier New", 3, 18)); // NOI18N jLabel21.setText("POTONGAN");
jLabel16.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel16.setText("Rp.");
keluar1.setBackground(new java.awt.Color(255, 255, 255));
keluar1.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N keluar1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/close.PNG"))); // NOI18N
keluar1.setBorder(null);
keluar1.setBorderPainted(false);
keluar1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { keluar1ActionPerformed(evt);
} });
tanggal.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) { tanggalPropertyChange(evt);
} });
jLabel12.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel12.setText("Tanggal :");
jLabel14.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel14.setText("ID Golongan :");
jLabel3.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel3.setText("Pencarian Data di Tabel :");
cari.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N cari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariActionPerformed(evt);
} });
cari.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { cariKeyPressed(evt);
} });
jLabel26.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel26.setText("ID Potongan :");
nama_golongan.setEditable(false);
nama_golongan.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
nama_golongan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { nama_golonganActionPerformed(evt);
} });
gaji_pokok.setEditable(false);
gaji_pokok.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
gaji_pokok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { gaji_pokokActionPerformed(evt);
} });
jLabel15.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel15.setText("ID Tunjangan :");
jumlah_tunjangan.setEditable(false);
jumlah_tunjangan.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
jumlah_tunjangan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jumlah_tunjanganActionPerformed(evt);
} });
jLabel17.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel17.setText("Gaji Pokok");
jLabel18.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel18.setText("Jumlah Tunjangan");
jLabel22.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel22.setText("Jumlah Potongan");
jumlah_potongan.setEditable(false);
jumlah_potongan.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
jumlah_potongan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jumlah_potonganActionPerformed(evt);
} });
jLabel23.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel23.setText("Rp.");
jLabel28.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel28.setText("Rp.");
jLabel29.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel29.setText("Rp.");
jLabel24.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel24.setText("ID Guru :");
id_guru.setEditable(false);
id_guru.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N id_guru.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { id_guruActionPerformed(evt);
} });
jLabel25.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel25.setText("Cari ID Guru :");
nama_guru.setEditable(false);
nama_guru.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
nama_guru.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { nama_guruActionPerformed(evt);
} });
jLabel27.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N jLabel27.setText("Nama Guru");
cariID.setFont(new java.awt.Font("Courier New", 0, 14)); // NOI18N cariID.setText("-- Pilih --");
cariID.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariIDActionPerformed(evt);
} });
id_tuj.setEditable(false);
id_tuj.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N id_tuj.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { id_tujActionPerformed(evt);
} });
id_pot.setEditable(false);
id_pot.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N id_pot.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { id_potActionPerformed(evt);
} });
bersih.setBackground(new java.awt.Color(255, 255, 255));
bersih.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N bersih.setText("BERSIH");
bersih.setBorder(null);
bersih.setBorderPainted(false);
bersih.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bersihActionPerformed(evt);
} });
ubah.setBackground(new java.awt.Color(255, 255, 255));
ubah.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N ubah.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/ubah.PNG"))); // NOI18N ubah.setText("Ubah"); ubah.setBorder(null); ubah.setBorderPainted(false); ubah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ubahActionPerformed(evt);
} });
hapus.setBackground(new java.awt.Color(255, 255, 255));
hapus.setFont(new java.awt.Font("Courier New", 1, 12)); // NOI18N hapus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/hapus.JPG"))); // NOI18N hapus.setText("Hapus"); hapus.setBorder(null); hapus.setBorderPainted(false); hapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hapusActionPerformed(evt);
} });
javax.swing.GroupLayout jPanel1Layout = new
javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabel11) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA TED) .addComponent(tid, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(2, 2, 2) .addComponent(tambah) .addGap(34, 34, 34) .addComponent(bersih, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(153, 153, 153) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA TED) .addComponent(cari, javax.swing.GroupLayout.PREFERRED_SIZE, 308, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(136, 136, 136) .addComponent(id_guru)) .addComponent(jLabel24)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA TED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addComponent(nama_guru, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel27))) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING, false) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(27, 27, 27) .addComponent(jLabel19) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA TED) .addComponent(hitung, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(113, 113, 113) .addComponent(jLabel16) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED ) .addComponent(total_gaji)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.TRAILING) .addComponent(jLabel20) .addComponent(jLabel14)) .addGap(10, 10, 10) .addComponent(nama_golongan, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA TED) .addComponent(jLabel23) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED ) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addComponent(jLabel17)