Setelah anda melihat Contoh Program Aplikasi Penggajian PT Hoyama Menggunakan Visual Basic 6.0, selajutnya membuat form data dasar.
form data dasar adalah form yg dibuat untuk menginput biaya dasar, misalnya biaya gaji pokok, tunjangan, overtime, berdasarkan golongan karyawan. Jadi, anda hanya tinggal memilih saja pada form penghitungannya nanti tanpa menginput ulang besaran biayanya.


Silahkan buat form dibawah ini dengan name=formdasar ;

Catatan ;
A. Anda harus membuat tabel Grid seperti diatas
B. Masukkan komponen crystal report da beri name=cr

1. Buatlah Sub baru dengan nama sub aktif dan pastekan koding berikut ;
kodedd.Enabled = True
cgolongan.Enabled = True
tgajipokok.Enabled = True
cjabatan.Enabled = True
tjabatan.Enabled = True
tkehadiran.Enabled = True
ttranspor.Enabled = True
tanakistri.Enabled = True
tpulsa.Enabled = True
ts2.Enabled = True
ts3.Enabled = True
tovertime.Enabled = True
cjpensiun.Enabled = True
cserikat.Enabled = True
tizinmangkir.Enabled = True
ctambah.Enabled = True
csimpan.Enabled = True
csunting.Enabled = True
cperbarui.Enabled = True
cbatal.Enabled = True
chapus.Enabled = True
ccari.Enabled = True
tcari.Enabled = True

ccetak.Enabled = True

2. Buatlah Sub baru dengan nama sub nonaktif dan pastekan koding berikut ;
kodedd.Enabled = False
cgolongan.Enabled = False
tgajipokok.Enabled = False
cjabatan.Enabled = False
tjabatan.Enabled = False
tkehadiran.Enabled = False
ttranspor.Enabled = False
tanakistri.Enabled = False
tpulsa.Enabled = False
ts2.Enabled = False
ts3.Enabled = False
tovertime.Enabled = False
cjpensiun.Enabled = False
cserikat.Enabled = False
tizinmangkir.Enabled = False
ctambah.Enabled = False
csimpan.Enabled = False
csunting.Enabled = False
cperbarui.Enabled = False
cbatal.Enabled = False
chapus.Enabled = False
ccari.Enabled = False
tcari.Enabled = False
ccetak.Enabled = False


3. Buatlah Sub baru dengan nama sub bersih dan pastekan koding berikut ;
kodedd.Text = ""
cgolongan.Text = ""
tgajipokok.Text = "0"
cjabatan.Text = ""
tjabatan.Text = "0"
tkehadiran.Text = "0"
ttranspor.Text = "0"
tanakistri.Text = "0"
tpulsa.Text = "0"
ts2.Text = "0"
ts3.Text = "0"
tovertime.Text = "0"
cjpensiun.Text = "0"
cserikat.Text = "0"
tizinmangkir.Text = "0"


4. Buatlah Sub baru dengan nama sub tampil dan pastekan koding berikut ;
 Call koneksi
 rsdatadasar.Open "select*from tabeldasar", KON
 Set grid1.DataSource = rsdatadasar

5. Buatlah Sub baru dengan nama sub perbarui dan pastekan koding berikut ;
Call koneksi

rsdatadasar.Open "update tabeldasar set golongan='" & cgolongan & "',gajipokok='" & tgajipokok & "',jabatan='" & cjabatan & "',tjabatan='" & tjabatan & "',tkehadiran='" & tkehadiran & "',ttranspor='" & ttranspor & "',tanakistri='" & tanakistri & "',tpulsa='" & tpulsa & "',tshift2='" & ts2 & "',tshift3='" & ts3 & "',overtime='" & tovertime & "',jpensiun='" & cjpensiun & "',serikat='" & tserikat & "',izinmangkir='" & tizinmangkir & "' where kodedasar='" & kodedd.Text & "'", KON

MsgBox "Data Berhasil di Update", vbInformation, "Info"
bersih
Call tampil
Call nonaktif
Call bersih
ctambah.Enabled = True
ccari.Enabled = True
tcari.Enabled = True

6. Buatlah Sub baru dengan nama sub simpan dan pastekan koding berikut ;
Call koneksi
rsdatadasar.Open "insert into tabeldasar values('" & kodedd & "','" & cgolongan & "','" & tgajipokok & "','" & cjabatan & "','" & tjabatan & "','" & tkehadiran & "','" & ttranspor & "','" & tanakistri & "','" & tpulsa & "','" & ts2 & "','" & ts3 & "','" & tovertime & "','" & cjpensiun & "','" & cserikat & "','" & tizinmangkir & "')", KON
MsgBox "Data Sudah Tersimpan", vbInformation
Call tampil
Call bersih
Call nonaktif
ctambah.Enabled = True
ccari.Enabled = True
tcari.Enabled = True

