1 Pendahuluan โพ
1.1 Latar Belakang
Persatuan Silat Tenaga Dasar (PSTD) dengan struktur nasional/multi-cabang membutuhkan satu sistem terpadu untuk mengelola data anggota, keuangan, administrasi, kejuaraan, dan kegiatan ekonomi anggota. Saat ini proses yang ada bersifat manual (kertas, catatan terpisah, pembayaran tunai), sehingga menyulitkan pengurus pusat dalam memantau kondisi cabang secara real-time dan berisiko pada akurasi data keuangan.
Sistem ini akan melayani :
- Anggota/pesilat dan pelatih di seluruh cabang.
- Pengurus pusat (nasional), pengurus cabang (provinsi/kabupaten-kota), dan pengurus sanggar.
- Panitia kejuaraan, wasit, juri.
- Anggota yang memiliki usaha / toko online.
1.2 Tujuan & Sasaran
- Digitalisasi kartu anggota (kartu QR) untuk verifikasi & absensi cepat.
- Otomatisasi penagihan & pembayaran iuran iuran, termasuk pembayaran online dan manual.
- Laporan keuangan & tunggakan per cabang yang transparan dan real-time.
- Pengelolaan kejuaraan mulai dari pendaftaran sampai rekap hasil.
- Menghidupkan ekonomi anggota melalui toko online anggota.
- Satu sumber data (single source of truth) untuk seluruh pengurus.
1.3 Ringkasan Eksekutif
Dibangun 3 (tiga) aplikasi yang berbagi satu basis data & API :
Pembayaran terintegrasi dengan Midtrans (QRIS, Virtual Account, e-Wallet) plus alur pembayaran manual (upload bukti transfer & verifikasi admin). Prioritas versi pertama (MVP) mencakup 4 modul utama: Anggota & Kartu Digital, Iuran & Keuangan, Event & Kejuaraan, dan Toko Online Anggota.
1.4 Stakeholder & Pengguna
| Peran | Deskripsi | Hak Akses Utama |
|---|---|---|
| Admin Nasional (DPP) | Pengelola tingkat pusat | Semua data seluruh cabang, laporan, master data |
| Admin Cabang / Daerah | Pengurus provinsi / kabkota | Data wilayahnya, persetujuan anggota, laporan cabang |
| Admin Sanggar | Pengelola unit latihan | Anggota sanggar, absensi, tagihan sanggar |
| Bendahara | Pengelola keuangan | Transaksi kas, verifikasi pembayaran, laporan keuangan |
| Pelatih | Instruktur latihan | Absensi, evaluasi, kurikulum latihan |
| Wasit / Juri | Penyelenggara kejuaraan | Input nilai dan hasil pertandingan |
| Anggota | Pesilat / anggota biasa | Profil & kartu digital, bayar iuran, daftar event |
| Penjual / Toko | Anggota yang menjual produk | Kelola toko & produk, proses pesanan |
2 Ruang Lingkup โพ
2.1 Cakupan & Batasan
Termasuk dalam lingkup:
- Manajemen anggota nasional dengan struktur organisasi multi-level (pusat โ cabang โ sanggar).
- Kartu anggota digital ber- QR yang dapat diverifikasi.
- Iuran, kas, transaksi, dan pelaporan keuangan.
- Penyelenggaraan event/kejuaraan dengan kategori tanding & seni.
- Toko online member (marketplace internal).
- Notifikasi pembayaran, tagihan, dan pengumuman.
Di luar lingkup versi pertama (backlog): kurikulum/video jurus, absensi latihan realtime, surat menyurat otomatis terintegrasi, forum sosial multimedia, dan toko logistik umum (bukan internal member).
2.2 Struktur Hirarki Organisasi
Struktur data mengikuti jenjang organisasi sehingga tiap level hanya melihat dan mengelola datanya sendiri:
Organisasi Nasional (DPP)
โโโ Cabang/Daerah (Provinsi, Kabupaten/Kota) โ Admin Cabang
โโโ Sanggar / Perguruan (unit latihan) โ Admin Sanggar / Pelatih
โโโ Anggota (pesilat, pelatih, wasit, dst) โ Kartu Digital QR
โโโ Toko Online Anggota โ Penjual
3 Kebutuhan Fungsional โพ
3.1 Manajemen Anggota & Kartu Digital MVP
- Registrasi anggota: biodata, alamat, foto, perguruan/sanggar, sabuk/tingkat, kategori jurus.
- Pendaftaran mandiri (self-register) dengan persetujuan admin cabang.
- Kartu anggota digital dengan QR code untuk verifikasi (webcam) & absensi (kamera mobile).
- Status keanggotaan: aktif / nonaktif / vakum, termasuk masa berlaku kartu & perpanjangan.
- Riwayat kenaikan tingkat / uji sabuk dengan dokumentasi.
- Riwayat prestasi & kejuaraan tiap anggota.
- Klasifikasi peran: pesilat, pelatih, wasit/juri, pengurus.
3.2 Iuran & Keuangan MVP
- Master jenis iuran: iuran wajib, iuran sukarela, dana kegiatan.
- Auto-generate tagihan per periode per anggota sesuai jenis iuran.
- Jatuh tempo otomatis + notifikasi reminder (push, WA/email opsional).
- Status tagihan:
belum dibayar/lunas/tunggakan/kadaluwarsa. - Pembayaran online (Midtrans: QRIS, VA, e-wallet) dan manual (upload bukti transfer โ verifikasi bendahara).
- Kas masuk & keluar dengan kategori (event, peralatan, operasional, dsb).
- Approval flow pengeluaran oleh pengurus yang berwenang.
- Laporan: neraca kas, arus kas, rekap per periode & per cabang, tunggakan, export PDF/Excel.
3.3 Administrasi & Organisasi
- Pengumuman / berita organisasi dengan notifikasi push.
- Kalender kegiatan: latihan, seminar, uji sabuk, rapat pengurus.
- Manajemen dokumen & arsip (template surat, rekomendasi kejuaraan).
- Master data wilayah, sanggar, pengurus dan masa jabatannya.
3.4 Event & Kejuaraan MVP
- CRUD event beserta jadwal & lokasi.
- Pendaftaran peserta sesuai kategori (tanding / seni) dengan pembatasan kelas (umur & berat).
- Biaya pendaftaran terintegrasi dengan modul pembayaran.
- Input nilai jurus / pertandingan oleh wasit-juri.
- Rekap hasil, pemenang, dan publikasi hasil kejuaraan.
3.5 Toko Online Anggota MVP
- Setiap anggota bisa membuka toko pribadi (etalase produk).
- Katalog produk: seragam, alat, kerajinan, akessoris, dll.
- Keranjang โ checkout โ pembayaran (midtrans/manual) โ ongkir โ status pengiriman.
- Manajemen pesanan dari sisi penjual (proses, konfirmasi kirim, selesai).
- Verifikasi produk & toko oleh pengurus sebelum tayang (menjaga kepercayaan).
3.6 Keilmuan & Pelatihan Fase 2+
- Kurikulum / silabus jurus per tingkat sabuk.
- Konten pembelajaran: video, gambar, teks.
- Absensi latihan digital per sanggar.
- Evaluasi uji kenaikan tingkat.
3.7 Komunikasi Fase 2+
- Notifikasi push (tagihan, pengumuman, kalender, event).
- Forum / pesan antar anggota & grup per sanggar.
- Feed berita organisasi.
3.8 Sistem & Keamanan
- Role & permission (RBAC) sesuai hirarki organisasi.
- Audit log untuk seluruh transaksi & perubahan data penting.
- Backup data otomatis.
- Enkripsi data sensitif, TLS, dan praktik keamanan aplikasi standar.
4 Kebutuhan Non-Fungsional โพ
| Aspek | Kebutuhan |
|---|---|
| Performa | Waktu muat halaman < 3 detik; API merespons < 400 ms pada kondisi normal; mampu menangani ribuan anggota per cabang. |
| Keamanan | Autentikasi token, RBAC, enkripsi kata sandi dan data pribadi, audit trail, proteksi dari serangan umum (SQLi, XSS, CSRF). |
| Ketersediaan | Uptime target 99% (fase produksi), backup harian otomatis. |
| Kompabilitas | Web modern (Chrome, Edge, Firefox, Safari); mobile Android & iOS minimal 2 versi terakhir. |
| Kegunaan | UI dalam Bahasa Indonesia, dirancang mobile-first, ramah pengguna usia lanjut (pengurus). |
| Skalabilitas | Desain modular sehingga penambahan cabang/sanggar tidak mengubah sistem. |
5 Arsitektur Teknis โพ
5.1 Stack Teknologi
| Komponen | Teknologi | Keterangan |
|---|---|---|
| Backend API | Node.js (NestJS) + REST API | Auth token (JWT), queue (Redis/BullMQ) untuk notifikasi & webhook |
| Web (Admin & Portal) | React SPA | Vite + React; dashboard admin nasional/cabang/sanggar |
| Mobile | React Native | Satu kode untuk Android & iOS; kartu QR & pembayaran |
| Database | MySQL | Local di pengembangan; managed DB saat produksi |
| Pembayaran | Midtrans | QRIS, Virtual Account, e-Wallet + alur manual |
| Penyimpanan file | Lokal โ Object storage | Foto anggota, bukti transfer, gambar produk |
| Notifikasi | FCM (mobile push) + email | WA gateway sebagai opsi |
| CI/CD & Deploy | Git + hosting Node.js/MySQL + TLS | Staging sebelum produksi |
5.2 Alur Pembayaran
- Anggota memilih tagihan/keranjang & metode bayar.
- Backend membuat transaksi ke Midtrans.
- Anggota membayar via QRIS/VA/e-wallet.
- Midtrans mengirim webhook status (paid).
- Tagihan otomatis menjadi
lunas; notifikasi terkirim.
- Anggota memilih "Transfer Manual".
- Anggota upload bukti transfer.
- Bendahara cek & verifikasi bukti.
- Tagihan diubah menjadi
lunas. - Rekamannya tercatat di kas & audit log.
6 Prioritas & Roadmap โพ
6.1 Cakupan MVP (Versi Pertama)
Empat modul prioritas yang akan dibangun terlebih dahulu:
- MVP Data anggota & kartu digital โ registrasi, persetujuan, profil, kartu QR, status.
- MVP Iuran & keuangan โ tagihan, pembayaran online+manual, laporan kas & tunggakan.
- MVP Event & kejuaraan โ pendaftaran, kelas, rekap hasil.
- MVP Toko online anggota โ etalase, katalog, order, pembayaran, verifikasi produk.
6.2 Fase Implementasi
| Fase | Kegiatan | Luaran |
|---|---|---|
| Fase 0 | Setup monorepo: backend Node.js, web React, mobile RN, skema database, RBAC, seed awal | Proyek berjalan & CI siap |
| Fase 1 | Auth & modul anggota + kartu digital QR + scanner | Anggota & kartu bisa dipakai |
| Fase 2 | Modul iuran & keuangan + integrasi Midtrans + laporan | Iuran & kas berjalan |
| Fase 3 | Modul event & kejuaraan (pendaftaran & hasil) | Kejuaraan berjalan |
| Fase 4 | Modul toko online anggota | Marketplace berjalan |
| Fase 5 | Penyempurnaan web dashboard & mobile, deploy staging โ produksi | Rilis produksi |
6.3 Backlog Fase Selanjutnya (Fase 2+)
- F2+ Kurikulum & silabus jurus + video pembelajaran.
- F2+ Absensi latihan digital per sanggar.
- F2+ Surat menyurat digital (rekomendasi kejuaraan, surat tugas).
- F2+ Berita / feed & forum pesan antar anggota.
- F2+ Analytics & audit log yang lebih detail.
7 Asumsi, Risiko & Persetujuan โพ
7.1 Asumsi & Ketergantungan
- Data master (cabang, sanggar, jenis iuran, kategori event) dikelola oleh pengurus dan sudah beres saat implementasi.
- Rekening merchant / akun Midtrans disiapkan oleh pihak organisasi untuk transaksi online.
- Perangkat ponsel pengurus/panitia mendukung aplikasi yang akan dipasang.
- Ketersediaan hosting & domain disediakan untuk rilis produksi.
7.2 Risiko
| Risiko | Dampak | Mitigasi |
|---|---|---|
| Data lama belum terdigitalisasi | Kesulitan migrasi awal | Sesi input massal (import Excel) & pelatihan pengurus |
| Koneksi internet tidak merata | Pengguna sulit akses | Mode offline untuk pembayaran manual & kartu QR lokal |
| Fitur toko memakan waktu | Rilis MVP telat | Versi sederhana dulu, disempurnakan bertahap |
| Penolakan fitur oleh pengguna | Adopsi rendah | UAT berkala & forum pengurus sejak dini |
7.3 Formulir Persetujuan
Dengan menandatangani dokumen ini, pihak organisasi menyetujui ruang lingkup, kebutuhan fungsional, stack teknis, dan prioritas MVP sebagaimana diuraikan di atas.
|
Disiapkan oleh, ____________________________ Analis / Pengembang Sistem Tanggal: _________________ |
Disetujui oleh (klien), ____________________________ [Jabatan Pimpinan Organisasi] Tanggal: _________________ |