Di era digital, absensi manual sudah mulai ditinggalkan. Banyak sekolah, kampus, event, hingga kantor beralih ke absensi berbasis QR Code karena lebih cepat, murah, dan efisien.
Pada artikel ini, saya akan membahas cara membangun sistem absensi QR Code sederhana dari nol, lengkap dengan praktik teknis yang bisa langsung Anda terapkan dan publikasikan di blog.
Kenapa QR Code untuk Absensi?
QR Code bukan teknologi mahal atau rumit, tapi sangat efektif. Dengan QR Code, kita bisa:
- Menghindari kertas absensi
- Mengurangi manipulasi data
- Mencatat waktu kehadiran otomatis
- Menerapkan sistem digital dengan biaya rendah
Inilah alasan kenapa banyak institusi mulai menggunakannya.
Gambaran Sistem yang Akan Dibuat
Sistem ini bekerja dengan alur sederhana:
- Sistem menghasilkan QR Code absensi
- Peserta melakukan scan / input kode
- Data kehadiran tersimpan di database
- Admin dapat melihat hasil absensi
Teknologi yang digunakan:
- PHP
- MySQL
- HTML
- JavaScript sederhana
1. Membuat Database Absensi
Langkah pertama adalah menyiapkan database.
CREATE DATABASE absensi_qr;
USE absensi_qr;
CREATE TABLE absensi (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
waktu TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Database ini berfungsi untuk menyimpan nama peserta dan waktu kehadiran.
2. Koneksi Database
Buat file koneksi.php untuk menghubungkan aplikasi ke database.
<?php
$conn = mysqli_connect("localhost", "root", "", "absensi_qr");
if (!$conn) {
die("Koneksi database gagal");
}
?>
3. Membuat QR Code Absensi
QR Code akan berisi kode absensi yang berubah setiap hari.
<?php
$kode_absen = "ABSEN-" . date("Ymd");
$qr_code = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=$kode_absen";
?>
<h3>QR Code Absensi Hari Ini</h3>
<img src="<?php echo $qr_code; ?>">
<p>Kode: <?php echo $kode_absen; ?></p>
QR Code ini dapat ditampilkan di layar kelas atau dibagikan ke peserta.
4. Form Absensi Peserta
Peserta mengisi nama dan memasukkan kode dari QR Code.
<form action="simpan.php" method="post">
<h3>Form Absensi</h3>
<input type="text" name="nama" placeholder="Nama Lengkap" required>
<input type="text" name="kode" placeholder="Kode QR" required>
<button type="submit">Absen Sekarang</button>
</form>
5. Menyimpan Data Absensi
File simpan.php bertugas memvalidasi kode dan menyimpan data.
<?php
include 'koneksi.php';
$nama = $_POST['nama'];
$kode = $_POST['kode'];
if (strpos($kode, 'ABSEN') !== false) {
mysqli_query($conn, "INSERT INTO absensi (nama) VALUES ('$nama')");
echo "Absensi berhasil dicatat";
} else {
echo "Kode QR tidak valid";
}
?>
6. Menampilkan Data Absensi
Admin dapat melihat hasil absensi melalui halaman berikut.
<?php
include 'koneksi.php';
$result = mysqli_query($conn, "SELECT * FROM absensi ORDER BY waktu DESC");
while ($row = mysqli_fetch_assoc($result)) {
echo $row['nama'] . " - " . $row['waktu'] . "<br>";
}
?>
Kenapa Proyek Ini Layak Dipublikasikan?
- Solusi nyata, bukan sekadar latihan
- Bisa langsung dipakai untuk event kecil
- Mudah dikembangkan ke versi profesional
- Menunjukkan kemampuan backend & database
Artikel seperti ini lebih bernilai di mata pembaca dibanding tutorial login biasa.
Pengembangan Selanjutnya
Jika ingin meningkatkan sistem ini, Anda bisa menambahkan:
- Scan QR langsung dari kamera
- Validasi lokasi (GPS)
- Export data ke Excel
- Dashboard admin
Penutup
Membangun sistem IT tidak harus rumit. Dengan konsep sederhana seperti QR Code Absensi, kita sudah bisa menciptakan solusi digital yang berguna dan relevan.
Artikel ini bisa langsung Anda publikasikan di blog dan dijadikan contoh praktik nyata pengembangan sistem berbasis web.