11 KiB
11 KiB
🗺️ DIAGRAM INTERAKTIF: Device Anda vs Area Absensi
🔴 KONDISI SEKARANG: ANDA BERADA DI LUAR AREA
⭐ ANDA SEKARANG DI SINI
(13.980 km JAUH)
📱 Device Location
╔═══════════════════════════════════════╗
║ ║
║ UBHARAJAYA CAMPUS ║
║ 🏢 ║
║ Latitude: -6.8961 ║
║ Longitude: 107.6100 ║
║ ║
║ ┌─────────────────┐ ║
║ │ │ ║
║ │ AREA VALID ✓ │ Radius: 125m ║
║ │ Bisa Absen │ ║
║ │ │ ║
║ └─────────────────┘ ║
║ ║
║ ✓ Dalam Area (85m): DITERIMA ✅ ║
║ ⚠️ Tepi Area (125m): DITERIMA ✅ ║
║ ✗ Luar Area (200m): DITOLAK ❌ ║
║ ║
╚═══════════════════════════════════════╝
📍 ANDA DI SINI
(13.980 km JAUH)
Status: ❌ DILUAR AREA
🟢 KONDISI SETELAH MOCK LOCATION DIAKTIFKAN
Dari RUMAH Anda sekarang ⭐
(Menggunakan Mock Location)
↓
Pindah ke lokasi SIMULASI
↓
╔═══════════════════════════════════════╗
║ ║
║ UBHARAJAYA CAMPUS ║
║ 🏢 ║
║ Latitude: -6.8961 ║
║ Longitude: 107.6100 ║
║ ║
║ ┌─────────────────┐ ║
║ │ 📍 ANDA DI SINI│ 85m dari ║
║ │ AREA VALID ✓ │ pusat (ok!) ║
║ │ Bisa Absen │ ║
║ │ │ ║
║ └─────────────────┘ ║
║ Status: ✅ DALAM AREA ║
║ Absensi: DITERIMA ✅ ║
║ 🧪 MOCK LOCATION (Testing) ║
║ ║
╚═══════════════════════════════════════╝
(Rumah Anda masih di lokasi lama,
tapi app menggunakan mock location)
📊 PERBANDINGAN VISUAL
SEBELUM AKTIVASI MOCK LOCATION
┌─────────────────────────────────────────────┐
│ Attendance Screen │
├─────────────────────────────────────────────┤
│ │
│ 📍 Status Lokasi: │
│ │
│ Latitude: -6.8961 + offset │
│ Longitude: 107.6100 + offset │
│ Jarak: 13.980 km ❌ TERLALU JAUH │
│ │
│ 🧪 MOCK LOCATION: OFF ❌ │
│ │
│ ❌ DILUAR AREA ABSENSI │
│ Jarak > 125m (threshold) │
│ │
│ [Perbarui Lokasi] │
│ [ABSENSI] ← DISABLED (tidak bisa diklik) │
│ │
└─────────────────────────────────────────────┘
SESUDAH AKTIVASI MOCK LOCATION
┌─────────────────────────────────────────────┐
│ Attendance Screen │
├─────────────────────────────────────────────┤
│ │
│ 📍 Status Lokasi: │
│ │
│ Latitude: -6.8955 ✅ UPDATED │
│ Longitude: 107.6105 ✅ UPDATED │
│ Jarak: 85.2m ✅ DALAM AREA │
│ │
│ 🧪 MOCK LOCATION: ON ✅ │
│ (Testing Mode) │
│ │
│ ✓ BERADA DALAM AREA ABSENSI │
│ Status: HIJAU (diterima) │
│ │
│ [Perbarui Lokasi] │
│ [ABSENSI] ← ENABLED (bisa diklik) ✅ │
│ │
└─────────────────────────────────────────────┘
🎯 JENIS-JENIS LOKASI TESTING
Visual Representation:
🏢 KAMPUS (0m)
✓ TERIMA
↑
┌───────────────┐
│ │
85m ← ✓ │ AREA VALID │ ✓ → 85m
TERIMA │ (125m) │ TERIMA
│ │
└───────────────┘
↓
⚠️ EDGE (125m)
✓ TERIMA
(warning)
DILUAR AREA:
200m → ✗ LUAR AREA (DITOLAK) ❌
400m → ❌ JAUH DI LUAR (DITOLAK) ❌
TABEL DETAIL:
NAMA LOKASI JARAK TERIMA? GUNAKAN UNTUK
─────────────────────────────────────────────────────────
🏢 Kampus 0m ✅ YES Test keakuratan
✓ Dalam Area 85m ✅ YES ⭐ PALING AMAN
⚠️ Tepi Area 125m ✅ YES Test boundary
✗ Luar Area 200m ❌ NO Test penolakan
❌ Jauh di Luar 400m ❌ NO Test stress
🔄 FLOW DIAGRAM: Dari Sekarang Sampai Bisa Absen
START: Device Anda Sekarang
│
├─ Lokasi: 13.980 km jauh ❌
├─ Status: DILUAR AREA ❌
├─ Absensi: DITOLAK ❌
│
│ SOLUSI DIPILIH: Gunakan Mock Location
│
↓
STEP 1: Login
│ └─ Buka app & login dengan NIM
↓
STEP 2: Buka Attendance Screen
│ └─ Berhasil login
↓
STEP 3: Klik Icon ⚙️ Settings
│ └─ Dialog "Location Debug Menu" muncul
↓
STEP 4: Aktifkan Mock Location (ON)
│ └─ Toggle digeser ke kanan (hijau)
↓
STEP 5: Pilih Lokasi "Dalam Area (85m)"
│ └─ Lokasi simulasi dipilih
├─ Latitude: -6.8955
├─ Longitude: 107.6105
└─ Jarak: 85m
↓
STEP 6: Klik "Close"
│ └─ Dialog ditutup
├─ Mock Location: ON ✅
├─ Lokasi: Dalam Area ✅
└─ Status: Menunggu update
↓
STEP 7: Klik "Perbarui Lokasi"
│ └─ Aplikasi refresh & gunakan mock location
├─ Lokasi berubah ke -6.8955, 107.6105
├─ Jarak: 85.2m
├─ Validasi: DITERIMA ✅
├─ Warna: HIJAU ✓
└─ Status: "Berada dalam area absensi" ✅
↓
RESULT: ✅ SUKSES
├─ Lokasi: DALAM AREA ✅
├─ Status: HIJAU ✓
├─ Button: ABSENSI aktif
└─ Aksi: Siap untuk klik "ABSENSI"
↓
NEXT: Ambil foto & submit absensi
⏱️ TIMELINE VISUAL
WAKTU AKSI STATUS BAR
─────────────────────────────────────────────────────
Sekarang Device di rumah (13.980 km) ░░░░░░░░░░ 0%
Status: Diluar area
+30 det Klik icon ⚙️ Settings ░░░░░░░░░░ 15%
Dialog muncul
+60 det Aktifkan toggle Mock Location ░░░░░░░░░░ 40%
Pilih lokasi testing
+90 det Pilih "Dalam Area (85m)" ░░░░░░░░░░ 65%
Lokasi dipilih
+120 det Klik Close & Perbarui Lokasi ░░░░░░░░░░ 85%
Mock location apply
+150 det Status berubah hijau ✓ ████████░░ 95%
Lokasi updated
+180 det Klik "ABSENSI" & selesai ██████████ 100%
✅ BERHASIL!
TOTAL: ~3 MENIT DARI SEKARANG
📍 KOORDINAT YANG DIGUNAKAN
Default Kampus:
Latitude: -6.8961 (same as your device origin)
Longitude: 107.6100 (same as your device origin)
Mock Locations Available:
Tipe Lat Lon Jarak Status
──────────────────────────────────────────────────
🏢 Kampus -6.8961 107.6100 0m ✅
✓ Dalam Area -6.8955 107.6105 85m ✅ ⭐
⚠️ Tepi Area -6.8948 107.6110 125m ✅
✗ Luar Area -6.8930 107.6120 200m ❌
❌ Jauh di Luar -6.8900 107.6150 400m ❌
🎯 RINGKASAN VISUAL
❌ KONDISI SEKARANG:
┌──────────────────────────────┐
│ Device Anda: │
│ 📍 13.980 km dari kampus │
│ ❌ DILUAR AREA ABSENSI │
│ ❌ ABSENSI DITOLAK │
└──────────────────────────────┘
✅ KONDISI SETELAH SOLUSI:
┌──────────────────────────────┐
│ Device Anda (dengan Mock): │
│ 📍 85m dari kampus (simulasi)│
│ ✅ DALAM AREA ABSENSI │
│ ✅ ABSENSI DITERIMA │
└──────────────────────────────┘
🚀 CALL TO ACTION
SEKARANG:
KLIK ⚙️ → ON MOCK → PILIH "85m" → DONE!
1 MENIT, SELESAI! ⏱️
Diagram ini menunjukkan:
- ✅ Lokasi Anda sekarang: 13.980 km jauh
- ✅ Kenapa diluar area: Melebihi radius 125m
- ✅ Solusi: Gunakan mock location
- ✅ Hasil: Dalam area & bisa absen
- ✅ Waktu: 1-3 menit total