Logo Mediatama Portal Soal / Tema 06
LEMBAR SPESIFIKASI PROYEK PRAKTIK • TEMA 06

Sistem Pembukuan Kas & Donasi Program Yayasan

Pencatatan Penerimaan Donatur, Pengeluaran Penyaluran Program, dan Arus Kas

KODE: MED-WEB-06
TINGKAT: Intermediate
Mata Uji Fullstack Web App
Estimasi Waktu 3 - 4 Jam / Take-home
Sifat Pengerjaan Open Book & Docs
Tech Stack Bebas Dipilih Peserta
Kebebasan Pilihan Teknologi: Anda dibebaskan memilih bahasa pemrograman, framework, arsitektur, dan database yang paling Anda kuasai (misalnya: Laravel, CodeIgniter, Express.js/Node.js, Next.js, Django, FastAPI, Go Gin/Fiber, PHP Native, Vue/React, serta database MySQL, PostgreSQL, MariaDB, atau SQLite). Penilaian menitikberatkan pada kelengkapan 4 modul utama, integritas alur transaksi, keamanan, dan pengalaman pengguna (UX).

Latar Belakang & Studi Kasus

Yayasan Sosial 'Peduli Anak Bangsa' mengelola berbagai program kemanusiaan (Santunan Yatim Piatu, Bantuan Korban Bencana, Beasiswa Dhuafa, dan Operasional Mobil Layanan Umat). Yayasan ini diaudit setiap tahun oleh dewan pembina dan membutuhkan transparansi penuh. Saat ini bendahara mencatat uang donasi masuk dan pengeluaran program menggunakan spreadsheet yang rentan terhapus tidak sengaja atau salah rumus. Aplikasi web ini diperlukan untuk mencatat setiap donasi masuk dengan penerbitan bukti kuitansi digital, mencatat pencairan dana bantuan per program, memantau saldo kas real-time, dan menghasilkan laporan arus kas.

4 Modul Wajib yang Harus Dibangun

Pilar Inti Fungsionalitas
01

Modul Autentikasi & Hak Akses (Login System)

Pengamanan akun, sesi pengguna, dan pembatasan wewenang fitur

Role: Ketua Yayasan / Dewan Pembina

Akses membaca seluruh laporan keuangan, persetujuan (approval) pengajuan pencairan dana program bernilai besar, dan pemantauan realisasi anggaran.

Role: Bendahara / Staf Administrasi Kas

Pencatatan penerimaan donasi dari donatur, pencetakan kwitansi digital donasi, pencatatan bukti pengeluaran operasional dan bantuan, serta pembuatan rekonsiliasi kas.

Ketentuan Keamanan & Teknis:
  • Form login dengan validasi input (penanganan username/email salah atau password tidak cocok).
  • Password wajib di-hash menggunakan algoritma aman (Bcrypt, Argon2, atau sejenisnya). Tidak boleh menyimpan password plaintext.
  • Proteksi route (Middleware / Guard): Halaman dashboard, transaksi, dan laporan tidak boleh dapat diakses tanpa login.
  • Mekanisme Logout yang menghancurkan sesi / token secara bersih dan mengarahkan kembali ke halaman login.
02

Modul Dashboard Eksekutif (Metrics & Overview)

Pusat pemantauan kinerja real-time dan ringkasan operasional

4 Indikator KPI Utama yang Wajib Ditampilkan:
Saldo Kas Yayasan Terkini
Total saldo dana kas bersih yang tersedia di kas utama/bank
Total Donasi Masuk Bulan Ini
Akumulasi dana infaq, sedekah, dan donasi program yang diterima
Penyaluran Program Terlaksana
Total realisasi dana bantuan yang telah dicairkan untuk penerima manfaat
Jumlah Donatur Berpartisipasi
Jumlah transaksi kontribusi donatur dalam periode berjalan
Komponen Visual Pendukung:
  • Grafik Visual: Tampilkan visualisasi tren transaksi (misal: grafik batang/garis 7 hari terakhir atau diagram distribusi kategori). Boleh menggunakan Chart.js, ApexCharts, SVG interaktif, atau visual bar CSS murni.
  • Tabel Riwayat Cepat: Daftar 5–10 transaksi paling baru beserta status singkatnya.
  • Tombol Aksi Cepat (Quick Action): Shortcut langsung untuk membuat transaksi baru tanpa harus membuka menu lain.
03

Modul Transaksi Inti (Core Business Transaction)

Pencatatan data dinamis master-detail dengan kalkulasi otomatis

