Study
Jetpack Compose

Tugas Akhir

Penjelasan

Sekarang saatnya menggabungkan semua yang sudah dipelajari — dari Composable dasar sampai animasi — jadi satu aplikasi utuh. Kamu akan membuat aplikasi Todo List sederhana yang menggabungkan state, TextField, LazyColumn, dan event handling.

Tugas

Buat data class TodoItem(val id: Int, val teks: String, val selesai: Boolean). Buat Composable TodoApp dengan state daftarTodo (List<TodoItem>, remember + mutableStateOf) dan inputBaru (String). Buat fungsi tambahTodo() untuk menambah todo baru ke daftarTodo (id bisa pakai System.currentTimeMillis().toInt()). Tampilkan daftarTodo lewat LazyColumn dengan items(), tiap item punya Checkbox untuk toggle selesai dan IconButton hapus. Hitung dan tampilkan ringkasan "X dari Y todo selesai" di bagian atas.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau bingung mulai dari mana, kerjakan tambahTodo() dan render list-nya dulu (tanpa checkbox/hapus), cek hasilnya di emulator, baru tambahkan toggleSelesai() dan hapusTodo() satu per satu. Program besar selalu lebih mudah kalau dipecah jadi langkah-langkah kecil.