# 📱 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` | ---