76 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📱 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