2026-01-14 17:56:11 +07:00
2026-01-13 13:59:42 +07:00
EAS
2026-01-14 12:36:08 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 11:58:15 +07:00
2026-01-12 15:32:34 +07:00
2026-01-13 14:37:01 +07:00
2026-01-14 17:56:11 +07:00
2026-01-12 11:58:15 +07:00

🚀 Smart-Attendance: Sistem Absensi Digital Terintegrasi Cloud

Android Kotlin Jetpack Compose SQLite

Smart-Attendance adalah platform absensi mahasiswa berbasis mobile yang menggabungkan keamanan database lokal dengan validasi biometrik visual dan geografis secara real-time. Proyek ini dirancang untuk memastikan validitas kehadiran mahasiswa dengan alur kerja yang sepenuhnya otomatis dari perangkat Android hingga ke sistem manajemen data cloud.


📸 Mockup Aplikasi

Berikut adalah pratinjau desain antarmuka pengguna (UI) dari aplikasi Smart-Attendance:

Mockup Aplikasi

Gambar di atas merupakan representasi visual dari layar Login, Registrasi, dan Dashboard Absensi.


🌟 Fitur Utama

  • Otentikasi SQLite: Pendaftaran dan masuk akun yang aman dengan validasi NPM unik langsung dari database lokal perangkat.
  • Geo-Precision Tracking: Mendeteksi lokasi presisi (Latitude & Longitude) menggunakan Fused Location Provider API dengan prioritas akurasi tinggi.
  • Visual Proof Recognition: Integrasi kamera untuk pengambilan foto wajah (selfie) secara real-time sebagai bukti fisik kehadiran.
  • Auto-Sync Integration: Sinkronisasi data otomatis ke Google Sheets melalui jembatan n8n Automation Webhook.
  • Manajemen Mata Kuliah: Fitur pemilihan atau penginputan mata kuliah yang fleksibel saat melakukan absensi.
  • Material Design 3: UI modern dengan gradasi warna profesional (Hijau Tua, Kuning, Putih) dan komponen kartu yang intuitif.

🛠️ Stack Teknologi

Komponen Teknologi yang Digunakan
Framework UI Jetpack Compose (Modern Toolkit)
Bahasa Pemrograman Kotlin (100%)
Location Services Google Play Services (Fused Location)
Database Lokal SQLite (Manajemen User & Kredensial)
Networking Java HttpURLConnection (JSON Payload)
Automation Tool n8n.io (Webhook Workflow)
Cloud Storage Google Sheets (Database Akhir)

🏗️ Arsitektur Data

1. Database Schema (SQLite)

Tabel users menyimpan data profil mahasiswa di memori internal:

  • nama (TEXT): Nama lengkap mahasiswa.
  • npm (TEXT - UNIQUE): Identitas utama mahasiswa.
  • password (TEXT): Kata sandi akses akun.

2. Payload Data (JSON)

Setiap paket absensi yang dikirim memiliki struktur data berikut:

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

📱 Panduan Penggunaan

  1. Daftar Akun: Masuk ke menu "Daftar Sekarang", isi Nama, NPM, dan Password.
  2. Login: Masuk menggunakan NPM dan Password yang telah didaftarkan.
  3. Berikan Izin: Berikan izin akses Lokasi dan Kamera saat diminta oleh sistem.
  4. Verifikasi Lokasi: Pastikan koordinat GPS muncul dengan benar. Gunakan tombol Refresh jika posisi kurang akurat.
  5. Ambil Selfie: Klik "AMBIL FOTO" untuk membuka kamera dan ambil foto wajah dengan jelas.
  6. Submit Absensi: Klik "KIRIM ABSENSI". Sistem akan memberikan notifikasi jika data telah diterima oleh server.

🔧 Instalasi & Persiapan

  1. Clone repositori ini.
  2. Buka project di Android Studio (Ladybug 2024.2.1) atau versi terbaru.
  3. Pastikan dependensi di build.gradle.kts sudah tersinkronisasi.
  4. Lakukan Build & Run ke perangkat fisik Android (Min API 28 / Android 9.0).

📡 Monitoring Real-Time

Admin dapat memantau status absensi secara langsung melalui:


🎓 Informasi Project

Nama: Nabila Suwandira
Program Studi: Teknik Informatika
Instansi: Universitas Bhayangkara Jakarta Raya
Mata Kuliah: Pemrograman Perangkat Bergerak
Project: Evaluasi Akhir Semester (EAS) 2025-2026

Description
No description provided
Readme 832 KiB
Languages
Kotlin 100%