Membuat Aplikasi Absen di Excel dengan Macro: Lengkap dengan Potongan Gaji
Pendahuluan
Absensi karyawan merupakan salah satu aspek penting dalam manajemen sumber daya manusia. Dengan adanya sistem absensi yang baik, perusahaan dapat memastikan kedisiplinan pegawai serta mengelola gaji dengan lebih akurat. Salah satu cara sederhana dan efektif untuk membuat sistem absensi adalah dengan menggunakan Microsoft Excel yang didukung oleh Macro (VBA - Visual Basic for Applications)..
Artikel ini akan membahas secara lengkap cara membuat aplikasi absensi menggunakan Excel Macro, termasuk fitur potongan gaji berdasarkan ketidakhadiran atau keterlambatan karyawan.
Persiapan Awal
Sebelum memulai pembuatan aplikasi, pastikan Anda telah menyiapkan hal-hal berikut:
Microsoft Excel (Versi 2010 ke atas lebih disarankan)
Mengaktifkan Macro dan Developer Tab
Pemahaman Dasar tentang VBA (Visual Basic for Applications)
Cara Mengaktifkan Macro dan Developer Tab
Buka Microsoft Excel.
Klik File → Options → Customize Ribbon.
Centang Developer di panel kanan dan klik OK.
Untuk mengaktifkan Macro:
Klik Developer → Macro Security.
Pilih Enable all macros.
Klik OK.
Membuat Template Absensi
Langkah pertama dalam pembuatan aplikasi absensi ini adalah membuat template utama.
Buka Microsoft Excel dan buat tabel absensi dengan format seperti berikut:
No Nama Karyawan Tanggal Jam Masuk Jam Keluar Total Jam Keterlambatan Status 1 John Doe 01/03/2025 08:10 17:00 8:50 10 Menit Hadir Tambahkan kolom untuk perhitungan potongan gaji:
No Nama Karyawan Gaji Pokok Potongan Gaji Bersih 1 John Doe 5.000.000 50.000 4.950.000 Simpan file dengan nama Absensi_Macro.xlsm (format Excel Macro-Enabled Workbook).
Membuat Formulir Input Data Absensi
Agar lebih mudah digunakan, kita akan membuat formulir input otomatis menggunakan UserForm VBA.
Langkah Membuat UserForm:
Klik Developer → Visual Basic.
Di VBA Editor, klik Insert → UserForm.
Tambahkan kontrol berikut:
TextBox untuk Nama Karyawan.
ComboBox untuk memilih Tanggal.
TextBox untuk Jam Masuk dan Jam Keluar.
Button untuk menyimpan data.
Menambahkan Kode VBA untuk Menyimpan Data
Tambahkan kode berikut ke tombol Simpan:
Private Sub btnSimpan_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lastRow As Integer
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(lastRow, 1).Value = lastRow - 1 'Nomor Otomatis
ws.Cells(lastRow, 2).Value = Me.txtNama.Value
ws.Cells(lastRow, 3).Value = Me.cmbTanggal.Value
ws.Cells(lastRow, 4).Value = Me.txtJamMasuk.Value
ws.Cells(lastRow, 5).Value = Me.txtJamKeluar.Value
Me.Hide
End Sub
Menghitung Total Jam Kerja dan Keterlambatan
Untuk menghitung total jam kerja dan keterlambatan, gunakan formula Excel berikut:
Total Jam Kerja:
=TEXT(E2-D2,"[h]:mm")
Keterlambatan:
=IF(D2>TIME(8,0,0),D2-TIME(8,0,0),0)
Atau tambahkan kode VBA untuk otomatis menghitung keterlambatan:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("D2:D100")) Is Nothing Then
Dim i As Integer
For i = 2 To 100
If Cells(i, 4).Value > TimeValue("08:00:00") Then
Cells(i, 7).Value = Cells(i, 4).Value - TimeValue("08:00:00")
Else
Cells(i, 7).Value = "Tepat Waktu"
End If
Next i
End If
End Sub
Menentukan Potongan Gaji Otomatis
Untuk setiap keterlambatan atau ketidakhadiran, perusahaan dapat menerapkan potongan gaji. Misalnya:
Keterlambatan 10-30 menit: Potongan Rp50.000
Keterlambatan >30 menit: Potongan Rp100.000
Tidak hadir tanpa keterangan: Potongan Rp200.000
Tambahkan formula Excel di kolom Potongan:
=IF(H2="Tidak Hadir",200000, IF(G2>TIME(0,30,0),100000,IF(G2>TIME(0,10,0),50000,0)))
Untuk VBA:
Private Sub HitungPotongan()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim i As Integer
For i = 2 To 100
If ws.Cells(i, 8).Value = "Tidak Hadir" Then
ws.Cells(i, 10).Value = 200000
ElseIf ws.Cells(i, 7).Value > TimeValue("00:30:00") Then
ws.Cells(i, 10).Value = 100000
ElseIf ws.Cells(i, 7).Value > TimeValue("00:10:00") Then
ws.Cells(i, 10).Value = 50000
Else
ws.Cells(i, 10).Value = 0
End If
Next i
End Sub
Kesimpulan
Dengan menggunakan Excel Macro dan VBA, kita dapat membuat aplikasi absensi yang otomatis mencatat kehadiran, menghitung keterlambatan, dan menerapkan potongan gaji. Sistem ini cocok digunakan oleh UMKM atau perusahaan yang ingin memiliki sistem absensi sederhana tanpa perlu software mahal.
Jika ingin mengembangkan lebih lanjut, Anda bisa menambahkan fitur notifikasi email atau integrasi dengan Google Sheets untuk penyimpanan berbasis cloud. Selamat mencoba!
baca juga : Travel Galang Bahari - Penyedia Layanan Wisata Terpercaya di Batam
0 Komentar