Gratis Downloads Aplikasi Absensi Siswa Full Source Code

Tampilan dashboard Aplikasi Absensi Siswa RFID PHP MySQL

Absensi manual dengan buku atau lembar tanda tangan memang sederhana, tetapi di sekolah dengan banyak kelas cara ini cepat menjadi merepotkan. Guru harus memanggil nama satu per satu, rekap harian ditulis ulang di akhir bulan, dan kesalahan hitung mudah terjadi. Titip absen pun sulit dihindari.

Pada artikel ini saya membagikan Aplikasi Absensi Siswa RFID versi 2 berbasis PHP dan MySQL yang bisa dipakai di SD, SMP, SMA, dan SMK. Versi ini memakai reader RFID USB yang bekerja seperti keyboard, jadi reader tinggal dicolok ke komputer.

Siswa cukup menempelkan kartu pada reader, lalu waktu masuk atau pulang tercatat otomatis. Aplikasi bisa dijalankan di localhost (XAMPP atau Laragon) maupun di hosting. Di bawah ini saya bahas cara kerjanya, instalasi, urutan pemakaian, sampai tips agar reader berfungsi dengan baik.

Mengapa Absensi Manual Sering Bermasalah

Ada beberapa masalah yang hampir selalu muncul pada absensi manual:

  • Memakan waktu. Memanggil nama satu per satu menghabiskan menit pertama pelajaran, apalagi jika jumlah siswa dalam satu kelas banyak.
  • Rawan salah rekap. Data di buku harus dihitung ulang setiap akhir pekan atau akhir bulan, dan di tahap inilah angka sering keliru.
  • Sulit mengetahui jam kedatangan. Buku absensi biasanya hanya mencatat hadir atau tidak, bukan jam siswa tiba atau pulang.
  • Laporan lambat. Wali kelas atau tata usaha perlu waktu untuk menyusun laporan per kelas atau per periode.

Aplikasi ini menjawab masalah tersebut dengan satu langkah sederhana: setiap siswa memiliki kartu RFID, dan setiap tempelan kartu langsung tersimpan sebagai data absensi lengkap dengan tanggal dan jam.

Cara Kerja Absensi RFID

Setiap kartu RFID memiliki nomor unik yang disebut UID. Saat kartu ditempelkan, reader USB membaca UID tersebut lalu mengirimkannya ke komputer seperti ketikan keyboard, diikuti tombol Enter. Layar scan pada aplikasi menangkap UID itu, mencocokkannya dengan data siswa, lalu menentukan apakah scan tersebut absen masuk atau absen pulang.

Perlu diingat bahwa kartu tetap bisa dipinjamkan ke teman. Karena itu, sebaiknya reader diletakkan di tempat yang diawasi guru atau petugas.

Fitur Utama

  • Pengaturan. Profil sekolah, logo, warna tema, dan jam absensi bisa diatur dari dalam aplikasi.
  • Data Kelas. Kelas dibuat sesuai jenjang sekolah (SD, SMP, SMA, atau SMK).
  • Data Siswa. Siswa bisa ditambah manual atau diimpor dari file CSV, lalu kartu RFID dipasangkan ke masing-masing siswa.
  • Absensi RFID. Layar scan khusus untuk komputer yang terhubung ke reader.
  • Data Absensi. Status izin, sakit, dan alpa diinput dari menu ini, dilengkapi tombol untuk menandai siswa yang belum absen sebagai alpa.
  • Laporan. Pilih periode dan kelas, lalu cetak atau ekspor ke CSV.
  • Kenaikan Kelas dan Kelulusan. Siswa dipindahkan per kelas, dan siswa tingkat akhir bisa dijadikan alumni tanpa kehilangan riwayat absensi.
  • Dashboard dengan grafik untuk melihat gambaran kehadiran sekilas.
  • Mode layar penuh di semua halaman, cocok untuk komputer yang dipasang khusus sebagai mesin absensi.

