# 📱 Aplikasi Absensi Akademik Berbasis Lokasi dan Foto (Android)

## 📌 Gambaran Umum Proyek
Aplikasi ini dibuat sebagai **proyek Evaluasi Akhir Semester (EAS)** dengan pengembang:

- **Nama** : Indris Alpasela
- **NPM**  : 202310715200

Aplikasi ini merupakan **aplikasi mobile berbasis Android** yang dirancang untuk mendukung sistem absensi akademik dengan memanfaatkan **lokasi GPS** dan **pengambilan foto mahasiswa secara langsung**.

Tujuan utama pengembangan aplikasi ini adalah untuk **meningkatkan keakuratan dan kejujuran absensi**, sehingga kehadiran hanya dapat tercatat apabila:
1. Mahasiswa berada di **lokasi yang sesuai**, dan
2. Mahasiswa melakukan **pengambilan foto (selfie) saat absensi berlangsung**

Pengembangan aplikasi dilakukan dengan **memodifikasi starter project yang telah disediakan**, serta dibantu oleh **AI ChatGPT** sebagai pendukung pembelajaran dan pengembangan kode.

---

## 🎯 Tujuan Pengembangan
- Menerapkan konsep **Location-Based Service (LBS)** pada aplikasi Android
- Mengintegrasikan fitur **kamera** untuk dokumentasi kehadiran
- Mengurangi potensi kecurangan dalam proses absensi
- Melatih kemampuan pengembangan aplikasi mobile berbasis Android
- Mengimplementasikan logika validasi absensi secara sederhana

---

## 🚀 Fitur Aplikasi
- 🔐 **Autentikasi Login Mahasiswa**
- 📍 **Deteksi Lokasi Mahasiswa (GPS)**
- 🏫 **Validasi Area Absensi**
- 📸 **Pengambilan Foto Saat Absensi**
- 🕒 **Pencatatan Waktu Kehadiran**
- 📄 **Riwayat Data Absensi**
- ⚠️ **Peringatan Jika Absensi Tidak Valid**

---

## 🗺️ Alur Proses Absensi
1. Mahasiswa melakukan login ke aplikasi
2. Memilih menu **Absensi**
3. Aplikasi meminta izin:
    - Akses lokasi
    - Akses kamera
4. Sistem mengambil:
    - Koordinat lokasi pengguna
    - Foto mahasiswa secara real-time
5. Sistem memvalidasi data absensi
6. Jika memenuhi syarat → absensi berhasil
7. Jika tidak → absensi dibatalkan

---

## 📸 Dokumentasi Foto
- Foto diambil menggunakan **kamera depan**
- Pengambilan foto hanya dapat dilakukan saat proses absensi
- Foto disimpan sebagai **bukti kehadiran**
- Dapat digunakan sebagai bahan verifikasi oleh pihak akademik

---

## 🛠️ Teknologi yang Digunakan
- **Platform** : Android
- **Bahasa** : Kotlin / Java
- **Layanan Lokasi** :
    - Google Maps API
    - Fused Location Provider
- **Kamera** : CameraX / Camera2
- **Penyimpanan Data** : Firebase / SQLite / MySQL
- **IDE** : Android Studio

---

## 🔐 Permission Aplikasi
Aplikasi membutuhkan beberapa izin berikut:
- `ACCESS_FINE_LOCATION`
- `ACCESS_COARSE_LOCATION`
- `CAMERA`
- `INTERNET`
- `WRITE_EXTERNAL_STORAGE` (opsional)

---

## 📂 Mockup Tampilan
![mockup](Mockup.png)

---

## 📄 Catatan Tambahan
- Project dikembangkan dari **starter project resmi**
- Lokasi dapat disesuaikan untuk menjaga privasi pengguna
- Data lokasi tetap diperoleh dari GPS perangkat

---

## 📄 Identitas Pengembang
- **Nama** : Indris Alpasela
- **NPM**  : 202310715200
- **Jenis Proyek** : Evaluasi Akhir Semester (EAS)
- **Pendukung Pengembangan** : AI ChatGPT  
  