Papicode
FREEGoogle APP Script (GAS)

Source Code Sistem Administrasi RT

Gabung Saluran WhatsApp Papicode

Update source code terbaru langsung ke HP kamu, nggak pakai spam.

Deskripsi

Sistem administrasi RT modern yang mencakup seluruh kebutuhan operasional pengurus kampung: data warga & kepala keluarga, mutasi warga, jimpitan harian, kas RT (pemasukan/pengeluaran dengan saldo otomatis), kegiatan RT, hingga laporan lengkap dengan export CSV dan cetak formal. Dibangun sepenuhnya di atas Google Apps Script + Google Spreadsheet sebagai database tanpa server, tanpa biaya hosting, tanpa PHP/MySQL sehingga pengurus RT mana pun bisa langsung menjalankannya cukup dengan akun Google. Sistem menerapkan role-based access control (Admin, Bendahara, Pengurus, Viewer) yang divalidasi penuh di sisi server (bukan cuma sembunyi tombol di tampilan), activity log untuk setiap perubahan data penting, serta desain pastel yang bersih dan responsive penuh dari desktop sampai smartphone.

Sistem

Admin mengisi profil RT (nama wilayah, nama pengurus, nominal jimpitan default, saldo awal kas) lewat Setup Wizard saat pertama kali dijalankan, sekaligus membuat akun Admin pertama tidak ada kredensial default yang tertanam di kode, password sepenuhnya ditentukan sendiri saat setup. Setelah itu Admin dapat menambah akun Bendahara, Pengurus, atau Viewer sesuai kebutuhan. Petugas mencatat jimpitan harian lewat halaman Input Cepat yang menampilkan daftar seluruh rumah aktif untuk satu tanggal, tinggal tekan "Sudah Setor"/"Belum" per rumah atau "Centang Semua", lalu simpan sekali jalan (aman untuk disimpan ulang di tanggal yang sama tanpa duplikat). Bendahara mencatat pemasukan dan pengeluaran kas dengan kategori yang bisa disesuaikan; saldo kas selalu dihitung otomatis dari akumulasi transaksi (bukan angka manual), dan pengeluaran untuk kegiatan tertentu bisa ditautkan langsung sehingga muncul sebagai realisasi anggaran di halaman detail kegiatan tersebut. Pengurus mengelola data warga, mutasi (masuk/keluar/pindah/meninggal), dan kegiatan RT, sementara seluruh peran dapat mengakses Laporan (warga, jimpitan, keuangan, kegiatan) sesuai hak aksesnya masing-masing, lengkap dengan filter periode, grafik ringkas, export CSV, dan layout cetak formal berkop RT untuk keperluan administrasi/musyawarah warga.

