Registrasi Siswa
Nama: Stefanus Yosua Mamamoba NRP: 5025231066 Kelas: Pemrograman Perangkat Bergerak B
Repository (Github)Struktur Repositori
com.example.registrasisiswa
├── data
│ ├── Siswa.kt
│ ├── SiswaDao.kt
│ └── AppDatabase.kt
│
├── ui
│ ├── MainScreen.kt
│ ├── StudentItem.kt
│ └── FormInput.kt
│
├── viewmodel
│ └── StudentViewModel.kt
│
└── MainActivity.kt
Penjelasan Folder dan File
dataFolder ini berisi bagian yang berhubungan dengan penyimpanan data lokal menggunakan Room Database.
Siswa.ktFile ini berisi model atau entity data siswa. Entity ini akan menjadi tabel di database Room.
Data yang disimpan antara lain:
- id
- nama
- kelas
- jurusan
- noHp
SiswaDao.ktFile ini berisi DAO atau Data Access Object. DAO digunakan untuk mengatur operasi database.
Operasi yang tersedia:
- Menampilkan seluruh data siswa
- Menambahkan data siswa
- Mengubah data siswa
- Menghapus data siswa
AppDatabase.ktFile ini berisi konfigurasi utama Room Database. Di dalam file ini, database dibuat dan dihubungkan dengan SiswaDao.
Database yang digunakan bernama: registrasi_siswa.db
ui
Folder ini berisi tampilan aplikasi yang dibuat menggunakan Jetpack Compose.
MainScreen.ktFile ini berisi layar utama aplikasi. Di dalamnya terdapat form input siswa dan daftar data siswa yang sudah tersimpan.
FormInput.ktFile ini berisi komponen form untuk mengisi data siswa.
Form ini digunakan untuk:
- Menambahkan data siswa baru
- Mengedit data siswa yang sudah ada
StudentItem.ktFile ini berisi tampilan satu item data siswa pada daftar siswa. Setiap item memiliki tombol untuk edit dan hapus data.
viewmodelFolder ini berisi penghubung antara UI dan database.
StudentViewModel.ktFile ini mengatur proses CRUD dari tampilan ke database.
ViewModel bertugas untuk:
- Mengambil daftar siswa dari database
- Menambahkan data siswa
- Mengubah data siswa
- Menghapus data siswa
MainActivity.ktFile ini adalah titik awal aplikasi. Di dalam file ini, database dibuat, ViewModel disiapkan, lalu layar utama MainScreen ditampilkan.
Fitur Aplikasi
Create
Pengguna dapat menambahkan data siswa baru melalui form input.
Read
Pengguna dapat melihat daftar seluruh siswa yang sudah tersimpan di database lokal.
Update
Pengguna dapat memilih data siswa, lalu mengubah informasi siswa tersebut.
Delete
Pengguna dapat menghapus data siswa dari daftar.
Penjelasan Aplikasi
Aplikasi ini menggunakan Room Database sebagai penyimpanan lokal. Room bekerja sebagai lapisan abstraksi di atas SQLite, sehingga developer tidak perlu mengelola SQLite secara manual secara langsung.
Data siswa disimpan secara permanen di perangkat. Artinya, data tetap tersedia meskipun aplikasi ditutup dan dibuka kembali.
Aplikasi juga menggunakan pola sederhana MVVM:
- UI bertugas menampilkan tampilan aplikasi
- ViewModel bertugas mengatur logika data
- Room Database bertugas menyimpan data secara lokal
Alur Aplikasi
- Pengguna membuka aplikasi Registrasi Siswa
- Aplikasi menampilkan halaman utama
- Halaman utama menampilkan form input data siswa
- Pengguna mengisi nama, kelas, jurusan, dan nomor HP
- Pengguna menekan tombol tambah
- Data siswa dikirim ke ViewModel
- ViewModel menjalankan fungsi tambah data
- Data siswa disimpan ke Room Database
- Room Database memperbarui daftar siswa
- Daftar siswa ditampilkan kembali di halaman utama
- Pengguna dapat melihat data siswa yang sudah tersimpan
- Jika pengguna menekan tombol edit, data siswa akan masuk kembali ke form
- Pengguna mengubah data yang diperlukan
- Pengguna menekan tombol simpan
- ViewModel memperbarui data siswa di database
- Jika pengguna menekan tombol hapus, data siswa akan dihapus dari database
- Daftar siswa diperbarui secara otomatis setelah data ditambah, diedit, atau dihapus
Dokumentasi 



