From 7ac861cb6663170db0c9ab0265bdaf6308c112d8 Mon Sep 17 00:00:00 2001 From: 202310715277 LALU MUHAMMAD ANGGANA SUBHAN <202310715277@mhs.ubharajaya.ac.id> Date: Wed, 14 Jan 2026 21:50:38 +0700 Subject: [PATCH] Update README.md --- README.md | 142 ++++++++++++++++++++++++------------------------------ 1 file changed, 63 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index bdb0074..d8464bc 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ -# 🎓 Sistem Absensi Akademik - Universitas Bhayangkara Jakarta Raya +# Sistem Absensi Akademik - Universitas Bhayangkara Jakarta Raya ## 📋 Deskripsi Aplikasi mobile berbasis Android untuk sistem absensi mahasiswa dengan validasi lokasi GPS dan verifikasi foto. ---- - ## 🚀 Fitur Utama ### ✅ Sudah Diimplementasikan: @@ -16,8 +14,6 @@ Aplikasi mobile berbasis Android untuk sistem absensi mahasiswa dengan validasi - 📄 **Riwayat Kehadiran** - History absensi mahasiswa - ⚠️ **Notifikasi Ditolak** - Alert jika lokasi di luar radius atau error ---- - ## 📁 Struktur File ``` @@ -29,13 +25,11 @@ id.ac.ubharajaya.sistemakademik/ └── SessionManager.kt # Manajemen session login ``` ---- - ## 🔧 Setup & Instalasi -### 1. **Buat File-File Berikut:** +### 1. Buat File-File Berikut: -**Struktur folder:** +Struktur folder: ``` app/src/main/java/id/ac/ubharajaya/sistemakademik/ ├── LoginActivity.kt @@ -45,10 +39,10 @@ app/src/main/java/id/ac/ubharajaya/sistemakademik/ └── SessionManager.kt ``` -### 2. **Update AndroidManifest.xml** -Ganti file AndroidManifest.xml dengan yang sudah disediakan. +### 2. Update AndroidManifest.xml +Ganti file `AndroidManifest.xml` dengan yang sudah disediakan. -### 3. **Dependencies (build.gradle)** +### 3. Dependencies (build.gradle) Pastikan dependencies berikut sudah ada di `build.gradle.kts (Module: app)`: ```kotlin @@ -68,7 +62,7 @@ dependencies { } ``` -### 4. **Koordinat Kampus** +### 4. Koordinat Kampus Di file `MainActivity.kt`, ganti koordinat kampus sesuai lokasi asli: ```kotlin @@ -77,42 +71,44 @@ val kampusLon = 106.816666 // Longitude kampus val maxRadius = 100.0 // Radius dalam meter ``` ---- - ## 🌐 Endpoint API yang Dibutuhkan -### 1. **Login Endpoint** -``` -POST https://n8n.lab.ubharajaya.ac.id/webhook/login-mahasiswa +### 1. Login Endpoint +**POST** `https://n8n.lab.ubharajaya.ac.id/webhook/login-mahasiswa` -Request Body: +**Request Body:** +```json { - "npm": "12345", + "npm": "202310715277", "password": "password123" } +``` -Response Success: +**Response Success:** +```json { "success": true, - "nama": "Arif R D", + "nama": "Lalu Muhammad Anggana Subhan", "prodi": "Teknik Informatika" } +``` -Response Failed: +**Response Failed:** +```json { "success": false, "message": "NPM atau Password salah" } ``` -### 2. **Absensi Endpoint** (Sudah Ada) -``` -POST https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254 +### 2. Absensi Endpoint (Sudah Ada) +**POST** `https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254` -Request Body: +**Request Body:** +```json { - "npm": "12345", - "nama": "Arif R D", + "npm": "202310715277", + "nama": "Lalu Muhammad Anggana Subhan", "latitude": -6.200000, "longitude": 106.816666, "jarak_dari_kampus": 50, @@ -122,16 +118,16 @@ Request Body: } ``` -### 3. **Riwayat Absensi Endpoint** -``` -GET https://n8n.lab.ubharajaya.ac.id/webhook/riwayat-absensi?npm=12345 +### 3. Riwayat Absensi Endpoint +**GET** `https://n8n.lab.ubharajaya.ac.id/webhook/riwayat-absensi?npm=202310715277` -Response: +**Response:** +```json [ { "id": "1", - "npm": "12345", - "nama": "Arif R D", + "npm": "202310715277", + "nama": "Lalu Muhammad Anggana Subhan", "waktu": "14/01/2026 10:30:00", "latitude": -6.200000, "longitude": 106.816666, @@ -141,36 +137,32 @@ Response: ] ``` ---- - ## 📱 Cara Menggunakan Aplikasi -### **Login** +### Login 1. Buka aplikasi 2. Masukkan NPM dan Password 3. Klik tombol "Login" 4. Jika berhasil, akan masuk ke halaman absensi -### **Melakukan Absensi** +### Melakukan Absensi 1. Pastikan GPS aktif 2. Aplikasi otomatis mengambil lokasi 3. Klik "Ambil Foto" untuk foto selfie 4. Klik "Kirim Absensi" 5. Sistem akan validasi: - - ✅ **Valid** jika dalam radius 100m dari kampus - - ❌ **Ditolak** jika di luar radius + - ✅ Valid jika dalam radius 100m dari kampus + - ❌ Ditolak jika di luar radius -### **Lihat Riwayat** +### Lihat Riwayat 1. Klik icon History (jam) di toolbar 2. Lihat daftar riwayat absensi 3. Status ditampilkan: - - ✅ Valid (hijau) - - ❌ Ditolak (merah) + - ✅ Valid (hijau) + - ❌ Ditolak (merah) -### **Logout** -- Klik icon Logout di toolbar - ---- +### Logout +1. Klik icon Logout di toolbar ## 🔒 Keamanan @@ -179,11 +171,9 @@ Response: - **Location Validation**: Validasi radius GPS otomatis - **Photo Required**: Foto wajib untuk setiap absensi ---- - ## ⚙️ Pengaturan Validasi -**Validasi Radius (di MainActivity.kt):** +**Validasi Radius** (di `MainActivity.kt`): ```kotlin val maxRadius = 100.0 // Ubah sesuai kebutuhan (dalam meter) ``` @@ -194,31 +184,27 @@ val kampusLat = -6.200000 // Ganti dengan koordinat kampus val kampusLon = 106.816666 // Ganti dengan koordinat kampus ``` ---- - ## 🐛 Troubleshooting -### **GPS Tidak Terdeteksi** +### GPS Tidak Terdeteksi - Pastikan GPS/Location aktif di HP - Coba klik "Refresh Lokasi" - Pastikan permission lokasi sudah diberikan -### **Absensi Ditolak** +### Absensi Ditolak - Cek jarak dari kampus di pesan error - Pastikan berada dalam radius yang ditentukan - Koordinat kampus mungkin salah, cek lagi -### **Login Gagal** +### Login Gagal - Cek koneksi internet - Pastikan server n8n aktif - Cek endpoint login sudah benar -### **Foto Tidak Muncul** +### Foto Tidak Muncul - Pastikan permission kamera sudah diberikan - Coba ambil foto ulang ---- - ## 📝 Testing Checklist - [ ] Login dengan NPM dan Password valid @@ -233,37 +219,35 @@ val kampusLon = 106.816666 // Ganti dengan koordinat kampus - [ ] Status valid/ditolak sesuai - [ ] Logout berfungsi ---- - ## 🎯 Future Improvements -- [ ] Face Recognition untuk validasi foto -- [ ] Notifikasi push untuk jadwal absensi -- [ ] QR Code scanning -- [ ] Offline mode dengan sync -- [ ] Export riwayat ke PDF -- [ ] Multi-language support -- [ ] Dark mode -- [ ] Fingerprint authentication - ---- +- Face Recognition untuk validasi foto +- Notifikasi push untuk jadwal absensi +- QR Code scanning +- Offline mode dengan sync +- Export riwayat ke PDF +- Multi-language support +- Dark mode +- Fingerprint authentication ## 👨‍💻 Developer -**Arif R D** -NPM: 12345 +**Lalu Muhammad Anggana Subhan** +NPM: 202310715277 Universitas Bhayangkara Jakarta Raya ---- - ## 📄 License Copyright © 2026 Universitas Bhayangkara Jakarta Raya ---- - ## 📞 Support Jika ada pertanyaan atau bug, hubungi tim IT: -- Email: it@ubharajaya.ac.id -- Phone: (021) xxx-xxxx \ No newline at end of file + +- **Email**: it@ubharajaya.ac.id +- **Phone**: (021) xxx-xxxx + +--- + +**Version**: 1.0.0 +**Last Updated**: 14 Januari 2026 \ No newline at end of file