Oke! Aku buatkan versi **README.md** yang sudah disesuaikan dengan **aplikasi absensi kita**, termasuk nama, NPM, kredit AI, dan lisensi FOSS. Kamu bisa langsung pakai ini: --- # πŸ“± Aplikasi Absensi Akademik Berbasis Koordinat dan Foto (Mobile) ## πŸ“Œ Deskripsi Proyek Proyek ini merupakan **Tugas Akhir / Project Akhir Mata Kuliah Pemrograman Mobile** oleh: **Nama:** Rafi Fattan Fitriardi **NPM:** 202310715002 Aplikasi ini adalah **aplikasi mobile akademik berbasis Android** yang memungkinkan mahasiswa melakukan **absensi dengan validasi lokasi GPS dan pengambilan foto selfie**. Aplikasi dirancang untuk meningkatkan **validitas kehadiran mahasiswa**, sehingga absensi hanya dapat dilakukan apabila mahasiswa: 1. Berada di **lokasi yang telah ditentukan** 2. Mengambil **foto selfie secara langsung** saat absensi --- ## 🎯 Tujuan Proyek * Mengimplementasikan **Location-Based Service (LBS)** pada aplikasi mobile * Mengintegrasikan **kamera perangkat** untuk dokumentasi absensi * Mencegah kecurangan absensi (titip absen) * Mengembangkan aplikasi mobile akademik berbasis Android * Melatih kemampuan perancangan dan implementasi aplikasi mobile --- ## πŸš€ Fitur Utama * πŸ” **Login Pengguna (Mahasiswa)** * πŸ“ **Pengambilan Koordinat Lokasi (Latitude & Longitude)** * 🏫 **Validasi Lokasi Absensi (Radius Area)** * πŸ“Έ **Pengambilan Foto Mahasiswa Saat Absensi** * πŸ•’ **Pencatatan Waktu Absensi** * πŸ“„ **Riwayat Kehadiran Mahasiswa** * ⚠️ **Notifikasi Absensi Ditolak jika Tidak Valid** * πŸŽ“ **Pemilihan Mata Kuliah** sebelum absensi --- ## πŸ—ΊοΈ Mekanisme Absensi Berbasis Lokasi dan Foto 1. Mahasiswa melakukan **login** 2. Memilih menu **Absensi** 3. Sistem meminta izin: * **akses lokasi** * **akses kamera** 4. Aplikasi mengambil: * πŸ“ **Koordinat lokasi mahasiswa** * πŸ“Έ **Foto mahasiswa secara real-time** 5. Sistem melakukan validasi: * Lokasi berada dalam **radius absensi** * Foto berhasil diambil * Mata kuliah yang dipilih valid 6. Jika valid β†’ **Absensi berhasil** 7. Jika tidak valid β†’ **Absensi ditolak** --- ## πŸ“Έ 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 * **Location Service** : Google Fused Location Provider * **Camera API** : CameraX / Camera2 * **Database** : Google Sheets (via n8n) * **Storage** : Local / Base64 dikirim ke server * **IDE** : Android Studio --- ## πŸ” Izin Aplikasi (Permissions) Aplikasi memerlukan izin berikut: * `ACCESS_FINE_LOCATION` * `ACCESS_COARSE_LOCATION` * `CAMERA` * `INTERNET` --- ## πŸ“‚ Mockup ![mockup](Mockup.png) --- ## ⚑ Pengecekan & Data * Absensi dapat dicek di: [ntfy.ubharajaya.ac.id/EAS](https://ntfy.ubharajaya.ac.id/EAS) * Data absensi tersimpan di Google Sheet: [Spreadsheet](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](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](https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254) --- ## πŸ“ Catatan * Starter project dibuat **menggunakan bantuan AI** * Kembangkan aplikasi dari starter yang sudah disediakan, **tidak membuat dari awal** * Untuk koordinat, bisa ditambah/kurangi angka tertentu agar tidak menampilkan koordinat rumah mahasiswa; data awal tetap dari GPS --- ## βš–οΈ Lisensi Aplikasi ini dirilis di bawah **FOSS License (MIT)**. Bebas **menggunakan, memodifikasi, dan mendistribusikan** selama menyertakan kredit: ``` Β© 2026 Rafi Fattan Fitriardi (NPM 202310715002) AI assistance: ChatGPT (OpenAI) License: MIT ``` ---