Format Nomor Faktur / Invoice: KAS-IN-YYYYMMDD-XXXX / KAS-OUT-YYYYMMDD-XXXX (Contoh: KAS-IN-20261023-0012)
Nomor invoice harus dibuat otomatis oleh sistem saat form dibuka atau saat transaksi disimpan, dengan format teratur dan unik.
Alur & Elemen Input Form Transaksi:
  • •Pilihan Jenis Transaksi: Kas Masuk (Penerimaan Donasi) ATAU Kas Keluar (Penyaluran Program / Operasional)
  • •Untuk Kas Masuk: Nama Donatur (bisa Hamba Allah / Anonim), No. Kontak, Program Donasi (Pendidikan, Bencana, Yatim, dsb.), Rekening Tujuan (Bank Syariah Mandiri, BCA Yayasan, Kas Tunai), Nominal Donasi, Doa / Pesan Kebaikan
  • •Untuk Kas Keluar: Program Terkait, Kategori Beban Pengeluaran, Penerima Manfaat / Pihak Ketiga, Deskripsi Detail Pengeluaran, Nominal Pencairan, Upload / Keterangan Bukti Nota Fisik
  • •Tanggal Transaksi & Petugas Penanggung Jawab
  • •Kalkulasi: Otomatis memperbarui saldo buku kas yayasan secara real-time
Validasi & Integritas Data Wajib:
  • ✓Pencegahan saldo kas menjadi negatif: Sistem wajib memblokir pencatatan kas keluar jika nominal melampaui saldo kas tersedia
  • ✓Validasi integritas double-entry bookkeeping sederhana (Inflow vs Outflow balance)
  • ✓Setiap transaksi kas yang sudah disimpan tidak dapat dihapus sembarangan melainkan melalui jurnal koreksi atau otorisasi admin
  • ✓Cetak Kuitansi Tanda Terima Donasi Resmi dengan logo yayasan dan nomor registrasi kas
04

Modul Laporan & Ekspor Data (Reporting & Analytics)

Penyajian rekap data historis, filter periode, dan pencetakan dokumen

Parameter Filter Dinamis:

Periode tanggal buku, Program Donasi, Jenis Transaksi (Masuk / Keluar), dan Akun Kas Bank

Ringkasan Statistik (Summary Bar):

Saldo Awal Periode, Total Pemasukan Donasi, Total Pengeluaran Program, Total Pengeluaran Operasional, dan Saldo Akhir Periode

Struktur Kolom Tabel Laporan:

No. Referensi, Tanggal, Jenis, Program, Keterangan/Donatur, Kas Masuk (Rp), Kas Keluar (Rp), Saldo Kumulatif

Kemampuan Ekspor:

Ekspor ke format PDF Laporan Arus Kas resmi dan file spreadsheet Excel/CSV

Rekomendasi Skema Basis Data (Database Design)

Dapat disesuaikan atau dikembangkan sesuai arsitektur pilihan Anda

5 Tabel
Nama Tabel Deskripsi & Saran Kolom Minimal
users Pengguna aplikasi (id, username, password_hash, nama_lengkap, role [admin/bendahara], created_at)
programs Master program donasi (id, nama_program, target_dana, tanggal_mulai, status_aktif)
cash_accounts Master rekening kas/bank (id, nama_bank, no_rekening, atas_nama, saldo_awal)
donors Database donatur (id, nama_donatur, no_hp, email, alamat)
cash_transactions Buku kas utama (id, no_referensi, jenis_transaksi [masuk/keluar], program_id, cash_account_id, donor_id, keterangan, nominal, saldo_sebelum, saldo_sesudah, bukti_lampiran, user_id, created_at)

Rubrik Penilaian & Pembobotan

Total Nilai Maksimal: 100 Poin

Fungsionalitas & Kesesuaian Alur Bisnis 40 Poin

Semua 4 pilar (Login, Dashboard, Transaksi Master-Detail, Laporan) berfungsi utuh tanpa error saat diuji.

Integritas Data & Keamanan 25 Poin

Hashing password, proteksi route, pencegahan duplikasi data, validasi stok/kapasitas, dan transaction commit/rollback.

Desain Antarmuka (UI) & Pengalaman Pengguna (UX) 20 Poin

Tampilan rapi, responsif di mobile & desktop, feedback interaktif (notifikasi sukses/gagal), dan kemudahan navigasi.

Kualitas Kode & Dokumentasi 15 Poin

Struktur folder terorganisir (MVC / Clean Architecture), penamaan variabel deskriptif, dan panduan instalasi README.md.

Ketentuan Pengumpulan & Deliverables

Peserta wajib menyerahkan hasil pengerjaan berupa:

  1. Source Code Proyek: Diunggah ke repositori GitHub / GitLab publik atau diarsipkan dalam format .zip.
  2. Database Dump / Seeder: File database.sql atau seeder/migration yang sudah memuat data awal (sample demo data) untuk akun login dan master data.
  3. Dokumen README.md: Berisi daftar tech stack yang digunakan, langkah instalasi step-by-step, serta kredensial akun uji coba (email/username & password untuk masing-masing role).
Kembali ke Daftar 10 Tema