Tutorial ini bisa
dikembangkan lagi dan digunakan di tempat kerja yang tidak mempunyai
Software applikasi pengolahan Data. Rancangan sistem yang saya buat ini
terdiri dari 4 Sesion :
Sesion # 1. Membuat Form Input Data Karyawan
Sesion # 2. Membuat Form Input Absensi Karyawan
Sesion # 3. Membuat Form Input Data Slip Gaji Karyawan
Sesion # 4. Membuat Template Laporan Absensi dan Laporan Penggajian
Sesion # 2 Membuat Form Input Data Absensi Karyawan
Form Inputan Data Absensi Karyawan dibuat untuk mengetahui ketidak Hadiran Karyawan, Jumlah Jam kerja, Jam Lembur, Jam Terlambat, Jam Pulang Awal dimana Data ini sangnat diperlukan pada saat melakukan proses penggajian.
Berikut ini rancangan Sheet dan Form yang saya buat :
Pada Sheet ("Absesnsi") Coulomn H masukkan rumus =IF(C4>$F$2,C4-$F$2,0)
Pada Sheet ("Absesnsi") Coulomn I masukkan rumus =IF($H$2>D4,$H$2-D4,0)
Pada Sheet ("Absesnsi") Coulomn J masukkan rumus =H4+I4
Form Input Data Absensi Karyawan di rancang pada Sheet ("Template")
Pada Range ("C7") buatlah DataValidation untuk Keterangan Hari Kerja :
"Hari Kerja Normal,Hari Libur Nasional" tanpa tanda kutip
Pada Range ("C8") masukkan Fungsi untuk Status Absensi :
"=IF(E5=0,"Tidak Kerja",IF(E5>E4,"Terlambat",IF(G4>E6,"Pulang Awal","Tepat Waktu")))" tanpa tanda kutip
Pada Range ("G5") masuk Fungsi Rumus untuk menghitung jumlah Jam Lembur Karyawan :
"=(IF(C7="Hari Kerja Normal",(IF($G$4<E6,E6-$G$4,0)),IF(E5<E6,(E6-E5)-1,($G$3-E5+E6)-1)))" tanpa tanda kutip
Pada Range ("G6") masukkan Fungsi Rumus untuk menghitung jumlah perkalian jam Lembur Karyawan :
"=IF(G5<=G3,"0",(IF(C7="Hari Kerja Normal",(G5*2-0.5),IF(G5<=$C$4,G5*2,G5*4-17))))" tanpa tanda kutip
"Untuk Penjelasan dari Fungsi - Fungsi tersebut silahkan Sobat lihat Tutorial Video YuoTube di atas"
Pada Form Inputan Data Absensi Karyawan ini saya juga membuat Tombol Perintah untuk Simpan, Cari, Edit dan Hapus Data ke Sheet ("Absensi").
Berikut ini Koding Module untuk Simpan Data :
Berikut ini Koding Module untuk Cari Data :
Berikut ini Koding Module untuk Edit Data :
Berikut ini Koding Module untuk Hapus Data :
Setelah koding selesai dibuat atau Sobat bisa CopyPaste kan saja, lalu koneksikan tiap - tiap tombol perintah dengan Sub Koding Module masing - masing.
Demikian Tutorial untuk sesion # 2 Pembuatan Form Absensi Karyawan, Silahkan Sobat Kembangkan lagi dan Lanjutkan lagi untuk mempelajari semua Tutorial Sistem Absensi dan Laporan Penggajian pada Sesion # 3 Membuat Form Input Data Slip Gaji Karyawan.
Sesion # 1. Membuat Form Input Data Karyawan
Sesion # 2. Membuat Form Input Absensi Karyawan
Sesion # 3. Membuat Form Input Data Slip Gaji Karyawan
Sesion # 4. Membuat Template Laporan Absensi dan Laporan Penggajian
Sesion # 2 Membuat Form Input Data Absensi Karyawan
Form Inputan Data Absensi Karyawan dibuat untuk mengetahui ketidak Hadiran Karyawan, Jumlah Jam kerja, Jam Lembur, Jam Terlambat, Jam Pulang Awal dimana Data ini sangnat diperlukan pada saat melakukan proses penggajian.
Berikut ini rancangan Sheet dan Form yang saya buat :
Pada Sheet ("Absesnsi") Coulomn H masukkan rumus =IF(C4>$F$2,C4-$F$2,0)
Pada Sheet ("Absesnsi") Coulomn I masukkan rumus =IF($H$2>D4,$H$2-D4,0)
Pada Sheet ("Absesnsi") Coulomn J masukkan rumus =H4+I4
Form Input Data Absensi Karyawan di rancang pada Sheet ("Template")
Pada Range ("C7") buatlah DataValidation untuk Keterangan Hari Kerja :
"Hari Kerja Normal,Hari Libur Nasional" tanpa tanda kutip
Pada Range ("C8") masukkan Fungsi untuk Status Absensi :
"=IF(E5=0,"Tidak Kerja",IF(E5>E4,"Terlambat",IF(G4>E6,"Pulang Awal","Tepat Waktu")))" tanpa tanda kutip
Pada Range ("G5") masuk Fungsi Rumus untuk menghitung jumlah Jam Lembur Karyawan :
"=(IF(C7="Hari Kerja Normal",(IF($G$4<E6,E6-$G$4,0)),IF(E5<E6,(E6-E5)-1,($G$3-E5+E6)-1)))" tanpa tanda kutip
Pada Range ("G6") masukkan Fungsi Rumus untuk menghitung jumlah perkalian jam Lembur Karyawan :
"=IF(G5<=G3,"0",(IF(C7="Hari Kerja Normal",(G5*2-0.5),IF(G5<=$C$4,G5*2,G5*4-17))))" tanpa tanda kutip
"Untuk Penjelasan dari Fungsi - Fungsi tersebut silahkan Sobat lihat Tutorial Video YuoTube di atas"
Pada Form Inputan Data Absensi Karyawan ini saya juga membuat Tombol Perintah untuk Simpan, Cari, Edit dan Hapus Data ke Sheet ("Absensi").
Berikut ini Koding Module untuk Simpan Data :
Sub Simpan_Absensi()
Dim Absensi As Long
Set WsAbsensi =
Worksheets("Absensi")
If
Worksheets("Template").Range("C5") = "" Then
MsgBox "NIK Karyawan Masih
Kosong", vbOKOnly + vbInformation, "Data Absensi"
Worksheets("Template").Range("C5").Select
Exit Sub
ElseIf
Worksheets("Template").Range("C6") = "" Then
MsgBox "Data Tanggal Masih
Kosong", vbOKOnly + vbInformation, "Data Absensi"
Worksheets("Template").Range("C6").Select
Exit Sub
ElseIf
Worksheets("Template").Range("C7") = "" Then
MsgBox "Keterangan Hari Masih
Kosong", vbOKOnly + vbInformation, "Data Absensi"
Worksheets("Template").Range("C6").Select
Exit Sub
ElseIf
Worksheets("Template").Range("E5") = "" Then
MsgBox "Data Jam Masuk Masih
Kosong", vbOKOnly + vbInformation, "Data Absensi"
Worksheets("Template").Range("E5").Select
Exit Sub
ElseIf
Worksheets("Template").Range("E6") = "" Then
MsgBox "Data Jam Pulang
Masih Kosong", vbOKOnly + vbInformation, "Data Absensi"
Worksheets("Template").Range("E6").Select
Exit Sub
End If
With WsAbsensi
Absensi = .Cells(.Rows.Count,
"A").End(xlUp).Offset(1, 0).row
.Cells(Absensi, 1).Value =
Range("C5").Value
.Cells(Absensi, 2).Value =
Range("C6").Value
.Cells(Absensi, 3).Value =
Range("E5").Value
.Cells(Absensi, 4).Value =
Range("E6").Value
.Cells(Absensi, 5).Value =
Range("C7").Value
.Cells(Absensi, 6).Value =
Range("C8").Value
.Cells(Absensi, 7).Value =
Range("G6").Value
End With
Worksheets("Template").Range("C5,E5:E6").Value
= ""
End Sub
Berikut ini Koding Module untuk Cari Data :
Sub Cari_Absensi()
Dim nik
Dim Tglmasuk
If
Worksheets("Template").Range("C5") = "" Then
MsgBox "Nik Karyawan Masih
Kosong"
Exit Sub
End If
If
Worksheets("Template").Range("C6") = "" Then
MsgBox "Nik Karyawan Masih
Kosong"
Exit Sub
End If
Tglmasuk =
Format(Worksheets("Template").Range("C6").Value,
"mm/dd/yy")
Worksheets("Absensi").Range("B3").AutoFilter
Field:=2, Criteria1:=">=" & Tglmasuk
With
Worksheets("Absensi").Range("A:A")
nik =
Worksheets("Template").Range("C5")
Set C = .Find(nik, LookIn:=xlValues)
If Not C Is Nothing Then
Baris = C.row
Worksheets("Template").Range("E5").Value =
Worksheets("Absensi").Cells(Baris, 3).Value
Worksheets("Template").Range("E6").Value =
Worksheets("Absensi").Cells(Baris, 4).Value
Worksheets("Template").Range("C7").Value =
Worksheets("Absensi").Cells(Baris, 5).Value
Else
MsgBox "Nik Karyawan belum
terdaftar" & vbCrLf & "Cek Kembali Tanggal Masuk dan Nik
Karyawan", 64, "Data Absensi"
End If
End With
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("B4").AutoFilter
End If
End With
End Sub
Berikut ini Koding Module untuk Edit Data :
Sub Edit_Absensi()
Dim nik
Dim Tglmasuk
If
Worksheets("Template").Range("C5") = "" Then
MsgBox "Nik Karyawan Masih
Kosong"
Exit Sub
End If
If
Worksheets("Template").Range("C6") = "" Then
MsgBox "Tanggal Masuk Masih
Kosong"
Exit Sub
End If
Tglmasuk =
Format(Worksheets("Template").Range("C6").Value,
"mm/dd/yy")
Worksheets("Absensi").Range("B3").AutoFilter
Field:=2, Criteria1:=">=" & Tglmasuk
nik =
Worksheets("Template").Range("C5")
If MsgBox(" Apakah Anda Yakin Edit
Data : " & nik, vbYesNo + 48, "Komfirmasi") = vbYes Then
Set C =
Worksheets("Absensi").Range("A:A").Find(nik,
LookIn:=xlValues)
If Not C Is Nothing Then
Baris = C.row
With Worksheets("Absensi")
.Cells(Baris, 2).Value =
Worksheets("Template").Range("C6").Value
.Cells(Baris, 3).Value =
Worksheets("Template").Range("E5").Value
.Cells(Baris, 4).Value =
Worksheets("Template").Range("E6").Value
.Cells(Baris, 5).Value =
Worksheets("Template").Range("C7").Value
.Cells(Baris, 6).Value =
Worksheets("Template").Range("C8").Value
.Cells(Baris, 7).Value =
Worksheets("Template").Range("G6").Value
End With
End If
MsgBox "Data Telah DiRubah...",
64, "Data Absensi"
Else
MsgBox "Data Batal di Edit", 64,
"Data Absensi"
End If
Worksheets("Template").Range("C5:C7,E5:E6").Value
= ""
With Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("B4").AutoFilter
End If
End With
End Sub
Berikut ini Koding Module untuk Hapus Data :
Sub Hapus_Absensi()
Dim nik
Dim Tglmasuk
If
Worksheets("Template").Range("C5") = "" Then
MsgBox "Nik Karyawan Masih
Kosong"
Exit Sub
End If
If
Worksheets("Template").Range("C6") = "" Then
MsgBox "Nik Karyawan Masih
Kosong"
Exit Sub
End If
Tglmasuk =
Format(Worksheets("Template").Range("C6").Value,
"mm/dd/yy")
Worksheets("Absensi").Range("B3").AutoFilter
Field:=2, Criteria1:=">=" & Tglmasuk
nik =
Worksheets("Template").Range("C5")
Set C =
Worksheets("Absensi").Range("A:A").Find(nik,
LookIn:=xlValues)
If Not C Is Nothing Then
Baris = C.row
cDelete = MsgBox("Apakah Anda Yakin
Untuk Menghapus Data Absensi: " & nik, vbYesNo + 48,
"Komfirmasi")
If cDelete = vbYes Then
Worksheets("Absensi").Cells(Baris, 2).EntireRow.Delete
MsgBox "Data Telah Di Hapus...",
64, "Data Karyawan"
Else
MsgBox "Data Batal di
Hapus", 64, "Data Karyawan"
End If
Clear_Data
Else
MsgBox "Nik Karyawan belum
Terdaftar Untuk Di Hapus" & vbCrLf & "Cek Kembali Nik
Karyawan", 64, "Data Karyawan"
End If
Worksheets("Template").Range("C5:C7,E5:E6").Value
= ""
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("B4").AutoFilter
End If
End With
End Sub
Setelah koding selesai dibuat atau Sobat bisa CopyPaste kan saja, lalu koneksikan tiap - tiap tombol perintah dengan Sub Koding Module masing - masing.
Demikian Tutorial untuk sesion # 2 Pembuatan Form Absensi Karyawan, Silahkan Sobat Kembangkan lagi dan Lanjutkan lagi untuk mempelajari semua Tutorial Sistem Absensi dan Laporan Penggajian pada Sesion # 3 Membuat Form Input Data Slip Gaji Karyawan.
Salam...,
No comments:
Post a Comment