4.0 KiB

Nama : Hadi Guna Prakoso NPM : 202310715312

Sistem Akademik Ubhara Jaya - Absensi LBS & Foto

Sistem Akademik Ubhara Jaya adalah aplikasi mobile berbasis Android yang dirancang khusus untuk meningkatkan validitas kehadiran mahasiswa. Proyek ini merupakan Tugas Project Akhir Mata Kuliah Pemrograman Mobile.

Aplikasi ini mengintegrasikan teknologi Location-Based Service (LBS) dan Real-time Camera untuk memastikan mahasiswa melakukan absensi dengan data lokasi dan bukti visual yang akurat.


Pengembangan Berbasis AI

Project ini dikembangkan dengan pendekatan AI-Assisted Development. Bantuan kecerdasan buatan digunakan dalam:

  • Transformasi UI/UX: Merancang tampilan modern menggunakan Jetpack Compose dengan prinsip Fresh & Premium Design.
  • Optimasi Logika: Implementasi perhitungan jarak Haversine, validasi waktu perkuliahan yang presisi, dan otomatisasi status kehadiran.
  • Integrasi Webhook: Mempermudah sinkronisasi data antara aplikasi mobile dengan backend n8n, Google Sheets, dan sistem notifikasi ntfy.
  • Troubleshooting: Mempercepat penyelesaian error build, penyesuaian tipe data, dan pembersihan kode (Clean Code).

Fitur Utama

1. Keamanan Akses (NPM Based)

  • Registrasi & Login: Mahasiswa mendaftar menggunakan NPM, Nama, dan Password.
  • Sesi Terjaga: Menggunakan SharedPreferences agar user tidak perlu login ulang setiap kali membuka aplikasi.

2. Presensi Berbasis Lokasi (GPS)

  • Real-time Tracking: Mengambil koordinat Latitude dan Longitude secara instan.
  • Distance Calculation: Menghitung jarak mahasiswa ke titik koordinat kampus secara otomatis.
  • Privacy Mode (Obfuscation): Fitur untuk menyamarkan lokasi presisi mahasiswa demi keamanan privasi rumah saat melakukan absen jarak jauh.

3. Validasi Waktu & Jadwal

  • Time Blocking: Absensi dengan status "Hadir" hanya dapat dikirim jika waktu saat ini sesuai dengan jadwal mata kuliah (dengan toleransi 15 menit).
  • Flexible Attendance: Status "Izin" atau "Sakit" diberikan dispensasi untuk absen di luar area kampus dan di luar jam perkuliahan.

4. Bukti Visual (Selfie)

  • In-App Camera: Integrasi langsung dengan kamera depan perangkat.
  • Anti-Fraud: Foto diambil secara live saat itu juga sebagai syarat utama pengiriman data.

5. Riwayat Absensi Terintegrasi

  • Daftar riwayat lengkap menampilkan: Nama Matkul, Waktu (WIB), Foto Selfie, Koordinat GPS, Jarak ke Kampus, dan Status (Hadir/Izin/Sakit).

Teknologi yang Digunakan

  • UI Framework: Jetpack Compose (Material 3)
  • Language: Kotlin
  • Navigation: Jetpack Navigation Compose
  • Location: Google Play Services Location (Fused Location Provider)
  • Networking: HttpURLConnection (Integration with n8n Webhook)
  • Architecture: Clean UI Components & Preferences Management
  • Backend & Data:
    • n8n: Sebagai automation engine.
    • Google Sheets: Sebagai database utama penyimpanan laporan.
    • ntfy: Sebagai sistem notifikasi real-time.

Mekanisme Kerja

  1. Pilih Jadwal: Mahasiswa memilih mata kuliah dari menu "Jadwal Kuliah".
  2. Validasi Otomatis: Sistem mengecek apakah jam saat ini sesuai dengan jam matkul yang dipilih (khusus status "Hadir").
  3. Identifikasi Lokasi: GPS mendeteksi koordinat dan menghitung jarak ke kampus.
  4. Verifikasi Foto: Mahasiswa mengambil foto selfie.
  5. Pengiriman Data: Data dikirim ke Webhook n8n dan diteruskan ke Google Spreadsheet secara otomatis.

Mockup & Audit

Aplikasi ini telah melewati audit fitur sesuai dengan starter project dan dikembangkan lebih lanjut dengan standar UI modern.

Pengecekan Data

Seluruh data absensi yang masuk dapat dipantau melalui:


© 2026 - Project Akhir Pemrograman Mobile Developed with ❤️ U.