Book Appointment Now
Contoh Soal Basis Data SMK Kelas 3 Semester 1
Pendahuluan
Basis data merupakan komponen krusial dalam sistem informasi modern. Pemahaman konsep dan implementasinya sangat penting bagi siswa SMK, khususnya kelas 3, sebagai bekal memasuki dunia kerja atau melanjutkan studi. Artikel ini menyajikan contoh soal basis data untuk kelas 3 SMK semester 1, mencakup berbagai topik penting, disertai penjelasan rinci untuk memfasilitasi pemahaman. Soal-soal ini dirancang untuk menguji kemampuan siswa dalam mendesain, membuat, dan memanipulasi basis data.
I. Konsep Dasar Basis Data
A. Definisi Basis Data
1. Apa yang dimaksud dengan basis data? Jelaskan dengan bahasa Anda sendiri.
2. Sebutkan dan jelaskan minimal 3 keuntungan penggunaan basis data dibandingkan dengan sistem penyimpanan data tradisional (misalnya, spreadsheet).
3. Jelaskan perbedaan antara data dan informasi. Berikan contoh konkret.
B. Komponen Basis Data
1. Sebutkan dan jelaskan komponen-komponen utama dalam sebuah sistem basis data (misalnya, hardware, software, data, user, prosedur).
2. Jelaskan peran DBMS (Database Management System) dalam sistem basis data. Berikan contoh beberapa DBMS yang Anda ketahui.
3. Apa yang dimaksud dengan metadata? Mengapa metadata penting dalam basis data?
C. Model Data
1. Jelaskan apa yang dimaksud dengan model data.
2. Sebutkan dan jelaskan jenis-jenis model data yang Anda ketahui (misalnya, hierarchical, network, relational, object-oriented).
3. Fokus pada model data relasional:
* Apa yang dimaksud dengan relasi (tabel) dalam model data relasional?
* Jelaskan konsep primary key dan foreign key. Berikan contoh.
* Apa yang dimaksud dengan atribut (kolom) dalam sebuah relasi?
II. Perancangan Basis Data Relasional
A. Normalisasi
1. Apa yang dimaksud dengan normalisasi basis data? Mengapa normalisasi penting?
2. Jelaskan secara singkat apa itu bentuk normal 1NF, 2NF, dan 3NF.
3. Diberikan sebuah tabel berikut (tidak normal):
| ID_Order | Nama_Pelanggan | Alamat_Pelanggan | ID_Produk | Nama_Produk | Harga_Produk | Jumlah |
|---|---|---|---|---|---|---|
| 1 | Budi | Jl. Merdeka 1 | 101 | Laptop | 10000000 | 1 |
| 1 | Budi | Jl. Merdeka 1 | 102 | Mouse | 100000 | 1 |
| 2 | Ani | Jl. Pahlawan 2 | 101 | Laptop | 10000000 | 1 |
| 3 | Caca | Jl. Diponegoro 3 | 103 | Keyboard | 500000 | 2 |
Normalisasikan tabel di atas hingga bentuk normal 3NF. Tunjukkan langkah-langkahnya.
B. Entity Relationship Diagram (ERD)
1. Apa yang dimaksud dengan ERD? Apa kegunaan ERD dalam perancangan basis data?
2. Jelaskan simbol-simbol yang umum digunakan dalam ERD (entity, attribute, relationship).
3. Gambarkan ERD untuk sistem informasi perpustakaan sederhana yang memiliki entitas: Buku, Anggota, dan Peminjaman. Asumsikan setiap buku memiliki ID, judul, pengarang, dan penerbit. Setiap anggota memiliki ID, nama, alamat, dan nomor telepon. Peminjaman mencatat ID peminjaman, tanggal pinjam, tanggal kembali, buku yang dipinjam, dan anggota yang meminjam. Tentukan cardinality ratio yang tepat untuk setiap relationship.
III. SQL (Structured Query Language)
A. DDL (Data Definition Language)
1. Jelaskan apa yang dimaksud dengan DDL.
2. Tuliskan perintah SQL untuk membuat tabel "Mahasiswa" dengan atribut:
* `NIM` (VARCHAR(10), Primary Key)
* `Nama` (VARCHAR(50), Not Null)
* `Alamat` (VARCHAR(100))
* `Tanggal_Lahir` (DATE)
* `Jurusan` (VARCHAR(30))
3. Tuliskan perintah SQL untuk mengubah tipe data kolom "Alamat" pada tabel "Mahasiswa" menjadi TEXT.
4. Tuliskan perintah SQL untuk menambahkan constraint UNIQUE pada kolom "Nama" pada tabel "Mahasiswa".
5. Tuliskan perintah SQL untuk menghapus tabel "Mahasiswa".
B. DML (Data Manipulation Language)
1. Jelaskan apa yang dimaksud dengan DML.
2. Tuliskan perintah SQL untuk memasukkan data berikut ke tabel "Mahasiswa":
* NIM: 12345, Nama: Andi, Alamat: Jl. Mawar 4, Tanggal_Lahir: 2002-05-10, Jurusan: Teknik Informatika
* NIM: 67890, Nama: Budi, Alamat: Jl. Melati 5, Tanggal_Lahir: 2003-12-25, Jurusan: Sistem Informasi
3. Tuliskan perintah SQL untuk menampilkan semua data dari tabel "Mahasiswa".
4. Tuliskan perintah SQL untuk menampilkan hanya NIM dan Nama dari tabel "Mahasiswa".
5. Tuliskan perintah SQL untuk menampilkan semua mahasiswa yang berasal dari jurusan "Teknik Informatika".
6. Tuliskan perintah SQL untuk mengurutkan data mahasiswa berdasarkan Nama secara ascending.
7. Tuliskan perintah SQL untuk mengubah alamat mahasiswa dengan NIM 12345 menjadi "Jl. Kenanga 6".
8. Tuliskan perintah SQL untuk menghapus data mahasiswa dengan NIM 67890.
C. DCL (Data Control Language)
1. Jelaskan apa yang dimaksud dengan DCL.
2. Jelaskan perintah `GRANT` dan `REVOKE` dalam SQL. Berikan contoh penggunaannya.
3. Mengapa DCL penting dalam pengelolaan basis data?
IV. Transaksi Basis Data
A. Konsep Transaksi
1. Apa yang dimaksud dengan transaksi basis data?
2. Jelaskan properti ACID (Atomicity, Consistency, Isolation, Durability) dalam transaksi basis data. Berikan contoh untuk setiap properti.
3. Mengapa transaksi penting dalam menjaga integritas data?
B. Concurrency Control
1. Apa yang dimaksud dengan concurrency control? Mengapa concurrency control diperlukan?
2. Jelaskan beberapa teknik concurrency control yang Anda ketahui (misalnya, locking, timestamping).
3. Apa yang dimaksud dengan deadlock? Bagaimana cara mengatasi deadlock dalam sistem basis data?
V. Studi Kasus
Buatlah rancangan basis data relasional untuk sistem informasi penjualan online sederhana. Sistem ini harus mampu menyimpan data pelanggan, produk, pesanan, dan detail pesanan.
- Identifikasi entitas-entitas yang terlibat dalam sistem.
- Tentukan atribut-atribut untuk setiap entitas, termasuk primary key dan foreign key.
- Gambarkan ERD untuk sistem tersebut.
- Tuliskan script SQL untuk membuat tabel-tabel yang dibutuhkan.
- Berikan contoh query SQL untuk menampilkan:
- Semua produk yang harganya di atas Rp 500.000.
- Semua pesanan yang dilakukan oleh pelanggan dengan ID tertentu.
- Jumlah total pesanan per pelanggan.
Penutup
Contoh soal di atas mencakup berbagai aspek penting dalam basis data, mulai dari konsep dasar hingga perancangan dan manipulasi data menggunakan SQL. Dengan mempelajari dan memahami contoh soal ini, siswa SMK diharapkan dapat memiliki pemahaman yang kuat tentang basis data dan siap menghadapi tantangan di dunia kerja atau melanjutkan pendidikan ke jenjang yang lebih tinggi. Penting untuk diingat bahwa latihan soal secara berkala dan pemahaman konsep yang mendalam adalah kunci keberhasilan dalam menguasai basis data. Selain contoh soal di atas, siswa juga disarankan untuk mencari referensi lain dan berlatih dengan studi kasus yang lebih kompleks.