7.pastekan koding berikut ;
Private Sub Form_Load()
Call tampil
Call bersih
Call nonaktif
ctambah.Enabled = True
ccari.Enabled = True
tcari.Enabled = True
ccetak.Enabled = True
cjpensiun.Clear
For a = 1 To 10
cjpensiun.AddItem a
Next a
cserikat.Clear
For b = 1 To 10
cserikat.AddItem b
Next b
Me.Top = 100
Me.Left = 0
Me.Height = 8895
Me.Width = 13140
End Sub

8. Double klik pada cgolongan dan pastekan koding berikut (declaration=click) ;
If cgolongan.Text = "Kontrak 1" Then
cjabatan.Clear
cjabatan.AddItem "Operator"
cjabatan.AddItem "Admin Office"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "Kontrak 2" Then
cjabatan.Clear
cjabatan.AddItem "Operator"
cjabatan.AddItem "Admin Office"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "K Grade 1" Then
cjabatan.Clear
cjabatan.AddItem "Operator"
cjabatan.AddItem "Admin Office"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "K Grade 2" Then
cjabatan.Clear
cjabatan.AddItem "Operator"
cjabatan.AddItem "Admin Office"
cjabatan.AddItem "Leader Grup"
cjabatan.AddItem "Foreman"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "K Grade 3" Then
cjabatan.Clear
cjabatan.AddItem "Leader Grup"
cjabatan.AddItem "Foreman"
cjabatan.AddItem "General Foreman"
cjabatan.AddItem "Leader Prod Enginering"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "K Grade 4" Then
cjabatan.Clear
cjabatan.AddItem "Foreman"
cjabatan.AddItem "General Foreman"
cjabatan.AddItem "Leader Prod Enginering"
cjabatan.AddItem "HRD"
cjabatan.AddItem "Supervisor"
tgajipokok.SetFocus
ElseIf cgolongan.Text = "Top Management" Then
cjabatan.Clear
cjabatan.AddItem "Manager Divisi"
cjabatan.AddItem "Manager Departement"
cjabatan.AddItem "General Manager"
cjabatan.AddItem "General HRD"
tgajipokok.SetFocus
End If


9. Double klik pada ctambah dan pastekan koding berikut (declaration=click) ;
Call koneksi
Call bersih
Call aktif

rsdatadasar.Open "select*from tabeldasar order by kodedasar desc", KON
With rsdatadasar
 If .BOF And .EOF Then
  kodedd.Text = "KD" + "001"
  Else
   kodedd.Text = "KD" + Right(Str(Val(Right(.Fields("kodedasar"), 3)) + 1001), 3)
   End If
   End With
   kodedd.Enabled = False
cgolongan.SetFocus
cbatal.Enabled = True
csunting.Enabled = False
cperbarui.Enabled = False
chapus.Enabled = False
Call tampil
Call aktif
kodedd.Enabled = False
ctambah.Enabled = False
csunting.Enabled = False
cperbarui.Enabled = False
chapus.Enabled = False


10. Double klik pada csimpan dan pastekan koding berikut (declaration=click) ;
If cgolongan.Text = "" Or tgajipokok.Text = "0" Or cjabatan.Text = "" Or cjpensiun.Text = "0" Or cserikat.Text = "0" Then
MsgBox "Data Belum terisi semua", vbCritical
ElseIf Len(tgajipokok.Text) < 5 Then
MsgBox " Gaji pokok harus lebih dari 4 karakter", vbCritical
tgajipokok.SetFocus
ElseIf Len(tkehadiran.Text) < 5 Then
MsgBox " T.Kehadiran harus lebih dari 4 karakter", vbCritical
tkehadiran.SetFocus
ElseIf Len(ttranspor.Text) < 5 Then
MsgBox "T.Transpor harus lebih dari 4 karakter", vbCritical
ttranspor.SetFocus
ElseIf Len(tanakistri.Text) < 5 Then
MsgBox " T.Anak Istri harus lebih dari 4 karakter", vbCritical
tanakistri.SetFocus

ElseIf Len(tovertime.Text) < 5 Then
MsgBox " T.Overtime harus lebih dari 4 karakter", vbCritical
tovertime.SetFocus
ElseIf Len(tizinmangkir.Text) < 5 Then
MsgBox "Izin/Mangkir harus lebih dari 4 karakter", vbCritical
tizinmangkir.SetFocus
Else
Call simpan
End If



11. Double klik pada csunting dan pastekan koding berikut (declaration=click) ;
Call koneksi
rsdatadasar.Open "select*from tabeldasar where kodedasar='" & tcari.Text & "'", KON
  If rsdatadasar.EOF Then
