BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · Post-conditions Data karyawan tersimpan atau...
Transcript of BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · Post-conditions Data karyawan tersimpan atau...
40
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1 Analisa Kebutuhan Software
A. Tahapan Analisis
Sistem informasi penggajian berbasis dekstop dimana perhitungan gaji
karyawan dilakukan dengan proses input melalui sebuah aplikasi. Berikut ini
spesifikasi kebutuhan dari sistem aplikasi penggajian berbasis dekstop.
Data Master berisi:
Form Absensi:
A1. Karyawan dapat melakukan login untuk absensi masuk dan keluar
dengan menginput NIK dan password yang diberikan oleh admin.
A2. Karyawan juga dapat melihat slip gaji.
Menu Utama Admin:
A1. Admin dapat mengelola data karyawan.
A2. Admin dapat mengelola perhitungan gaji karyawan secara terperinci
berdasarkan data absensi karyawan.
A3. Admin mengelola laporan yang meliputi data karyawan, rekap gaji, dan
slip gaji.
Menu Utama Direktur:
A1. Direktur dapat melakukan login untuk masuk ke dalam Menu Utama
Direktur.
A2. Direktur melihat laporan yang meliputi data karyawan dan rekap gaji.
41
B. Usecase Diagram yang diusulkan
1. Usecase Diagram Absensi Form Absensi
Gambar IV.1 Usecase Diagram Absensi Form Absensi
Tabel IV.1Deskripsi Usecase Diagram Absensi Form Absensi
Usecase Name AbsensiRequirements A1-A2Goal Karyawan melakukan absensi dengan aplikasi.Pre-conditions Karyawan mengetahui aplikasi dari sistem absensi.
Post-conditionsKaryawan melakukan absensi dengan aplikasidekstop.
Failed end conditions Karyawan tidak melakukan absensi dengan aplikasi.Primary Actors Karyawan
Main Flow / Basic Path
1. Karyawan dapat melakukan login untuk absensimasuk dan keluar dengan menginput NIK danpassword yang diberikan oleh admin.
2. Karyawan dapat melihat slip gaji
Invariant
42
2. Usecase Diagram Menu Utama Admin
Gambar IV.2 Usecase Diagram Menu Utama Admin
Tabel IV.2Deskripsi Usecase Diagram Menu Utama Admin
Usecase Name Menu Utama AdminRequirements A1-A3Goal Admin dapat melakukan login pada aplikasi.Pre-conditions Admin dapat mengetahui proses input data.Post-conditions Admin memegang keamanan data pada aplikasi.
Failed end conditions Admin dapat mengelola data secara keseluruhan
Primary Actors Admin
Main Flow / Basic Path
1. Admin dapat mengelola data karyawan yang adadi dalam Menu Utama Admin.
2. Admin dapat mengelola perhitungan gajikaryawan secara terperinci berdasarkan dataabsensi karyawan.
3.Admin dapat mengelola laporan yang meliputidata karyawan, rekap gaji, dan slip gaji.
Invariant
43
3. Usecase Diagram Mengelola Data Karyawan
Gambar IV.3 Usecase Diagram Mengelola Data Karyawan
Tabel IV.3Deskripsi Usecase Diagram Mengelola Data Karyawan
Usecase Name Mengelola Data KaryawanRequirements B1
GoalAdmin dapat menambah, mengedit, menghapus,dam membatalkan data karyawan.
Pre-conditions Admin telah login.Post-conditions Data karyawan tersimpan atau terhapus.
Failed end conditions Gagal menyimpan atau menghapus.
Primary Actors Admin
Main Flow / Basic Path
1.Admin menambah data karyawan.2.Admin mengedit data karyawan.3.Admin menghapus data karyawan.4.Admin membatalkan data karyawan.5.Admin menyimpan data karyawan.
Invariant
44
4. Usecase Diagram Mengelola Parhitungan Gaji Karyawan
Gambar IV.4 Usecase Diagram Mengelola Perhitungan Gaji Karyawan
Tabel IV.4Deskripsi Usecase Diagram Mengelola Perhitungan Gaji Karyawan
Usecase Name Mengelola Perhitungan Gaji KaryawanRequirements B2
GoalAdmin dapat menambah, menyimpan danmembatalkan input data gaji karyawan.
Pre-conditions Admin telah login.
Post-conditionsProses input gaji karyawan dapat tersimpan ataudibatalkan.
Failed end conditionsProses input gaji karyawan tidak dapat tersimpanatau dibatalkan.
Primary Actors Admin
Main Flow / Basic Path
1.Admin dapat menambahkan proses input gajikaryawan.
2.Admin dapat menyimpan proses input gajikaryawan.
3.Admin dapat membatalkan proses input gajikaryawan.
Invariant 11a. Admin terlebih dahulu menentukan atau
memilih periode gaji.Invariant 2 1b. Admin memilih NIK.
45
5. Usecase Diagram Mengelola Laporan
Gambar IV.5 Usecase Diagram Mengelola Laporan
Tabel IV.5Deskripsi Usecase Diagram Laporan
Usecase Name Mengelola LaporanRequirements B3Goal Admin dapat melihat laporanPre-conditions Admin telah login.Post-conditions Admin dapat melakukan mencetak laporan.Failed endchgbonditions
Admin tidak dapat menampilkan laporan.
Primary Actors Admin
Main Flow / Basic Path
1.Admin dapat menampilkan laporan datakaryawan.
2.Admin dapat menampilkan laporan rekap gaji.3.Admin dapat menampilkan laporan slip gaji.
Invariant
46
6. Usecase Diagram Menu Utama Direktur Form Laporan
Gambar IV.6 Usecase Diagram Menu Utama Direktur Form Laporan
Tabel IV.6Deskripsi Usecase Diagram Menu Utama Direktur Form Laporan
Usecase Name Menu Utama DirekturRequirements A1-A2Goal Direktur dapat melakukan login pada aplikasi.
Pre-conditionsDirektur dapat mengetahui aplikasi dari sistemlaporan
Post-conditions Direktur dapat melihat laporan dari aplikasi
Failed end conditionsDirektur tidak dapat merubah laporan yang telahdibuat.
Primary Actors Direktur
Main Flow / Basic Path
1. Direktur dapat melakukan login untuk masuk kedalam Menu Utama Direktur.
2. Direktur dapat melihat laporan yang meliputidata karyawan dan rekap gaji.
Invariant
47
C. Activity Diagram yang diusulkan
1. Activity Diagram Usulan Absensi Karyawan
Karyawan Sistem
Gambar IV.7 Activity Diagram Usulan Absensi Karyawan
48
B. Activity Diagram Usulan Mengelola Data Karyawan
Admin Sistem
Gambar IV.8 Activity Diagram Usulan Mengelola Data Karyawan
49
C. Activity Diagram Usulan Mengelola Perhitungan Gaji Karyawan
Admin Sistem
Gambar IV.9 Activity Diagram Usulan Mengelola Perhitungan
Gaji Karyawan
50
D. Activity Diagram Usulan Mengelola Laporan
Karyawan Admin Direktur
Data Karyawan
Start
End
Menerima Laporan Rekap Gaji
Rekap Gaji
Cetak Rekap Gaji
Pilih Bulan dan Tahun
Memberikan Laporan Rekap Gaji
Acc Laporan Rekap Gaji
Terima Slip Gaji
Slip Gaji
Terima Acc Laporan Rekap Gaji
No
Yes
Cetak Slip Gaji
Pilih Bulan dan Tahun
Memberikan Slip Gaji
Tampilkan Laporan
Gambar IV.10 Activity Diagram Usulan Mengelola Laporan
53
4.2.2 Software Arhitecture
A. Class Diagram
Absensi
tglabsensi:date/timenik:textmasuk:date/timekeluar:date/time
+Masuk()+Keluar()+Slipgaji()
Karyawan
nik:textnama:textalamat:texttempatlahir:texttgllahir:date/timekelamin:textstatus:textjmlanak:numberkdbagian:textkdjabatan:textPassword:textmasakerja:date/timenorek:textnamabank:textatasnama:text
+Tambah()+Simpan(()+Edit()+Hapus()+Batal()
Jabatan
kdjabatan:textnmjabatan:Textgapok:currencytkesehatan:currencyttransport:currencylembur:currencyinsentif:currencythr:currencypotterlambat:currency
+Tambah()+Simpan()+Edit()+Hapus()+Batal()
Bagian
kdbagian:textnmbagian:text
+Tambah()+Simpan()+Edit()+Hapus()+Batal()
1
M
M1
M
1
1
M
1
1
Penggajian
noslip:texttglslip:date/timeperiode:date/timenik:textgapok:currencytkesehatan:currencyttransport:currencylembur:currencyinsentif:currencythr:currencypotterlambat:currencytotalgaji:currency
+Tambah()+Simpan()+Batal()
Gambar IV.13 Class Diagram Sistem Penggajian
54
B. Spesifikasi File
1. Spesifikasi File Tabel Login
Nama Database : master.mdb
Nama File : Tabel Login
Akronim : login
Tipe File : File Master
Akses File : Random
Panjang Record : 21 Byte
Kunci Field : iduser
Tabel IV.7
Spesifikasi File Tabel Login
No Elemen Data Nama Field Type Size Keterangan
1 Id User Iduser Text 5 Primary Key
2 Jenis User Jnsuser Text 8
3 Password Password Text 8
2. Spesifikasi File Tabel Bagian
Nama Database : master.mdb
Nama File : Tabel Bagian
Akronim : bagian
Tipe File : File Master
Akses File : Random
Panjang Record : 25 Byte
Kunci Field : kdbagian
55
Tabel IV.8
Spesifikasi File Tabel Bagian
No Elemen Data Nama Field Type Size Keterangan
1 Kode Bagian kdbagian Text 5 Primary Key
2 Nama Bagian nmbagian Text 20
3. Spesifikasi File Tabel Jabatan
Nama Database : master.mdb
Nama File : Tabel Jabatan
Akronim : jabatan
Tipe File : File Master
Akses File : Random
Panjang Record : 81 Byte
Kunci Field : kdjabatan
Tabel IV.9
Spesifikasi File Tabel Jabatan
No Elemen Data Nama Field Type Size Keterangan
1 Kode Jabatan kdjabatan Text 5 Primary Key
2 Nama Jabatan nmjabatan Text 20
3 Gaji Pokok gapok Currency 8
4 Tunjangan Kesehatan tkesehatan Currency 8
5 Tunjangan Transport ttransport Currency 8
6 Lembur lembur Currency 8
56
7 Insentif insentif Currency 8
8 Tunjangan Hari Raya thr Currency 8
9 Potongan Keterlambatan potterlambat Currency 8
4. Spesifikasi File Tabel Bank
Nama Database : master.mdb
Nama File : Tabel Bank
Akronim : bank
Tipe File : File Master
Akses File : Random
Panjang Record : 23 Byte
Kunci Field : kdbank
Tabel IV.10
Spesifikasi File Tabel Bank
No Elemen Data Nama Field Type Size Keterangan
1 Kode Bank kdbank Text 3 Primary Key
2 Nama Bank nmbank Text 20
5. Spesifikasi File Tabel Karyawan
Nama Database : master.mdb
Nama File : Tabel Karyawan
Akronim : karyawan
Tipe File : File Master
57
Akses File : Random
Panjang Record : 436 Byte
Kunci Field : nik
Tabel IV.11
Spesifikasi File Tabel Karyawan
No Elemen Data Nama Field Type Size Keterangan
1 NIK nik Text 12 Primary Key
2 Nama nama Text 20
3 Alamat alamat Text 255
4 Tempat Lahir tempatlahir Text 20
5 Tanggal Lahir tgllahir Date/Time 8
6 Jenis Kelamin kelamin Text 15
7 Status status Text 20
8 Jumlah Anak jmlanak Single 4
9 Kode Bagian kdbagian Text 5 Foreign Key
10 Kode Jabatan kdjabatan Text 5 Foreign Key
11 Password password Text 8
12 Masa Kerja masakerja Date/Time 8
13 Nomor Rekening norek Text 16
14 Nama Bank nmbank Text 20
15 Atas Nama atasnama Text 20
58
6. Spesifikasi File Tabel Absensi
Nama Database : master.mdb
Nama File : Tabel Absensi
Akronim : absensi
Tipe File : File Master
Akses File : Random
Panjang Record : 36 Byte
Kunci Field : -
Tabel IV.12
Spesifikasi File Tabel Absensi
No Elemen Data Nama Field Type Size Keterangan
1 Tanggal Absensi tglabsensi Date/Time 8
2 NIK nik Text 12
3 Jam Masuk masuk Date/Time 8
4 Jam Keluar keluar Date/Time 8
7. Spesifikasi File Tabel Penggajian
Nama Database : master.mdb
Nama File : Tabel Penggajian
Akronim : penggajian
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 110 Byte
Kunci Field : noslip
59
Tabel IV.13
Spesifikasi File Tabel Penggajian
No Elemen Data Nama Field Type Size Keterangan
1 Nomor Slip noslip Text 10 Primary Key
2 Tanggal Slip tglslip Date/Time 8
3 Periode periode Date/Time 8
4 NIK Nik Text 12
5 Gaji Pokok gapok Currency 8
6 Tunjangan Jabatan tjabatan Currency 8
7 Tunjangan Kesehatan tkesehatan Currency 8
8 Tunjangan Transport ttransport Currency 8
9 Lembur lembur Currency 8
10 Insentif insentif Currency 8
11 Tunjangan Hari Raya thr Currency 8
12Potongan
Keterlambatanpotterlambat Currency 8
13 Total Gaji totalgaji Currency 8
62
3. Sequence Diagram Penggajian
Gambar IV.16 Sequence Diagram Penggajian
4. Sequence Diagram Mengelola Laporan Data Karyawan
Gambar IV.17 Sequence Diagram Mengelola Data Karyawan
63
5. Sequence Diagram Mengelola Rekap Gaji
Gambar IV.18 Sequence Diagram Mengelola Rekap Gaji
6. Sequence Diagram Mengelola Laporan Slip Gaji
Gambar IV.19 Sequence Diagram Mengelola Slip Gaji
64
9. Component Diagram
Gambar IV.20 Component Diagram Sistem Penggajian
10. Deployment Diagram
Gambar IV.21 Deployment Diagram Sistem Penggajian
65
4.2.3 User Inteface
Gambar IV.22 Tampilan Login Karyawan
Gambar IV.23 Tampilan Absensi Karyawan
Gambar IV.24 Tampilan Login Admin
67
Gambar IV.27 Tampilan Form User dari Data Master
pada Menu Utama Admin
Gambar IV.28 Tampilan Form Data Karyawan dari Data Master
pada Menu Utama Admin
68
Gambar IV.29 Tampilan Form Data Jabatan dari Data Master
pada Menu Utama Admin
Gambar IV.30 Tampilan Form Data Bank dari Data Master
pada Menu Utama Admin
69
Gambar IV.31 Tampilan Form Data Bagian dari Data Master
pada Menu Utama Admin
Gambar IV.32 Tampilan Penggajian pada Menu Utama Admin
70
Gambar IV.33 Tampilan Laporan dari Menu Utama Admin
Gambar IV.34 Tampilan Laporan Data Karyawan dari Menu Utama Admin
71
Gambar IV.35 Tampilan Laporan Rekap Gaji dari Menu Utama Admin
Gambar IV.36 Tampilan Laporan Slip Gaji dari Menu Utama Admin
72
Gambar IV.37 Tampilan Login Menu Utama Direktur
Gambar IV.38 Tampilan Laporan pada Menu Utama Direktur
73
Gambar IV.39 Tampilan Laporan Data Karyawan pada
Menu Utama Direktur
Gambar IV.40 Tampilan Laporan Rekap Gaji pada Menu Utama Direktur
74
4.3 Code Generation
1. Form Login
Private Sub bersih()Text1.Text = ""Text2.Text = ""End Sub
Private Sub Combo1_Click()If Combo1.Text = "<Pilih Jenis User>" ThenText1.Enabled = FalseText2.Enabled = FalseElseIf Combo1.Text = "Admin" ThenText1.Enabled = TrueText2.Enabled = TrueText1.SetFocusElseIf Combo1.Text = "Direktur" ThenText1.Enabled = TrueText2.Enabled = TrueText1.SetFocusElseIf Combo1.Text = "Karyawan" ThenData2.RecordSource = "select iduser,jnsuser,password from login whereleft(jnsuser,8)='" & Combo1.Text & "'"Data2.RefreshText1.Text = Data2.Recordset!iduserText2.Text = Data2.Recordset!PasswordText1.Enabled = FalseText2.Enabled = FalseEnd IfEnd Sub
Private Sub Command1_Click()If Text1.Text = "" Or Text2.Text = "" ThenCall Form_ActivateElseData1.Recordset.Index = "iduser"Data1.Recordset.Seek "=", Text1.Text
If Data1.Recordset.NoMatch ThenMsgBox "ID User yang Anda masukkan belum terdaftar"Call Form_ActivateElseData1.Recordset.Index = "password"Data1.Recordset.Seek "=", Text2.Text
If Data1.Recordset.NoMatch ThenMsgBox "Password yang Anda masukkan salah"Call Form_Activate
75
ElseText1.Enabled = FalseText2.Enabled = FalseCommand2.Enabled = FalseProgressBar1.Visible = TrueTimer1.Enabled = TrueEnd If
End IfEnd IfEnd Sub
Private Sub Command2_Click()EndEnd Sub
Private Sub Form_Activate()ProgressBar1.Visible = FalsebersihText1.Enabled = TrueTimer1.Enabled = FalseText1.SetFocusText2.Enabled = TrueCommand1.Enabled = FalseCombo1.ListIndex = 0End Sub
Private Sub Form_Load()bersihCombo1.AddItem "<Pilih Jenis User>"Data2.RecordSource = "select iduser,jnsuser,password from login"Data2.RefreshIf Data2.Recordset.RecordCount > 0 ThenDo Until Data2.Recordset.EOF
Combo1.AddItem Data2.Recordset!jnsuserData2.Recordset.MoveNext
LoopEnd IfEnd Sub
Private Sub Text1_Change()KeyAscii = Asc(UCase(Chr(KeyAscii)))If Not Text1.Text = "" And Not Text2.Text = "" ThenCommand1.Enabled = TrueElseCommand1.Enabled = FalseEnd IfEnd Sub
76
Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If Not Text1.Text = "" And Not Text2.Text = "" ThenCommand1.Enabled = TrueElseCommand1.Enabled = FalseEnd IfIf KeyAscii = 13 ThenIf Text1.Text = "" ThenText1.SetFocusElseText2.Enabled = TrueText2.SetFocusEnd IfEnd IfEnd Sub
Private Sub Text2_Change()KeyAscii = Asc(UCase(Chr(KeyAscii)))If Not Text1.Text = "" And Not Text2.Text = "" ThenCommand1.Enabled = TrueElseCommand1.Enabled = FalseEnd IfEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If Not Text1.Text = "" And Not Text2.Text = "" ThenCommand1.Enabled = TrueElseCommand1.Enabled = FalseEnd IfKeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 ThenIf Text2.Text = "" ThenText2.SetFocusElseCommand1.Enabled = TrueCommand1.SetFocusEnd IfEnd IfEnd Sub
Private Sub Timer1_Timer()ProgressBar1.Value = ProgressBar1.Value + 2If ProgressBar1.Value = ProgressBar1.Max ThenTimer1.Enabled = False
77
If Combo1.Text = "Admin" ThenMenuUtamaAdmin.ShowElseIf Combo1.Text = "Direktur" ThenMenuUtamaDirektur.ShowElseIf Combo1.Text = "Karyawan" ThenAbsensi.ShowEnd IfUnload MeEnd IfEnd Sub
2. Form Menu Utama Admin
Private Sub mnabsensi_Click()Absensi.ShowEnd Sub
Private Sub Form_Load()Label4.FontSize = 30Label4 = "PT. SUMBER KREASI FUMIKO"End Sub
Private Sub mnbagian_Click()Bagian.ShowEnd Sub
Private Sub mnbank_Click()Bank.ShowEnd Sub
Private Sub mngaji_Click()Penggajian.ShowEnd Sub
Private Sub mnjabatan_Click()Jabatan.ShowEnd Sub
Private Sub mnkaryawan_Click()Karyawan.ShowEnd Sub
Private Sub mnpiutang_Click()Piutang.ShowEnd Sub
78
Private Sub mnlapkaryawan_Click()CrystalReport1.ReportFileName = "C:\ProgramPenggajian\DataKaryawan.rpt"CrystalReport1.WindowState = crptMaximizedCrystalReport1.RetrieveDataFilesCrystalReport1.Action = 1End Sub
Private Sub mnlogout_Click()Login.ShowUnload MeEnd Sub
Private Sub mnrekapgaji_Click()RekapGaji.ShowEnd Sub
Private Sub mnsignout_Click()Login.ShowUnload MeEnd Sub
Private Sub mnslip_Click()SlipGaji.ShowEnd Sub
Private Sub mnuser_Click()FormUser.ShowEnd Sub
Private Sub Timer1_Timer()If Label1.ForeColor = &H80000012 ThenLabel1.ForeColor = &HFF&ElseIf Label1.ForeColor = &HFF& ThenLabel1.ForeColor = &HFF0000ElseIf Label1.ForeColor = &HFF0000 ThenLabel1.ForeColor = &H80000012End IfIf Label2.ForeColor = &H80000012 ThenLabel2.ForeColor = &HFF&ElseIf Label2.ForeColor = &HFF& ThenLabel2.ForeColor = &HFF0000ElseIf Label2.ForeColor = &HFF0000 ThenLabel2.ForeColor = &H80000012End IfEnd Sub
79
Private Sub Timer2_Timer()Label3.Caption = bergerakteks = Right(teks, Len(teks) - 1) & Left(teks, 1)Label3.Caption = teksEnd Sub
Private Sub Timer3_Timer()If (Label4.Left + Label4.Width) <= 0 ThenLabel4.Left = Me.WidthEnd IfLabel4.Left = Label4.Left - 100End Sub
3. Form Menu Utama Direktur
Private Sub mnlapkaryawan_Click()CrystalReport1.ReportFileName = "C:\ProgramPenggajian\DataKaryawan.rpt"CrystalReport1.WindowState = crptMaximizedCrystalReport1.RetrieveDataFilesCrystalReport1.Action = 1End Sub
Private Sub mnlogout_Click()Login.ShowUnload MeEnd Sub
Private Sub mnrekapgaji_Click()RekapGaji.ShowEnd Sub
4. Form Absensi
Dim cekpass, pass As String
Private Sub bersih()Text1.Text = ""Text2.Text = ""End Sub
Private Sub Combo1_Click()If Combo1.Text = "Januari" ThenLabel8.Caption = "01"ElseIf Combo1.Text = "Februari" ThenLabel8.Caption = "02"
80
ElseIf Combo1.Text = "Maret" ThenLabel8.Caption = "03"ElseIf Combo1.Text = "April" ThenLabel8.Caption = "04"ElseIf Combo1.Text = "Mei" ThenLabel8.Caption = "05"ElseIf Combo1.Text = "Juni" ThenLabel8.Caption = "06"ElseIf Combo1.Text = "Juli" ThenLabel8.Caption = "07"ElseIf Combo1.Text = "Agustus" ThenLabel8.Caption = "08"ElseIf Combo1.Text = "September" ThenLabel8.Caption = "09"ElseIf Combo1.Text = "Oktober" ThenLabel8.Caption = "10"ElseIf Combo1.Text = "November" ThenLabel8.Caption = "11"ElseIf Combo1.Text = "Desember" ThenLabel8.Caption = "12"End IfEnd Sub
Private Sub Command1_Click()If Combo1.ListIndex = 0 Or Combo2.ListIndex = 0 ThenMsgBox "Periode belum ditentukan jelas", vbCritical, "Perhatian"ElseCrystalReport1.SelectionFormula = "Month({penggajian.periode})=" &Label8.Caption & " and year({penggajian.periode})=" & Combo2.Text &""CrystalReport1.ReportFileName = "C:\Program Penggajian\Slip.rpt"CrystalReport1.WindowState = crptMaximizedCrystalReport1.RetrieveDataFilesCrystalReport1.Action = 1End IfEnd Sub
Private Sub Command2_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Anda belum melengkapi data NIK atau Password"ElseData1.Recordset.Index = "nik"Data1.Recordset.Seek "=", Text1.Text
If Data1.Recordset.NoMatch ThenMsgBox "ID User yang Anda masukkan belum terdaftar"Call Form_ActivateElsepass = Data1.Recordset!Password
81
cekpass = Label7.CaptionIf Not pass = cekpass ThenMsgBox "Password yang Anda masukkan salah"Call Form_ActivateElseData2.RecordSource = "select tglabsensi,nik,masuk,keluar from
absensi where left(tglabsensi,10)='" & Label2.Caption & "' andleft(nik,12)='" & Text1.Text & "'"
Data2.RefreshIf Data2.Recordset.RecordCount = 0 ThenMsgBox "Anda dianggap tidak masuk karena tidak melakukan
absensi masuk", vbCriticalElseData2.RecordSource = "select tglabsensi,nik,masuk,keluar from
absensi where left(tglabsensi,10)='" & Label2.Caption & "' andleft(nik,12)='" & Text1.Text & "' and right(keluar,7)='0:00:00'"
Data2.RefreshIf Data2.Recordset.RecordCount > 0 ThenData2.Recordset.EditData2.Recordset!keluar = Label6.CaptionData2.Recordset.UpdateMsgBox "Absensi Keluar Berhasil"Call Form_ActivateElseMsgBox "Anda telah melakukan absensi keluar", vbCriticalCall Form_ActivateEnd If
End IfEnd If
End IfEnd IfEnd Sub
Private Sub Command3_Click()Login.ShowUnload MeEnd Sub
Private Sub Command4_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Anda belum melengkapi data NIK atau Password"ElseData1.Recordset.Index = "nik"Data1.Recordset.Seek "=", Text1.Text
If Data1.Recordset.NoMatch ThenMsgBox "ID User yang Anda masukkan belum terdaftar"Call Form_ActivateElse
82
pass = Data1.Recordset!Passwordcekpass = Label7.Caption
If Not pass = cekpass ThenMsgBox "Password yang Anda masukkan salah"Call Form_ActivateElseFrame1.Visible = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseEnd If
End IfEnd IfEnd Sub
Private Sub Command5_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Anda belum melengkapi data NIK atau Password"ElseData1.Recordset.Index = "nik"Data1.Recordset.Seek "=", Text1.Text
If Data1.Recordset.NoMatch ThenMsgBox "ID User yang Anda masukkan belum terdaftar"Call Form_ActivateElsepass = Data1.Recordset!Passwordcekpass = Label7.Caption
If Not pass = cekpass ThenMsgBox "Password yang Anda masukkan salah"Call Form_ActivateElseData2.RecordSource = "select tglabsensi,nik,masuk,keluar from
absensi where left(tglabsensi,10)='" & Label2.Caption & "' andleft(nik,12)='" & Text1.Text & "' and Not(right(masuk,8))='00:00:00'"
Data2.RefreshIf Data2.Recordset.RecordCount > 0 ThenMsgBox "Anda telah melakukan absensi masuk", vbCriticalCall Form_ActivateElseData2.Recordset.AddNewData2.Recordset!tglabsensi = Label2.CaptionData2.Recordset!nik = Text1.TextData2.Recordset!masuk = Label6.CaptionData2.Recordset!keluar = "00:00:00"Data2.Recordset.UpdateMsgBox "Absensi Masuk Berhasil"
Call Form_Activate
83
End IfEnd IfEnd If
End IfEnd Sub
Private Sub Command6_Click()Command2.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueFrame1.Visible = FalseCall Form_ActivateEnd Sub
Private Sub Form_Load()Combo1.ClearCombo1.AddItem "Bulan"Combo1.AddItem "Januari"Combo1.AddItem "Februari"Combo1.AddItem "Maret"Combo1.AddItem "April"Combo1.AddItem "Mei"Combo1.AddItem "Juni"Combo1.AddItem "Juli"Combo1.AddItem "Agustus"Combo1.AddItem "September"Combo1.AddItem "Oktober"Combo1.AddItem "November"Combo1.AddItem "Desember"Combo2.ClearCombo2.AddItem "Tahun"o = 2016Do Until o = 2030o = o + 1Combo2.AddItem oLoopEnd Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text1.Text = "" ThenText1.SetFocusElseText2.Enabled = TrueText2.SetFocusEnd If
84
End IfEnd Sub
Private Sub Text2_Change()Label7.Caption = Text2.TextEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(LCase(Chr(KeyAscii)))End Sub
Private Sub Timer1_Timer()Label2.Caption = Format(Date, "dd/mm/yyyy")Label6.Caption = Format(Time, "hh:mm:ss")If Val(Left(Label6.Caption, 2)) < 12 ThenCommand5.Enabled = TrueCommand2.Enabled = FalseElseIf Val(Left(Label6.Caption, 2)) > 12 ThenCommand5.Enabled = FalseCommand2.Enabled = TrueEnd IfEnd Sub
Private Sub Form_Activate()Frame1.Visible = FalsebersihText1.SetFocusCombo1.ListIndex = 0Combo2.ListIndex = 0End Sub
5. Form User
Dim tam As String
Private Sub aktif()Combo1.Enabled = TrueCommand4.Enabled = TrueCommand1.Enabled = FalseCommand6.Enabled = FalseEnd Sub
Private Sub nonaktif()Command1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = False
85
Command5.Enabled = FalseCommand6.Enabled = TrueCombo1.Enabled = FalseText1.Enabled = FalseText2.Enabled = FalseEnd Sub
Private Sub bersih()Combo1.ListIndex = 0Text1.Text = ""Text2.Text = ""End Sub
Private Sub Combo1_Click()If tam = "Tambah" Then
If Combo1.Text = "Admin" ThenAdodc1.RecordSource = "Select * from login where jnsuser like '%" &
Trim(Combo1.Text) & "%'"Adodc1.RefreshAdodc1.Recordset.Sort = "iduser"With Adodc1.Recordset
If .BOF And .EOF ThenText1.Text = "A1SKF"Else.MoveLastText1.Text = "A" & Right(Str(Val(Mid(.Fields("iduser"), 2, 1)) +
101), 1) & "SKF"End If
End WithText2.Enabled = TrueText2.SetFocusElseIf Combo1.Text = "Direktur" ThenAdodc1.RecordSource = "Select * from login where jnsuser like '%" &
Trim(Combo1.Text) & "%'"Adodc1.RefreshAdodc1.Recordset.Sort = "iduser"With Adodc1.Recordset
If .BOF And .EOF ThenText1.Text = "D1SKF"Else.MoveLastText1.Text = "D" & Right(Str(Val(Mid(.Fields("iduser"), 2, 1)) +
101), 1) & "SKF"End If
End WithText2.Enabled = TrueText2.SetFocusElseIf Combo1.Text = "Karyawan" Then
86
Data3.RecordSource = "select iduser,jnsuser,password from login whereleft(jnsuser,8)='" & Combo1.Text & "'"
Data3.RefreshText1.Text = Data3.Recordset!iduserText2.Text = Data3.Recordset!PasswordText1.Enabled = FalseText2.Enabled = FalseEnd If
End IfEnd Sub
Private Sub Command1_Click()tam = "Tambah"bersihaktifEnd Sub
Private Sub Command2_Click()If tam = "Tambah" ThenData2.Recordset.AddNewData2.Recordset!iduser = Text1.TextData2.Recordset!jnsuser = Combo1.TextData2.Recordset!Password = Text2.TextData2.Recordset.UpdateData1.RefreshData2.RefreshData3.RefreshAdodc1.RefreshMsgBox "Data disimpan", vbInformation, "Info"Call Form_ActivateElseIf tam = "Ubah" ThenData1.Recordset.EditData1.Recordset!Password = Text2.TextData1.Recordset.UpdateData1.RefreshData2.RefreshData3.RefreshAdodc1.RefreshMsgBox "Data diupdate", vbInformation, "Info"Call Form_ActivateEnd IfEnd Sub
Private Sub Command3_Click()Data1.Recordset.DeleteData1.RefreshData2.RefreshData3.Refresh
87
Adodc1.RefreshCall Form_ActivateEnd Sub
Private Sub Command4_Click()Call Form_ActivateEnd Sub
Private Sub Command5_Click()tam = "Ubah"Text2.Enabled = TrueText2.SetFocusCommand1.Enabled = FalseCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = TrueCommand6.Enabled = FalseCommand5.Enabled = FalseEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub DBGrid1_DblClick()tam = "Klik"Combo1.Text = Data1.Recordset!jnsuserText1.Text = Data1.Recordset!iduserText2.Text = Data1.Recordset!PasswordCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = FalseEnd Sub
Private Sub Form_Activate()Combo1.ClearCombo1.AddItem "<Pilih Jenis User>"Combo1.AddItem "Admin"Combo1.AddItem "Direktur"Combo1.AddItem "Karyawan"bersihnonaktifEnd Sub
Private Sub Text2_Change()
88
If Not Text2.Text = "" ThenIf tam = "Tambah" Then
If Combo1.Text = "Admin" Or Combo1.Text = "Direktur" ThenCommand2.Enabled = TrueCommand5.Enabled = FalseElseCommand5.Enabled = TrueCommand2.Enabled = FalseEnd If
ElseIf tam = "Ubah" ThenCommand2.Enabled = TrueElseCommand5.Enabled = FalseCommand2.Enabled = FalseEnd If
ElseCommand5.Enabled = FalseCommand2.Enabled = FalseEnd IfEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(LCase(Chr(KeyAscii)))End Sub
6. Form Karyawan
Dim status As String
Private Sub bersih()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = 0Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Combo1.ListIndex = 0Combo2.ListIndex = 0Combo3.ListIndex = 0Combo4.ListIndex = 0Combo5.ListIndex = 0End Sub
89
Private Sub nonaktif()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText9.Enabled = FalseDTPicker1.Enabled = FalseDTPicker2.Enabled = FalseCombo1.Enabled = FalseCombo2.Enabled = FalseCombo3.Enabled = FalseCombo4.Enabled = FalseCombo5.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = TrueEnd Sub
Private Sub Combo2_Click()If Combo2.ListIndex = 0 ThenText6.Text = 0Text6.Enabled = FalseElseIf Combo2.ListIndex = 1 ThenText6.Enabled = TrueElseIf Combo2.ListIndex = 2 ThenText6.Text = 0Text6.Enabled = FalseEnd IfEnd Sub
Private Sub Combo4_Click()If Not Combo4.ListIndex = 0 ThenData4.Recordset.Index = "kdjabatan"Data4.Recordset.Seek "=", Combo4.TextText8.Text = Data4.Recordset!nmjabatanElseIf Combo5.ListIndex = 0 ThenText8.Text = ""End IfEnd Sub
Private Sub Combo5_Click()If Not Combo5.ListIndex = 0 Then
90
Data5.Recordset.Index = "kdbagian"Data5.Recordset.Seek "=", Combo5.TextText10.Text = Data5.Recordset!nmbagianElseIf Combo5.ListIndex = 0 ThenText10.Text = ""End IfEnd Sub
Private Sub Command1_Click()status = "tambah"With Data1.RecordsetIf .BOF And .EOF ThenText1.Text = "SKF" + Format(Date, "yyyy") & Format(Date, "mm") &"001"Else.MoveLastText1.Text = "SKF" + Format(Date, "yyyy") & Format(Date, "mm") &Right(Str(Val(Right(!nik, 3)) + 10001), 3)End IfEnd WithText2.Enabled = TrueText2.SetFocusText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText7.Enabled = TrueText9.Enabled = TrueDTPicker1.Enabled = TrueDTPicker2.Enabled = TrueCombo1.Enabled = TrueCombo2.Enabled = TrueCombo3.Enabled = TrueCombo4.Enabled = TrueCombo5.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand1.Enabled = FalseEnd Sub
Private Sub Command2_Click()If Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" OrCombo1.ListIndex = 0 Or Combo2.ListIndex = 0 Or Combo5.ListIndex =0 Or Combo4.ListIndex = 0 Or Text5.Text = "" Or Text5.Text = 0 OrCombo3.ListIndex = 0 Or Text7.Text = "" Or Text9.Text = "" ThenMsgBox "Data belum lengkap", vbCritical, "Info"
91
ElseIf status = "tambah" ThenData1.Recordset.AddNewData1.Recordset!nik = Text1.TextData1.Recordset!nama = Text2.TextData1.Recordset!alamat = Text3.TextData1.Recordset!tempatlahir = Text4.TextData1.Recordset!tgllahir = DTPicker1Data1.Recordset!kelamin = Combo1.TextData1.Recordset!status = Combo2.TextData1.Recordset!jmlanak = Val(Text6.Text)Data1.Recordset!kdbagian = Combo5.TextData1.Recordset!kdjabatan = Combo4.TextData1.Recordset!Password = Text9.TextData1.Recordset!masakerja = DTPicker2Data1.Recordset!norek = Text5.TextData1.Recordset!nmbank = Combo3.TextData1.Recordset!atasnama = Text7.TextData1.Recordset.UpdateMsgBox "Data Karyawan berhasil disimpan", vbInformation, "Info"Call Form_ActivateElseIf status = "ubah" ThenData1.Recordset.EditData1.Recordset!nama = Text2.TextData1.Recordset!alamat = Text3.TextData1.Recordset!tempatlahir = Text4.TextData1.Recordset!tgllahir = DTPicker1Data1.Recordset!kelamin = Combo1.TextData1.Recordset!status = Combo2.TextData1.Recordset!jmlanak = Val(Text6.Text)Data1.Recordset!kdbagian = Combo5.TextData1.Recordset!kdjabatan = Combo4.TextData1.Recordset!Password = Text9.TextData1.Recordset!masakerja = DTPicker2Data1.Recordset!norek = Text5.TextData1.Recordset!nmbank = Combo3.TextData1.Recordset!atasnama = Text7.TextData1.Recordset.UpdateMsgBox "Data Karyawan berhasil diubah", vbInformation, "Info"Call Form_ActivateEnd If
End IfEnd Sub
Private Sub Command3_Click()Text2.Enabled = TrueText2.SetFocusText3.Enabled = True
92
Text4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueText9.Enabled = TrueDTPicker1.Enabled = TrueDTPicker2.Enabled = TrueCombo1.Enabled = TrueCombo2.Enabled = TrueCombo3.Enabled = TrueCombo4.Enabled = TrueCombo5.Enabled = Truestatus = "ubah"Command1.Enabled = FalseCommand2.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand3.Enabled = FalseEnd Sub
Private Sub Command4_Click()Data1.Recordset.DeleteCall Form_ActivateEnd Sub
Private Sub Command5_Click()Call Form_ActivateEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub DBGrid1_DblClick()If Data1.Recordset.RecordCount > 0 ThenText1.Text = Data1.Recordset!nikText2.Text = Data1.Recordset!namaText3.Text = Data1.Recordset!alamatText4.Text = Data1.Recordset!tempatlahirDTPicker1 = Data1.Recordset!tgllahirCombo1.Text = Data1.Recordset!kelaminCombo2.Text = Data1.Recordset!statusText6.Text = Data1.Recordset!jmlanakCombo5.Text = Data1.Recordset!kdbagianCombo4.Text = Data1.Recordset!kdjabatanData6.Recordset.Index = "kdbagian"Data6.Recordset.Seek "=", Data1.Recordset!kdbagian
93
Text10.Text = Data6.Recordset!nmbagianData7.Recordset.Index = "kdjabatan"Data7.Recordset.Seek "=", Data1.Recordset!kdjabatanText8.Text = Data6.Recordset!nmbagianText5.Text = Data1.Recordset!norekCombo3.Text = Data1.Recordset!nmbankText7.Text = Data1.Recordset!atasnamaText9.Text = Data1.Recordset!PasswordDTPicker2 = Data1.Recordset!masakerjaText1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText9.Enabled = FalseDTPicker1.Enabled = FalseDTPicker2.Enabled = FalseCombo1.Enabled = FalseCombo2.Enabled = FalseCombo3.Enabled = FalseCombo4.Enabled = FalseCombo5.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = FalseEnd IfEnd Sub
Private Sub Form_Activate()bersihnonaktifstatus = "Simpan"Data1.RefreshData2.RefreshData3.RefreshData4.RefreshData5.RefreshData6.RefreshData7.RefreshEnd Sub
Private Sub Form_Load()Combo5.AddItem "Pilih Bagian"
94
Data2.RecordSource = "Select Distinct kdbagian from bagian"Data2.RefreshDo Until Data2.Recordset.EOFCombo5.AddItem Data2.Recordset!kdbagianData2.Recordset.MoveNextLoopCombo4.AddItem "Pilih Jabatan"Data3.RecordSource = "Select Distinct kdjabatan from jabatan"Data3.RefreshDo Until Data3.Recordset.EOFCombo4.AddItem Data3.Recordset!kdjabatanData3.Recordset.MoveNextLoopCombo3.AddItem "Pilih Bank"Data8.RecordSource = "Select Distinct nmbank from bank"Data8.RefreshDo Until Data8.Recordset.EOFCombo3.AddItem Data8.Recordset!nmbankData8.Recordset.MoveNextLoopEnd Sub
Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text2.Text = "" ThenText2.SetFocusElseText3.SetFocusEnd If
End IfEnd Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text3.Text = "" ThenText3.SetFocus
95
ElseText4.SetFocusEnd If
End IfEnd Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text4.Text = "" ThenText4.SetFocusElseDTPicker1.SetFocusEnd If
End IfEnd Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text5.Text = "" Or Text5.Text = 0 ThenText5.SetFocusElseCombo3.SetFocusEnd If
End IfEnd Sub
Private Sub Text6_Change()If Text6.Text = "" ThenText6.Text = 0End IfEnd Sub
Private Sub Text6_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0End Sub
Private Sub Text7_Click()SendKeys "{Home}+{End}"End Sub
96
Private Sub Text7_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text7.Text = "" ThenText7.SetFocusElseText9.SetFocusEnd If
End IfEnd Sub
Private Sub Text9_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)KeyAscii = Asc(LCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text9.Text = "" ThenText9.SetFocusElseDTPicker2.SetFocusEnd If
End IfEnd Sub
7. Form Bank
Dim status As String
Private Sub bersih()Text1.Text = ""Text2.Text = ""End Sub
Private Sub nonaktif()Text1.Enabled = FalseText2.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = TrueEnd Sub
Private Sub Command1_Click()
97
status = "tambah"Adodc1.RecordSource = "Select * from bank"Adodc1.RefreshAdodc1.Recordset.Sort = "kdbank"With Adodc1.RecordsetIf .BOF And .EOF ThenText1.Text = "B01"Else.MoveLastText1.Text = "B" & Right(Str(Val(Right(.Fields("kdbank"), 2)) + 1001),2)End IfEnd WithText2.Enabled = TrueText2.SetFocusCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand1.Enabled = FalseEnd Sub
Private Sub Command2_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Data belum lengkap", vbCritical, "Perhatian"Else
If status = "tambah" ThenData2.Recordset.AddNewData2.Recordset!kdbank = Text1.TextData2.Recordset!nmbank = Text2.TextData2.Recordset.UpdateData2.RefreshData1.RefreshMsgBox "Data Bank berhasil disimpan", vbInformation, "Informasi"Call Form_ActivateElseIf status = "ubah" ThenData1.Recordset.EditData1.Recordset!nmbank = Text2.TextData1.Recordset.UpdateData1.RefreshData2.RefreshMsgBox "Data Bank berhasil diubah", vbInformation, "Informasi"Call Form_ActivateEnd If
End IfEnd Sub
98
Private Sub Command3_Click()Text2.Enabled = TrueText2.SetFocusSendKeys "{Home}+{End}"status = "ubah"Command1.Enabled = FalseCommand2.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand3.Enabled = FalseEnd Sub
Private Sub Command4_Click()Data1.Recordset.DeleteData1.RefreshData2.RefreshCall Form_ActivateEnd Sub
Private Sub Command5_Click()Call Form_ActivateEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub DBGrid1_DblClick()With Data1.RecordsetText1.Text = !kdbankText2.Text = !nmbankEnd WithCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = FalseEnd Sub
Private Sub Form_Activate()bersihnonaktifEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))
99
If KeyAscii = 13 ThenIf Text2.Text = "" ThenText2.SetFocusElseCommand2.SetFocusEnd If
End IfEnd Sub
8. Form Jabatan
Dim skdbagian, status As String
Private Sub bersih()Text1.Text = ""Text2.Text = ""Text3.Text = 0Text4.Text = 0Text5.Text = 0Text6.Text = 0Text7.Text = 0Text8.Text = 0Text9.Text = 0End Sub
Private Sub nonaktif()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = TrueEnd Sub
Private Sub Command1_Click()Text1.Enabled = TrueText1.SetFocusSendKeys "{Home}+{End}"
100
Text2.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand1.Enabled = FalseEnd Sub
Private Sub Command2_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Data belum lengkap", vbCritical, "Info"Else
If status = "Simpan" ThenData1.Recordset.Index = "kdjabatan"Data1.Recordset.Seek "=", Text1.Text
If Not Data1.Recordset.NoMatch ThenMsgBox "Kode Jabatan sudah ada", vbCritical, "Info"ElseData3.Recordset.AddNewData3.Recordset!kdjabatan = Text1.TextData3.Recordset!nmjabatan = Text2.TextData3.Recordset!gapok = Val(Text3.Text)Data3.Recordset!tkesehatan = Val(Text4.Text)Data3.Recordset!ttransport = Val(Text5.Text)Data3.Recordset!lembur = Val(Text6.Text)Data3.Recordset!insentif = Val(Text7.Text)Data3.Recordset!thr = Val(Text8.Text)Data3.Recordset!potterlambat = Val(Text9.Text)Data3.Recordset.UpdateMsgBox "Data disimpan", vbInformation, "Info"Call Form_ActivateEnd If
ElseIf status = "Update" ThenData3.Recordset.EditData3.Recordset!kdjabatan = Text1.TextData3.Recordset!nmjabatan = Text2.TextData3.Recordset!gapok = Val(Text3.Text)Data3.Recordset!tkesehatan = Val(Text4.Text)Data3.Recordset!ttransport = Val(Text5.Text)Data3.Recordset!lembur = Val(Text6.Text)Data3.Recordset!insentif = Val(Text7.Text)Data3.Recordset!thr = Val(Text8.Text)Data3.Recordset!potterlambat = Val(Text9.Text)Data3.Recordset.UpdateMsgBox "Data diupdate", vbInformation, "Info"Call Form_ActivateEnd If
101
End IfEnd Sub
Private Sub Command3_Click()Text1.Enabled = TrueText1.SetFocusText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueText8.Enabled = TrueText9.Enabled = Truestatus = "Update"Command1.Enabled = FalseCommand2.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand3.Enabled = FalseEnd Sub
Private Sub Command4_Click()Data3.Recordset.DeleteData1.RefreshData2.RefreshData3.RefreshData4.RefreshCall Form_ActivateEnd Sub
Private Sub Command5_Click()Call Form_ActivateEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub DBGrid1_DblClick()If Data3.Recordset.RecordCount > 0 ThenText1.Text = Data3.Recordset!kdjabatanText2.Text = Data3.Recordset!nmjabatanText3.Text = Val(Data3.Recordset!gapok)Text4.Text = Val(Data3.Recordset!tkesehatan)Text5.Text = Val(Data3.Recordset!ttransport)Text6.Text = Val(Data3.Recordset!lembur)
102
Text7.Text = Val(Data3.Recordset!insentif)Text8.Text = Val(Data3.Recordset!thr)Text9.Text = Val(Data3.Recordset!potterlambat)Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = FalseEnd IfEnd Sub
Private Sub Form_Activate()bersihnonaktifData1.RefreshData2.RefreshData3.Refreshstatus = "Simpan"skdbagian = ""End Sub
Private Sub Form_Load()Data2.RecordSource = "Select Distinct nmbagian from bagian"Data2.RefreshEnd Sub
Private Sub Text1_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text1.Text = "" ThenText1.SetFocusSendKeys "{Home}+{End}"ElseData1.Recordset.Index = "kdjabatan"
103
Data1.Recordset.Seek "=", Text1.TextIf Not Data1.Recordset.NoMatch ThenMsgBox "Kode Jabatan sudah ada", vbCritical, "Info"Text1.Text = Data1.Recordset!kdjabatanText2.Text = Data1.Recordset!nmjabatanText3.Text = Val(Data1.Recordset!gapok)Text4.Text = Val(Data1.Recordset!tkesehatan)Text5.Text = Val(Data1.Recordset!ttransport)Text6.Text = Val(Data1.Recordset!lembur)Text7.Text = Val(Data1.Recordset!insentif)Text8.Text = Val(Data1.Recordset!thr)Text9.Text = Val(Data1.Recordset!potterlambat)Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = FalseElseText2.Enabled = TrueText2.SetFocusSendKeys "{Home}+{End}"Text3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueText8.Enabled = TrueText9.Enabled = TrueCommand1.Enabled = FalseCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseText1.Enabled = FalseEnd If
End IfEnd If
104
End Sub
Private Sub Text2_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Then
If Text2.Text = "" ThenText2.SetFocusSendKeys "{Home}+{End}"ElseText3.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text3_Change()If Text3.Text = "" ThenText3.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text3_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text3.Text = 0 ThenText3.SetFocusSendKeys "{Home}+{End}"ElseText4.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text4_Change()If Text4.Text = "" ThenText4.Text = 0SendKeys "{Home}+{End}"
105
End IfEnd Sub
Private Sub Text4_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text4.Text = 0 ThenText4.SetFocusSendKeys "{Home}+{End}"ElseText5.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text5_Change()If Text5.Text = "" ThenText5.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text5_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text5.Text = 0 ThenText5.SetFocusSendKeys "{Home}+{End}"ElseText6.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text6_Change()If Text6.Text = "" Then
106
Text6.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text6_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text6_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text6.Text = 0 ThenText6.SetFocusSendKeys "{Home}+{End}"ElseText7.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text7_Change()If Text7.Text = "" ThenText7.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text7_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text7.Text = 0 ThenText7.SetFocusSendKeys "{Home}+{End}"ElseText8.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
107
Private Sub Text8_Change()If Text8.Text = "" ThenText8.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text8_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text8.Text = 0 ThenText8.SetFocusSendKeys "{Home}+{End}"ElseText9.SetFocusSendKeys "{Home}+{End}"End If
End IfEnd Sub
Private Sub Text9_Change()If Text9.Text = "" ThenText9.Text = 0SendKeys "{Home}+{End}"End IfEnd Sub
Private Sub Text9_Click()SendKeys "{Home}+{End}"End Sub
Private Sub Text9_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or _KeyAscii = vbKeyBack) Then KeyAscii = 0If KeyAscii = 13 Then
If Text9.Text = 0 ThenText9.SetFocusElseCommand2.SetFocusEnd If
End IfEnd Sub
108
9. Form Bagian
Dim status As String
Private Sub bersih()Text1.Text = ""Text2.Text = ""End Sub
Private Sub nonaktif()Text1.Enabled = FalseText2.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = TrueEnd Sub
Private Sub Command1_Click()Text1.Enabled = TrueText1.SetFocusText2.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand1.Enabled = FalseEnd Sub
Private Sub Command2_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox "Data belum lengkap", vbCritical, "Info"Else
If status = "Simpan" ThenData2.Recordset.Index = "kdbagian"Data2.Recordset.Seek "=", Text1.TextIf Not Data2.Recordset.NoMatch ThenMsgBox "Kode Bagian sudah ada", vbCritical, "Info"ElseData1.Recordset.AddNewData1.Recordset!kdbagian = Text1.TextData1.Recordset!nmbagian = Text2.TextData1.Recordset.UpdateMsgBox "Data disimpan", vbInformation, "Info"Call Form_Activate
109
End IfElseIf status = "Update" ThenData1.Recordset.EditData1.Recordset!nmbagian = Text2.TextData1.Recordset.UpdateMsgBox "Data diupdate", vbInformation, "Info"Call Form_ActivateEnd If
End IfEnd Sub
Private Sub Command3_Click()Text1.Enabled = TrueText1.SetFocusText2.Enabled = Truestatus = "Update"Command1.Enabled = FalseCommand2.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand3.Enabled = FalseEnd Sub
Private Sub Command4_Click()Data1.Recordset.DeleteCall Form_ActivateEnd Sub
Private Sub Command5_Click()Call Form_ActivateEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub DBGrid1_DblClick()If Data1.Recordset.RecordCount > 0 ThenText1.Text = Data1.Recordset!kdbagianText2.Text = Data1.Recordset!nmbagianText1.Enabled = FalseText2.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = True
110
Command6.Enabled = FalseEnd IfEnd Sub
Private Sub Form_Activate()bersihnonaktifstatus = "Simpan"Data1.RefreshData2.RefreshEnd Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 ThenIf Text1.Text = "" ThenText1.SetFocusElseText2.SetFocusEnd IfEnd IfEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 ThenIf Text2.Text = "" ThenText2.SetFocusElseCommand2.SetFocusEnd IfEnd IfEnd Sub
10. Form Penggajian
Dim status, bulan, tahun, bantuslip, status1, bantutanggal, jammasuk,jamkeluar As StringDim gapok, tjabatan, tkesehatan, ttransport, lembur, insentif, thr,potterlambat, totalgaji As CurrencyDim terlambat, lembur2 As SinglePrivate Sub hapussementara()
If Data8.Recordset.RecordCount > 0 ThenData8.Recordset.MoveFirstDo While Not Data8.Recordset.EOFData8.Recordset.DeleteData8.Recordset.MoveNext
111
LoopData8.RefreshEnd If
End SubPrivate Sub bersih()Text1.Text = "<No. Slip Gaji>"Text8.Text = ""Combo2.ListIndex = 0Combo3.ListIndex = 0Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = 0Text6.Text = 0Text7.Text = 0Text9.Text = 0Text10.Text = 0Text12.Text = 0Text13.Text = 0Text14.Text = 0Text15.Text = 0Text16.Text = 0Text17.Text = 0Text18.Text = 0End SubPrivate Sub nonaktif()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseText10.Enabled = FalseText12.Enabled = FalseText13.Enabled = FalseText14.Enabled = FalseText15.Enabled = FalseText16.Enabled = FalseText17.Enabled = FalseText18.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = False
112
Command6.Enabled = TrueCommand9.Enabled = TrueCommand10.Enabled = FalseCommand11.Enabled = FalseEnd Sub
Private Sub Combo1_Click()If Combo1.ListIndex > 0 ThenData6.Recordset.Index = "nik"Data6.Recordset.Seek "=", Combo1.Text
If Not Data6.Recordset.NoMatch ThenText2.Text = Data6.Recordset!nama
Data4.Recordset.Index = "kdjabatan"Data4.Recordset.Seek "=", Data6.Recordset!kdjabatanText3.Text = Data4.Recordset!nmjabatan
Data5.Recordset.Index = "kdbagian"Data5.Recordset.Seek "=", Data6.Recordset!kdbagianText4.Text = Data5.Recordset!nmbagian
Text5.Text = Val(Data6.Recordset!gaji)Text6.Text = Val(Data6.Recordset!tunjangan)Text7.Text = Val(Text5.Text) + Val(Text6.Text)End If
End IfEnd Sub
Private Sub Command1_Click()Frame1.Visible = TrueCommand1.Enabled = FalseCommand9.Enabled = FalseCommand6.Enabled = Falsestatus1 = "Tambah"End Sub
Private Sub Command10_Click()If Frame5.Visible = False ThenFrame5.Visible = TrueElseIf Frame5.Visible = True ThenFrame5.Visible = FalseEnd IfEnd Sub
Private Sub Command11_Click()If Command11.Caption = "+" Thenthr = Data4.Recordset!thrText16.Text = Format(thr, "#,###")
113
totalgaji = Val(gapok) + Val(tjabatan) + Val(tkesehatan) + Val(ttransport)+ Val(lembur) + Val(insentif) + Val(thr) - Val(potterlambat)Text18.Text = Format(totalgaji, "#,###")
Command11.Caption = "-"ElseIf Command11.Caption = "-" Thenthr = 0Text16.Text = Format(thr, "#,###")
totalgaji = Val(gapok) + Val(tjabatan) + Val(tkesehatan) + Val(ttransport)+ Val(lembur) + Val(insentif) + Val(thr) - Val(potterlambat)Text18.Text = Format(totalgaji, "#,###")
Command11.Caption = "+"End IfEnd Sub
Private Sub Command2_Click()If Text18.Text = 0 ThenMsgBox "Data belum lengkap", vbCritical, "Info"Else
If status = "Simpan" ThenData7.RecordSource = "select
noslip,tglslip,periode,nik,gapok,tjabatan,tkesehatan,ttransport,lembur,insentif,thr,potterlambat,totalgaji from penggajian where left(nik,12)='" &Text8.Text & "' And mid(periode,4,2)='" & bulan & "' AndRight(periode,4)='" & Combo3.Text & "'"
Data7.RefreshIf Data7.Recordset.RecordCount > 0 ThenMsgBox "NIK sudah ada", vbCritical, "Perhatian"ElseData3.Recordset.AddNewData3.Recordset!noslip = Text1.TextData3.Recordset!tglslip = Label13.CaptionData3.Recordset!periode = "01/" & bulan & "/" & Combo3.TextData3.Recordset!nik = Text8.TextData3.Recordset!gapok = Val(gapok)Data3.Recordset!tjabatan = Val(tjabatan)Data3.Recordset!tkesehatan = Val(tkesehatan)Data3.Recordset!ttransport = Val(ttransport)Data3.Recordset!lembur = Val(lembur)Data3.Recordset!insentif = Val(insentif)Data3.Recordset!thr = Val(thr)Data3.Recordset!potterlambat = Val(potterlambat)Data3.Recordset!totalgaji = Val(totalgaji)Data3.Recordset.UpdateMsgBox "Data disimpan", vbInformation, "Info"
114
Data1.RefreshData2.RefreshData3.RefreshData4.RefreshData5.RefreshData6.RefreshData7.RefreshData8.RefreshData9.RefreshCall Form_ActivateEnd If
ElseIf status = "Update" ThenData3.Recordset.EditData3.Recordset!nik = Text8.Text
Data3.Recordset!gapok = Val(gapok)Data3.Recordset!tjabatan = Val(tjabatan)Data3.Recordset!tkesehatan = Val(tkesehatan)Data3.Recordset!ttransport = Val(ttransport)Data3.Recordset!lembur = Val(lembur)Data3.Recordset!insentif = Val(insentif)Data3.Recordset!thr = Val(thr)Data3.Recordset!potterlambat = Val(potterlambat)Data3.Recordset!totalgaji = Val(totalgaji)
Data3.Recordset.UpdateMsgBox "Data diupdate", vbInformation, "Info"Data1.Refresh
Data2.RefreshData3.RefreshData4.RefreshData5.RefreshData6.RefreshData7.RefreshData8.RefreshData9.RefreshDBGrid1.Refresh
Call Form_ActivateEnd If
End IfEnd Sub
Private Sub Command3_Click()Text8.Enabled = TrueCombo1.SetFocusstatus = "Update"Command1.Enabled = FalseCommand2.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = True
115
Command6.Enabled = FalseCommand3.Enabled = FalseEnd Sub
Private Sub Command4_Click()Data1.Recordset.DeleteCall Form_ActivateEnd Sub
Private Sub Command5_Click()Call Form_ActivateEnd Sub
Private Sub Command6_Click()Unload MeEnd Sub
Private Sub Command7_Click()If Combo2.ListIndex = 0 Or Combo3.ListIndex = 0 ThenMsgBox "Belum Lengkap", vbCritical, "Info"ElseDBGrid2.Caption = "Data Penggajian Periode : " & Combo2.Text & " " &Combo3.TexthapussementaraIf Combo2.Text = "Januari" Thenbulan = "01"ElseIf Combo2.Text = "Februari" Thenbulan = "02"ElseIf Combo2.Text = "Maret" Thenbulan = "03"ElseIf Combo2.Text = "April" Thenbulan = "04"ElseIf Combo2.Text = "Mei" Thenbulan = "05"ElseIf Combo2.Text = "Juni" Thenbulan = "06"ElseIf Combo2.Text = "Juli" Thenbulan = "07"ElseIf Combo2.Text = "Agustus" Thenbulan = "08"ElseIf Combo2.Text = "September" Thenbulan = "09"ElseIf Combo2.Text = "Oktober" Thenbulan = "10"ElseIf Combo2.Text = "November" Thenbulan = "11"ElseIf Combo2.Text = "Desember" Thenbulan = "12"
116
End Ifbantuslip = bulan + Right(Combo3, 2)
Data7.RecordSource = "selectnoslip,tglslip,periode,nik,gapok,tjabatan,tkesehatan,ttransport,lembur,insentif,thr,potterlambat,totalgaji from penggajian where mid(periode,4,2)='" &bulan & "' and right(periode,4)='" & Combo3.Text & "'"Data7.Refresh
If Data7.Recordset.RecordCount > 0 ThenWith Data7.RecordsetN = 1.MoveFirstWhile Not .EOFData8.Recordset.AddNewData8.Recordset!noslip = !noslipData8.Recordset!tglslip = !tglslipData8.Recordset!nik = !nikData8.Recordset!gapok = !gapokData8.Recordset!tjabatan = !tjabatanData8.Recordset!tkesehatan = !tkesehatanData8.Recordset!ttransport = !ttransportData8.Recordset!lembur = !lemburData8.Recordset!insentif = !insentifData8.Recordset!thr = !thrData8.Recordset!potterlambat = !potterlambatData8.Recordset!totalgaji = !totalgajiData8.Recordset.Update.MoveNextN = N + 1WendData8.RefreshEnd With
End If
If status1 = "Tambah" ThenData1.RecordSource = "select noslip,nik,totalgaji from penggajian
where mid(noslip,3,4)='" & bantuslip & "'"Data1.RefreshWith Data1.Recordset
If .BOF And .EOF ThenText1.Text = "SKF" + bantuslip & "001"Else.MoveLastText1.Text = "SKF" + bantuslip & Right(Str(Val(Right(!noslip, 3)) +
10001), 3)End If
End With
117
Text8.Enabled = TrueText8.SetFocusSendKeys "{Home}+{End}"Command10.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand9.Enabled = FalseCommand1.Enabled = Falsebantutanggal = "01/" & bulan & "/" & Combo3.TextData1.RecordSource = "select noslip,nik,totalgaji,periode from
penggajian"Data1.RefreshData1.RecordSource = "select noslip,nik,totalgaji,periode from
penggajian where left(periode,10)='" & bantutanggal & "'"Data1.RefreshFrame1.Visible = False
ElseIf status1 = "Cari" Thenbantutanggal = "01/" & bulan & "/" & Combo3.TextData1.RecordSource = "select noslip,nik,totalgaji,periode from
penggajian"Data1.RefreshData1.RecordSource = "select noslip,nik,totalgaji,periode from
penggajian where left(periode,10)='" & bantutanggal & "'"Data1.RefreshCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand9.Enabled = FalseCommand1.Enabled = FalseFrame1.Visible = FalseEnd If
End IfEnd Sub
Private Sub Command8_Click()Call Form_ActivateEnd Sub
Private Sub Command9_Click()Frame1.Visible = Truestatus1 = "Cari"End Sub
118
Private Sub DBGrid1_DblClick()If Data2.Recordset.RecordCount > 0 Then
Data7.RecordSource = "selectnoslip,tglslip,periode,nik,gapok,tjabatan,tkesehatan,ttransport,lembur,insentif,thr,potterlambat,totalgaji from penggajian where mid(periode,4,2)='" &bulan & "' and right(periode,4)='" & Combo3.Text & "' and left(nik,12)='"& Data2.Recordset!nik & "'"
Data7.Refresh
If Data7.Recordset.RecordCount > 0 ThenMsgBox "Anda telah melakukan perhitungan gaji dengan NIK yang
Anda masukkan", vbCritical, "Perhatian"Else
Text8.Text = Data2.Recordset!nik
Data9.RecordSource = "select tglabsensi,nik,masuk,keluar fromabsensi where nik='" & Text8.Text & "' And mid(tglabsensi,4,2)='" &bulan & "' And Right(tglabsensi,4)='" & Combo3.Text & "'"
Data9.RefreshIf Data9.Recordset.RecordCount > 0 ThenText5.Text = Data9.Recordset.RecordCount
terlambat = 0With Data9.RecordsetN = 1.MoveFirstWhile Not .EOFjammasuk = !masukIf Mid(jammasuk, 2, 1) = ":" Then
If Left(Val(jammasuk), 1) > 7 Thenterlambat = Val(terlambat) + 1End If
Elseterlambat = Val(terlambat) + 1
End If.MoveNextN = N + 1WendEnd WithText7.Text = terlambat
lembur2 = 0With Data9.RecordsetN = 1
119
.MoveFirstWhile Not .EOFjamkeluar = !keluar
If Left(Val(jamkeluar), 2) > 17 Thenlembur2 = Val(lembur2) + 1End If
.MoveNextN = N + 1WendEnd With
Text6.Text = lembur2
End If
Text2.Text = Data2.Recordset!nama
Data4.Recordset.Index = "kdjabatan"Data4.Recordset.Seek "=", Data2.Recordset!kdjabatanText3.Text = Data4.Recordset!nmjabatan
Data5.Recordset.Index = "kdbagian"Data5.Recordset.Seek "=", Data2.Recordset!kdbagianText4.Text = Data5.Recordset!nmbagian
gapok = Data4.Recordset!gapokText9.Text = Format(gapok, "#,###")
tjabatan = 0.05 * Val(Data4.Recordset!gapok)Text10.Text = Format(tjabatan, "#,###")
tkesehatan = Data4.Recordset!tkesehatanText12.Text = Format(tkesehatan, "#,###")
ttransport = Val(Text5.Text) * Val(Data4.Recordset!ttransport)Text13.Text = Format(ttransport, "#,###")
lembur = Val(Text6.Text) * Val(Data4.Recordset!lembur)Text14.Text = Format(lembur, "#,###")
insentif = Data4.Recordset!insentifText15.Text = Format(insentif, "#,###")
potterlambat = Val(Text7.Text) * Val(Data4.Recordset!potterlambat)Text17.Text = Format(potterlambat, "#,###")
120
totalgaji = Val(gapok) + Val(tjabatan) + Val(tkesehatan) + Val(ttransport)+ Val(lembur) + Val(insentif) + Val(thr) - Val(potterlambat)Text18.Text = Format(totalgaji, "#,###")
Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand11.Enabled = TrueFrame5.Visible = FalseEnd IfEnd IfEnd Sub
Private Sub Form_Activate()hapussementaraData1.RecordSource = "select noslip,nik,totalgaji,periode from penggajianwhere left(noslip,10)='" & "0000" & "'"Data1.RefreshDBGrid2.Caption = "Data Penggajian Periode : ......."bersihnonaktifCommand11.Caption = "+"Frame1.Visible = FalseFrame5.Visible = Falsestatus = "Simpan"
End Sub
Private Sub Form_Load()
Combo3.Clearo = 2016Combo3.AddItem "Pilih"Do Until o = 2030o = o + 1
Combo3.AddItem oLoopEnd Sub
121
Private Sub Text10_Change()If Text10.Text = "" ThenText10.Text = 0End IfEnd Sub
Private Sub Text12_Change()If Text12.Text = "" ThenText12.Text = 0End IfEnd Sub
Private Sub Text13_Change()If Text13.Text = "" ThenText13.Text = 0End IfEnd Sub
Private Sub Text14_Change()If Text14.Text = "" ThenText14.Text = 0End IfEnd Sub
Private Sub Text15_Change()If Text15.Text = "" ThenText15.Text = 0End IfEnd Sub
Private Sub Text16_Change()If Text16.Text = "" ThenText16.Text = 0End IfEnd Sub
Private Sub Text17_Change()If Text17.Text = "" ThenText17.Text = 0End IfEnd Sub
Private Sub Text18_Change()If Text18.Text = "" ThenText18.Text = 0End IfEnd Sub
122
Private Sub Text8_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 ThenIf Text8.Text = "" ThenMsgBox "Anda belum memasukkan NIK", vbCritical, "Perhatian"Text8.SetFocusElseData6.Recordset.Index = "nik"Data6.Recordset.Seek "=", Text8.Text
If Data6.Recordset.NoMatch ThenMsgBox "NIK yang Anda masukkan belum terdaftar"Text8.SetFocusSendKeys "{Home}+{End}"Else
Data7.RecordSource = "selectnoslip,tglslip,periode,nik,gapok,tjabatan,tkesehatan,ttransport,lembur,insentif,thr,potterlambat,totalgaji from penggajian where mid(periode,4,2)='" &bulan & "' and right(periode,4)='" & Combo3.Text & "' and left(nik,12)='"& Text8.Text & "'"
Data7.Refresh
If Data7.Recordset.RecordCount > 0 ThenMsgBox "Anda telah melakukan perhitungan gaji dengan NIK yang
Anda masukkan", vbCritical, "Perhatian"
Else
Text2.Text = Data6.Recordset!nama
Data4.Recordset.Index = "kdjabatan"Data4.Recordset.Seek "=", Data6.Recordset!kdjabatanText3.Text = Data4.Recordset!nmjabatan
Data5.Recordset.Index = "kdbagian"Data5.Recordset.Seek "=", Data6.Recordset!kdbagianText4.Text = Data5.Recordset!nmbagian
gapok = Data4.Recordset!gapokText9.Text = Format(gapok, "#,###")
tjabatan = 0.05 * Val(Data4.Recordset!gapok)Text10.Text = Format(tjabatan, "#,###")
tkesehatan = Data4.Recordset!tkesehatanText12.Text = Format(tkesehatan, "#,###")
ttransport = Val(Text5.Text) * Val(Data4.Recordset!ttransport)
123
Text13.Text = Format(ttransport, "#,###")
lembur = Val(Text6.Text) * Val(Data4.Recordset!lembur)Text14.Text = Format(lembur, "#,###")
insentif = Data4.Recordset!insentifText15.Text = Format(insentif, "#,###")
potterlambat = Val(Text7.Text) * Val(Data4.Recordset!potterlambat)Text17.Text = Format(potterlambat, "#,###")
totalgaji = Val(gapok) + Val(tjabatan) + Val(tkesehatan) +Val(ttransport) + Val(lembur) + Val(insentif) + Val(thr) -Val(potterlambat)
Text18.Text = Format(totalgaji, "#,###")
Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = FalseCommand11.Enabled = True
End IfEnd IfEnd IfEnd IfEnd Sub
Private Sub Text9_Change()If Text9.Text = "" ThenText9.Text = 0End IfEnd Sub
Private Sub Timer1_Timer()Label13.Caption = Format(Date, "dd/mm/yyyy")Label15.Caption = Format(Time, "hh:mm:ss")End Sub
124
11. Form Rekap Gaji
Private Sub Combo1_Click()If Combo1.Text = "Januari" ThenLabel3.Caption = "01"ElseIf Combo1.Text = "Februari" ThenLabel3.Caption = "02"ElseIf Combo1.Text = "Maret" ThenLabel3.Caption = "03"ElseIf Combo1.Text = "April" ThenLabel3.Caption = "04"ElseIf Combo1.Text = "Mei" ThenLabel3.Caption = "05"ElseIf Combo1.Text = "Juni" ThenLabel3.Caption = "06"ElseIf Combo1.Text = "Juli" ThenLabel3.Caption = "07"ElseIf Combo1.Text = "Agustus" ThenLabel3.Caption = "08"ElseIf Combo1.Text = "September" ThenLabel3.Caption = "09"ElseIf Combo1.Text = "Oktober" ThenLabel3.Caption = "10"ElseIf Combo1.Text = "November" ThenLabel3.Caption = "11"ElseIf Combo1.Text = "Desember" ThenLabel3.Caption = "12"End IfEnd Sub
Private Sub Command1_Click()If Combo1.ListIndex = 0 Or Combo2.ListIndex = 0 ThenMsgBox "Periode belum ditentukan jelas", vbCritical, "Perhatian"ElseCrystalReport1.SelectionFormula = "Month({penggajian.periode})=" &Label3.Caption & " and year({penggajian.periode})=" & Combo2.Text &""CrystalReport1.ReportFileName = "C:\Program Penggajian\Rekap.rpt"CrystalReport1.WindowState = crptMaximizedCrystalReport1.RetrieveDataFilesCrystalReport1.Action = 1End IfEnd Sub
Private Sub Command2_Click()Unload MeEnd Sub
125
Private Sub Form_Activate()Combo1.ListIndex = 0Combo2.ListIndex = 0End Sub
Private Sub Form_Load()Combo2.Clearo = 2016Combo2.AddItem "Pilih"Do Until o = 2030o = o + 1
Combo2.AddItem oLoopEnd Sub
12. Form Slip Gaji
Private Sub Combo1_Click()If Combo1.Text = "Januari" ThenLabel3.Caption = "01"ElseIf Combo1.Text = "Februari" ThenLabel3.Caption = "02"ElseIf Combo1.Text = "Maret" ThenLabel3.Caption = "03"ElseIf Combo1.Text = "April" ThenLabel3.Caption = "04"ElseIf Combo1.Text = "Mei" ThenLabel3.Caption = "05"ElseIf Combo1.Text = "Juni" ThenLabel3.Caption = "06"ElseIf Combo1.Text = "Juli" ThenLabel3.Caption = "07"ElseIf Combo1.Text = "Agustus" ThenLabel3.Caption = "08"ElseIf Combo1.Text = "September" ThenLabel3.Caption = "09"ElseIf Combo1.Text = "Oktober" ThenLabel3.Caption = "10"ElseIf Combo1.Text = "November" ThenLabel3.Caption = "11"ElseIf Combo1.Text = "Desember" ThenLabel3.Caption = "12"End IfEnd Sub
126
Private Sub Command1_Click()If Combo1.ListIndex = 0 Or Combo2.ListIndex = 0 ThenMsgBox "Periode belum ditentukan jelas", vbCritical, "Perhatian"ElseCrystalReport1.SelectionFormula = "Month({penggajian.periode})=" &Label3.Caption & " and year({penggajian.periode})=" & Combo2.Text &""CrystalReport1.ReportFileName = "C:\Program Penggajian\Slip.rpt"CrystalReport1.WindowState = crptMaximizedCrystalReport1.RetrieveDataFilesCrystalReport1.Action = 1End IfEnd Sub
Private Sub Command2_Click()Unload MeEnd Sub
Private Sub Form_Activate()Combo1.ListIndex = 0Combo2.ListIndex = 0End Sub
Private Sub Form_Load()Combo2.Clearo = 2016Combo2.AddItem "Pilih"Do Until o = 2030o = o + 1
Combo2.AddItem oLoopEnd Sub
127
4.4 Testing
1. Form Login Karyawan
Tabel IV.14
Testing Form Login Karyawan
2. Form Login Admin
Tabel IV.15
Testing Form Login Admin
No.Skenario
PengujianTest Case Hasil yang diharapkan
HasilPengujian
Kesimpulan
1
Memilih jenis user"Admin",menginputkan
username:namanya(salah)
Sistem akan menolak akseslogin dan
SesuaiHarapan
Validdengan kondisi salahsatu benar dan satulagi password:
admin123(benar)
menampilkan pesan "ID Useryang anda
salah, lalu langsungmengklik tombol"Login".
masukkan belum terdaftar".
2
Memilih jenis user"Admin",menginputkan
username:A1SKF(benar)
Sistem akan menolak akseslogin dan
SesuaiHarapan
Validdengan kondisi salahsatu benar dan satulagi password:
namanya(salah)
menampilkan pesan "Passwordyang anda
salah, lalu langsungmengklik tombol"Login".
masukkan salah"
3
Menginput datalogin dengan benar,lalu
username:A1SKF(benar)
Sistem akan melakukan proseslogin dan Sesuai
HarapanValid
mengklik tombol"Login"
password:admin123
masuk ke form Menu UtamaAdmin.
No.Skenario
PengujianTest Case Hasil yang diharapkan
HasilPengujian
Kesimpulan
1Tidak memilih jenisuser pada menulogin
username:(kosong)
Sistem tidak akan melakukanproses
SesuaiHarapan
Validpassword:(kosong)
login karena, tombol "Login"non-aktifapabila belum dilakukan "PilihJenis User"
2
Memilih jenis user"Karyawan"
username:karyawan
Sistem akan melakukan proseslogin dan Sesuai
HarapanValid
password:rahasia
masuk ke form Absensi.
128
3. Form Login Direktur
Tabel IV.16
Testing Form Login Direktur
4. Form Data Karyawan
Tabel IV.17
Testing Form Data Karyawan
No. Skenario Pengujian Test Case Hasil yang diharapkanHasil
PengujianKesimpulan
1
Memilih jenis user"Direktur",menginputkan
username:namanya(salah)
Sistem akan menolak akseslogin dan
SesuaiHarapan
Validdengan kondisi salahsatu benar dan satu lagi password:
direktur(benar)
menampilkan pesan "IDUser yang anda
salah, lalu langsungmengklik tombol"Login".
masukkan belum terdaftar".
2
Memilih jenis user"Direktur",menginputkan
username:D1SKF(benar)
Sistem akan menolak akseslogin dan
SesuaiHarapan
Validdengan kondisi salahsatu benar dan satu lagi password:
namanya(salah)
menampilkan pesan"Password yang anda
salah, lalu langsungmengklik tombol"Login".
masukkan salah"
3
Menginput data logindengan benar, lalu
username:D1SKF(benar)
Sistem akan melakukanproses login dan
SesuaiHarapan
Validmengklik tombol"Login"
password:direktur(benar)
masuk ke form MenuUtama Direktur.
No.Skenario
PengujianTest Case
Hasil yangdiharapkan
HasilPengujian
Kesimpulan
1
Mengklik tombol"Tambah" ,mengosongkan
Semua datakaryawantidak
Sistem akanmenolak aksesData Karyawan
SesuaiHarapan
Validdata karyawan yangakan di input,langsung
Diinput
menampilkanpesan "Run-timeerror '13'
mengklik tombol"Save"
Type.Mismatch".
129
2
Mengklik tombol"Tambah" , mengisi
Menginputsebagian data
Sistem akanmenolak aksesData Karyawan
SesuaiHarapan
Validsebagian datakaryawan yangakan di input karyawan
menampilkanpesan "Run-timeerror '13'
langsung mengkliktombol "Save"
Type.Mismatch".
3
Mengklik tombol"Tambah" ,menginput
Menginputsemua data
Sistem akanmelakukan prosesData
SesuaiHarapan
Validdengan benar
semua datakaryawan, dan karyawan
dengan benar
Karyawan danmenampilkanpesan
langsung mengkliktombol "Save"
"Data Karyawanberhasildiisimpan".
4
Mengklik tombol"Edit" untukmengedit proses
Mengklik datakaryawan
Sistem akanmelakukan prosesData
SesuaiHarapan
Validinput datakaryawan.
yang akan diedit
Karyawan danmenampilkanpesan"Data Karyawanberhasil diubah".
5
Mengklik tombol"Batal" untukmembatalkan
proses input datakaryawan.
Mengklik datakaryawanyang akandibatalkan.
Sistem akanmelakukan prosesData Karyawandan kembaliseperti sebelumada yang diubah.
SesuaiHarapan
Valid
6
Mengklik tombol"Hapus" untukmenghapus
Mengklik datakaryawan
Sistem akanmelakukan prosesData Sesuai
HarapanValid
proses input datakaryawan.
yang akan dihapus.
Karyawan dandata terhapusotomatis.
7
Mengklik tombol"Keluar" untukmengakhiri
Keluar dariform data
Sistem langsungkembali ke MenuUtama Sesuai
HarapanValid
proses input datakaryawan.
karyawan Admin
130
5. Form Data Jabatan
Tabel IV.18
Testing Form Data Jabatan
No. Skenario Pengujian Test CaseHasil yangdiharapkan
HasilPengujian
Kesimpulan
1
Mengklik tombol “Tambah”menginput kode jabatan,menekan tombol enter, danmengosongkan namajabatan, lalu klik tombol“Save”.
MenginputData Jabatantidak lengkap
Sistem akanmenolakakses DataJabatanmenampilkanpesan “Databelumlengkap”.
SesuaiHarapan
Valid
2
Mengklik tombol "Tambah", menginput kode jabatan,menekan tombol enter,menginput nama jabatan,gapok, tunjangan-tunjangan,lembur, insentif, thr, danpotongan keterlambatan,lalu klik tombol “Save”
Menginputsemua Data
Jabatan
Sistem akanmelakukanproses DataJabatan dan
menampilkanpesan “DataDisimpan”
SesuaiHarapan
Valid
3
Mengklik tombol "Tambah"menginput kode jabatan,menekan tombol enter,proses input tidak lengkap,langsung klik tombol“Save”.
MenginputData Jabatantidak lengkap
Sistem akanmelakukanproses DataJabatan danmenampilkanpesan “Datadisimpan”.
SesuaiHarapan
Valid
4
Mengklik tombol "Edit"untuk mengedit proses inputdata jabatan.
Mengklikdata jabatanyang akan diedit.
Sistem akanmelakukanproses DataJabatan danmenampilkanpesan “DataDi Update”.
SesuaiHarapan
Valid
5
Mengklik tombol "Batal"untuk membatalkan prosesinput data jabatan.
Mengklikdata jabatanyang akandibatalkan
Sistem akanmelakukanproses DataJabatan dandata kankembalisepertisebelumdilakukanperubahan.
SesuaiHarapan
Valid
131
6. Form Penggajian
Tabel IV.19
Testing Form Penggajian
No. Skenario Pengujian Test CaseHasil yangdiharapkan
HasilPengujian
Kesimpulan
1
Mengklik tombol "Tambah",setelah itu pilih "PeriodeGaji", dan mengosongkandata penggajian, langsungklik tombol "Save".
MenginputDataPenggajiantidaklengkap.
Sistem akanmenolakaksesPenggajian Sesuai
HarapanValid
menampilkanpesan "Databelumlengkap"
2
Mengklik tombol "Tambah",setelah itu pilih "PeriodeGaji" , memilih NIK untukmelakukan prosespenggajian, langsung kliktombol “Save”.
MemilihNIK untukdilakukanperhitungangaji.
Sistem akanmelakukanproses DataJabatan danmenampilkanpesan “Datadisimpan.”
SesuaiHarapan
Valid
4Mengklik tombol "Batal"untuk proses input datapenggajian.
MengklikDataPenggajianyang akandibatalkan
Sistem akanmelakukanproses DataJabatan dandata akankembaliseperti saatbelum adaperubahan.
SesuaiHarapan
Valid
5Mengklik tombol "Keluar"untuk mengakhiri prosesinput data penggajian.
Keluar dariformPenggajian
Sistemlangsungkembali keMenuUtamaAdmin.
SesuaiHarapan
Valid
6
Mengklik tombol "Hapus"untuk menghapus
Mengklikdata jabatan
Sistem akanmelakukanproses Data
SesuaiHarapan
Valid
proses input data jabatan.yang akan dihapus.
Jabatan dandata terhapusotomatis.
7
Mengklik tombol "Keluar"untuk mengakhiri
Keluar dariform data
Sistemlangsungkembali keMenu Utama
SesuaiHarapan
Valid
proses input data jabatan. JabatanAdmin
132
7. Form Laporan
Tabel IV.20
Testing Form Laporan
4.5 Support
Support aplikasi dari sistem penggajian berbasis dekstop yang digunakan
oleh server yang terdiri dari:
1. Visual Basic 6.0
2. Crystal Report
3. Microsoft Access 2007
4.5.1 Publikasi Web*
No. Skenario Pengujian Test CaseHasil yangdiharapkan
HasilPengujian
Kesimpulan
1
Mengklik Laporan padaMenu Utama Admin, pilih“Data Karyawan”.
TampilanDataKaryawan.
Sistem akanmenampilkanLaporan Data Sesuai
HarapanValid
Karyawandalam bentukCrystal Report.
2Mengklik Laporan padaMenu Utama Admin, pilih“Rekap Gaji”.
Pilih bulandan tahun,Pilih“Cetak”
Sistem akanmenampilkanLaporan RekapGaji dalambentuk CrystalReport.
SesuaiHarapan
Valid
3Mengklik Laporan padaMenu Utama Admin, pilih“Slip Gaji”.
Pilih bulandan tahun,Pilih“Cetak”.
Sistem akanmenampilkanLaporan SlipGaji dalambentuk CrystalReport.
SesuaiHarapan
Valid
4
Mengklik tombol "Keluar"untuk mengakhiri prosesLaporan.
Keluar dariformLaporan.
Sistemlangsungkembali keMenu Utama
SesuaiHarapan
Valid
Admin
133
4.5.2 Spesifikasi Hardware dan Software
Tabel IV.21
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Windows 7
Processor Intel(R) Atom(TM) CPU N2800 @1.86Ghz 1Ghz
RAM 2,00 GB
Harddisk 320 GB
CD-ROM DVD Portable
Monitor WSVGA LED 10'
Keyboard 83 Key
Printer Laser Jet
Mouse Standard
Software Visual Basic 6.0, Crystal Report
4.6 Spesifikasi Dokumen Sistem Usulan
Adapun spesifikasi dokumen sistem usulan yang ada di PT. Sumber Kreasi
Fumiko adalah sebagai berikut:
a. Nama Dokumen : Form Login Karyawan
Fungsi : Untuk login ke form absensi karyawan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Setiap hari
Format : Lampiran B-1
134
b. Nama Dokumen : Form Absensi
Fungsi : Untuk menginput absen masuk dan keluar
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Setiap hari
Format : Lampiran B-2
c. Nama Dokumen : Form Data Karyawan
Fungsi : Untuk menginput data karyawan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Jika ada perekrutan karyawan baru
Format : Lampiran B-3
d. Nama Dokumen : Form Data Jabatan
Fungsi : Untuk menginput data jabatan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Jika ada kenaikan jabatan untuk karyawan
Format : Lampiran B-4
135
e. Nama Dokumen : Form Bagian
Fungsi : Untuk menginput data bagian dari setiap karyawan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Jika ada perekrutatan karyawan
Format : Lampiran B-5
f. Nama Dokumen : Form Data Bank
Fungsi : Untuk menentukan pilihan transfer gaji karyawan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Saat Karyawan memberikan No. Rekening
Format : Lampiran B-6
g. Nama Dokumen : Form Menu Utama Admin
Fungsi : Untuk menampilkan sub menu yang ada dari
Menu Utama Admin
Sumber : Admin
Tujuan : Admin
Media : Tampilan
Frekuensi : Setiap 2 Minggu Sekali
Format : Lampiran B-7
136
h. Nama Dokumen : Form Penggajian
Fungsi : Untuk menghitung gaji karyawan
Sumber : Admin
Tujuan : Karyawan
Media : Tampilan
Frekuensi : Setiap Bulan
Format : Lampiran B-8
i. Nama Dokumen : Form Laporan Data Karyawan
Fungsi : Untuk melihat update data karyawan
Sumber : Admin
Tujuan : Direktur
Media : Tampilan
Frekuensi : Setiap Dua Bulan Sekali
Format : Lampiran B-9
j. Nama Dokumen : Form Laporan Rekap Gaji
Fungsi : Untuk menyajikan laporan rekap gaji karyawan
Sumber : Admin
Tujuan : Direktur
Media : Tampilan
Frekuensi : Setiap Bulan
Format : Lampiran B-10
137
k. Nama Dokumen : Form Laporan Slip gaji
Fungsi : Untuk menyajikan laporan slip gaji karyawan
Sumber : Admin
Tujuan : Karyawan dan Direktur
Media : Tampilan
Frekuensi : Setiap Bulan
Format : Lampiran B-11
l. Nama Dokumen : Form Menu Utama Direktur
Fungsi : Untuk melalukan pengecekan laporan
Sumber : Admin
Tujuan : Direktur
Media : Tampilan
Frekuensi : Setiap Bulan
Format : Lampiran B-12