Selasa, 19 Mei 2026

PROMPT - Registrasi Siswa

 




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
  • email

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

Database

  https://www.youtube.com/watch?v=owQ48EH1iJ0