https://github.com/firyanulrizky/sistem-manajemen-absensi-karyawan
Projek Laravel
https://github.com/firyanulrizky/sistem-manajemen-absensi-karyawan
absensi-karyawan laravel12 php84
Last synced: 2 months ago
JSON representation
Projek Laravel
- Host: GitHub
- URL: https://github.com/firyanulrizky/sistem-manajemen-absensi-karyawan
- Owner: FiryanulRizky
- Created: 2021-12-10T03:03:53.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-16T11:50:30.000Z (3 months ago)
- Last Synced: 2025-03-23T22:12:33.311Z (3 months ago)
- Topics: absensi-karyawan, laravel12, php84
- Language: Blade
- Homepage: http://absensi.jemari-edu.web.id
- Size: 25.6 MB
- Stars: 25
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sistem-Manajemen-Absensi-Karyawan
Oleh : Muhammad Firyanul Rizky, email : [email protected], no. hp : 0895606181117
Dibuat menggunakan Framework Laravel 12 dan PHP 8.4.5
Ketentuan demo aplikasi :
1. instalasi database pada file env dengan nama database: absensi
2. 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
3. masuk sesi admin
- email [email protected] dan password : 123
- email [email protected] dan password : pw111018
4. masuk sesi karyawan
- email [email protected] dan password :123456
- email (sesuai data seeder : Perawat s/d Petugas Kebersihan) => password (semua akun sama) : petugas123Update Aplikasi :
1. Fitur Register Admin terdapat pada awal sesi sebelum login
2. Sedangkan Fitur Register Karyawan terdapat dalam sesi Admin setelah loginNOTE : 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 :
1. lakukan perintah php artisan tinker, lalu buat variabel baru $emp = new App\Employee
2. 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'# Berikut adalah ketentuan yang sudah terpenuhi :
# 1. Menggambarkan flow diagram / usecase diagram sederhana yang menggambarkan fitur sistem
# 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 :

# 4. Absen masuk dan keluar menggunakan geo-tagging dari tempat tertentu.
Berikut 2 dibawah adalah implementasinya, sistem sudah bisa menginputkan wilayah berdasarkan geo tagging lokasi.Geo Tagging Untuk absen masuk :

Geo Tagging Untuk absen keluar :

# 4. Menggunakan Eloquent ORM Laravel dalam melakukan interaksi database.
Berikut adalah implementasinya :
# 5. Menu Setting Lembur oleh Admin.
Admin bisa mengatur parameter hitung dari penentuan lembur tiap Department seperti jam awal/batas akhir dan upah lembur per jam nya melalui menu setting
# 6. Pengajuan Lembur oleh Karyawan.
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 :

# 7. Slip 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 :
