Belajar Mobile Developer - AI-Powered Mobile Apps
Episode 21 of 28

Belajar Mobile Developer - AI-Powered Mobile Apps

Menghadirkan kecerdasan buatan di aplikasi mobile: on-device ML dengan ML Kit & CoreML, integrasi LLM untuk AI coach, dan praktik membangun fitur AI yang aman, hemat baterai, dan menghargai privasi di Fitku

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Kita memasuki era di mana AI bukan lagi pelengkap, melainkan fondasi aplikasi (episode 1). Di episode 21 ini kita belajar membangun AI-powered mobile apps: model machine learning yang berjalan di device (ML Kit, CoreML), integrasi LLM untuk AI coach, dan praktik desain fitur AI yang aman dan hemat daya. Fitku akan mendapat AI coach yang menyesuaikan program latihan dengan progres pengguna.

Mengapa on-device penting? Karena privasi (data tidak keluar device), latensi (instan, tanpa network), dan biaya (tanpa API call). Tapi ada kalanya model cloud/LLM lebih tepat. Episode ini mengajarkan memilih.

On-Device ML: ML Kit & CoreML

ML Kit (Google) dan CoreML (Apple) menjalankan model di device. Contoh kasus Fitku: menghitung langkah dari sensor — sebenarnya cukup memakai sensor API, tetapi untuk demo gunakan pose detection untuk menghitung repetisi squat dari kamera:

ML Kit di Android

KotlinPose detection dengan ML Kit
val detector = PoseDetection.getClient(
    PoseDetectorOptions.Builder()
        .setDetectorMode(PoseDetectorOptions.STREAM_MODE)
        .build()
)
 
// dari frame kamera
val pose = detector.process(frame).await()
pose.allPoseLandmarks.forEach { landmark ->
    // landmark.type = NOSE, LEFT_SHOULDER, dll.
}

CoreML di iOS

CoreML prediction di iOS
import CoreML
 
func predictCalories(model: FitkuModel, workout: WorkoutFeatures) throws -> Double {
    let prediction = try model.prediction(
        input: FitkuModelInput(duration: workout.duration, intensity: workout.intensity)
    )
    return prediction.calories
}

Model CoreML dibundle di aplikasi (atau didownload on-demand) dan berjalan lokal — offline & privat.

Memilih: On-Device vs Cloud

AspekOn-deviceCloud/LLM
PrivasiData tetap di deviceData ke server (regulasi!)
LatensiInstan1-10 detik
BiayaGratis per-sesiPer token/request
UkuranModel menambah ukuran appTanpa ukuran app
KemampuanTugas spesifikUmum, kreatif

Note

Arsitektur umum 2026: on-device untuk tugas cepat & privat (deteksi, klasifikasi), cloud/LLM untuk tugas kreatif & kontekstual (generasi rencana latihan). Kombinasi keduanya memberi keseimbangan terbaik.

Integrasi LLM: AI Coach Fitku

LLM (lewat API seperti Gemini/Claude/OpenAI) bisa menjadi AI coach yang berdialog dengan pengguna. Alur teknisnya:

100%

Alasan memakai Backend Proxy

Jangan panggil LLM langsung dari aplikasi: API key rahasia tidak boleh di binary (episode 13), dan backend bisa menambahkan rate limiting, moderasi, serta konteks data pengguna.

Client memanggil backend proxy
const res = await fetch(`${API}/ai/coach`, {
  method: "POST",
  headers: { Authorization: `Bearer ${token}` },
  body: JSON.stringify({
    message: "Buatkan rencana lari seminggu untuk pemula",
    context: { goalSteps: 10000, level: "beginner" },
  }),
});
const { reply } = await res.json();

Backend menyusun prompt dengan konteks, lalu mengembalikan jawaban:

Prompt system di backend
Kamu adalah AI coach Fitku. Bantu pengguna membuat rencana
latihan realistis. Jawab singkat (maks 150 kata), bahasa
Indonesia, dan selalu tekankan konsultasi medis bila pengguna
punya kondisi khusus.

Warning

Output LLM tidak selalu akurat atau aman. Di fitur kesehatan, sampaikan disclaimers, batasi topik berisiko, dan moderasi input pengguna. Untuk aplikasi yang menargetkan anak, wajib perlindungan khusus. Keamanan AI adalah bagian dari tanggung jawab produk.

Fitur AI yang Realistis untuk Fitku

Mulai dari fitur kecil yang berdampak besar, bukan "AI untuk semua":

  1. Pencatatan otomatis: klasifikasi aktivitas (jalan/lari/bersepeda) dari sensor — on-device.
  2. AI coach chat: saran rencana latihan — cloud LLM via backend.
  3. Rangkuman mingguan: ringkasan progres dalam bahasa natural — cloud.
  4. Deteksi pose squat dari kamera — on-device ML Kit.

Ukur nilai tiap fitur: apakah menyelesaikan masalah nyata pengguna? Fitur AI yang dipaksa masuk justru menambah kompleksitas dan biaya.

Praktik: Hemat Baterai & Resource

AI di mobile rakus resource. Aturan praktis:

  • On-device: jalankan inference di background thread, batasi frame rate kamera (misal 5fps untuk pose), dan hentikan saat tidak perlu.
  • Cloud: batch request, kirim konteks minimal (jangan seluruh riwayat), dan cache hasil.
  • Streaming: tampilkan hasil parsial saat LLM merespons → UX terasa lebih cepat.
Strategi resource AI
Pose detection  → 5fps, hanya saat layar aktif
LLM chat        → streaming + cache jawaban umum
Ringkasan       → dijadwalkan (WorkManager/BGTask), bukan saat foreground

Common Pitfalls AI Mobile

  • API key di klien: kebocoran langsung disalahgunakan orang lain. Selalu lewat backend.
  • Model yang terlalu besar: memperlambat startup & membesar APK. Pilih model sesuai device; sediakan varian kecil.
  • Latency tidak ditangani: tanpa loading/streaming, pengguna mengira app hang.
  • Mengabaikan bias & kesalahan: konten kesehatan dari AI harus dikurasi & disclaimer.
  • AI tanpa tujuan produk: fitur AI "biar kelihatan canggih" biasanya menambah biaya tanpa nilai.

Tip

AI di mobile 2026 memakai pola matang: on-device model untuk tugas privat, backend proxy untuk LLM, streaming untuk UX, dan A/B test untuk mengukur dampak (episode 19). Bangun lapis demi lapis — mulai dari satu fitur on-device yang berdampak.

Penutup

Pada episode 21 ini, kalian telah menghadirkan AI ke Fitku:

  • On-device ML dengan ML Kit & CoreML — privat, instan, offline.
  • Integrasi LLM lewat backend proxy untuk AI coach, dengan moderasi & disclaimer.
  • Memilih on-device vs cloud berdasarkan privasi, latensi, dan biaya.
  • Praktik hemat resource dan audit nilai tiap fitur AI.

Di episode 22 selanjutnya kita bangun aplikasi hidup: Real-Time & Streaming Apps — WebSocket, video streaming, dan chat untuk fitur kelas live Fitku. Sampai jumpa!

Belajar Mobile Developer - AI-Powered Mobile Apps | Belajar Mobile Developer