# 4.2.1 Implementasi pada Perangkat Android --- ## Paragraf 1 — Proses Build dan Distribusi APK Aplikasi JTA dikompilasi menjadi file APK (*Android Package*) menggunakan Flutter versi **3.38.10** (channel stable, Dart SDK 3.10.9). Proses build dilakukan menggunakan perintah berikut di direktori root proyek: ```bash flutter build apk --release ``` Build **release** dipilih dibanding debug karena menghasilkan binary yang telah melalui proses *tree-shaking*, *code minification*, dan optimasi AOT (*Ahead-of-Time*) compilation — sehingga performa aplikasi lebih baik dan ukuran file lebih kecil. Sebagai pembanding, build debug menyertakan *debug symbols* dan *observatory* yang tidak diperlukan di lingkungan produksi. Proses kompilasi memerlukan waktu sekitar **85 detik** pada mesin pengembang melalui Gradle task `assembleRelease`. File APK yang dihasilkan adalah `app-release.apk` dengan ukuran **56,67 MB**. Ukuran ini dipengaruhi oleh Flutter engine, asset gambar, dan package yang digunakan (terutama `supabase_flutter` dan `onesignal_flutter`). Distribusi APK ke mitra dilakukan melalui **Google Drive** dengan cara membagikan tautan unduhan langsung, sehingga mitra dapat mengunduh dan menginstal APK secara mandiri tanpa memerlukan akses ke Google Play Store. `[DUMMY — ganti sesuai cara distribusi aktual yang digunakan]` --- ## Paragraf 2 — Spesifikasi Minimum Perangkat Aplikasi JTA dikonfigurasi dengan nilai `minSdk` mengikuti nilai default Flutter (`flutter.minSdkVersion`), yang secara bawaan bernilai **21**, setara dengan **Android 5.0 (Lollipop)**. Dengan demikian, aplikasi dapat berjalan pada mayoritas perangkat Android yang beredar di pasaran saat ini. Berikut ringkasan persyaratan teknis minimum: | Parameter | Nilai Minimum | |---|---| | Versi Android | Android 5.0 (API Level 21 / Lollipop) | | RAM | 2 GB (disarankan 3 GB untuk performa optimal) | | Penyimpanan kosong | ± 100 MB (untuk instalasi + cache data) | | Koneksi internet | Wajib — WiFi atau data seluler (untuk polling sensor & push notifikasi) | | Resolusi layar | 360 × 640 dp ke atas | Izin (*permission*) yang diminta aplikasi saat instalasi dan pertama kali dijalankan: | Izin | Keterangan | |---|---| | `INTERNET` | Dideklarasikan di `AndroidManifest.xml`; wajib untuk seluruh komunikasi API dan Supabase | | `POST_NOTIFICATIONS` | Diminta secara runtime oleh OneSignal untuk pengiriman push notifikasi peringatan sensor | | `RECEIVE_BOOT_COMPLETED` | Digunakan OneSignal untuk memulihkan registrasi notifikasi setelah perangkat restart | Aplikasi tidak meminta izin akses kamera, lokasi, maupun penyimpanan eksternal, sehingga profil izin yang dibutuhkan tergolong minimal dan tidak menimbulkan kekhawatiran privasi yang signifikan bagi pengguna. --- ## Paragraf 3 — Spesifikasi Perangkat yang Digunakan Saat Implementasi Pengujian dan implementasi aplikasi dilakukan pada perangkat Android milik mitra budidaya jamur tiram sebagai pengguna akhir. Berikut spesifikasi perangkat yang digunakan: | Spesifikasi | Detail | |---|---| | Merek & Model | `[DUMMY — isi merek dan model HP mitra]` | | Sistem Operasi | `[DUMMY — misal: Android 12 (API 31)]` | | Prosesor | `[DUMMY — misal: Mediatek Helio G85, Octa-core 2.0 GHz]` | | RAM | `[DUMMY — misal: 4 GB]` | | Penyimpanan Internal | `[DUMMY — misal: 64 GB]` | | Koneksi yang Digunakan | `[DUMMY — misal: WiFi 2.4 GHz / Data seluler 4G LTE]` | | Resolusi Layar | `[DUMMY — misal: 1080 × 2408 piksel, 6.5 inci]` | > **Catatan:** Baris bertanda `[DUMMY]` harus diisi dengan data aktual spesifikasi perangkat mitra sebelum laporan diserahkan. --- ## Paragraf 4 — Proses Instalasi Karena APK didistribusikan di luar Google Play Store, instalasi memerlukan satu langkah konfigurasi tambahan pada perangkat Android mitra. Secara keseluruhan, proses instalasi terdiri dari empat tahap berikut: ![Alur Instalasi APK JTA](C:/Users/user/.gemini/antigravity/brain/f5437a05-a1d5-4e3b-aa37-20e3f692fed9/diagram_instalasi_apk_1778573674521.png) **Gambar 4.x** — Alur instalasi APK JTA pada perangkat Android. **Langkah 1 — Menerima File APK.** Mitra mengunduh file `app-release.apk` dari tautan Google Drive yang dikirimkan oleh pengembang. `[DUMMY — sesuaikan media distribusi]` **Langkah 2 — Mengaktifkan Izin Install dari Sumber Tidak Dikenal.** Pada Android 8.0 ke atas, izin ini bersifat per-aplikasi. Mitra membuka **Pengaturan → Aplikasi → Browser/File Manager → Instal aplikasi tidak dikenal → Izinkan**. Pada Android versi lama (< 8.0), pengaturan ini terdapat di **Pengaturan → Keamanan → Sumber Tidak Dikenal**. **Langkah 3 — Instalasi APK.** Mitra membuka file APK menggunakan file manager, kemudian mengikuti prompt instalasi sistem Android. Proses instalasi selesai dalam waktu kurang dari 30 detik. `[DUMMY — catat durasi aktual saat instalasi di lapangan]` **Langkah 4 — Verifikasi dan Login.** Setelah instalasi berhasil, aplikasi dibuka dan menampilkan *splash screen* JTA, diikuti halaman login. Mitra memasukkan kredensial akun yang telah disiapkan pengembang, dan berhasil masuk ke halaman dashboard monitoring. Screenshot tampilan aplikasi pertama kali terpasang di perangkat mitra: > **[DUMMY — Sisipkan screenshot halaman login dan dashboard pertama kali di perangkat mitra]** > Screenshot dapat diambil langsung dari perangkat mitra menggunakan tombol Power + Volume Bawah, kemudian dipindahkan ke dokumen laporan.