Prompt Pembuatan Aplikasi Android CRUD Registrasi Siswa dengan Jetpack Compose dan Room Database
Buat aplikasi Android modern menggunakan Kotlin dan Jetpack Compose dengan desain UI seperti pada gambar referensi. Aplikasi menggunakan Room Database untuk penyimpanan data lokal dan menerapkan konsep State Management modern pada Jetpack Compose.
Nama Aplikasi
Student Registration App
Teknologi yang Digunakan
- Kotlin
- Jetpack Compose
- Room Database
- Material Design 3
- MVVM Architecture
- Coroutine
- State Management Compose
Fitur Utama Aplikasi
1. Form Registrasi Siswa
Gunakan komponen:
- TextField Nama
- TextField Email
State Management:
- State
- remember
- mutableStateOf
- State Hoisting
Form digunakan untuk:
- Input nama siswa
- Input email siswa
- Validasi input sederhana
2. CRUD Data Siswa
Aplikasi harus memiliki fitur:
Tambah Siswa
Menyimpan data siswa ke Room Database.
Edit Siswa
Mengubah data siswa.
Hapus Siswa
Menghapus data siswa dari database.
Tampilkan Data
Menampilkan seluruh data siswa menggunakan LazyColumn.
Struktur UI
Header
Tampilkan:
- Judul “Registrasi Siswa”
- Subtitle “Kelola data siswa”
Gunakan typography modern Material 3.
Input Form
Gunakan:
TextField()
Komponen:
- Input Nama
- Input Email
Gunakan:
remember { mutableStateOf("") }
Contoh:
var nama by remember {
mutableStateOf("")
}
var email by remember {
mutableStateOf("")
}
Tombol Tambah
Gunakan Button Material 3:
Button()
Fungsi:
- Menyimpan data ke Room Database
- Mengosongkan form setelah berhasil
List Data Siswa
Gunakan:
LazyColumn
Setiap item menggunakan:
Card
Tampilkan:
- Avatar lingkaran inisial nama
- Nama siswa
- Email siswa
- Tombol Edit
- Tombol Hapus
Desain UI
Gunakan desain modern seperti gambar referensi:
- Clean UI
- Rounded corner
- Material 3
- Soft shadow
- Warna dominan putih dan ungu
- Card modern
- Responsive layout
Room Database
Gunakan:
- Entity
- DAO
- Database Class
Entity
Buat entity:
@Entity(tableName = "siswa")
Field:
- id
- nama
DAO
Buat operasi:
- insertSiswa()
- updateSiswa()
- deleteSiswa()
- getAllSiswa()
Gunakan:
Flow<List<Siswa>>
Database Class
Gunakan:
Room.databaseBuilder()
Database name:
siswa_database
State Management
Implementasikan:
- State
- remember
- mutableStateOf
- collectAsState()
- rememberCoroutineScope()
- State Hoisting
Validasi Form
Validasi:
- Nama tidak boleh kosong
- Email tidak boleh kosong
- Email harus mengandung “@”
Tampilkan pesan error menggunakan:
- Text
- Snackbar
- Toast
Arsitektur Folder
com.example.studentapp
│
├── data
│ ├── Siswa.kt
│ ├── SiswaDao.kt
│ └── AppDatabase.kt
│
├── ui
│ ├── MainScreen.kt
│ ├── StudentItem.kt
│ └── FormInput.kt
│
├── viewmodel
│ └── StudentViewModel.kt
│
└── MainActivity.kt
Fitur Tambahan
Tambahkan:
- Empty state ketika data kosong
- Loading indicator sederhana
- Konfirmasi hapus data
- Scrollable list
- Icon edit dan delete
Output Aplikasi
Aplikasi menampilkan:
- Form input nama dan email
- Tombol tambah siswa
- List data siswa
- Edit siswa
- Hapus siswa
- Data tersimpan secara lokal menggunakan Room Database
Konsep Pembelajaran yang Harus Ditampilkan
Aplikasi harus menjadi contoh implementasi:
- Jetpack Compose modern UI
- Input Form
- State Management
- Room Database CRUD
- Compose Recomposition
- State Hoisting
- MVVM
- Local Database
Tujuan Project
Membuat aplikasi CRUD Registrasi Siswa modern berbasis Android menggunakan Jetpack Compose dan Room Database dengan implementasi State Management terbaik dan UI modern seperti desain referensi.

Tidak ada komentar:
Posting Komentar