Mobile Applications
Completed
March 2026
OUScan
Aplikasi mobile berbasis Flutter dan TensorFlow Lite untuk mengklasifikasikan spesies Orangutan Tapanuli dan Orangutan Sumatera secara real-time dan offline (on-device AI) langsung dari kamera ponsel atau galeri foto.
OUScan.view
LIVE
Ringkasan Proyek
Latar belakang dan cakupan sistem
OUScan (OrangUtan Scan) adalah aplikasi mobile identifikasi satwa yang dikembangkan untuk membantu pengenalan dua spesies kera besar endemik Indonesia: Orangutan Tapanuli (Pongo tapanuliensis) dan Orangutan Sumatera (Pongo abelii). Aplikasi ini dirancang sebagai field tool praktis yang dapat diandalkan oleh peneliti, polisi kehutanan, pegiat konservasi, maupun masyarakat umum.
Keunggulan utama OUScan terletak pada arsitektur pemrosesan AI yang berjalan 100% on-device menggunakan model TensorFlow Lite. Pengguna dapat melakukan identifikasi melalui dua mode: pemindaian langsung lewat live camera stream dengan indikator akurasi (confidence score) secara real-time, atau mengunggah dokumentasi foto yang sudah tersimpan di galeri. Selain fitur scanner, aplikasi ini juga dilengkapi panduan taksonomi spesies, tips pengambilan foto di alam liar, serta alur kerja yang intuitif.
Keunggulan utama OUScan terletak pada arsitektur pemrosesan AI yang berjalan 100% on-device menggunakan model TensorFlow Lite. Pengguna dapat melakukan identifikasi melalui dua mode: pemindaian langsung lewat live camera stream dengan indikator akurasi (confidence score) secara real-time, atau mengunggah dokumentasi foto yang sudah tersimpan di galeri. Selain fitur scanner, aplikasi ini juga dilengkapi panduan taksonomi spesies, tips pengambilan foto di alam liar, serta alur kerja yang intuitif.
Latar Belakang & Kebutuhan
Kendala operasional dan kebutuhan spesifikasi sistem
Sulitnya Membedakan Spesies Secara Visual: Orangutan Tapanuli baru diakui sebagai spesies tersendiri pada 2017 dan memiliki karakteristik fisik yang sangat mirip dengan Orangutan Sumatera. Bagi petugas lapangan atau warga di sekitar kawasan hutan Batang Toru, membedakan keduanya secara sekilas bukan hal yang mudah tanpa latar belakang primatologi.
Keterbatasan Sinyal di Habitat Asli (Blank Spot): Habitat orangutan berada di pedalaman hutan lindung yang minim atau bahkan tanpa koneksi internet sama sekali. Solusi berbasis cloud API tidak dapat diandalkan karena proses unggah gambar ke server akan gagal ketika tidak ada jaringan.
Kendala Latensi & Beban UI Thread: Menjalankan inferensi model computer vision pada resolusi kamera tinggi di perangkat smartphone sering kali menyebabkan frame drop, lag, suhu ponsel cepat panas, hingga baterai boros jika pipeline pemrosesan gambarnya tidak dioptimalkan.
Keterbatasan Sinyal di Habitat Asli (Blank Spot): Habitat orangutan berada di pedalaman hutan lindung yang minim atau bahkan tanpa koneksi internet sama sekali. Solusi berbasis cloud API tidak dapat diandalkan karena proses unggah gambar ke server akan gagal ketika tidak ada jaringan.
Kendala Latensi & Beban UI Thread: Menjalankan inferensi model computer vision pada resolusi kamera tinggi di perangkat smartphone sering kali menyebabkan frame drop, lag, suhu ponsel cepat panas, hingga baterai boros jika pipeline pemrosesan gambarnya tidak dioptimalkan.
Solusi & Desain Sistem
Pendekatan arsitektur dan struktur logika sistem
Membangun aplikasi mobile native-grade berbasis Flutter yang mengintegrasikan model machine learning edge/on-device, sehingga proses klasifikasi tetap berjalan cepat dan stabil tanpa butuh kuota internet.
Sistem dilengkapi dengan:
Dual Input Workflow: Mendukung live camera viewfinder untuk pengamatan langsung di lapangan dan gallery picker untuk verifikasi foto dokumentasi.
Multithreaded Processing: Memisahkan beban render UI dari kalkulasi tensor model agar kamera tetap mulus 60 FPS tanpa freezing.
Visual Confidence Feedback: Tampilan status hasil pemindaian langsung memberikan sinyal visual yang kontras (hijau zamrud untuk Tapanuli, oranye untuk Sumatera) beserta persentase probabilitas prediksi.
Modul Edukasi Lapangan: Halaman panduan terstruktur yang mengedukasi pengguna mengenai perbedaan morfologi dasar serta tips sudut pencahayaan dan framing yang ideal sebelum mengambil gambar.
Sistem dilengkapi dengan:
Dual Input Workflow: Mendukung live camera viewfinder untuk pengamatan langsung di lapangan dan gallery picker untuk verifikasi foto dokumentasi.
Multithreaded Processing: Memisahkan beban render UI dari kalkulasi tensor model agar kamera tetap mulus 60 FPS tanpa freezing.
Visual Confidence Feedback: Tampilan status hasil pemindaian langsung memberikan sinyal visual yang kontras (hijau zamrud untuk Tapanuli, oranye untuk Sumatera) beserta persentase probabilitas prediksi.
Modul Edukasi Lapangan: Halaman panduan terstruktur yang mengedukasi pengguna mengenai perbedaan morfologi dasar serta tips sudut pencahayaan dan framing yang ideal sebelum mengambil gambar.
Pendekatan Teknis & Pemilihan Teknologi
Alasan pemilihan teknologi dan alur proses data
State Management & Clean Structure: Menggunakan arsitektur GetX (Bindings, Controllers, Services, dan reactive state Rx) untuk menjaga kode tetap modular, memudahkan manajemen daur hidup kamera (camera lifecycle), serta pengelolaan memory leak.
Asynchronous Isolate Inference: Memanfaatkan IsolateInterpreter dari tflite_flutter. Komputasi inferensi tensor dialihkan ke background Dart Isolate, sehingga main UI thread terbebas dari beban komputasi berat.
Custom Image Preprocessing Pipeline:
Konversi format stream kamera mobile (YUV420 pada Android dan BGRA8888 pada iOS) menjadi format RGB menggunakan package image.
Penyesuaian rotasi otomatis (orientation baking) agar orientasi portrait kamera ponsel tetap presisi saat masuk ke matriks tensor input.
Smart Aspect Ratio Cropping (AI zone crop ~1.14) dan normalisasi piksel rentang [-1.0, 1.0] sesuai standar input arsitektur MobileNet.
Inference Throttling: Menerapkan pembatas waktu inferensi sebesar 350 ms per frame kamera. Strategi ini memberi responsivitas yang cukup bagi mata manusia tanpa mengorbankan daya tahan baterai perangkat di lapangan.
Safe Hardware & Permission Lifecycle: Penanganan izin kamera dinamis (permission handler), controller disposal yang bersih saat berpindah tab/halaman, serta fallback penanganan ketika model gagal membaca gambar blur atau beresolusi ekstrem.
Asynchronous Isolate Inference: Memanfaatkan IsolateInterpreter dari tflite_flutter. Komputasi inferensi tensor dialihkan ke background Dart Isolate, sehingga main UI thread terbebas dari beban komputasi berat.
Custom Image Preprocessing Pipeline:
Konversi format stream kamera mobile (YUV420 pada Android dan BGRA8888 pada iOS) menjadi format RGB menggunakan package image.
Penyesuaian rotasi otomatis (orientation baking) agar orientasi portrait kamera ponsel tetap presisi saat masuk ke matriks tensor input.
Smart Aspect Ratio Cropping (AI zone crop ~1.14) dan normalisasi piksel rentang [-1.0, 1.0] sesuai standar input arsitektur MobileNet.
Inference Throttling: Menerapkan pembatas waktu inferensi sebesar 350 ms per frame kamera. Strategi ini memberi responsivitas yang cukup bagi mata manusia tanpa mengorbankan daya tahan baterai perangkat di lapangan.
Safe Hardware & Permission Lifecycle: Penanganan izin kamera dinamis (permission handler), controller disposal yang bersih saat berpindah tab/halaman, serta fallback penanganan ketika model gagal membaca gambar blur atau beresolusi ekstrem.
Peran & Tanggung Jawab
Tanggung jawab langsung dalam pengembangan modul
Merancang dan membangun keseluruhan aplikasi mobile Flutter dari inisialisasi project hingga antarmuka siap pakai (end-to-end).
Menghubungkan dan mengoptimalkan pipeline machine learning TFLite: mulai dari ekstraksi tensor, konversi byte data kamera YUV/BGRA, hingga kalkulasi skor probabilitas akhir (Softmax & ArgMax).
Mengimplementasikan eksekusi inferensi multithreading via Dart Isolate untuk menjaga performa rendering kamera tetap mulus.
Mendesain UI/UX modern bernuansa nature & wildlife yang ergonomis, ramah digunakan dengan satu tangan (one-handed operation), dan mudah dibaca di bawah terik sinar matahari luar ruangan.
Menghubungkan dan mengoptimalkan pipeline machine learning TFLite: mulai dari ekstraksi tensor, konversi byte data kamera YUV/BGRA, hingga kalkulasi skor probabilitas akhir (Softmax & ArgMax).
Mengimplementasikan eksekusi inferensi multithreading via Dart Isolate untuk menjaga performa rendering kamera tetap mulus.
Mendesain UI/UX modern bernuansa nature & wildlife yang ergonomis, ramah digunakan dengan satu tangan (one-handed operation), dan mudah dibaca di bawah terik sinar matahari luar ruangan.
Hasil & Dampak Proyek
Pencapaian fungsional dan pengujian hasil implementasi
100% Offline Capability: Aplikasi dapat menjalankan klasifikasi gambar orangutan sepenuhnya tanpa koneksi internet di area terpencil hutan Sumatera.
Performa Responsif & Hemat Daya: Penerapan isolate dan throttling berhasil menjaga frame rate kamera tetap stabil tanpa lag spike dan mencegah panas berlebih pada ponsel saat pemindaian berdurasi lama.
Alat Bantu Lapangan yang Praktis: Memangkas waktu identifikasi awal spesies orangutan dari yang sebelumnya membutuhkan analisis manual menjadi hitungan detik dengan visual persentase keyakinan yang transparan.
Performa Responsif & Hemat Daya: Penerapan isolate dan throttling berhasil menjaga frame rate kamera tetap stabil tanpa lag spike dan mencegah panas berlebih pada ponsel saat pemindaian berdurasi lama.
Alat Bantu Lapangan yang Praktis: Memangkas waktu identifikasi awal spesies orangutan dari yang sebelumnya membutuhkan analisis manual menjadi hitungan detik dengan visual persentase keyakinan yang transparan.