Jl. Agus Salim No.37, Kec.…

08139192475

Latihan Studi Kasus SQL: Merancang dan Membuat Tabel Siswa untuk Sistem Informasi Sekolah


Latihan Studi Kasus SQL: Merancang dan Membuat Tabel Siswa untuk Sistem Informasi Sekolah

Setiap aplikasi berbasis data—seperti Sistem Informasi Sekolah—membutuhkan struktur tabel yang dirancang dengan presisi. Melalui latihan praktis ini, Anda akan belajar menerapkan perintah DDL (Data Definition Language) untuk merancang tabel data siswa dari nol hingga siap digunakan.

Latihan ini sangat cocok bagi Anda yang sedang mendalami SQL dasar, khususnya penerapan tipe data, penentuan kunci utama (Primary Key), serta penerapan aturan validasi (Constraints).

Skenario Kebutuhan Bisnis

Sebuah sekolah menengah membutuhkan tabel baru bernama siswa untuk mencatat biodata murid-muridnya. Berdasarkan analisis kebutuhan dari pihak sekolah, data yang wajib dicatat mencakup kriteria berikut:

  • ID Sistem: Angka acuan unik internal sistem yang bertambah secara otomatis.
  • NIS (Nomor Induk Siswa): Kode identitas unik sepanjang 10 karakter yang tidak boleh ada duplikasi dan tidak boleh kosong.
  • Nama Lengkap: Nama siswa dengan batas maksimal 100 karakter dan wajib diisi.
  • Jenis Kelamin: Pilihan terbatas pada L (Laki-laki) atau P (Perempuan).
  • Tanggal Lahir: Mencatat tanggal lahir siswa untuk perhitungan umur.
  • Email: Alamat surel siswa yang bersifat opsional tetapi harus unik jika diisi.
  • Status Aktif: Penanda apakah siswa masih aktif sekolah (nilai default: TRUE atau 1).
  • Waktu Dibuat: Tanggal dan waktu otomatis saat data dimasukkan ke sistem.

Perancangan Skema Tabel (Data Dictionary)

Sebelum mengeksekusi sintaks SQL, mari petakan kebutuhan di atas ke dalam pemetaan tipe data dan constraint:

Nama Kolom Tipe Data Constraint / Aturan Keterangan
id INT PRIMARY KEY, AUTO_INCREMENT ID unik internal
nis VARCHAR(10) UNIQUE, NOT NULL Nomor Induk Siswa
nama_lengkap VARCHAR(100) NOT NULL Nama siswa
jenis_kelamin ENUM('L', 'P') NOT NULL Pilihan L/P
tanggal_lahir DATE NOT NULL Format YYYY-MM-DD
email VARCHAR(100) UNIQUE Email opsional
is_aktif BOOLEAN DEFAULT TRUE Status keaktifan
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Waktu pembuatan data

Langkah Eksekusi SQL

Gunakan perintah-perintah berikut untuk mengeksekusi latihan ini di RDBMS pilihan Anda (seperti MySQL atau MariaDB).

1. Membuat Database dan Memilihnya

Langkah pertama adalah memastikan Anda bekerja di dalam database yang tepat:

CREATE DATABASE IF NOT EXISTS sekolah_db;
USE sekolah_db;

2. Membuat Tabel siswa

Jalankan query DDL CREATE TABLE berikut berdasarkan perancangan skema yang sudah kita buat:

CREATE TABLE siswa (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nis VARCHAR(10) UNIQUE NOT NULL,
    nama_lengkap VARCHAR(100) NOT NULL,
    jenis_kelamin ENUM('L', 'P') NOT NULL,
    tanggal_lahir DATE NOT NULL,
    email VARCHAR(100) UNIQUE,
    is_aktif BOOLEAN DEFAULT TRUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Pengujian Tabel (Testing)

Untuk memastikan struktur tabel bekerja sesuai aturan, mari lakukan pengujian dengan memasukkan beberapa contoh data.

1. Pengujian Input Data Valid

Coba masukkan dua baris data siswa yang valid berikut:

INSERT INTO siswa (nis, nama_lengkap, jenis_kelamin, tanggal_lahir, email) 
VALUES 
('1024001', 'Budi Santoso', 'L', '2008-05-14', 'budi@sekolah.sch.id'),
('1024002', 'Siti Rahma', 'P', '2008-11-20', 'siti@sekolah.sch.id');

Jalankan perintah SELECT untuk melihat hasilnya:

SELECT * FROM siswa;

2. Pengujian Validasi Error (Constraint Check)

Untuk menguji ketahanan tabel, cobalah beberapa kasus error berikut di query editor Anda untuk melihat bagaimana RDBMS menolaknya:

  • Uji Coba Duplicate NIS: Masukkan data baru dengan NIS yang sama (1024001). Database akan menolak karena pelanggaran aturan UNIQUE.

    -- Harus Error: Duplicate entry '1024001' for key 'nis'
    INSERT INTO siswa (nis, nama_lengkap, jenis_kelamin, tanggal_lahir) 
    VALUES ('1024001', 'Andi Pratama', 'L', '2008-01-10');
  • Uji Coba Opsi ENUM Tidak Valid: Masukkan jenis kelamin di luar opsi L atau P.

    -- Harus Error: Data truncated for column 'jenis_kelamin'
    INSERT INTO siswa (nis, nama_lengkap, jenis_kelamin, tanggal_lahir) 
    VALUES ('1024003', 'Dewi Lestari', 'X', '2008-03-25');

Soal Tantangan Tambahan

Jika Anda sudah berhasil menyelesaikan latihan di atas, cobalah selesaikan dua tantangan modifikasi tabel menggunakan perintah ALTER TABLE berikut:

  1. Tambahkan kolom baru bernama alamat dengan tipe data TEXT yang diposisikan setelah kolom tanggal_lahir.
  2. Tambahkan kolom no_telepon bertipe VARCHAR(15) yang bersifat unik.

Kesimpulan

Melalui latihan studi kasus ini, Anda tidak hanya belajar menulis sintaks CREATE TABLE, tetapi juga memahami pentingnya memilih tipe data dan constraint yang tepat untuk menjaga integritas data aplikasi di masa mendatang.


Mungkin anda menyukai :