BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · Post-conditions Data karyawan tersimpan atau...

98
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.

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

51

4.2 Desain

4.2.1 Database

Gambar IV.11 Entity Relationship Diagram (ERD)

52

Gambar IV.12 Logical Record Structure (LRS) Sistem Penggajian

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

60

8. Sequence Diagram

1. Sequence Diagram Absensi

Gambar IV.14 Sequence Diagram Absensi

61

2. Sequence Diagram Data Karyawan

Gambar IV.15 Sequence Diagram Data Karyawan

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

66

Gambar IV.25 Tampilan Menu Utama Admin

Gambar IV.26 Tampilan Data Master dari Menu Utama 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