Selasa, 20 Mei 2025

Sistem Tabungan Siswa Berbasis Web: Solusi Digital untuk Manajemen Keuangan Sekolah

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

  1. Admin/guru login ke sistem menggunakan username dan password.

  2. Input data siswa jika belum terdaftar.

  3. Catat transaksi (setor/tarik) dengan memilih siswa dari dropdown.

  4. Lihat riwayat transaksi dan saldo siswa.

  5. 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:

sql

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

<?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:

php

// 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

html
<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:

sql

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

  1. Mudah Digunakan: Antarmuka sederhana dan intuitif.

  2. Responsif: Dapat diakses via desktop, tablet, atau smartphone.

  3. Aman: Menggunakan proteksi dasar terhadap SQL injection.

  4. 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.

 šŸ“„Downloads File Disini !!

Tidak ada komentar:

Posting Komentar

Panduan Lengkap Membuat Database, Tabel, Menambah User, dan Memberikan Privilege di Ubuntu Server

Dalam dunia administrasi server, pengelolaan database merupakan salah satu keterampilan fundamental yang harus dikuasai. Ubuntu Server, seba...