Fitur

  • Login berbasis token session dengan password ter-hash (SHA-256 + salt), validasi role penuh di server
  • Role-based access control 4 peran: Admin, Bendahara, Pengurus, Viewer
  • Dashboard ringkasan: total KK, total warga, jimpitan bulan ini, saldo kas, progress kepatuhan jimpitan, grafik pemasukan/pengeluaran 6 bulan
  • CRUD data warga lengkap dengan masking NIK otomatis di tabel utama, data lengkap hanya untuk role berhak
  • Halaman Kepala Keluarga: ringkasan per KK, jumlah anggota, status jimpitan bulan berjalan
  • Mutasi warga (masuk/keluar/pindah/meninggal) dengan riwayat dan ringkasan bulanan
  • Input Jimpitan Cepat: daftar rumah per tanggal, toggle sudah/belum setor, centang semua, simpan batch anti-duplikat
  • Rekap Jimpitan dengan filter harian/mingguan/bulanan/tahunan, grafik per hari & per minggu, daftar rumah belum tercatat
  • Riwayat Jimpitan dengan pencarian, filter status & rentang tanggal, edit, dan hapus data
  • Nominal jimpitan default dapat dikonfigurasi dari Pengaturan, tidak hardcode
  • Modul Kas RT: pemasukan & pengeluaran dengan kategori dinamis dan ID transaksi otomatis
  • Saldo kas dihitung otomatis dari akumulasi transaksi, bukan angka manual
  • Dialog konfirmasi wajib sebelum menyimpan transaksi pengeluaran
  • Pengeluaran dapat ditautkan ke kegiatan terkait, otomatis terhitung sebagai realisasi anggaran
  • Laporan Keuangan per periode dengan saldo awal/akhir dan filter jenis/kategori
  • CRUD Kegiatan RT dengan status Rencana/Berjalan/Selesai/Dibatalkan
  • Laporan Warga, Jimpitan, Keuangan, dan Kegiatan dengan ringkasan statistik & grafik
  • Export CSV untuk seluruh laporan
  • Layout cetak formal khusus print (header identitas RT, tanpa sidebar/tombol)
  • Manajemen Pengguna: tambah, ubah role, aktif/nonaktifkan, reset password
  • Activity Log mencatat seluruh aktivitas penting: login, tambah/ubah/hapus data, ubah pengaturan
  • Pengaturan RT: identitas wilayah, nama pengurus, nominal jimpitan, saldo awal kas — dapat diubah kapan saja
  • Setup Wizard untuk konfigurasi awal RT dan pembuatan akun Admin pertama
  • Data Contoh (DEMO) opsional untuk mengisi dashboard sebelum data asli tersedia, ditandai jelas dan terpisah dari data produksi
  • Tampilan pastel modern, responsive penuh (desktop, tablet, mobile) dengan sidebar berubah jadi drawer di layar kecil
  • Toast notification, modal, dialog konfirmasi, loading state, dan empty state elegan di seluruh halaman
  • Pagination & pencarian real-time di semua tabel data
  • Seluruh mutasi data divalidasi ulang di server (role, nominal, tanggal, field wajib), tidak pernah mempercayai input dari frontend
  • LockService mencegah bentrok data saat beberapa pengurus input bersamaan

Panduan Instalasi

  1. Buat project Apps Script baru di script.google.com (database Google Spreadsheet-nya akan dibuat otomatis oleh sistem, tidak perlu dibuat manual)

  2. Salin seluruh source code ke project Apps Script Buat file .gs dan .html sesuai daftar file di folder rt05/: Config.gs, Utils.gs, Database.gs, Auth.gs, Settings.gs, Code.gs, Warga.gs, Jimpitan.gs, Kas.gs, Kegiatan.gs, Laporan.gs, Users.gs, Dashboard.gs, index.html, css.html, components.html, js_core.html, js_dashboard.html, js_warga.html, js_jimpitan.html, js_kas.html, js_kegiatan.html, js_laporan.html, js_settings.html copy-paste isinya persis (nama file harus sama persis, tanpa mengetik ekstensi saat membuat file baru). Salin juga isi appsscript.json ke Project Settings > Show "appsscript.json" manifest file.

  3. Jalankan setup database (membuat 8 sheet: USERS, WARGA, MUTASI_WARGA, JIMPITAN, KAS, KEGIATAN, SETTINGS, ACTIVITY_LOG) Pilih fungsi initializeDatabase di dropdown toolbar > klik Run (izinkan akses Google saat diminta / Authorize > Advanced > Go to [nama project] (unsafe) > Allow)

  4. Deploy sebagai Web App Deploy > New deployment > pilih tipe "Web app" Execute as: Me Who has access: Anyone (atau "Anyone with Google account" sesuai kebutuhan)

  5. Akses aplikasi di browser Buka Web App URL yang diberikan setelah Deploy (format https://script.google.com/macros/s/xxxxx/exec)

  6. Setup awal & buat akun Admin Karena database masih kosong, otomatis muncul form "Selamat Datang di RT 05 Kwarasan". Isi profil RT (nama wilayah, nama pengurus, nominal jimpitan, saldo awal kas) dan buat akun Admin pertama (nama, username, password minimal 6 karakter) langsung dari form ini. Tidak ada kredensial default tertanam di kode semua ditentukan sendiri saat setup.

Catatan: aplikasi ini memakai Google Spreadsheet sebagai database (bukan MySQL), sehingga tidak perlu instalasi server/database terpisah — cukup akun Google. Tidak ada password default yang perlu diganti karena akun Admin pertama dibuat langsung lewat Setup Wizard dengan password pilihan sendiri. Setiap kali kode diubah, deployment perlu di-update lewat Deploy > Manage deployments > Edit > New version agar perubahan berlaku di Web App URL yang sama.