Struktur Repositori
com.example.registrasisiswa
├── data
│ ├── Siswa.kt
│ ├── SiswaDao.kt
│ └── AppDatabase.kt
│
├── ui
│ ├── MainScreen.kt
│ ├── StudentItem.kt
│ └── FormInput.kt
│
├── viewmodel
│ └── StudentViewModel.kt
│
└── MainActivity.kt
Penjelasan Folder dan File
dataFolder ini berisi bagian yang berhubungan dengan penyimpanan data lokal menggunakan Room Database.
Siswa.ktFile ini berisi model atau entity data siswa. Entity ini akan menjadi tabel di database Room.
Data yang disimpan antara lain:
- id
- nama
- kelas
- jurusan
- noHp
SiswaDao.kt
File ini berisi DAO atau Data Access Object. DAO digunakan untuk mengatur operasi database.
Operasi yang tersedia:
- Menampilkan seluruh data siswa
- Menambahkan data siswa
- Mengubah data siswa
- Menghapus data siswa
File ini berisi konfigurasi utama Room Database. Di dalam file ini, database dibuat dan dihubungkan dengan SiswaDao.
Database yang digunakan bernama: registrasi_siswa.db
ui
Folder ini berisi tampilan aplikasi yang dibuat menggunakan Jetpack Compose.
MainScreen.ktFile ini berisi layar utama aplikasi. Di dalamnya terdapat form input siswa dan daftar data siswa yang sudah tersimpan.
FormInput.ktFile ini berisi komponen form untuk mengisi data siswa.
Form ini digunakan untuk:
- Menambahkan data siswa baru
- Mengedit data siswa yang sudah ada
File ini berisi tampilan satu item data siswa pada daftar siswa. Setiap item memiliki tombol untuk edit dan hapus data.
viewmodelFolder ini berisi penghubung antara UI dan database.
StudentViewModel.ktFile ini mengatur proses CRUD dari tampilan ke database.
ViewModel bertugas untuk:
- Mengambil daftar siswa dari database
- Menambahkan data siswa
- Mengubah data siswa
- Menghapus data siswa
MainActivity.kt
File ini adalah titik awal aplikasi. Di dalam file ini, database dibuat, ViewModel disiapkan, lalu layar utama MainScreen ditampilkan.
Fitur Aplikasi
Create
Pengguna dapat menambahkan data siswa baru melalui form input.
Read
Pengguna dapat melihat daftar seluruh siswa yang sudah tersimpan di database lokal.
Update
Pengguna dapat memilih data siswa, lalu mengubah informasi siswa tersebut.
Delete
Pengguna dapat menghapus data siswa dari daftar.
Penjelasan Aplikasi
Aplikasi ini menggunakan Room Database sebagai penyimpanan lokal. Room bekerja sebagai lapisan abstraksi di atas SQLite, sehingga developer tidak perlu mengelola SQLite secara manual secara langsung.
Data siswa disimpan secara permanen di perangkat. Artinya, data tetap tersedia meskipun aplikasi ditutup dan dibuka kembali.
Aplikasi juga menggunakan pola sederhana MVVM:
- UI bertugas menampilkan tampilan aplikasi
- ViewModel bertugas mengatur logika data
- Room Database bertugas menyimpan data secara lokal
Alur Aplikasi
- Pengguna membuka aplikasi Registrasi Siswa
- Aplikasi menampilkan halaman utama
- Halaman utama menampilkan form input data siswa
- Pengguna mengisi nama, kelas, jurusan, dan nomor HP
- Pengguna menekan tombol tambah
- Data siswa dikirim ke ViewModel
- ViewModel menjalankan fungsi tambah data
- Data siswa disimpan ke Room Database
- Room Database memperbarui daftar siswa
- Daftar siswa ditampilkan kembali di halaman utama
- Pengguna dapat melihat data siswa yang sudah tersimpan
- Jika pengguna menekan tombol edit, data siswa akan masuk kembali ke form
- Pengguna mengubah data yang diperlukan
- Pengguna menekan tombol simpan
- ViewModel memperbarui data siswa di database
- Jika pengguna menekan tombol hapus, data siswa akan dihapus dari database
- Daftar siswa diperbarui secara otomatis setelah data ditambah, diedit, atau dihapus
Comments
Post a Comment