Membuat Aplikasi Keuangan "MyMoney Notes" dengan Jetpack Compose & Room Database
MyMoney Notes adalah aplikasi pencatatan keuangan pribadi berbasis Android yang dirancang untuk membantu pengguna mengelola arus kas (pemasukan dan pengeluaran) secara efisien. Dengan antarmuka modern menggunakan Jetpack Compose dan penyimpanan lokal yang aman menggunakan Room Database.
- Aryaka Leorgi Epridaka - 5025231117
- Muhammad Risyad Himawan Putra - 5025231205
Akses Project:
Source Code: https://github.com/AryakaLeorgi/MyMoneyNotes
Presentasi (PPT): https://drive.google.com/file/d/1uC5WQZkmNkFck--wN4OG81x_t9ZKMs6n/view?usp=sharing
Download APK: https://github.com/AryakaLeorgi/MyMoneyNotes/releases/download/APK/MyMoney-Notes_1.0.apk
Video presentasi: https://youtu.be/aRvOIZ2ANoc
1. Deskripsi & Fitur Utama
Aplikasi ini menganut arsitektur MVVM (Model-View-ViewModel) untuk memastikan kode terstruktur dan mudah dikelola. Fitur utama meliputi:
- Dashboard Keuangan: Pantau total saldo, pemasukan, dan pengeluaran secara real-time.
- Statistik Visual: Grafik batang harian dan diagram lingkaran alokasi dana per kategori.
- Riwayat Transaksi: Pencatatan detail dengan fitur Edit dan Hapus transaksi.
- Multi-Step Wizard: Form tambah transaksi yang intuitif untuk meminimalkan kesalahan input.
- Penyimpanan Lokal: Data tersimpan aman di perangkat menggunakan SQLite melalui Room Database.
2. MainActivity (Entry Point)
3. Data Model (Room Entity)
4. Penjelasan Arsitektur
- Model (Room Entity): Digunakan untuk mendefinisikan skema tabel database. Dengan Room, kita bisa berinteraksi dengan SQLite menggunakan objek Kotlin biasa tanpa perlu menulis SQL mentah yang rumit.
- ViewModel & StateFlow: Otak dari aplikasi. ViewModel mengelola state UI secara reaktif menggunakan StateFlow. Ketika data di database berubah, UI akan otomatis memperbarui tampilannya tanpa perlu refresh manual.
- Repository Pattern: Bertindak sebagai jembatan antara Database (DAO) dan ViewModel. Ini memastikan logika pengambilan data terpusat dan rapi.
- Jetpack Compose UI: Seluruh tampilan dibangun secara deklaratif. Komponen seperti DailyBarChart dan TransactionRow dibuat secara modular sehingga kode sangat mudah dibaca dan dikembangkan.
5. Cara Instalasi
- Download file APK melalui link yang disediakan di atas.
- Izinkan instalasi dari sumber tidak dikenal pada pengaturan Android Anda.
- Buka aplikasi dan mulai catat keuangan Anda!