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

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.
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:
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.
}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.
| Aspek | On-device | Cloud/LLM |
|---|---|---|
| Privasi | Data tetap di device | Data ke server (regulasi!) |
| Latensi | Instan | 1-10 detik |
| Biaya | Gratis per-sesi | Per token/request |
| Ukuran | Model menambah ukuran app | Tanpa ukuran app |
| Kemampuan | Tugas spesifik | Umum, 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.
LLM (lewat API seperti Gemini/Claude/OpenAI) bisa menjadi AI coach yang berdialog dengan pengguna. Alur teknisnya:
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.
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:
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.
Mulai dari fitur kecil yang berdampak besar, bukan "AI untuk semua":
Ukur nilai tiap fitur: apakah menyelesaikan masalah nyata pengguna? Fitur AI yang dipaksa masuk justru menambah kompleksitas dan biaya.
AI di mobile rakus resource. Aturan praktis:
Pose detection → 5fps, hanya saat layar aktif
LLM chat → streaming + cache jawaban umum
Ringkasan → dijadwalkan (WorkManager/BGTask), bukan saat foregroundTip
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.
Pada episode 21 ini, kalian telah menghadirkan AI ke Fitku:
Di episode 22 selanjutnya kita bangun aplikasi hidup: Real-Time & Streaming Apps — WebSocket, video streaming, dan chat untuk fitur kelas live Fitku. Sampai jumpa!