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

data

Folder ini berisi bagian yang berhubungan dengan penyimpanan data lokal menggunakan Room Database.

Siswa.kt

File 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
AppDatabase.kt

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.kt

File ini berisi layar utama aplikasi. Di dalamnya terdapat form input siswa dan daftar data siswa yang sudah tersimpan.

FormInput.kt

File ini berisi komponen form untuk mengisi data siswa.

Form ini digunakan untuk:

  • Menambahkan data siswa baru
  • Mengedit data siswa yang sudah ada
StudentItem.kt

File ini berisi tampilan satu item data siswa pada daftar siswa. Setiap item memiliki tombol untuk edit dan hapus data.

viewmodel

Folder ini berisi penghubung antara UI dan database.

StudentViewModel.kt

File 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
 
 
Dokumentasi 

Comments

Popular posts from this blog

MyMoney Notes