Oleh : Muhammad Firyanul Rizky, email : [email protected], no. hp : 0895606181117
Dibuat menggunakan Framework Laravel 9
Ketentuan demo aplikasi :
- instalasi database pada file env dengan nama database: absensi
- diberikan 3 pilihan untuk fill data pada database :
- dengan seeder : jalankan php artisan migrate:fresh --seed
- import data absensi.sql yang sudah disediakan
- dengan eloquent orm
- masuk sesi admin
- email [email protected] dan password : 123
- email [email protected] dan password : pw111018
- masuk sesi karyawan
- email [email protected] dan password :123456
- email (sesuai data seeder : Perawat s/d Petugas Kebersihan) => password (semua akun sama) : petugas123
Update Aplikasi :
- Fitur Register Admin terdapat pada awal sesi sebelum login
- Sedangkan Fitur Register Karyawan terdapat dalam sesi Admin setelah login
NOTE : Penambahan admin selain melalui menu register bisa dilakukan juga menggunakan eloquent orm, untuk petunjuk bisa lihat screenshot paling bawah. Sedangkan Untuk karyawan bisa dilakukan pada fitur tambah karyawan pada sesi admin atau bisa juga memakai eloquent orm dengan ketentuan :
- lakukan perintah php artisan tinker, lalu buat variabel baru $emp = new App\Employee
- selanjutnya ikuti petunjuk pada screenshot paling bawah untuk menambahkan elemen 'user_id', 'first_name', 'last_name', 'sex', 'dob', 'join_date', 'desg', 'department_id', 'salary', 'photo'
2. Mengatur Status Absen masuk yang dilakukan karyawan sebelum jam 09.00 pagi, sedangkan absen keluar dilakukan setelah jam 17.00 akan diberikan status tidak valid pada sistem.
Operasi Logic Controller yang mengatasi permasalahan no. 2
Operasi Logic View yang akan menampilkan masing-masing status absensi berdasarkan ketentuan.
Hasil Implementasi masalah no. 2 -- Tampak Absensi Terlambat jika absensi dilakukan jam 09.00 pagi atau lebih, sedangkan sebelum jam 9 akan dinyatakan tepat waktu --
-- Tampak Absensi Tidak Valid jika absensi dilakukan diatas jam 17:00 sampai jam 7 Pagi --
2. menyediakan fitur pengajuan ketidakhadiran kerja dibagi menjadi 2 yaitu izin sakit dan izin cuti.
Ketentuan masalah no. 2 adalah :
-- 1. Apabila karyawan sedang sakit, izin sakit bisa diinputkan maksimal H+3 sejak tanggal ketidakhadiran karyawan -- -- 2. Apabila karyawan ingin mengajukan cuti, karyawan dapat menginputkan izin cuti maksimal H-1 dari rencana ketidakhadiran karyawan -- Dibawah ini adalah operasi logic yang mengatur ketentuan 1 dan 2 untuk izin sakit dan cuti.
Operasi Logic untuk mengatasi ketentuan pertama dan kedua :
Apabila melanggar ketentuan pertama, maka akan tampil alert :
Sedangkan, jika melanggar ketentuan kedua, maka akan tampil alert :
-- 3. Setelah izin cuti diinputkan, manajer/atasan karyawan dalam hal ini user dengan sesi admin harus melakukan approval terhadap izin cuti yang diajukan --
3. Semua data yang terekam dari semua fitur diatas dapat ditampilkan menjadi sebuah laporan yang berisi ketidakhadiran dan absensi karyawan.
Ketentuan Masalah No. 3 adalah :
-- 1. Laporan ditampilkan per karyawan dan hanya dapat dilihat oleh HRD dan manajer/atasan --
Mengatasi masalah 1, sistem dibuat dengan 2 user, yakni admin dan karyawan, pada sesi admin user bisa melihat laporan per karyawan :
-- 2. karyawan hanya bisa melihat rekaman data dirinya sendiri saja -- Mengatasi masalah 2, diperlukan sesi user karyawan yang hanya di autorisasi dan diizinkan untuk melihat laporannya sendiri :
Berikut 2 dibawah adalah implementasinya, sistem sudah bisa menginputkan wilayah berdasarkan geo tagging lokasi.
Geo Tagging Untuk absen masuk :
Geo Tagging Untuk absen keluar :
Berikut adalah implementasinya :
Admin bisa mengatur parameter hitung dari penentuan lembur tiap Department seperti jam awal/batas akhir dan upah lembur per jam nya melalui menu setting
Karyawan dapat mengajukan hak jam lemburnya
dimana logika perhitungan lembur ditentukan sebagai berikut :
- Karyawan Melakukan Absen Keluar sesuai Range Lembur dan Jam harus menunjukkan lewat 1 Jam dari parameter setting awal lembur oleh admin, seperti contoh disini jam selesai menunjukkan pukul 21:11
- Jumlah Jam Lembur = Selisih Jam Absen Keluar dengan parameter setting awal lembur oleh admin (contoh : pukul 21:11 (dibulatkan 21:00) - pukul 17:00 = 4 Jam)
- Jumlah Upah Lembur = Perkalian Jumlah Jam Lembur dengan parameter setting upah lembur per jam oleh admin (contoh : Rp. 10.000,- x 4 Jam = Rp. 40.000,-)
Berikut adalah Operasi Logic Controller yang mengatur perhitungan gaji karyawan :
Pada Sesi Karyawan terdapat menu Slip Gaji 1 Bulan Terakhir
Jika di tekan tombol Print maka akan mencetak dokumen pdf Slip Gaji
Berikut adalah logika menampilkan Slip Gaji 1 bulan terakhir :