4.2 KiB

Nama : Jeremia Sebastian Marpaung NPM : 202310715096

📱 Aplikasi Absensi Akademik Berbasis Koordinat dan Foto (Mobile)

📌 Deskripsi Proyek

Proyek ini merupakan Tugas Project Akhir Mata Kuliah Pemrograman Mobile yang bertujuan untuk membangun aplikasi akademik berbasis mobile dengan fokus pada fitur absensi menggunakan data koordinat (GPS) dan pengambilan foto mahasiswa.

Aplikasi ini dirancang untuk meningkatkan validitas kehadiran mahasiswa, dengan memastikan bahwa absensi hanya dapat dilakukan apabila mahasiswa:

  1. Berada pada lokasi yang telah ditentukan, dan
  2. Melakukan pengambilan foto (selfie) secara langsung saat absensi

🎯 Tujuan Proyek

  • Mengimplementasikan Location-Based Service (LBS) pada aplikasi mobile
  • Mengintegrasikan kamera perangkat untuk dokumentasi absensi
  • Mencegah kecurangan absensi (titip absen)
  • Mengembangkan aplikasi mobile akademik berbasis Android
  • Melatih kemampuan perancangan dan implementasi aplikasi mobile

🚀 Fitur Utama

  • ✍️ Input Data Mahasiswa: Memasukkan NPM dan Nama Lengkap.
  • 📚 Pilihan Mata Kuliah: Memilih mata kuliah dari daftar yang tersedia.
  • 📍 Pengambilan Koordinat Lokasi: Menggunakan GPS untuk mendapatkan lokasi presensi.
  • 📸 Pengambilan Foto Langsung: Mengambil foto selfie sebagai bukti kehadiran.
  • 🚀 Pengiriman Data Absensi: Mengirim semua data (profil, lokasi, foto) ke server secara real-time.
  • Validasi Kelengkapan Data: Tombol kirim hanya aktif jika semua data telah terisi lengkap.
  • Antarmuka Modern: Tampilan yang bersih dengan latar belakang gradien dan layout berbasis kartu.
  • 🎉 Konfirmasi Keberhasilan: Menampilkan layar konfirmasi setelah absensi berhasil dikirim.

🗺️ Mekanisme Absensi

  1. Mahasiswa membuka aplikasi.
  2. Mengisi NPM, Nama Lengkap, dan memilih Mata Kuliah pada kartu profil.
  3. Aplikasi secara otomatis meminta izin akses lokasi dan menampilkan koordinat.
  4. Mahasiswa menekan tombol "Ambil Foto" untuk mengambil gambar diri (selfie).
  5. Setelah semua data lengkap, mahasiswa menekan tombol "Kirim Absensi".
  6. Data (profil, mata kuliah, foto, lokasi, dan waktu) dikirim ke server untuk divalidasi.
  7. Jika berhasil, aplikasi akan menampilkan layar konfirmasi.

🛠️ Teknologi yang Digunakan

  • Platform : Android
  • Bahasa Pemrograman : Kotlin
  • UI Toolkit: Jetpack Compose
  • Location Service : Fused Location Provider
  • Camera API : CameraX / Camera2
  • IDE : Android Studio

🔐 Izin Aplikasi (Permissions)

Aplikasi memerlukan izin berikut:

  • ACCESS_FINE_LOCATION
  • CAMERA
  • INTERNET

📂 Mockup

mockup gambar mockup dibuat oleh AI

Catatan:

  • Starter project ini dibuat berbantukan AI
  • Kembangkan project dari starter yang sudah disediakan, jangan membuat dari awal.
  • Untuk koordinat bisa ditambah/kurangi angka tertentu agar tidak memunculkan koordinat rumah masing-masing, data awal tetap dari GPS.

Pengecekan:

Webhook:


Changelog

Versi 1.1 - Penyempurnaan UI/UX & Fitur

  • UI Refresh & Latar Belakang Gradien: Mengubah latar belakang menjadi gradien dinamis yang lebih menarik secara visual, dari tertiaryContainer ke primaryContainer.
  • Layar Konfirmasi Absensi: Menambahkan layar konfirmasi setelah absensi berhasil, memberikan umpan balik yang lebih jelas kepada pengguna.
  • Fitur Pilihan Mata Kuliah: Menambahkan dropdown untuk memilih mata kuliah, dan data mata kuliah kini ikut dikirim ke server.
  • Peningkatan Tata Letak: Menggunakan Card untuk mengelompokkan elemen UI, membuat antarmuka lebih terstruktur dan modern.

Versi 1.0 - Rilis Awal

  • Fungsionalitas Dasar: Implementasi fitur absensi dengan pengambilan lokasi GPS dan foto.
  • Antarmuka Awal: Desain antarmuka pengguna awal menggunakan Jetpack Compose.
  • Integrasi Server: Mengirim data absensi ke server n8n.