MsgBox "Data Tidak Ditemukan", vbCritical
tcari.Text = ""
tcari.SetFocus
Else
With rsdatadasar
 kodedd.Text = .Fields("kodedasar")
 cgolongan.Text = .Fields("golongan")
 tgajipokok.Text = .Fields("gajipokok")
  cjabatan.Text = .Fields("jabatan")
  tjabatan.Text = .Fields("tjabatan")
  tkehadiran.Text = .Fields("tkehadiran")
  ttranspor.Text = .Fields("ttranspor")
  tanakistri.Text = .Fields("tanakistri")
  tpulsa.Text = .Fields("tpulsa")
  ts2.Text = .Fields("tshift2")
  ts3.Text = .Fields("tshift3")
  tovertime.Text = .Fields("overtime")
  cjpensiun.Text = .Fields("jpensiun")
  cserikat.Text = .Fields("serikat")
  tizinmangkir.Text = .Fields("izinmangkir")

 End With
 Call aktif

 kodedd.Enabled = False
 ctambah.Enabled = False
 csimpan.Enabled = False
 chapus.Enabled = False
 csunting.Enabled = False
 End If


12. Double klik pada cperbarui dan pastekan koding berikut (declaration=click) ;
If cgolongan.Text = "" Or tgajipokok.Text = "0" Or cjabatan.Text = "" Or cjpensiun.Text = "0" Or cserikat.Text = "0" Then
MsgBox "Data Belum terisi semua", vbCritical
ElseIf Len(tgajipokok.Text) < 5 Then
MsgBox " Gaji pokok harus lebih dari 4 karakter", vbCritical
tgajipokok.SetFocus
ElseIf Len(tkehadiran.Text) < 5 Then
MsgBox " T.Kehadiran harus lebih dari 4 karakter", vbCritical
tkehadiran.SetFocus
ElseIf Len(ttranspor.Text) < 5 Then
MsgBox "T.Transpor harus lebih dari 4 karakter", vbCritical
ttranspor.SetFocus
ElseIf Len(tanakistri.Text) < 5 Then
MsgBox " T.Anak Istri harus lebih dari 4 karakter", vbCritical
tanakistri.SetFocus

ElseIf Len(tovertime.Text) < 5 Then
MsgBox " T.Overtime harus lebih dari 4 karakter", vbCritical
tovertime.SetFocus
ElseIf Len(tizinmangkir.Text) < 5 Then
MsgBox "Izin/Mangkir harus lebih dari 4 karakter", vbCritical
tizinmangkir.SetFocus
Else
Call perbarui
End If


13. Double klik pada cbatal dan pastekan koding berikut (declaration=click) ;
Call bersih
Call nonaktif
ctambah.Enabled = True
ccari.Enabled = True
tcari.Enabled = True
ccetak.Enabled = True


14. Double klik pada chapus dan pastekan koding berikut (declaration=click) ;
Call koneksi
a = MsgBox("Yakin Ingin Hapus Data ini?", vbQuestion + vbYesNo, "tanya")
If a = vbYes Then
rsdatadasar.Open "delete from tabeldasar where kodedasar='" & tcari.Text & "'", KON
MsgBox "Data telah terhapus", vbInformation
bersih
tcari.Text = ""
Call nonaktif
ctambah.Enabled = True
ccari.Enabled = True
tcari.Enabled = True
ccetak.Enabled = True
End If
Call tampil


15. Double klik pada ccari dan pastekan koding berikut (declaration=click) ;
Call koneksi
rsdatadasar.Open "select*from tabeldasar where kodedasar='" & tcari.Text & "'", KON
  If rsdatadasar.EOF Then
MsgBox "Data Tidak Ditemukan", vbCritical
tcari.Text = ""
tcari.SetFocus
Else
With rsdatadasar
 kodedd.Text = .Fields("kodedasar")
 cgolongan.Text = .Fields("golongan")
 tgajipokok.Text = .Fields("gajipokok")
  cjabatan.Text = .Fields("jabatan")
  tjabatan.Text = .Fields("tjabatan")
  tkehadiran.Text = .Fields("tkehadiran")
  ttranspor.Text = .Fields("ttranspor")
  tanakistri.Text = .Fields("tanakistri")
  tpulsa.Text = .Fields("tpulsa")
  ts2.Text = .Fields("tshift2")
  ts3.Text = .Fields("tshift3")
  tovertime.Text = .Fields("overtime")
  cjpensiun.Text = .Fields("jpensiun")
  cserikat.Text = .Fields("serikat")
  tizinmangkir.Text = .Fields("izinmangkir")

 End With
 Call nonaktif
  kodedd.Enabled = False
 csunting.Enabled = True
 chapus.Enabled = True
cbatal.Enabled = True
tcari.Enabled = True
ccari.Enabled = True
End If


16. Double klik pada ccetak dan pastekan koding berikut (declaration=click) ;
cr.ReportFileName = "D:\Belajar MVB\datadasar.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1