Modul Ajar Informatika Kelas 12 SMA: Manajemen Basis Data Relasional SQL dan Desain NoSQL (Bab 3)
Merancang skema relasional, melakukan normalisasi data (1NF–3NF), mengeksekusi kueri SQL kompleks (JOIN/GROUP BY), dan membandingkannya dengan model NoSQL.
Capaian dan tujuan pembelajaran
Merancang Entity Relationship Diagram (ERD) dan melakukan normalisasi data tabel relasional hingga bentuk normal ketiga (3NF).
Menuliskan kueri SQL untuk manipulasi data (DDL & DML: SELECT, INSERT, UPDATE, DELETE, JOIN, AGGREGATE).
Menganalisis perbedaan karakteristik, kelebihan, dan skenario penggunaan basis data Relasional (SQL) versus Non-Relasional (NoSQL Document Store).
Materi pokok & uraian konsep pembelajaran
Data merupakan aset digital paling berharga dalam era ekonomi informasi. Pada jenjang SMA Kelas 12, peserta didik mempelajari bagaimana data disimpan, distrukturkan, dan dikelola secara efisien serta aman melalui sistem manajemen basis data (*Database Management System* - DBMS). Peserta didik menguasai dasar-dasar pemodelan konseptual menggunakan Diagram Hubungan Entitas (*Entity Relationship Diagram* - ERD).
Proses normalisasi data (1NF, 2NF, 3NF) dipelajari secara mendalam untuk mengeliminasi redundansi data dan mencegah anomali operasi (*insert, update, delete anomalies*). Peserta didik mempraktikkan penulisan kueri *Structured Query Language* (SQL) tingkat lanjut, mencakup operasi penggabungan multitabel (*INNER JOIN, LEFT JOIN*), fungsi agregasi (*COUNT, SUM, AVG*), serta klausa pengelompokan (*GROUP BY, HAVING*).
Pembahasan diperkaya dengan komparasi arsitektur basis data modern antara RDBMS relasional (seperti PostgreSQL/MySQL) yang menjunjung integritas transaksi ACID (*Atomicity, Consistency, Isolation, Durability*) dengan sistem NoSQL dokumen (seperti MongoDB) yang menawarkan fleksibilitas skema dinamis dan skalabilitas horizontal untuk penanganan data tak terstruktur.
Peta subtopik bahasan
Pemodelan Data ERD dan Normalisasi Basis Data (1NF–3NF)
5 butir instrumen soal pilihan ganda berbasis HOTS untuk mengukur pemahaman konsep pada bab ini. Dilengkapi kunci jawaban dan uraian pembahasan analitis.
Soal 1
Sebuah tabel siswa memuat atribut: `NIS (PK)`, `Nama`, `Kode_Kelas`, dan `Nama_Wali_Kelas`. Jika `Nama_Wali_Kelas` bergantung secara fungsional pada `Kode_Kelas`, anomali ini melanggar aturan bentuk normal...
A. Bentuk Normal Pertama (1NF)
B. Bentuk Normal Kedua (2NF)
C. Bentuk Normal Ketiga (3NF) karena adanya dependensi transitif (non-key bergantung pada non-key lainnya)
D. Tidak melanggar bentuk normal apa pun
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan C
Pembahasan: Bentuk Normal Ketiga (3NF) mensyaratkan tidak adanya ketergantungan transitif di mana atribut bukan kunci (`Nama_Wali_Kelas`) bergantung pada atribut bukan kunci lainnya (`Kode_Kelas`). Solusinya adalah memisahkan data kelas ke tabel tersendiri.
Soal 2
Perhatikan kueri SQL berikut:
```sql
SELECT jurusan, COUNT(*) AS total_siswa
FROM siswa
GROUP BY jurusan
HAVING COUNT(*) > 30;
```
Apa fungsi dari klausa `HAVING` pada kueri di atas?
A. Mengurutkan data siswa dari huruf Z ke A.
B. Menyaring kelompok (group) jurusan yang hanya memiliki jumlah total siswa lebih dari 30 orang.
C. Menghapus data siswa yang jurusannya kurang dari 30 orang.
D. Mengubah tipe data kolom jurusan menjadi angka numerik.
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B
Pembahasan: Klausa `HAVING` digunakan khusus untuk memfilter hasil pengelompokan fungsi agregasi (`GROUP BY`), berbeda dengan `WHERE` yang memfilter baris sebelum pengelompokan.
Soal 3
Jika kita ingin menampilkan seluruh data dari tabel `pelanggan` beserta data `pesanan` mereka, termasuk pelanggan yang belum pernah melakukan pesanan sama sekali, jenis operasi JOIN yang wajib digunakan adalah...
A. INNER JOIN
B. LEFT JOIN (atau LEFT OUTER JOIN) dengan tabel pelanggan di sisi kiri
C. CROSS JOIN
D. NATURAL JOIN
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B
Pembahasan: `LEFT JOIN` mengambil seluruh baris dari tabel kiri (`pelanggan`) dan mencocokkannya dengan tabel kanan (`pesanan`); jika tidak ada kecocokan, kolom tabel kanan akan diisi nilai `NULL`.
Soal 4
Karakteristik utama basis data NoSQL berbasis dokumen (seperti MongoDB) yang membedakannya dari RDBMS SQL klasik adalah...
A. Tidak mendukung penyimpanan data teks sama sekali.
B. Menggunakan skema data fleksibel tanpa struktur tabel kaku, di mana setiap dokumen JSON dapat memiliki field atribut yang berbeda-beda.
C. Hanya dapat dioperasikan secara luring tanpa jaringan internet.
D. Tidak dapat menyimpan angka desimal.
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B
Pembahasan: Basis data NoSQL dokumen menyimpan data dalam bentuk dokumen semi-terstruktur (JSON/BSON) yang memungkinkan skema dinamis dan mudah disesuaikan tanpa migrasi DDL ketat.
Soal 5
Dalam prinsip transaksi ACID pada basis data relasional, apa yang dimaksud dengan sifat 'Atomicity'?
A. Transaksi dipecah menjadi atom-atom partikel radioaktif.
B. Seluruh rangkaian operasi dalam satu transaksi harus berhasil dieksekusi seutuhnya; jika salah satu perintah gagal, maka seluruh operasi dibatalkan (rollback) ke kondisi awal.
C. Transaksi hanya boleh diproses oleh satu komputer di dunia.
D. Data disimpan dalam bentuk partikel terkecil di RAM.
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B
Pembahasan: Atomicity (keutuhan transaksi) menjamin aturan 'all-or-nothing': transaksi diperlakukan sebagai satu unit tunggal yang tidak dapat terbagi; kegagalan sebagian akan membatalkan seluruh operasi.
Instrumen evaluasi lengkap, lembar kerja peserta didik (LKPD), dan rubrik penilaian sumatif tersedia di dalam paket berkas perangkat ajar di bawah ini.