Cara Instalasi (XAMPP, Laragon, atau Hosting)

  1. Salin folder absensi-rfid ke htdocs (atau public_html jika memakai hosting).
  2. Cek config.php dan sesuaikan host, user, dan password MySQL. Bawaan XAMPP adalah user root tanpa password.
  3. Buka http://localhost/absensi-rfid/install.php, lalu isi nama sekolah, jenjang, dan akun admin.
  4. Setelah berhasil, hapus file install.php, lalu login.

Aplikasi membutuhkan PHP 7.4 atau lebih baru dengan ekstensi PDO MySQL.

Urutan Pemakaian

  1. Pengaturan. Isi profil sekolah, logo, warna tema, dan jam absensi.
  2. Data Kelas. Buat semua kelas, dengan tingkat yang dipilih sesuai jenjang.
  3. Data Siswa. Tambah manual atau impor CSV. Untuk memasang kartu, klik kolom "UID kartu RFID", lalu tempelkan kartu pada reader.
  4. Absensi RFID. Buka layar scan di komputer yang terhubung ke reader.
  5. Laporan. Pilih periode dan kelas, lalu cetak atau ekspor CSV.

Aturan Scan Kartu

  • Scan pertama pada hari itu dicatat sebagai absen masuk. Siswa dicatat terlambat jika scan melewati batas jam masuk ditambah toleransi.
  • Scan kedua setelah jam pulang dimulai dicatat sebagai absen pulang.
  • Scan berulang di luar aturan itu hanya menampilkan informasi, dan data tidak berubah.
  • Kartu yang belum terdaftar menampilkan tombol untuk langsung mendaftarkannya.
  • Siswa izin, sakit, atau alpa diinput di menu Data Absensi. Tombol "Tandai yang belum absen sebagai alpa" dipakai di akhir hari.
Tampilan layar scan Absensi RFID pada aplikasi absensi siswa

Kenaikan Kelas dan Kelulusan

Menu Kenaikan Kelas bekerja per kelas. Pilih kelas asal, pilih kelas tujuan (tingkat di atasnya), lalu centang siswa yang naik. Siswa yang tidak dicentang tinggal kelas. Di tingkat akhir, siswa yang dicentang menjadi alumni, dan data serta riwayat absensinya tetap tersimpan.

Buat kelas tujuan lebih dulu di Data Kelas. Data absensi lama tetap tercatat di kelas asalnya, sehingga laporan tahun lalu tidak berubah.

Impor Siswa dari CSV

Impor CSV mempercepat pendataan jika jumlah siswa banyak. Kolom harus berurutan seperti berikut:

nis;nisn;nama;jk;kelas;rfid

Template bisa diunduh di halaman Impor CSV. Nama kelas harus sama persis dengan yang ada di Data Kelas.

Mode Layar Penuh

  • Semua halaman punya tombol "Layar penuh / Layar biasa" di pojok kanan atas.
  • Layar penuh aktif otomatis pada klik atau tombol keyboard pertama setelah aplikasi dibuka, karena browser tidak mengizinkan layar penuh tanpa interaksi pengguna.
  • Perpindahan halaman tidak memuat ulang dokumen, jadi layar penuh tidak terlepas. Jika halaman dimuat ulang (F5), klik sekali lagi untuk kembali ke layar penuh.
  • Pilihan "layar biasa" (lewat tombol atau Esc) diingat browser dan tidak akan dipaksa layar penuh lagi sampai tombol ditekan.
  • Untuk komputer absensi yang ingin langsung layar penuh tanpa klik, jalankan Chrome dengan perintah berikut:
chrome.exe --kiosk http://localhost/absensi-rfid/

