Menghadapi pelajaran Informatika di kelas 12, terutama bab Basis Data, sering bikin sebagian siswa merasa deg-degan. Materinya cukup teknis, mulai dari istilah tabel, record, field, sampai perintah SQL yang harus ditulis presisi. Padahal, kalau sudah paham polanya, basis data itu sebenarnya menyenangkan mirip menyusun puzzle rapi yang setiap potongannya punya tempat sendiri.
Supaya pemahaman makin matang, latihan soal jadi kunci utama. Bukan sekadar membaca teori, tapi mencoba menjawab berbagai tipe pertanyaan. Berikut kumpulan latihan soal yang bisa dipakai untuk mengasah kemampuan, lengkap dengan pembahasannya.
Bagian 1: Pilihan Ganda
1. Dalam sebuah basis data, kumpulan dari beberapa tabel yang saling berhubungan disebut dengan…
A. Field
B. Record
C. Database
D. Entitas
E. Atribut
Jawaban: C
Database atau basis data adalah wadah besar yang menampung banyak tabel. Kalau field itu kolom, record itu baris, sedangkan entitas merujuk pada objek yang datanya disimpan.
2. Kolom yang berfungsi sebagai identitas unik setiap baris data dalam tabel disebut…
A. Foreign key
B. Primary key
C. Candidate key
D. Super key
E. Composite key
Jawaban: B
Primary key memastikan tidak ada dua baris data yang punya nilai sama. Misalnya NISN di tabel siswa, atau kode barang di tabel inventaris.
3. Perintah SQL untuk menampilkan seluruh data dari tabel siswa adalah…
A. SELECT * FROM siswa;
B. SHOW siswa;
C. DISPLAY siswa;
D. GET ALL siswa;
E. VIEW siswa;
Jawaban: A
Tanda bintang berarti mengambil semua kolom. Perintah ini paling dasar dan wajib hafal di luar kepala.
4. Tipe data yang tepat untuk menyimpan keterangan “tanggal lahir” adalah…
A. VARCHAR
B. INT
C. DATE
D. TEXT
E. DECIMAL
Jawaban: C
DATE khusus menampung format tanggal (YYYY-MM-DD). Kalau pakai VARCHAR, data tetap masuk, tapi fungsi tanggal seperti perhitungan umur jadi tidak bisa dijalankan.
5. Relasi antar tabel yang menghubungkan satu baris data di tabel A dengan banyak baris di tabel B disebut…
A. One to one
B. One to many
C. Many to many
D. Zero to one
E. Self relation
Jawaban: B
Contohnya satu siswa bisa punya banyak nilai mata pelajaran. Satu sisi “one”, sisi lainnya “many”.
Bagian 2: Soal Isian Singkat
6. Sebutkan tiga contoh perangkat lunak basis data yang umum digunakan!
Jawaban:
MySQL, PostgreSQL, Microsoft SQL Server, Oracle, atau MariaDB. (Pilih tiga di antaranya.)
7. Apa fungsi dari perintah WHERE pada SQL?
Jawaban:
Untuk menyaring data berdasarkan kondisi tertentu. Misalnya SELECT * FROM siswa WHERE kelas = 'XII'; hanya akan menampilkan siswa kelas XII saja.
8. Jelaskan perbedaan antara DELETE dan DROP dalam SQL.
Jawaban:
DELETE menghapus isi baris data di dalam tabel, tetapi struktur tabelnya tetap ada. Sementara DROP menghapus tabel secara keseluruhan, termasuk struktur dan datanya. Sekali di-drop, tabel benar-benar hilang dari database.
9. Apa yang dimaksud dengan normalisasi basis data?
Jawaban:
Normalisasi adalah proses merapikan struktur tabel agar tidak terjadi duplikasi data dan menjaga konsistensi. Tujuannya mengurangi risiko anomali saat insert, update, atau delete.
10. Sebutkan dua keuntungan menggunakan basis data dibandingkan menyimpan data di file Excel terpisah-pisah.
Jawaban:
Pertama, data lebih terintegrasi dan tidak mudah duplikat. Kedua, akses bisa dilakukan banyak pengguna secara bersamaan dengan kontrol hak akses yang lebih aman.
Bagian 3: Soal Uraian
11. Perhatikan tabel berikut.
Tabel buku:
| id_buku | judul | penulis | tahun |
|---|---|---|---|
| 01 | Pemrograman Python | Andi | 2020 |
| 02 | Basis Data Modern | Sari | 2021 |
| 03 | Jaringan Komputer | Budi | 2019 |
Tuliskan perintah SQL untuk menampilkan judul dan penulis buku yang terbit setelah tahun 2019!
Jawaban:
SELECT judul, penulis FROM buku WHERE tahun > 2019;
Hasilnya hanya baris dengan id_buku 02 yang muncul, karena tahun 2020 dan 2021 memenuhi syarat.
12. Sebuah sekolah ingin membuat sistem perpustakaan sederhana. Mereka butuh menyimpan data anggota, data buku, dan data peminjaman. Jelaskan bagaimana relasi antar tabelnya.
Jawaban:
Tabel anggota menyimpan data siswa (id_anggota, nama, kelas). Tabel buku menyimpan data buku (id_buku, judul, penulis). Tabel peminjaman menjadi penghubung yang mencatat id_anggota, id_buku, tanggal_pinjam, dan tanggal_kembali. Relasi antara anggota dan peminjaman adalah one to many, begitu pula antara buku dan peminjaman. Dengan begitu, satu anggota bisa meminjam banyak buku, dan satu buku bisa dipinjam bergantian oleh banyak anggota di waktu berbeda.
13. Mengapa foreign key penting dalam sebuah basis data relasional?
Jawaban:
Foreign key menjaga agar data antar tabel tetap nyambung dan tidak ada data yatim. Misalnya, tabel peminjaman tidak boleh mencantumkan id_anggota yang tidak terdaftar di tabel anggota. Kalau aturan ini tidak ada, bisa muncul data peminjaman atas nama orang yang tidak jelas. Foreign key juga membantu menjaga integritas referensial saat ada penghapusan atau perubahan data.
Tips Mengerjakan Soal Basis Data
Pertama, biasakan membaca perintah dengan teliti. Banyak siswa terjebak karena salah menafsirkan kata “tampilkan semua kolom” dan “tampilkan kolom tertentu”. Kedua, hafalkan pola dasar SQL: SELECT, FROM, WHERE, ORDER BY, GROUP BY. Pola ini ibarat rumus matematika, kalau sudah hafal, variasi soal akan terasa lebih ringan. Ketiga, jangan ragu menggambar relasi tabel di kertas buram. Cara ini sangat membantu ketika harus menganalisis hubungan one to many atau many to many.
Keempat, pahami konsep bukan sekadar hafalan. Soal uraian biasanya menuntut penjelasan logis, bukan jawaban satu kata. Kalau kamu paham kenapa normalisasi dibutuhkan, kamu bisa menjawab dengan bahasa sendiri tanpa harus menghafal definisi dari buku.
Latihan soal di atas bisa dipakai sebagai bahan belajar mandiri atau diskusi kelompok. Coba kerjakan dulu tanpa melihat kunci, baru cocokkan jawabannya. Kalau ada yang salah, jangan langsung kecewa—justru di situ letak proses belajar yang sebenarnya. Basis data memang awalnya terasa teknis, tapi begitu logikanya klik, materi ini jadi salah satu bab paling masuk akal di Informatika kelas 12.
Semoga latihan ini membantu persiapan ulangan, ujian sekolah, atau bahkan tugas praktik. Selamat belajar, dan jangan lupa istirahat cukup biar otak tetap fresh saat menulis query.









