IMPLEMENTASI NORMALISASI DAN KONTROL KEAMANAN PADA BASIS DATA SISTEM INFORMASI AKADEMIK BERBASIS MYSQL
DOI:
https://doi.org/10.61713/jrt.v6i2.377Keywords:
SIAKAD, keamanan basis data, normalisasi 3NF, trigger, prepared statementsAbstract
Sistem Informasi Akademik (SIAKAD) mengelola data sensitif perguruan tinggi yang rentan terhadap manipulasi dan serangan SQL Injection. Skema pengamanan yang umumnya bertumpu pada lapisan aplikasi seringkali menyisakan kerentanan apabila validasi aplikasi berhasil ditembus (bypass). Penelitian ini bertujuan mengimplementasikan normalisasi basis data dan kontrol keamanan pada skema SIAKAD berbasis MySQL. Keamanan diwujudkan dengan mengintegrasikan struktur relasional bentuk normal ketiga (3NF) dan mekanisme validasi internal langsung di tingkat Database Management System (DBMS). Metode penelitian menggunakan Rapid Application Development (RAD) dengan empat tahapan utama. Implementasi teknis dilakukan pada MySQL DBMS menggunakan storage engine InnoDB, batasan kolom (CHECK constraint, NOT NULL, UNIQUE, FOREIGN KEY referensial), dan 10 aturan bisnis dinamis berbasis trigger untuk tiga proses: penjadwalan kelas, transaksi Kartu Rencana Studi (KRS), dan penilaian hasil studi. Pengujian dilakukan pada 13 skenario (7 skenario trigger, 3 skenario CHECK constraint, 3 skenario SQL Injection/SQLmap) menggunakan kueri terparameterisasi (prepared statements) berbasis PHP PDO, simulasi penetrasi manual, pemindaian SQLmap --level=3 --risk=2, serta General Query Log sebagai audit logging. Hasil pengujian menunjukkan 9 skenario penolakan (skenario 1-2, 4-10) ditolak DBMS secara mandiri dengan SQLSTATE 45000 atau pelanggaran CHECK; 1 skenario konversi otomatis (skenario 3: 3,75 menjadi AB) berhasil; 1 skenario penetrasi manual (skenario 11) diproses sebagai literal dan mengembalikan kosong pada endpoint aman; pemindaian kontrol rentan (skenario 12) terdeteksi vulnerable; pemindaian endpoint aman (skenario 13) tidak ditemukan parameter injectable. Seluruh aktivitas kueri tercatat pada audit logging. Dalam batas 13 skenario yang diuji, skema tidak terdeteksi rentan pada parameter yang diuji untuk penjadwalan, KRS, dan penilaian.