Catatan tentang Reader USB

  • Reader harus berada pada mode keyboard (HID) dan mengirim Enter setelah UID. Ini pengaturan bawaan sebagian besar reader.
  • Format UID (desimal atau heksadesimal) harus konsisten. Daftarkan kartu lewat aplikasi ini supaya formatnya pasti sama.
  • Layar scan harus terbuka dan tidak sedang dipakai mengetik di tempat lain, karena reader mengirim data seperti ketikan keyboard.

Grafik dan Font Saat Offline

Grafik memakai Chart.js dari CDN. Untuk komputer tanpa internet, unduh chart.umd.min.js (Chart.js 4.x) dan simpan di assets/js/chart.umd.min.js. Font Plus Jakarta Sans juga berasal dari Google Fonts. Jika komputer offline, aplikasi otomatis memakai font sistem.

Peran Pengguna

  • Admin: dapat mengakses semua menu.
  • Petugas: dapat mengakses Dashboard, Absensi RFID, Data Absensi, Laporan, dan Data Siswa (tanpa hak hapus).

Keamanan

Password disimpan dalam bentuk hash, seluruh query memakai prepared statement, form dilindungi token CSRF, dan login dibatasi jumlah percobaannya. Gunakan HTTPS jika aplikasi diakses lewat internet, dan hapus install.php setelah instalasi selesai.

Tips Agar Absensi Berjalan Lancar

  1. Daftarkan semua kartu lewat aplikasi. Dengan cara ini format UID selalu sama dan tidak ada kartu yang gagal dikenali.
  2. Siapkan satu komputer khusus. Komputer yang dipasang reader sebaiknya tidak dipakai untuk pekerjaan lain selama jam absensi.
  3. Atur jam masuk dan toleransi dengan realistis di menu Pengaturan, sesuai aturan sekolah.
  4. Tandai alpa di akhir hari. Tombol penanda alpa memastikan siswa yang tidak scan tetap tercatat di laporan.
  5. Cadangkan database secara rutin. Ekspor database dari phpMyAdmin dan simpan di tempat terpisah.

Penutup

Dengan reader USB dan aplikasi web sederhana ini, absensi siswa bisa dicatat lebih cepat dan laporannya tersusun otomatis. Aplikasi ini cocok untuk sekolah yang ingin beralih dari absensi manual tanpa investasi besar. Jika sekolah Anda juga ingin merapikan pencatatan stok perlengkapan, silakan lihat Aplikasi Inventory Gudang yang pernah saya bahas.

Download Aplikasi

Aplikasi dapat diunduh gratis melalui tautan berikut: Download Aplikasi Absensi Siswa RFID di sini

📚 Baca Juga Aplikasi Lainnya

Aplikasi Inventory Gudang PHP MySQL

Aplikasi Inventory Gudang

Catat stok barang masuk dan keluar, lengkap dengan laporan dan tema yang bisa diatur admin.

Baca selengkapnya →

Aplikasi Kasir Gratis POSKasir untuk UMKM

Aplikasi Kasir Gratis Buat UMKM

Ringan, offline, dan open source. Cocok untuk toko kelontong dan warung kopi.

Baca selengkapnya →

Aplikasi pengelolaan homestay berbasis PHP dan SQLite

Kelola Homestay Lebih Rapi

Aplikasi web PHP dan SQLite dengan kalender yang mencegah pemesanan ganda.

Baca selengkapnya →

Tentang Penulis
Artikel ini ditulis oleh Pidin Saripudin, S.Kom, lulusan S1 Teknik Informatika yang membuat sendiri aplikasi web berbasis PHP, MySQL, dan SQLite, seperti kasir, absensi, kas, inventory, dan tabungan siswa. Semua aplikasi yang dibahas di blog ini dibuat dan diuji sendiri. Kenal lebih jauh di halaman Tentang Kami, atau kirim pertanyaan lewat halaman Kontak.

Komentar

Postingan populer dari blog ini

Aplikasi Kasir Gratis Buat UMKM - Ringan, Offline, dan Open Source

Buat QR Code Online Gratis Tanpa Install — Coba Langsung di Halaman Ini