# 📱 Aplikasi Absensi Akademik Berbasis GPS & Foto ## 📌 Deskripsi Proyek Project ini dibuat sebagai **Tugas Akhir / UAS Mata Kuliah Pemrograman Mobile**, bertujuan untuk membuat aplikasi **absensi berbasis Android** dengan teknologi: - Pengambilan **lokasi GPS (latitude & longitude)** secara realtime - Pengambilan **foto mahasiswa saat absensi** sebagai bukti - Validasi absensi berdasarkan *location* dan *foto* - Menampilkan **riwayat absensi** mahasiswa - Menggunakan **Jetpack Compose** + **Material 3** - Tersedia fitur **Light / Dark Mode**, **Logout**, dan **Dropdown pilihan mata kuliah** :contentReference[oaicite:1]{index=1} --- ## 🎯 Tujuan Proyek Tujuan utama aplikasi: - Mengimplementasikan layanan **absensi berbasis lokasi & foto** - Validasi absensi agar mahasiswa tidak **titip absen** - Memberikan pengalaman penggunaan yang baik dengan UI Compose - Meningkatkan pemahaman dan penguasaan Android modern dengan Compose :contentReference[oaicite:2]{index=2} --- ## ✅ Fitur Utama Aplikasi ini memiliki fitur-fitur berikut: ### 🧩 Authentication ✔️ Login dengan NPM & password ✔️ Ikon login custom dari `drawable` ### 📍 Absensi ✔️ Ambil **lokasi GPS** otomatis dengan izin lokasi ✔️ Ambil **foto mahasiswa** dari kamera ✔️ Validasi absensi berdasarkan lokasi dan foto ✔️ Pilihan **mata kuliah** sebelum absensi ✔️ Tampilkan waktu absensi ✔️ Riwayat absensi dengan detail (nama, NPM, foto, lokasi) ### 📤 Logout ✔️ Logout untuk kembali ke halaman login ✔️ Session login akan berakhir dan mencegah tombol back kembali ke Main :contentReference[oaicite:3]{index=3} --- ## 🛠 Teknologi yang Digunakan | Teknologi | Keterangan | |-----------|------------| | **Android Studio** | IDE utama pengembangan | | **Kotlin** | Bahasa pemrograman | | **Jetpack Compose** | UI modern deklaratif | | **Material3** | UI komponen modern | | **Google Location Services** | Ambil lokasi pengguna | | **Camera API / CameraX** | Ambil foto langsung dari kamera | | **Fused Location Provider** | Lokasi realtime | :contentReference[oaicite:4]{index=4} --- ## 🎨 Tampilan UI – Login dengan ikon – Tombol Logout – Validasi lokasi dan foto saat absensi – Riwayat absensi dengan gambar & detail lokasi > *(Screenshot bisa ditambahkan di bawah section ini)* --- ## 🚀 Cara Menjalankan 1. **Clone repository** ```bash git clone https://git.lab.ubharajaya.ac.id/202310715220-MUHAMMAD-FADZEL-HADEAN-RUKRUS/EAS-202310715220-MuhammadFadzelHR.git ## 👤 Author - Muhammad Fadzel Hadean Rukrus - NPM: 202310715220