Belum ada daftar tugas. Dibuat saat Absensi Masuk.
Lokasi Presensi
Sedang mendeteksi sinyal GPS...
Form Absensi Masuk
Step 1 of 2
Koordinat: Mendeteksi...
Sedang mengambil alamat presisi...
Daftar Pekerjaan Hari Ini
Tambahkan item tugas yang akan Anda kerjakan hari ini.
Checklist Pekerjaan Selesai
0% Selesai
Centang pekerjaan yang berhasil diselesaikan sebelum pulang.
Pesan Karyawan
3 Aktif
Nama Karyawan
Online
Riwayat Presensi
Budi Santoso
Senior Telecommunication Field Technician
Status: Karyawan Tetap
Detail Karyawan
NIK8841
DepartemenNetwork Infrastructure
Jadwal KerjaShift Pagi (08:00 - 17:00)
SupervisorRian Hidayat
Tambah List Pekerjaan Baru
Backend PHP & Skema Database MySQL
Skema tabel `users`, `presensi`, dan `tugas_presensi`
CREATE DATABASE IF NOT EXISTS `db_absensi`;
USE `db_absensi`;
CREATE TABLE `users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`nik` VARCHAR(30) NOT NULL UNIQUE,
`nama` VARCHAR(100) NOT NULL,
`jabatan` VARCHAR(100) NOT NULL
);
CREATE TABLE `presensi` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` INT NOT NULL,
`tanggal` DATE NOT NULL,
`jam_masuk` TIME NOT NULL,
`jam_keluar` TIME DEFAULT NULL,
`foto_masuk` VARCHAR(255) NOT NULL,
`foto_keluar` VARCHAR(255) DEFAULT NULL,
`lat_masuk` DECIMAL(10,8),
`lng_masuk` DECIMAL(11,8),
`alamat_masuk` TEXT,
`persentase_selesai` INT DEFAULT 0,
`status` ENUM('working','completed') DEFAULT 'working'
);
CREATE TABLE `tugas_presensi` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`presensi_id` INT NOT NULL,
`nama_tugas` VARCHAR(255) NOT NULL,
`is_selesai` TINYINT(1) DEFAULT 0
);
API PHP PDO Endpoint (`clock_in`, `clock_out`, `get_history`)