Pengelola Keuangan Pribadi

Aplikasi terminal untuk mencatat pemasukan dan pengeluaran pribadi, dengan filter kategori/tanggal, ringkasan saldo, dan laporan per kategori.

Struktur Kode #

FileTanggung Jawab
transaction.h/.cModel Transaction + validasi tanggal
finance.h/.cKoleksi transaksi, filter, summary
storage.h/.cSimpan/muat dari CSV
report.h/.cLaporan per kategori & laporan bulanan
main.cMenu interaktif
tests.cUnit test

Build #

bash
make           # Bangun aplikasi
make test      # Jalankan unit test
./finance      # Jalankan aplikasi

Format CSV #

csv
# id,type,amount,description,category,date
1,1,1000000.00,Gaji bulanan,Gaji,2024-03-01
2,-1,50000.00,Bensin,Transport,2024-03-02

type 1 = income, -1 = expense.

Penggunaan #

Aplikasi memuat otomatis finance.csv bila ada. Setiap transaksi butuh:

  • jumlah (Rp, harus positif)
  • deskripsi
  • kategori (bebas, contoh: Gaji, Makan, Transport, Hiburan)
  • tanggal (YYYY-MM-DD)