Di era digital seperti sekarang, pengelolaan keuangan siswa di sekolah masih banyak yang dilakukan secara manual. Sistem tabungan siswa berbasis web hadir sebagai solusi untuk memudahkan administrasi keuangan sekolah. Artikel ini akan membahas secara lengkap tentang sistem tabungan siswa berbasis web, mulai dari fitur, cara kerja, hingga implementasinya menggunakan PHP dan MySQL.
Apa Itu Sistem Tabungan Siswa?
Sistem tabungan siswa adalah sebuah aplikasi yang dirancang untuk mencatat transaksi keuangan siswa, seperti setoran dan penarikan dana tabungan. Sistem ini membantu sekolah dalam:
Mencatat transaksi secara digital
Memantau saldo tabungan setiap siswa
Membuat laporan keuangan secara otomatis
Mengurangi risiko kesalahan pencatatan manual
Dengan sistem ini, guru, admin sekolah, dan orang tua siswa dapat memantau perkembangan tabungan siswa dengan lebih transparan dan efisien.
Fitur Utama Sistem Tabungan Siswa
Berikut adalah fitur-fitur utama yang tersedia dalam sistem tabungan siswa berbasis web:
1. Manajemen Data Siswa
Input data siswa (NIS, nama, kelas, alamat, telepon)
Edit dan hapus data siswa
Pencarian siswa berdasarkan NIS atau nama
2. Transaksi Tabungan
Pencatatan setoran dan penarikan dana
Riwayat transaksi dengan detail tanggal dan keterangan
Filter transaksi berdasarkan siswa tertentu
3. Laporan Keuangan
Perhitungan saldo tabungan per siswa
Rekapitulasi total setoran dan penarikan
Ekspor data ke format Excel atau PDF (opsional)
4. Sistem Login dan Keamanan
Autentikasi pengguna (admin/guru)
Perlindungan terhadap SQL injection
Session management untuk mencegah akses tanpa login
Cara Kerja Sistem Tabungan Siswa
Sistem ini dibangun menggunakan:
Frontend: HTML, CSS, JavaScript (tampilan responsif)
Backend: PHP (tanpa PDO)
Database: MySQL
Alur Kerja Sistem
Admin/guru login ke sistem menggunakan username dan password.
Input data siswa jika belum terdaftar.
Catat transaksi (setor/tarik) dengan memilih siswa dari dropdown.
Lihat riwayat transaksi dan saldo siswa.
Generate laporan jika diperlukan.
Implementasi Sistem Tabungan Siswa
Berikut adalah penjelasan teknis implementasi sistem ini:
1. Struktur Database
Database terdiri dari dua tabel utama:
Tabel
siswa
: Menyimpan data siswa (NIS, nama, kelas, dll).Tabel
tabungan
: Mencatat semua transaksi (ID, NIS, jenis transaksi, jumlah, tanggal).
Contoh query pembuatan tabel:
CREATE TABLE siswa ( nis VARCHAR(20) PRIMARY KEY, nama VARCHAR(100) NOT NULL, kelas VARCHAR(10) NOT NULL, alamat TEXT, telepon VARCHAR(15) ); CREATE TABLE tabungan ( id INT AUTO_INCREMENT PRIMARY KEY, nis VARCHAR(20) NOT NULL, tanggal DATE NOT NULL, jenis ENUM('setor', 'tarik') NOT NULL, jumlah DECIMAL(10,2) NOT NULL, keterangan TEXT, FOREIGN KEY (nis) REFERENCES siswa(nis) );
2. Koneksi Database (config.php)
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "sistem_tabungan";
$conn = mysqli_connect($host, $user, $pass, $db);
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
3. Fitur Pencarian Siswa
Untuk memudahkan pencarian siswa saat input transaksi, sistem menyediakan fitur pencarian:
// Pencarian siswa $search = isset($_GET['search']) ? $_GET['search'] : ''; $search_condition = ""; if (!empty($search)) { $search = mysqli_real_escape_string($conn, $search); $search_condition = "WHERE nis LIKE '%$search%' OR nama LIKE '%$search%'"; } $siswa = query("SELECT * FROM siswa $search_condition ORDER BY nama");
4. Form Transaksi Tabungan
<form action="" method="post"> <div class="form-group"> <label for="nis">Siswa</label> <select id="nis" name="nis" required> <option value="">Pilih Siswa</option> <?php foreach ($siswa as $row) : ?> <option value="<?= $row['nis']; ?>"> <?= $row['nis']; ?> - <?= $row['nama']; ?> </option> <?php endforeach; ?> </select> </div> <div class="form-group"> <label for="jenis">Jenis Transaksi</label> <select id="jenis" name="jenis" required> <option value="setor">Setor</option> <option value="tarik">Tarik</option> </select> </div> <button type="submit" name="tambah">Simpan</button> </form>
5. Perhitungan Saldo
Saldo dihitung dari total setoran dikurangi total penarikan:
SELECT s.nis, s.nama, SUM(IF(t.jenis = 'setor', t.jumlah, 0)) AS total_setor, SUM(IF(t.jenis = 'tarik', t.jumlah, 0)) AS total_tarik, (SUM(IF(t.jenis = 'setor', t.jumlah, 0)) - (SUM(IF(t.jenis = 'tarik', t.jumlah, 0))) AS saldo FROM siswa s LEFT JOIN tabungan t ON s.nis = t.nis GROUP BY s.nis, s.nama;
Kelebihan Sistem Ini
Mudah Digunakan: Antarmuka sederhana dan intuitif.
Responsif: Dapat diakses via desktop, tablet, atau smartphone.
Aman: Menggunakan proteksi dasar terhadap SQL injection.
Cepat: Proses pencarian dan filter data dioptimalkan.
Kesimpulan
Sistem tabungan siswa berbasis web ini memberikan solusi praktis bagi sekolah dalam mengelola tabungan siswa. Dengan fitur pencatatan transaksi, laporan otomatis, dan antarmuka yang user-friendly, sistem ini dapat meningkatkan efisiensi administrasi keuangan sekolah.
Implementasi sistem ini bisa dikembangkan lebih lanjut dengan menambahkan fitur seperti:
Notifikasi ke orang tua via SMS/email
Integrasi dengan pembayaran digital
Ekspor laporan ke PDF/Excel
Dengan demikian, sekolah dapat beralih dari pencatatan manual ke sistem digital yang lebih akurat dan efisien.
Tidak ada komentar:
Posting Komentar