Dokumentasi lengkap cara penggunaan, instalasi, dan konfigurasi aplikasi Absensis โ sistem absensi modern untuk siswa dan guru.
Framework dan library yang digunakan dalam membangun aplikasi Absensis
Framework MVC berbasis PHP yang ringan dan cepat. Menangani routing, controller, model, view, dan semua logika backend aplikasi.
Template dashboard berbasis Bootstrap 4 dari Creative Tim. Memberikan tampilan admin yang modern, responsif, dan profesional dengan komponen Material Design.
Library autentikasi untuk CodeIgniter 4 yang mengelola login, session, role/permission petugas dan superadmin secara aman dan mudah dikonfigurasi.
Library PHP untuk generate QR code dalam format PNG atau SVG. Mendukung logo sekolah di tengah QR, label nama, dan kustomisasi warna foreground/background.
Library JavaScript open-source untuk membaca QR code menggunakan kamera perangkat secara real-time langsung di browser tanpa perlu aplikasi tambahan.
Layanan pihak ketiga untuk mengirim notifikasi WhatsApp otomatis ke orang tua/wali setiap kali siswa atau guru berhasil melakukan absensi.
Database relasional untuk menyimpan seluruh data: siswa, guru, kelas, jurusan, petugas, dan riwayat presensi harian dengan foreign key constraints.
Bahasa pemrograman server-side. Membutuhkan PHP 8.1 ke atas dengan extension
intl (internasionalisasi) dan gd (manipulasi gambar QR) diaktifkan.
Semua fitur yang tersedia dalam aplikasi Absensis beserta cara penggunaannya
Fitur utama aplikasi. Siswa dan guru menunjukkan QR code unik mereka ke kamera perangkat. Sistem akan otomatis memvalidasi dan mencatat kehadiran ke database.
Setelah QR berhasil di-scan dan presensi tercatat, sistem mengirim pesan WhatsApp otomatis ke nomor HP yang terdaftar (orang tua/wali untuk siswa, atau guru itu sendiri).
.env di root folder proyekWA_NOTIFICATION=false menjadi WA_NOTIFICATION=trueWHATSAPP_TOKEN=TOKEN_ANDA dengan token dari FonnteSistem autentikasi berbasis Myth Auth untuk petugas sekolah. Terdapat dua role: Petugas (akses terbatas) dan Superadmin (akses penuh).
/admin atau /admin/loginsuperadmin, password superadmin| Role | Hak Akses |
|---|---|
| Petugas | Kelola absen, siswa, guru, kelas, laporan, QR |
| Superadmin | Semua akses petugas + kelola petugas lain + pengaturan umum |
Halaman utama setelah login. Menampilkan statistik kehadiran hari ini, grafik kehadiran 7 hari terakhir, dan ringkasan data siswa, guru, dan kelas.
Kelola data siswa secara lengkap: tambah, lihat, edit, dan hapus. Mendukung filter berdasarkan kelas dan jurusan.
Kelola data guru dengan field: NUPTK, nama, jenis kelamin, dan nomor HP. Struktur mirip dengan manajemen data siswa.
Kelola data kelas dan jurusan yang menjadi referensi saat menambah/mengedit data siswa.
Petugas dapat melihat dan mengubah status kehadiran siswa/guru. Misalnya mengubah status "Alpa" menjadi "Sakit" atau "Izin" jika ada keterangan.
Generate QR code unik untuk setiap siswa dan guru. Setiap QR code berisi kode unik yang diikat ke identitas orang tersebut di database.
unique_code yang ter-generate otomatis
saat siswa/guru ditambahkan. Logo sekolah bisa ditampilkan di tengah QR dengan mengaktifkan
QR_LOGO=true di .env
Generate laporan rekap absensi bulanan dalam format PDF atau Microsoft Word (.doc) untuk siswa per-kelas maupun seluruh guru.
Import data siswa dalam jumlah besar sekaligus menggunakan file CSV, tanpa harus menginput satu per satu melalui form.
Fitur khusus superadmin untuk mengelola akun petugas sekolah yang dapat mengakses panel admin.
petugas (standar) atau superadminKonfigurasi informasi sekolah yang tertampil di seluruh aplikasi, seperti nama sekolah, tahun ajaran, logo, dan teks copyright.
Langkah-langkah instalasi dari awal hingga aplikasi siap digunakan
Pastikan server/komputer memiliki: PHP 8.1+, MySQL/MariaDB, Composer, dan Apache/Nginx. Aktifkan
extension intl dan gd di php.ini. Disarankan menggunakan XAMPP 8.1+
atau Laragon.
Buka terminal di folder proyek, jalankan Composer untuk menginstall semua library yang dibutuhkan.
Rename file .env.example menjadi .env. Isi konfigurasi database dan
base URL sesuai environment Anda.
Buat database baru bernama db_absensi di phpMyAdmin atau MySQL CLI.
Jalankan perintah berikut untuk membuat semua tabel yang diperlukan beserta data awal (superadmin).
Jalankan web server (Apache melalui XAMPP/Laragon) dan buka browser. Atau gunakan built-in server CodeIgniter.
Buka http://localhost/absensis/admin (atau sesuai baseURL). Login dengan kredensial
default superadmin.
Pengaturan file .env dan opsi-opsi konfigurasi yang tersedia
Aktifkan notifikasi otomatis ke WA. Daftar token di fonnte.com.
Tampilkan logo sekolah di tengah QR code yang digenerate.
Edit file migrasi sebelum menjalankan
php spark migrate pertama kali.
Ubah mode development/production di file .env.
Pertanyaan yang sering diajukan seputar penggunaan aplikasi
composer dump-autoload di terminal. Pastikan semua dependencies
sudah terinstall dengan benar melalui composer install. Periksa juga versi PHP (minimal
8.1).app.baseURL di .env sesuai domain. Pastikan
server mendukung PHP 8.1+, aktifkan extension intl dan gd. Import database via phpMyAdmin. Pastikan
folder writable/ memiliki permission write (755 atau 777).