Absensi GPS
Arsitektur Sistem
Backend
Frontend
API
  • Struktur
  • Alur Kerja
  • Implementasi GPS
  • Pengembangan dan Pengujian
Deployment
Pengujian
Arsitektur Sistem
Backend
Frontend
API
  • Struktur
  • Alur Kerja
  • Implementasi GPS
  • Pengembangan dan Pengujian
Deployment
Pengujian
  • Struktur Aplikasi Android

Struktur Aplikasi Android

Aplikasi Android Absensi GPS dibangun dengan struktur yang terorganisir untuk memudahkan pengembangan dan pemeliharaan. Berikut adalah struktur utama dari aplikasi:

Struktur Paket

com.example.absensigps/
├── AbsensiApp.kt                 # Kelas aplikasi utama
├── api/                          # Komponen untuk komunikasi dengan API
│   ├── ApiClient.kt              # Konfigurasi Retrofit
│   ├── ApiService.kt             # Interface untuk endpoint API
│   └── model/                    # Model data untuk request dan response
│       ├── AbsensiRequest.kt     # Model untuk request absensi
│       ├── AbsensiResponse.kt    # Model untuk response absensi
│       ├── LoginRequest.kt       # Model untuk request login
│       ├── LoginResponse.kt      # Model untuk response login
│       ├── ServerStatusResponse.kt # Model untuk response status server
│       └── StatusResponse.kt     # Model untuk response status absensi
├── ui/                           # Komponen UI (Activities)
│   ├── splash/                   # Splash screen
│   │   └── SplashActivity.kt     # Activity untuk splash screen dan pencarian server
│   ├── login/                    # Login screen
│   │   └── LoginActivity.kt      # Activity untuk login
│   └── main/                     # Main screen
│       └── MainActivity.kt       # Activity utama untuk absensi
└── util/                         # Utilitas dan helper
    ├── Constants.kt              # Konstanta aplikasi
    ├── LocationHelper.kt         # Helper untuk mendapatkan lokasi GPS
    ├── NetworkScanner.kt         # Scanner untuk menemukan server dalam subnet
    └── SharedPreferencesManager.kt # Manager untuk menyimpan data lokal

Komponen Utama

1. AbsensiApp

Kelas aplikasi utama yang menginisialisasi aplikasi Android. Kelas ini menyediakan instance aplikasi yang dapat diakses secara global.

2. API

Komponen untuk komunikasi dengan backend API:

  • ApiClient: Konfigurasi Retrofit untuk komunikasi dengan API
  • ApiService: Interface yang mendefinisikan endpoint API
  • Model: Kelas-kelas data untuk request dan response API

3. UI

Komponen antarmuka pengguna:

  • SplashActivity: Activity pertama yang muncul saat aplikasi dibuka, bertanggung jawab untuk mencari server dalam subnet yang sama
  • LoginActivity: Activity untuk login siswa
  • MainActivity: Activity utama yang menampilkan profil siswa dan tombol untuk absensi masuk/keluar

4. Util

Komponen utilitas dan helper:

  • Constants: Konstanta aplikasi seperti API key, URL, dan kode request
  • LocationHelper: Helper untuk mendapatkan lokasi GPS
  • NetworkScanner: Scanner untuk menemukan server dalam subnet yang sama
  • SharedPreferencesManager: Manager untuk menyimpan data lokal seperti server IP dan data siswa
Last Updated:: 5/15/25, 10:00 PM
Contributors: Nur Wahyudin