Update README.md

This commit is contained in:
202310715277 LALU MUHAMMAD ANGGANA SUBHAN 2026-01-14 21:50:38 +07:00
parent e199d75042
commit 7ac861cb66

138
README.md
View File

@ -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)
### **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
- **Email**: it@ubharajaya.ac.id
- **Phone**: (021) xxx-xxxx
---
**Version**: 1.0.0
**Last Updated**: 14 Januari 2026