Oleh : Muhammad Firyanul Rizky, email : firyan2903@gmail.com, 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 firyan2903@gmail.com dan password : 123
- email admin@gmail.com dan password : pw111018
- masuk sesi karyawan
- email anul29@mail.com 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 :