58 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 IMPLEMENTASI SISTEM Implementasi sistem dilakukan setelah bab 3 yaitu perancangan dan pembuatan program aplikasi selesai dilakukan. Implementasi sistem kali ini akan menggambarkan implementasi dan kebutuhan sistem untuk menjalankan program. 4.1.1 PERANGKAT PENGUJIAN Pembuatan Aplikasi ini dibuat menggunakan komputer dengan spesifikasi sebagai berikut: 1. Perangkat Keras a. Type Komputer : PC b. Processor : Pentium 4 c. RAM : 512 d. Harddisk : 80 GB e. Monitor : 14 inchi 2. Perangkat Lunak a. Microsoft WindowsXP SP2 b. Microsoft Visual Basic Net 2005 c. Microsoft Access 2007 4.2 IMPLEMENTASI BASIS DATA Dalam membuat database saya menggunakan Software Microsoft Access 2007. Adapun pembuatan databasenya adalah sebagai berikut:
59 Gambar 4.1 : Table Guru "select * from [Tbl_Guru]" "INSERT INTO Tbl_Guru VALUES('" & txtnip.text & "','" & txtnamadepan.text & "','" & txtnamabelakang.text & "','" & JK & "','" & txtalamat.text & "','" & txtkota.text & "','" & txtttl.text & "','" & dtplahir.value.date & "','" & txttelp.text & "','" & txthp.text & "','" & txtemail.text & "','" & dtpjoin.value.date & "'," & checkstatusaktif.checked & ")" "update [Tbl_Guru] set [Nama_Depan]='" & txtnamadepan.text & "',[Nama_Belakang]='" & txtnamabelakang.text & "',[Jenis_Kelamin]='" & JK & "',[Alamat]='" & txtalamat.text & "',[Kota]='" & txtkota.text & "',[Tempat_Lahir]='" & txtttl.text & "',[Tanggal_Lahir]='" & dtplahir.value.date & "',[Telp_Rumah]='" & txttelp.text & "',[Telp_HP]='" & txthp.text & "',[Email]='" & txtemail.text & "',[Tanggal_Join]='" & dtpjoin.value.date & "',[Aktif]=" & checkstatusaktif.checked & " where [NIP]='" & txtnip.text & "'" "delete from [Tbl_Guru] where [NIP]='" & txtnip.text & "'" "select * from [Tbl_User]" Gambar 4.2 : Table User
60 "insert into [Tbl_User] values('" & Trim(txtUserID.Text) & "','" & Trim(txtUser.Text) & "','" & txtpassword.text & "'," & roleadmin & ")" "update [Tbl_User] set [Password]='" & txtpassword.text & "',[Admin]=" & roleadmin & " where [ID]='" & cmbuser.selectedvalue & "'" "delete from [Tbl_User] where [ID]='" & cmbuser.selectedvalue & "'" Gambar 4.3 : Table Global Variable "select [kd_global_var],[nm_global_var] from [Tbl_Global_Var] order by [kd_global_var]" "update [Tbl_Global_Var] set [value_global_var]=" & txtvalgv.text & ",[parameter]='" & txtkdparam.text & "' where [kd_global_var]='" & txtkdgv.text & "'" Gambar 4.4 Table Absensi Mengajar
61 "select '' as [jenis_absen],'-pilih Tunjangan-' as [nm_tunjangan] from [Tbl_Tunjangan] union select distinct a.[jenis_absen],c.[nm_tunjangan] from [Tbl_Absensi_Ekstra] a inner join [Tbl_Tunjangan] c on a.[jenis_absen]=c.[kd_tunjangan]" "INSERT INTO [Tbl_Absensi_Mengajar] VALUES('" & txtkdabsen.text & "','" & txtnip.text & "','" & dtpabsen.value.date & "','" & t1 & "','" & t2 & "','" & txtkelas.text & "','" & txtmapel.text & "','" & txttopik.text & "'," & Int(DateDiff(DateInterval.Minute, t1, t2) / 60) & "," & Int(DateDiff(DateInterval.Minute, t1, t2) / 60) * valgv(0) & ")" "UPDATE [Tbl_Absensi_Mengajar] SET [tanggal_absen]='" & dtpabsen.value.date & "',[jam_masuk]='" & t1 & "',[jam_keluar]='" & t2 & "',[kelas]='" & txtkelas.text & "',[mata_pelajaran]='" & txtmapel.text & "',[topik]='" & txttopik.text & "',[jml_jam]=" & Int(DateDiff(DateInterval.Minute, t1, t2) / 60) & ",[gaji_mengajar]=" & Int(DateDiff(DateInterval.Minute, t1, t2) / 60) * valgv(0) & " where [kd_absen_mengajar]='" & iddataboard & "'" "delete from [Tbl_Absensi_Mengajar] where [kd_absen_mengajar]='" & iddataboard & "'" Gambar 4.5 : Table Absensi Ekstrakurikuler "select * from [Tbl_Absensi_Ekstra] where [NIP]='" & Trim(txtNIP.Text) & "' and [kd_absen_ekstra]='" & cmbkdtunjangan.selectedvalue & "'" "insert into [Tbl_Absensi_Ekstra] values('" & Trim(txtKdAbsen.Text) & "','" & Trim(txtNIP.Text) & "','" & cmbkdtunjangan.selectedvalue & "','" & dtpabsen.value.date & "','" & t1 & "','" & t2 & "'," & Math.Truncate(DateDiff(DateInterval.Minute, t1, t2) / 60) & "," & jmlhonor & ")" "update [Tbl_Absensi_Ekstra] set [jenis_absen]='" & cmbkdtunjangan.selectedvalue & "',[tanggal_absen]='" & dtpabsen.value.date & "',[jam_masuk]='" & t1 & "',[jam_keluar]='" & t2 & "',[jml_jam]=" & Math.Truncate(DateDiff(DateInterval.Minute, t1, t2) / 60) & ",[jml_gaji]=" & jmlhonor & " where [kd_absen_ekstra]='" & txtkdabsen.text & "'" "delete from [Tbl_Absensi_Ekstra] where [kd_absen_ekstra]='" & txtkdabsen.text & "'"
62 Gambar 4.6 : Table Tunjangan "select * from [Tbl_Tunjangan]" "INSERT INTO [Tbl_Tunjangan] VALUES('" & txtnip.text & "','" & cmbkdtunjangan.selectedvalue & "','" & dtptglaktif.value.date & "','" & dtptglnonaktif.value.date & "')" "update [Tbl_Tunjangan] set [nm_tunjangan]='" & txtnmtunjangan.text & "',[gaji_tunjangan]=" & txtuangtunjangan.text & ",[periode_tunjangan]='" & cmbperiodetunjangan.text & "',[keterangan]='" & txtketerangan.text & "' where [kd_tunjangan]='" & txtkdtunjangan.text & "'" "delete from [Tbl_Tunjangan] where [kd_tunjangan]='" & txtkdtunjangan.text & "'" Gambar 4.7 : Table Transaksi Tunjangan
63 "select * from [Tbl_Trans_Tunjangan]" "INSERT INTO [Tbl_Trans_Tunjangan] VALUES('" & txtnip.text & "','" & cmbkdtunjangan.selectedvalue & "','" & dtptglaktif.value.date & "','" & dtptglnonaktif.value.date & "')" "update [Tbl_Trans_Tunjangan] set [nm_tunjangan]='" & txtnmtunjangan.text & "',[gaji_tunjangan]=" & txtuangtunjangan.text & ",[periode_tunjangan]='" & cmbperiodetunjangan.text & "',[keterangan]='" & txtketerangan.text & "' where [kd_tunjangan]='" & txtkdtunjangan.text & "'" "delete from [Tbl_Trans_Tunjangan] where [kd_tunjangan]='" & txtkdtunjangan.text & "'" "select * from [Tbl_Hist_Tunjangan] Gambar 4.8 : Table History Tunjangan "selecta.[nip],b.[nama_depan],b.[nama_belakang],a.[kd_tunjangan],c.[nm_tunjangan],a.[tanggal_a ktif],a.[tanggal_nonaktif]from(([tbl_trans_tunjangan] a inner join [Tbl_Guru] b on a.[nip]=b.[nip]) inner join [Tbl_Tunjangan] c on a.[kd_tunjangan]=c.[kd_tunjangan])" "INSERT INTO [Tbl_Hist_Tunjangan] VALUES('" & txtnip.text & "','" & cmbkdtunjangan.selectedvalue & "','" & dtptglaktif.value.date & "','" & dtptglnonaktif.value.date & "')" "update [Tbl_Hist_Tunjangan] set [nm_tunjangan]='" & txtnmtunjangan.text & "',[gaji_tunjangan]=" & txtuangtunjangan.text & ",[periode_tunjangan]='" & cmbperiodetunjangan.text & "',[keterangan]='" & txtketerangan.text & "' where [kd_tunjangan]='" & txtkdtunjangan.text & "'" "delete from [Tbl_Hist_Tunjangan] where [kd_tunjangan]='" & txtkdtunjangan.text & "'"
64 Gambar 4.9 : Table Insentif "select * from [Tbl_Insentif]" "insert into [Tbl_Insentif] values('" & Trim(txtKdTransIns.Text) & "','" & Trim(txtNIP.Text) & "','" & cmbkdinsentif.selectedvalue & "','" & dtptransins.value.date & "'," & txttranshonorins.text & "," & Trim(txtQty.Text) & "," & txttranshonorins.text * Trim(txtQty.Text) & ")" "update [Tbl_Insentif] set [kd_insentif]='" & cmbkdinsentif.selectedvalue & "',[tgl_insentif]='" & dtptransins.value.date & "',[gaji_insentif]=" & txttranshonorins.text & ",[qty]=" & Trim(txtQty.Text) & ",[jml_gaji_insentif]=" & txttranshonorins.text * Trim(txtQty.Text) & " where [kd_trans_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'" "delete from [Tbl_Insentif] where [kd_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'"
65 "select * from [Tbl_Trans_Insentif]" Gambar 4.10 : Table Transaksi Insentif "insert into [Tbl_Trans_Insentif] values('" & Trim(txtKdTransIns.Text) & "','" & Trim(txtNIP.Text) & "','" & cmbkdinsentif.selectedvalue & "','" & dtptransins.value.date & "'," & txttranshonorins.text & "," & Trim(txtQty.Text) & "," & txttranshonorins.text * Trim(txtQty.Text) & ")" "update [Tbl_Trans_Insentif] set [kd_insentif]='" & cmbkdinsentif.selectedvalue & "',[tgl_insentif]='" & dtptransins.value.date & "',[gaji_insentif]=" & txttranshonorins.text & ",[qty]=" & Trim(txtQty.Text) & ",[jml_gaji_insentif]=" & txttranshonorins.text * Trim(txtQty.Text) & " where [kd_trans_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'" "delete from [Tbl_Trans_Insentif] where [kd_trans_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'"
66 "select * from [Tbl_Hist_Insentif]" Gambar 4.11 : Table History Insentif "insert into [Tbl_Hist_Insentif] values('" & Trim(txtKdTransIns.Text) & "','" & Trim(txtNIP.Text) & "','" & cmbkdinsentif.selectedvalue & "','" & dtptransins.value.date & "'," & txttranshonorins.text & "," & Trim(txtQty.Text) & "," & txttranshonorins.text * Trim(txtQty.Text) & ")" "update [Tbl_Hist_Insentif] set [kd_insentif]='" & cmbkdinsentif.selectedvalue & "',[tgl_insentif]='" & dtptransins.value.date & "',[gaji_insentif]=" & txttranshonorins.text & ",[qty]=" & Trim(txtQty.Text) & ",[jml_gaji_insentif]=" & txttranshonorins.text * Trim(txtQty.Text) & " where [kd_trans_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'" "delete from [Tbl_Hist_Insentif] where [kd_insentif]='" & txtkdtransins.text & "' and [NIP]='" & txtnip.text & "'"
67 Gambar 4.12 : Table Cashbon "select * from [Tbl_Cashbon]" "INSERT INTO [Tbl_Cashbon] VALUES('" & txtkdcashbon.text & "','" & txtnip.text & "','" & txtnmcashbon.text & "','" & dtpcashbon.value.date & "'," & txtjmlcashbon.text & ",'" & txtketerangan.text & "')" "update [Tbl_Cashbon] set [nm_cashbon]='" & txtnmcashbon.text & "',[tgl_cashbon]='" & dtpcashbon.value.date & "',[jml_cashbon]=" & txtjmlcashbon.text & ",[keterangan]='" & txtketerangan.text & "' where [kd_cashbon]='" & txtkdcashbon.text & "' and [NIP]='" & txtnip.text & "'" "delete from [Tbl_Cashbon] where [kd_cashbon]='" & txtkdcashbon.text & "' and [NIP]='" & txtnip.text & "'"
68 Gambar 4.13 : Table Slip Gaji "select * from [Tbl_Slip_Gaji] order by [tgl_slip]" "delete from [Tbl_Hist_Tunjangan] where [bulan]='" & cmbbulangaji.text & "' and [tahun]=" & txttahun.text "insert into [Tbl_Hist_Tunjangan]([NIP],[Nama_Depan],[Nama_Belakang],[bulan],[tahu n],[kd_tunjangan],[nm_tunjangan],[besar_tunjangan]) select a.[nip],c.[nama_depan],c.[nama_belakang],'" & cmbbulangaji.text & "'," & txttahun.text & ",a.[kd_tunjangan],d.[nm_tunjangan],sum(b.[jml_gaji]) from ((([Tbl_Trans_Tunjangan] a inner join [Tbl_Absensi_Ekstra] b on a.[nip]=b.[nip] and a.[kd_tunjangan]=b.[jenis_absen]) inner join [Tbl_Guru] c on a.[nip]=c.[nip]) inner join [Tbl_Tunjangan] d on a.[kd_tunjangan]=d.[kd_tunjangan]) where b.[tanggal_absen] between #" & DateAdd(DateInterval.Day, 1, DateAdd("m", -1, selectedperiode)) & "# and #" & selectedperiode & "# group by a.[nip],c.[nama_depan],c.[nama_belakang],a.[kd_tunjangan],d.[nm_tunja ngan]" 4.3 Tampilan Antar Muka Berikut ini adalah interface dari tampilan aplikasi Sisem Informasi Penggajian Guru pada madrasah Tsanawiyah Al-Hidayah
69 4.3.1 Form Login Pada form login, user dan admin diwajibkan untuk memasukkan username dan password agar dapat masuk ke dalam aplikasi. Hal ini bertujua untuk membatasi pemakai yang mengakses aplikasi dan hak aksesnya. Untuk lebih jelasnya, form login dapat dilihat pada gambar dibawah ini: Gambar 4.14 : Form Login User Gambar 4.15 : Form Login Admin Isi username dan password pada form login, lalu pilih role (user atau admin) kemudian klik Sign in. Jika benar akan membuka menu utama, tetapi jika salah memasukkan username atau password tidak role yang dipilih maka akan muncul pesan dan diminta mengulangi kembali untuk mengisi username dan password sampai benar. Dan jika ingin langsung keluar maka dapat lagsung menekan tombol cancel. Imports System.Data Imports System.Data.OleDb Public Class FLogin Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub FLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TransparencyKey = Me.BackColor
70 comborole.selectedindex = 0 txtuser.focus() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim datareader As OleDbDataReader Dim role As String Dim cnt As Integer conn.close() If comborole.selecteditem = "user" Then role = "False" ElseIf comborole.selecteditem = "admin" Then role = "True" End If 4.3.2 Form Menu Utama Form utama merupakan form yang tampil setelah form login. Dari form ini maka user maupun admin dapat membuka form-form lain yang berhubungan dengan aplikasi Sistem Penggajian Guru. Form-form tersebut yaitu Menu Master yang terdiri dari masukkan data guru, masukkan data tunjangan, masukkan data insentif. Menu Absensi terdiri dari : masukkan data absensi mengajar dan masukkan data absensi ekstrakurikuler. Menu Transaksi terdiri dari : menu tunjangan guru, insentif guru, cashbon dan proses gaji. Menu Laporan terdiri dari : menu data master, data absensi, data transaksi dan slip gaji. Pada saat login memasukkan username dan password dan memilih role admin, maka ada menu Admin yang terdiri dari : menu profil user yang dapat dipilih lagi berupa menu daftarkan user dan update user, serta ada menu parameter.
71 Gambar 4.16 : Menu Utama sistem penggajian guru Imports System.Data Imports System.Data.OleDb <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class MainForm Inherits System.Windows.Forms.Form 'Dim conn As New AccessData.DatabaseConnection 'Dim command As New OleDbCommand 'Dim adapter As New OleDbDataAdapter 'Dim dataset As New DataSet 'Dim reader As OleDbDataReader 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.dispose() End If MyBase.Dispose(disposing) End Sub 4.3.3 Form Masukkan Data Guru Form masukkan data guru merupakan file master yang dapat menambah, mengedit, menghapus dan menyimpan data yang akan disimpan kedalam database data guru apabila terjadi penambahan, pengubahan ataupun pengurangan data.
72 Imports System.Text.RegularExpressions Imports System.Data Imports System.Data.OleDb Public Class InputDataGuru Gambar 4.17 : Form Masukkan Data Guru Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtnamadepan.textchanged End Sub Private Sub AddGuru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddGuru.Click Dim conf Dim JK As String Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand conn.close() 4.3.4 Form Masukkan Data Tunjangan Form masukkan data tunjangan merupakan file master yang dapat menambah, mengedit, menghapus dan menyimpan data yang akan disimpan kedalam database data tunjangan apabila terjadi penambahan, pengubahan ataupun pengurangan data.
73 Imports System.Data Imports System.Data.OleDb Public Class InputDataTunjangan Gambar 4.18 : Form Masukkan Data Tunjangan Private Sub InputDataTunjangan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cmbperiodetunjangan.selectedindex = 1 End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btcancel.click Me.Dispose() Me.Close() End Sub Private Sub btaddtunjangan_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btaddtunjangan.click Dim conf Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand conn.close() 4.3.5 Form Masukkan Data Insentif Form masukkan data insentif merupakan file master yang dapat menambah, mengedit, menghapus dan menyimpan data yang akan disimpan kedalam database data insentif apabila terjadi penambahan, pengubahan ataupun pengurangan data.
74 Gambar 4.19 : Form Masukkan Data Insentif Imports System.Data Imports System.Data.OleDb Public Class InputDataInsentif Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btcancel.click Me.Dispose() Me.Close() End Sub Private Sub btaddinsentif_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btaddinsentif.click Dim conf Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand conn.close() 4.3.6 Form Masukkan Data Absensi Mengajar Form masukkan data absensi mengajar merupakan file master yang dapat menambah, mengedit, menghapus dan menyimpan data yang akan disimpan kedalam database data absensi mengajar apabila terjadi penambahan, pengubahan ataupun pengurangan data.
75 Imports System.Data Imports System.Data.OleDb Gambar 4.20 : Form Masukkan Data Absensi Mengajar Public Class FAbsensi Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Private Sub FAbsensi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load command = conn.open.createcommand command.commandtext = "select [NIP],[Nama_Depan],[Nama_Belakang],[Tanggal_Join],[Aktif] from [Tbl_Guru] where [Aktif]=True" adapter.selectcommand = command adapter.fill(dataset, "dstbl_guru") dgvminisearchguru.datasource = dataset.tables("dstbl_guru") If dgvminisearchguru.rows.count < 1 Then btpicknip.enabled = False Else btpicknip.enabled = True End If conn.close() command.dispose() End Sub 4.3.7 Form Masukkan Data Absensi Ekstrakurikuler Form masukkan data absensi ekstrakurikuler merupakan file master yang dapat menambah, mengedit, menghapus dan menyimpan data yang akan disimpan kedalam database data absensi ekstrakurikuler apabila terjadi penambahan, pengubahan ataupun pengurangan data.
76 Gambar 4.21 : Form Masukkan Data Absensi Ekstrakurikuler Imports System.Data Imports System.Data.OleDb Imports System.Math Public Class FAbsensiEkstra Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim t1, t2 As DateTime Private Sub countjmljam() Dim jmljam, jmlmenit As Integer t1 = numhour1.value.tostring & ":" & numminute1.value.tostring t2 = numhour2.value.tostring & ":" & numminute2.value.tostring If t2 > t1 Then 'txtjmljam.text = DateDiff(DateInterval.Minute, t1, t2) jmljam = Math.Truncate(DateDiff(DateInterval.Minute, t1, t2) / 60) jmlmenit = DateDiff(DateInterval.Minute, t1, t2) Mod 60 txtjmljam.text = jmljam & ":" & jmlmenit End If End Sub 4.3.8 Form Transaksi Data Tunjangan Guru Form transaksi data tunjangan guru merupakan file transaksi yang dapat menambah, mengedit, menghapus dan mencari data tunjangan guru berdasarkan NIP guru.
77 Imports System.Data Imports System.Data.OleDb Public Class FTunjanganGuru Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Gambar 4.22 : Form transaksi tunjangan guru Private Sub FTunjanganGuru_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load On Error Resume Next '##### START : Isi Data Grid View untuk pencarian NIP command = conn.open.createcommand command.commandtext = "select [NIP],[Nama_Depan],[Nama_Belakang],[Tanggal_Join],[Aktif] from [Tbl_Guru] where [Aktif]=True" adapter.selectcommand = command adapter.fill(dataset, "dstbl_guru") 4.3.9 Form Transaksi Data Insentif Guru Form transaksi data insentif guru merupakan file transaksi yang dapat menambah, mengedit, menghapus dan mencari data insentif guru berdasarkan NIP guru.
78 Imports System.Data Imports System.Data.OleDb Public Class FInsentifGuru Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Gambar 4.23 : Form Transaksi Data Insentif Guru Private Sub FInsentifGuru_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load On Error Resume Next '##### START : Isi Data Grid View untuk pencarian NIP command = conn.open.createcommand command.commandtext = "select [NIP],[Nama_Depan],[Nama_Belakang],[Tanggal_Join],[Aktif] from [Tbl_Guru] where [Aktif]=True" adapter.selectcommand = command adapter.fill(dataset, "dstbl_guru") 4.3.10 Form Transaksi Cashbon Form transaksi data cashbon guru merupakan file transaksi yang dapat menambah, mengedit, menghapus dan mencari data cashbon guru berdasarkan NIP guru.
79 Imports System.Data Imports System.Data.OleDb Public Class FCashbon Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Gambar 4.24 : Form Transaksi Cashbon Private Sub FCashbon_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load command = conn.open.createcommand command.commandtext = "select [NIP],[Nama_Depan],[Nama_Belakang],[Tanggal_Join],[Aktif] from [Tbl_Guru] where [Aktif]=True" adapter.selectcommand = command adapter.fill(dataset, "dstbl_guru") 4.3.11 Form Proses Gaji Form proses kalkulasi gaji merupakan form file transaksi yang berfungsi untuk menghitung gaji bersih yang akan diterima para guru setelah dikurangi cashbon.
80 Gambar 4.25 : Form Proses Gaji Imports System.Data Imports System.Data.OleDb Public Class FProsesGaji Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttahun.keypress Dim allowedchars As String = "0123456789" If allowedchars.indexof(e.keychar) = -1 Then ' Invalid Character e.handled = True End If End Sub 4.3.12 Form Laporan Data Guru guru. Form laporan data guru merupakan file laporan yang berfungsi untuk mencetak laporan data
81 Gambar 4.26 : Form Laporan Data Guru Gambar 4.27 : Tampilan Laporan Data Guru Imports System.Data Imports System.Data.OleDb Public Class FReportMaster Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txthonor.keypress Dim allowedchars As String = "0123456789" If allowedchars.indexof(e.keychar) = -1 Then ' Invalid Character e.handled = True End If End Sub 4.3.13 Form Laporan Tunjangan Guru Form laporan tunjangan guru merupakan file laporan yang berfungsi untuk mencetak laporan tunjangan guru.
82 Gambar 4.28 : Form Laporan Tunjangan Guru Gambar 4.29 : Tampilan Laporan Tunjangan Guru 4.3.14 Form Laporan Insentif Guru Form laporan insentif guru merupakan file laporan yang berfungsi untuk mencetak laporan insentif guru. Gambar 4.30 : Form Laporan Insentif Guru Gambar 4.31 : Tampilan Laporan Insentif Guru
83 4.3.15 Form Laporan Data Absensi Mengajar Form laporan data absensi mengajar guru merupakan file laporan yang berfungsi untuk mencetak laporan data absensi mengajar guru. Gambar 4.32 : Form Laporan Data Absensi Mengajar Imports System.Data Imports System.Data.OleDb Gambar 4.33: Tampilan Laporan Data Absensi Mengajar Public Class FReportAbsensi Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Private Sub btsubmit2_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btsubmit2.click dataset.clear() 4.3.16 Form Laporan Data Absensi Ekstrakurikuler Form laporan data absensi ekstrakurikuler guru merupakan file laporan yang berfungsi untuk mencetak laporan data absensi ekstrakurikuler guru.
84 Gambar 4.34 : Form Laporan Data Absensi Ekstrakurikuler Gambar 4.35 : Tampilan laporan Data Absensi Ekstrakurikuler 4.3.17 Form Laporan Tunjangan Guru Form laporan tunjangan guru merupakan file laporan yang berfungsi untuk mencetak laporan tunjangan guru. Gambar 4.36 : Form Laporan Tunjangan Guru
85 Gambar 4.37 : Tampilan laporan Tunjangan Guru 4.3.18 Form Laporan Insentif Guru Form laporan insentif guru merupakan file laporan yang berfungsi untuk mencetak laporan insentif guru. Gambar 4.38 : Form Laporan Insentif Guru Imports System.Data Imports System.Data.OleDb Public Class FReportTransaksi Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Gambar 4.39 : Tampilan Laporan Insentif Guru
86 Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtcashbon.keypress Dim allowedchars As String = "0123456789" If allowedchars.indexof(e.keychar) = -1 Then ' Invalid Character e.handled = True End If End Sub 4.3.19 Form Laporan Cashbon Form laporan cashbon guru merupakan file laporan yang berfungsi untuk mencetak laporan cashbon guru. Gambar 4.40 : Form Laporan Cashbon Gambar 4.41 : Tampilan Laporan Cashbon 4.3.20 Form Laporan Slip Gaji Form laporan slip gaji merupakan file laporan yang berfungsi untuk mencetak laporan slip gaji guru.
87 Gambar 4.42 : Form Laporan Slip Gaji Gambar 4.43 : Tampilan Laporan Slip Gaji 4.3.21 Form Admin Profil User Daftarkan User Form admin merupakan menu khusus untuk pemakai yang login menggunakan role admin yang berfungsi untuk mendaftarkan user baru. Gambar 4.44 : Form Admin Profil User Daftarkan User 4.3.22 Form Admin Profil User Update User Form admin merupakan menu khusus untuk pemakai yang login menggunakan role admin yang berfungsi untuk meng-update user.
88 Imports System.Data Imports System.Data.OleDb Gambar 4.45 : Form Admin Profil User Update User Public Class FAddUser Dim conn As New AccessData.DatabaseConnection Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim dataset As New DataSet Dim reader As OleDbDataReader Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Dispose() Me.Close() End Sub 4.3.22 Form Admin Parameter Form admin merupakan menu khusus, dalam form admin terdapat menu parameter yang berfungsi untuk meng-update seperti gaji mengajar, tanggal gaji, dan tunjnagan pengabdian. Semua ini hanya bisa dilakukan oleh user dengan role admin. Imports System.Data Imports System.Data.OleDb Public Class FGlobalVar Dim conn As New AccessData.DatabaseConnection Gambar 4.46: Form Admin Parameter
89 Dim command As New OleDbCommand Dim adapter As New OleDbDataAdapter Dim reader As OleDbDataReader Dim dataset As New DataSet Private Sub btcancel_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btcancel.click Me.Dispose() Me.Close() End Sub 4.4 PENGUJIAN SISTEM Pengujian sistem yang dilakukan adalah untuk mengetahui bahwa aplikasi yang telah dibuat dapat berjalan sebagaimana mestinya yang dirancang, dan untuk menghindari kesalahan-kesalahan yang mungkin terjadi pada saat aplikasi dijalankan. 4.4.1 METODE PENGUJIAN Metode yang dilakukan adalah metode black box testing yaitu metode pengujian yang menekankan pada berhasil tidaknya menjalankan fungsi dari aplikasi yang dibuat. 4.4.2 Skenario Pengujian Skenario yang dimaksud adalah skenario-skenario pengujan yang dilakukan untuk melihat hasil dari skenario yang dilakukan. Tabel 4.1 Tabel skenario pengujian aplikasi sistem penggajian guru Madrasah Tsanawiyah No Antar Muka Yang Diuji Bagian dari Antar Muka yang Diuji Status Aplikasi Skenario Pengujian Hasil Diharapkan Yang 1 Form Login Proses menginput data login Form Login sudah dibuka Masukkan Username Password dan Data akan dicek, bila salah akan diulangi, dan bila benar masuk ke form Menu Utama 2 Menu Utama Proses Link menu Strip Item Menu Utama sudah terbuka Klik menu yang diinginkan Akan tampil menumenu yang diinginkan 3 Form Masukkan data guru Proses menginput data guru Form masukkan data guru sudah terbuka Masukkan tambahkan guru dengan tersebut atau data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya
90 4 Form masukkan data tunjangan Proses menginput data tunjangan Form masukkan data tunjangan sudah terbuka Masukkan tunjangan dengan tersebut data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 5 Form masukkan data insentif Proses menginput data insentif Form masukkan data insentif sudah terbuka Masukkan insentif dengan tersebut data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 6 Form masukkan data absensi mengajar Proses menginput data absensi mengajar Form masukkan data absensi mengajar sudah terbuka Masukkan data absensi mengajar form tersebut Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 7 Form masukkan data absensi ekstrakurikuler Proses menginput data absensi ekstrakurikuler Form masukkan data absensi ekstrakurikuler sudah terbuka Masukkan data absensi ekstrakurikuler form tersebut Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 8 Form Cetak Bukti cashbon Proses menginput dan cetak bukti cashbon Form Cetak Bukti cashbon sudah terbuka Masukkan cashbon dengan tersebut data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 9 Form proses gaji men- Proses generate gaji Form gaji terbuka proses sudah Masukkan periode bulan yang akan diproses gajinya Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 10 Menu Admin Proses yang dapat dilakukan hanya untuk login Admin Form admin sudah terbuka Pilih menu yang diinginkan (Profile User untuk mendaftarkan user) dan (Parameter untuk meng-update global variable) Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 11 Menu Laporan Proses mencetak laporan Semua laporan dibuka menu dapat Masukkan periode laporan yang diinginkan File laporan akan tercetak
91 4.4.3 Hasil Pengujian Dari hasil skenario pengujian terakhir yang dilakukan dapat diperoleh hasil pengujian. Dari hasil pengujian dapat di lihat dari teble 4.2 dibawah ini: Tabel 4.2 Tabel hasil pengujian aplikasi sistem penggajian guru Madrasah Tsanawiyah No Antar Muka Yang Diuji Bagian dari Antar Muka yang Diuji Status Aplikasi Skenario Pengujian Hasil Yang Didapat 1 Form Login Proses menginput data login Form Login sudah dibuka Masukkan Username Password dan Data akan dicek, bila salah akan diulangi, dan bila benar masuk ke form Menu Utama 2 Menu Utama Proses Link menu Strip Item Menu Utama sudah terbuka Klik menu yang diinginkan Menu yang diinginkan dapat dibuka 3 Form Masukkan data guru Proses menginput data guru Form masukkan data guru sudah terbuka Masukkan tambahkan guru dengan tersebut atau data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 4 Form masukkan data tunjangan Proses menginput data tunjangan Form masukkan data tunjangan sudah terbuka Masukkan tunjangan dengan tersebut data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 5 Form masukkan data insentif Proses menginput data insentif Form masukkan data insentif sudah terbuka Masukkan insentif dengan tersebut data sesuai form Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 6 Form masukkan data absensi mengajar Proses menginput data absensi mengajar Form masukkan data absensi mengajar sudah terbuka Masukkan data absensi mengajar form tersebut Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 7 Form masukkan data absensi ekstrakurikuler Proses menginput data absensi ekstrakurikuler Form masukkan data absensi ekstrakurikuler sudah terbuka Masukkan data absensi ekstrakurikuler form tersebut Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 8 Form Cetak Bukti cashbon Proses menginput dan cetak bukti cashbon Form Cetak Bukti cashbon sudah terbuka Masukkan bulan yang akan diproses perhitungan jumlah cashbon Data total cashbon akan ter-generate dan tombol berfungsi fungsinya serta total cashbon dapat dilihat
92 dalam slip gaji 9 Form proses gaji men- Proses generate gaji Form gaji terbuka proses sudah Masukkan periode bulan yang akan diproses gajinya Data proses gaji akan ter-generate, dan semua menu serta tombol akan berfungsi fungsinya dan total gaji bersih guru dapat dilihat dalam slip gaji 10 Menu Admin Proses yang dapat dilakukan hanya untuk login Admin Form admin sudah terbuka Pilih menu yang diinginkan (Profile User untuk mendaftarkan user) dan (Parameter untuk meng-update global variable) Data akan tersimpan dan semua menu serta tombol akan berfungsi fungsinya 11 Menu Laporan Proses mencetak laporan Semua laporan dibuka menu dapat Masukkan periode laporan yang diinginkan Semua laporan yang dipilih dapat tercetak 4.4.4 Analisis Hasil Pengujian Dari hasil skenario pengujian terakhir yang dilakukan dapat diperoleh hasil pengujian. Dari hasilskenario pengujian pada setiap pilihan yang ada pada aplikasi ini yaitu form login, menu utama, form masukkan data guru, form masukkan data absensi, form masukkan data tunjagan guru, form masukkan data insentif guru, form proses gaji, form cetak bukt cashbon, dan cetak laporan. Maka diperoleh hasil pengujian tersebut rumusan perancangan aplikasi program ini. Dan terangkum dalam hasil pengujian dibawah ini sebagai berikut: 1. Hasil pegujian berdasarkan pada analisis perancangan sistem telah yang diharapkan dan selama pengujian semua tombol dan toolbar menustrip item berfungsi dengan baik dan berjalan fungsi-fungsi yang diinginkan. Hal tersebut terbukti dengan dapat berjalannya seluruh proses analisis perancangan dan implementasi. 2. Aplikasi ini menghasilkan beberapa laporan seperti laporan data master meliputi data guru, data tunjangan dan data insentif. Kemudian laporan data transaksi meliputi tunjangan guru, insentif guru, cashbon dan proses gaji. Serta laporan absensi guru yang meliputi absensi mengajar dan absensi ekstrakurikuler dan cetak slip gaji. Dari hasil pengujian yang dilakukan pada aplikasi ini dapat disimpulkan bahwa semua form dan tombol-tombol yang ada di dalam aplikasi ini berjalan dengan baik dan digunakan sebagai
93 pengontrol dan pengawasan dalam kegiatan penggajian guru seperti transaksi hitung tunjangan, hitung insentif, hitung total cashbon, hitung proses gaji dan cetak slip gaji.