2026-01-14 15:58:07 +07:00

4.1 KiB

🚀 Smart-Attendance: Sistem Absensi Mahasiswa Terintegrasi Cloud

Smart-Attendance adalah aplikasi Android berbasis Jetpack Compose yang dirancang untuk revolusi absensi perkuliahan. Aplikasi ini menjamin integritas data kehadiran dengan menggabungkan verifikasi Geografis (GPS), Biometrik Visual (Kamera), dan Identitas Digital (SQLite) dalam satu alur kerja otomatis yang terhubung ke Google Sheets via n8n Automation.


🌟 Fitur Utama

  • Otentikasi Ganda: Sistem login dan registrasi berbasis database SQLite lokal untuk memastikan akun unik per mahasiswa (berdasarkan NPM).
  • Geo-Fencing Validation: Mendeteksi lokasi presisi hingga 6 digit desimal menggunakan High Accuracy Priority dari Google Play Services.
  • Visual Identity Verification: Pengambilan foto wajah langsung (Real-time Camera) yang dienkripsi ke format Base64 untuk bukti kehadiran autentik.
  • Dashboard Akademik: Mahasiswa dapat memilih atau memasukkan Mata Kuliah yang sedang berlangsung.
  • Sinkronisasi Instan: Data dikirim dalam milidetik ke server cloud menggunakan protokol HttpURLConnection yang ringan.
  • UI Modern & Adaptif: Antarmuka responsif dengan desain kartu modern dan tema gradasi Hijau-Kuning-Putih yang segar.

🛠️ Stack Teknologi

Komponen Teknologi
Framework UI Jetpack Compose (Modern Toolkit)
Bahasa Kotlin (100%)
Lokasi Google Fused Location Provider API
Database SQLite (Manajemen User Lokal)
Networking Java URLConnection (JSON Payload)
Integrasi n8n Webhook & Google Sheets API
Image Handling Android Graphics Bitmap & Base64 Encoding

🏗️ Arsitektur Data

1. Database Schema (SQLite)

Tabel users menyimpan kredensial aman di dalam memori internal perangkat:

  • nama (TEXT): Nama Lengkap Mahasiswa.
  • npm (TEXT - UNIQUE): Nomor Pokok Mahasiswa sebagai identitas unik.
  • password (TEXT): Kata sandi terenkripsi.

2. JSON Payload Integration

Data dikirim ke Webhook dengan struktur berikut:

{
  "npm": "2021xxxxxx",
  "nama": "Nabila Suwandira",
  "latitude": -6.229728,
  "longitude": 106.989250,
  "mata_kuliah": "Pemrograman Perangkat Bergerak",
  "timestamp": 1739456789000,
  "foto_base64": "/9j/4AAQSkZJRg..."
}

📱 Panduan Penggunaan

  1. Registrasi: Pengguna baru harus mendaftarkan Nama, NPM, dan Password pada layar "Daftar Akun".
  2. Login: Masuk menggunakan NPM dan Password yang telah terdaftar.
  3. Izin Akses: Aplikasi akan meminta izin Kamera dan Lokasi Presisi (Wajib diberikan untuk melakukan absensi).
  4. Cek Lokasi: Pastikan koordinat muncul. Jika koordinat belum muncul atau ingin diperbarui, klik tombol Refresh Lokasi.
  5. Ambil Foto: Klik "AMBIL FOTO" untuk membuka kamera. Ambil foto wajah dengan jelas.
  6. Kirim: Klik "KIRIM ABSENSI". Notifikasi akan muncul jika data berhasil diterima oleh server cloud.

🔧 Persyaratan Sistem

  • Min SDK: API 28 (Android 9.0 Pie)
  • Target SDK: API 34 (Android 14)
  • Hardware: Perangkat harus memiliki sensor GPS dan Kamera belakang/depan.
  • Internet: Diperlukan koneksi aktif untuk mengirim data absensi.

🔐 Keamanan & Izin (Permissions)

Aplikasi mengimplementasikan standar keamanan Android:

  • ACCESS_FINE_LOCATION: Untuk mendapatkan akurasi GPS terbaik.
  • CAMERA: Digunakan hanya saat proses pengambilan foto bukti hadir.
  • INTERNET: Untuk sinkronisasi data ke database cloud Universitas.

📊 Monitoring Real-Time

Admin dan Mahasiswa dapat memverifikasi status pengiriman secara langsung:


🎓 Identitas Mahasiswa

Nabila Suwandira
NPM: [Input NPM Anda Disini]
Prodi: Teknik Informatika
Instansi: Universitas Bhayangkara Jakarta Raya
Mata Kuliah: Pemrograman Perangkat Bergerak
Project: Evaluasi Akhir Semester (EAS) 2025-2026