95 lines
3.1 KiB
Markdown
95 lines
3.1 KiB
Markdown
# 📱 Aplikasi Absensi Akademik Berbasis Koordinat dan Foto (Mobile)
|
|
|
|
## 📌 Gambaran Umum
|
|
Project ini merupakan aplikasi absensi mahasiswa berbasis Android yang dibuat untuk memenuhi Evaluasi Akhir Semester (EAS) pada mata kuliah Pemrograman Perangkat Bergerak.
|
|
|
|
Aplikasi ini memanfaatkan fitur lokasi perangkat (GPS) dan kamera sebagai dasar validasi kehadiran mahasiswa agar proses absensi lebih akurat, transparan, dan terhindar dari kecurangan.
|
|
|
|
---
|
|
|
|
## 👤 Informasi Pengembang
|
|
- **Nama: Arif Nurkhayan**
|
|
- **NPM: 202310715128**
|
|
- **Mata Kuliah: Pemrograman Perangkat Bergerak**
|
|
- **Jenis Tugas: EAS / Project Akhir**
|
|
|
|
---
|
|
|
|
## 🎯 Tujuan Proyek
|
|
- Menerapkan konsep aplikasi mobile berbasis lokasi.
|
|
- Mengintegrasikan kamera perangkat Android.
|
|
- Membuat sistem absensi digital yang lebih valid.
|
|
- Melatih pemahaman struktur project Android.
|
|
|
|
---
|
|
|
|
## 🚀 Fungsionalitas Aplikasi
|
|
Aplikasi memiliki beberapa fungsi utama, antara lain:
|
|
- **Pengambilan koordinat lokasi pengguna.**
|
|
- **Validasi area absensi berdasarkan lokasi.**
|
|
- **Pengambilan foto sebagai bukti kehadiran.**
|
|
- **Penyimpanan waktu absensi.**
|
|
- **Penampilan status kehadiran mahasiswa.**
|
|
|
|
---
|
|
|
|
## 🗺️ Alur Kerja Absensi
|
|
1. Pengguna membuka aplikasi.
|
|
2. Pengguna mengisi **NPM,NAMA,dan MATA KULIAH**.
|
|
3. Aplikasi meminta izin **lokasi** dan **kamera**.
|
|
4. Sistem mengambil data lokasi dan foto pengguna.
|
|
5. Data divalidasi oleh sistem.
|
|
6. Absensi disimpan jika memenuhi syarat (berada dalam radius 50 meter dari kampus).
|
|
|
|
---
|
|
|
|
## 📸 Pengambilan Foto Saat Absensi
|
|
- Foto diambil menggunakan **kamera depan (selfie)**
|
|
- Foto hanya dapat diambil **saat proses absensi**
|
|
- Foto disimpan sebagai **bukti kehadiran**
|
|
- Foto dapat digunakan untuk:
|
|
- Verifikasi manual oleh dosen
|
|
- Dokumentasi akademik
|
|
|
|
---
|
|
|
|
## 🛠️ Teknologi yang Digunakan
|
|
- **Platform** : Android
|
|
- **Bahasa Pemrograman** : Kotlin / Java
|
|
- **Location Service** :
|
|
- Google Maps API
|
|
- Fused Location Provider
|
|
- **Camera API** : CameraX / Camera2
|
|
- **Database** : Firebase / SQLite / MySQL
|
|
- **Storage** : Firebase Storage / Local Storage
|
|
- **IDE** : Android Studio
|
|
|
|
---
|
|
|
|
## 🔐 Izin Aplikasi (Permissions)
|
|
Aplikasi memerlukan izin berikut:
|
|
- `ACCESS_FINE_LOCATION`
|
|
- `ACCESS_COARSE_LOCATION`
|
|
- `CAMERA`
|
|
- `INTERNET`
|
|
|
|
---
|
|
|
|
## Catatan:
|
|
- Project ini merupakan pengembangan dari starter project
|
|
- Fokus pengembangan berada pada implementasi fitur absensi
|
|
- Nilai koordinat dapat disesuaikan untuk menjaga privasi pengguna
|
|
- Data lokasi diperoleh langsung dari perangkat pengguna
|
|
|
|
## Pengecekan:
|
|
- https://docs.google.com/spreadsheets/d/1jH15MfnNgpPGuGeid0hYfY7fFUHCEFbCmg8afTyyLZs/edit?gid=0#gid=0
|
|
|
|
## Webhook:
|
|
- test: https://n8n.lab.ubharajaya.ac.id/webhook-test/23c6993d-1792-48fb-ad1c-ffc78a3e6254
|
|
- production: https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254
|
|
|
|
## Acknowledgment
|
|
Pengembangan dan penyusunan aplikasi ini dilakukan dengan bantuan kecerdasan buatan (AI)
|
|
sebagai alat pendukung dalam proses brainstorming, penjelasan konsep, serta perbaikan struktur kode.
|
|
Seluruh implementasi, pengujian, dan penyesuaian akhir dilakukan oleh penulis.
|