76 lines
2.6 KiB
Markdown
76 lines
2.6 KiB
Markdown
# 📱 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 |