154 lines
5.4 KiB
Markdown
154 lines
5.4 KiB
Markdown
|
|
# 📱 Aplikasi Mobile Smart Farming – Agrilink Vocpro
|
|||
|
|
|
|||
|
|
**Teknologi:** Android, Jetpack Compose
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. Pendahuluan
|
|||
|
|
Dokumen ini berisi panduan untuk menginstal, menjalankan, dan mengembangkan aplikasi **Agrilink Vocpro** berbasis **Android Jetpack Compose**.
|
|||
|
|
Panduan ini ditujukan bagi programmer yang akan melanjutkan pengembangan setelah versi awal selesai.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. Persyaratan Sistem
|
|||
|
|
|
|||
|
|
### 2.1 Perangkat Keras
|
|||
|
|
- **Prosesor:** Intel Core i5 Generasi ke-8 / AMD Zen Ryzen
|
|||
|
|
- **RAM:** 8 GB (disarankan 32 GB)
|
|||
|
|
- **Penyimpanan:** 10 GB ruang kosong
|
|||
|
|
- **Kartu Grafis:** Tidak diperlukan
|
|||
|
|
|
|||
|
|
### 2.2 Perangkat Lunak
|
|||
|
|
- **Sistem Operasi:** Minimal Microsoft Windows 10 64-bit
|
|||
|
|
- **Java Development Kit (JDK):** Versi 11 (versi yang digunakan pada proyek)
|
|||
|
|
- **Android Studio:** Versi 2024.3.2 atau terbaru
|
|||
|
|
- **Gradle:** Versi 8.11
|
|||
|
|
- **Git:** [Repository GitLab](https://gitlab.com/Syaroful/smart-farming-agrilink-vocpro)
|
|||
|
|
- **Android SDK & Emulator:** Minimum API 35
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. Persiapan Lingkungan Pengembangan
|
|||
|
|
|
|||
|
|
### 3.1 Instal Android Studio
|
|||
|
|
1. Unduh Android Studio dari [https://developer.android.com/studio](https://developer.android.com/studio)
|
|||
|
|
2. Install sesuai instruksi pada OS Anda.
|
|||
|
|
3. Saat instalasi, pastikan mencentang:
|
|||
|
|
- Android SDK
|
|||
|
|
- Android Virtual Device (AVD)
|
|||
|
|
- Android SDK Command-line Tools
|
|||
|
|
|
|||
|
|
### 3.2 Konfigurasi JDK
|
|||
|
|
- Pastikan JDK versi **23.0.2** terinstal.
|
|||
|
|
- Atur path JDK di Android Studio:
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK
|
|||
|
|
|
|||
|
|
````
|
|||
|
|
|
|||
|
|
### 3.3 Clone Repository Proyek
|
|||
|
|
```bash
|
|||
|
|
git clone https://gitlab.com/Syaroful/smart-farming-agrilink-vocpro
|
|||
|
|
````
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. Struktur Proyek
|
|||
|
|
|
|||
|
|
| Folder / Package | Fungsi |
|
|||
|
|
| --------------------------- | ---------------------------------------------------------------- |
|
|||
|
|
| **app/** | Folder utama yang berisi keseluruhan modul dan komponen aplikasi |
|
|||
|
|
| **core/** | Komponen inti dan utilitas yang digunakan di seluruh aplikasi |
|
|||
|
|
| **core/component/** | Komponen reusable seperti custom UI components dan base classes |
|
|||
|
|
| **core/utils/** | Fungsi utilitas dan helper untuk operasi aplikasi |
|
|||
|
|
| **data/** | Mengelola sumber data lokal maupun jaringan |
|
|||
|
|
| **data/local/** | Implementasi database lokal |
|
|||
|
|
| **data/local/dao/** | Query dan operasi CRUD melalui DAO |
|
|||
|
|
| **data/local/database/** | Konfigurasi database lokal |
|
|||
|
|
| **data/local/entity/** | Definisi entitas/skema tabel |
|
|||
|
|
| **data/model/** | Model data bisnis |
|
|||
|
|
| **data/network/** | Komunikasi dengan server & API |
|
|||
|
|
| **data/repository/** | Mediator antara data source & ViewModel |
|
|||
|
|
| **di/** | Dependency Injection (Koin) |
|
|||
|
|
| **navigation/** | Rute navigasi aplikasi |
|
|||
|
|
| **presentation/** | Menangani UI dan interaksi pengguna |
|
|||
|
|
| **presentation/screen/** | UI untuk setiap layar (Composable Functions) |
|
|||
|
|
| **presentation/viewmodel/** | ViewModel yang menghubungkan repository dan UI |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. Konfigurasi Proyek
|
|||
|
|
|
|||
|
|
### 5.1 Buka Proyek di Android Studio
|
|||
|
|
|
|||
|
|
1. Jalankan Android Studio
|
|||
|
|
2. Pilih **Open Project**
|
|||
|
|
3. Arahkan ke folder hasil clone `agrilinkvocpro`
|
|||
|
|
|
|||
|
|
### 5.2 Sinkronisasi Gradle
|
|||
|
|
|
|||
|
|
* Setelah proyek terbuka, klik **Sync Now** jika muncul notifikasi
|
|||
|
|
* Pastikan semua dependensi terunduh tanpa error
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. Menjalankan Aplikasi
|
|||
|
|
|
|||
|
|
### 6.1 Menggunakan Emulator
|
|||
|
|
|
|||
|
|
1. Buka **AVD Manager** di Android Studio
|
|||
|
|
2. Buat Virtual Device dengan API minimal **29 (Android 10)**
|
|||
|
|
3. Klik **Run** untuk menjalankan aplikasi di emulator
|
|||
|
|
|
|||
|
|
### 6.2 Menggunakan Perangkat Fisik
|
|||
|
|
|
|||
|
|
1. Aktifkan **Developer Options** & **USB Debugging** di ponsel
|
|||
|
|
2. Sambungkan ponsel ke laptop
|
|||
|
|
3. Pilih perangkat pada **Run Configuration**
|
|||
|
|
4. Klik **Run ▶**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. Build dan Release APK
|
|||
|
|
|
|||
|
|
### 7.1 Debug APK
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Build > Build Bundle(s) / APK(s) > Build APK(s)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.2 Signed APK / AAB
|
|||
|
|
|
|||
|
|
1. `Build > Generate Signed Bundle / APK`
|
|||
|
|
2. Pilih **APK** atau **Android App Bundle (AAB)**
|
|||
|
|
3. Masukkan keystore (.jks) dan password
|
|||
|
|
4. Klik **Finish**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. Catatan Pengembangan Lanjutan
|
|||
|
|
|
|||
|
|
* **Bahasa Pemrograman:** Kotlin
|
|||
|
|
* **Framework UI:** Jetpack Compose
|
|||
|
|
* **Arsitektur:** MVVM (Model-View-ViewModel)
|
|||
|
|
* **Dependency Injection:** Koin
|
|||
|
|
|
|||
|
|
**Library Utama:**
|
|||
|
|
|
|||
|
|
* Retrofit / Ktor (Networking)
|
|||
|
|
* Room / DataStore (Database & Storage)
|
|||
|
|
* Koin (Dependency Injection)
|
|||
|
|
* Google Play Core (Dynamic Feature Module)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. Troubleshooting
|
|||
|
|
|
|||
|
|
| Masalah | Penyebab | Solusi |
|
|||
|
|
| ------------------- | ---------------------------- | ---------------------------------------------- |
|
|||
|
|
| Gradle sync error | Versi Gradle/JDK tidak cocok | Sesuaikan versi di `gradle-wrapper.properties` |
|
|||
|
|
| Emulator lambat | Resource PC rendah | Gunakan perangkat fisik atau optimalkan AVD |
|
|||
|
|
| API tidak merespons | API key atau base URL salah | Cek `local.properties` |
|
|||
|
|
|
|||
|
|
---
|