Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Dunia digital yang semakin berkembang pesat tak lepas dari peran penting basis data. Mulai dari mengelola data pelanggan sebuah toko online, data inventaris perpustakaan, hingga data pengguna media sosial, semuanya tersimpan dan terorganisir dengan rapi dalam sebuah basis data. Bagi siswa kelas 11, memahami konsep dasar basis data merupakan bekal penting untuk menghadapi tantangan di era informasi ini.
Pada semester 1 kelas 11, materi basis data umumnya berfokus pada pengenalan konsep, pemodelan data, dan pengenalan bahasa kueri dasar. Artikel ini akan membahas beberapa contoh soal yang sering muncul dalam ujian atau latihan di kelas, lengkap dengan penjelasan mendalam untuk membantu Anda menguasai materi ini.
Bagian ini akan menguji pemahaman Anda tentang terminologi dan konsep fundamental basis data.
Contoh Soal 1:
Jelaskan perbedaan antara basis data (database) dan sistem manajemen basis data (DBMS – Database Management System). Berikan contoh masing-masing.
Pembahasan:
Basis Data (Database):
Basis data adalah kumpulan data yang terorganisir dan saling berhubungan, disimpan secara elektronik sehingga dapat dikelola, diakses, dan diperbarui dengan mudah. Data dalam basis data biasanya disusun dalam tabel-tabel yang memiliki struktur tertentu. Tujuan utama basis data adalah untuk menyimpan, mengambil, dan mengelola informasi secara efisien.
Buku
(judul, pengarang, ISBN, tahun terbit), Anggota
(nama, alamat, nomor anggota), dan Peminjaman
(nomor anggota, ISBN, tanggal pinjam, tanggal kembali).Sistem Manajemen Basis Data (DBMS):
DBMS adalah perangkat lunak yang dirancang untuk membuat, memelihara, dan mengontrol akses ke basis data. DBMS bertindak sebagai perantara antara pengguna (atau aplikasi) dan basis data fisik. Tugas DBMS meliputi:
Mendefinisikan struktur data (menggunakan Data Definition Language – DDL).
Memanipulasi data (menggunakan Data Manipulation Language – DML) seperti menambah, menghapus, mengubah, dan mencari data.
Mengontrol keamanan data.
Memastikan integritas data.
Mengelola konkurensi (akses bersamaan oleh banyak pengguna).
Melakukan pencadangan dan pemulihan data.
Contoh DBMS: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, SQLite, MongoDB.
Analogi: Bayangkan sebuah perpustakaan fisik. Basis datanya adalah semua buku yang tersusun rapi di rak-raknya. DBMS-nya adalah pustakawan dan sistem kartu pinjaman yang memungkinkan Anda mencari buku, meminjamnya, dan mengembalikannya dengan tertib. Tanpa pustakawan (DBMS), mengelola semua buku (basis data) akan sangat kacau.
Contoh Soal 2:
Sebutkan dan jelaskan minimal tiga jenis model basis data yang umum digunakan!
Pembahasan:
Ada beberapa model basis data yang digunakan, namun yang paling umum dikenal dan dipelajari di tingkat awal adalah:
Model Relasional (Relational Model):
Ini adalah model basis data yang paling dominan digunakan saat ini. Dalam model relasional, data disimpan dalam bentuk tabel-tabel yang disebut relasi. Setiap tabel terdiri dari baris (disebut tupel atau record) dan kolom (disebut atribut). Hubungan antar tabel dibentuk melalui penggunaan kunci (key). Kunci primer (primary key) adalah atribut unik untuk setiap baris dalam satu tabel, sedangkan kunci asing (foreign key) adalah atribut di satu tabel yang merujuk ke kunci primer di tabel lain, menciptakan hubungan antar tabel.
Model Hirarkis (Hierarchical Model):
Model ini mengatur data dalam struktur seperti pohon (tree), di mana setiap data memiliki satu induk (parent) kecuali data di puncak pohon (root). Setiap induk dapat memiliki banyak anak (child), tetapi setiap anak hanya memiliki satu induk. Hubungan antar data bersifat satu-ke-banyak (one-to-many).
Model Jaringan (Network Model):
Mirip dengan model hirarkis, tetapi model jaringan lebih fleksibel. Dalam model jaringan, data diorganisir dalam bentuk graf. Setiap record dapat memiliki banyak induk dan banyak anak. Ini memungkinkan representasi hubungan yang lebih kompleks, termasuk hubungan banyak-ke-banyak.
Selain ketiga model di atas, ada juga model NoSQL (Not Only SQL) yang semakin populer, seperti model dokumen, model key-value, model column-family, dan model graph. Namun, untuk kelas 11 semester 1, fokus biasanya pada model relasional.
Pemodelan data adalah proses merancang struktur basis data. Entity-Relationship Diagram (ERD) adalah alat visual yang sangat penting dalam tahap ini.
Contoh Soal 3:
Perhatikan deskripsi sistem informasi perpustakaan berikut:
Buku
. Setiap Buku
memiliki ISBN
(unik), Judul
, Pengarang
, dan TahunTerbit
.Anggota
. Setiap Anggota
memiliki NomorAnggota
(unik), Nama
, Alamat
, dan NomorTelepon
.Anggota
dapat meminjam banyak Buku
.Buku
dapat dipinjam oleh banyak Anggota
(dalam periode waktu yang berbeda).TanggalPinjam
dan TanggalKembali
.Buatlah Entity-Relationship Diagram (ERD) untuk sistem informasi perpustakaan tersebut. Tentukan entitas, atribut, dan relasi antar entitas. Identifikasi kunci primer (primary key) dan kunci asing (foreign key).
Pembahasan:
Mari kita uraikan langkah demi langkah untuk membuat ERD:
1. Identifikasi Entitas:
Entitas adalah objek atau konsep utama dalam sistem yang ingin kita simpan informasinya. Dari deskripsi di atas, entitasnya adalah:
Buku
Anggota
2. Identifikasi Atribut:
Atribut adalah karakteristik atau properti dari setiap entitas.
Buku
:
ISBN
(Primary Key)Judul
Pengarang
TahunTerbit
Anggota
:
NomorAnggota
(Primary Key)Nama
Alamat
NomorTelepon
3. Identifikasi Relasi:
Relasi adalah hubungan antara dua atau lebih entitas.
Anggota
dan Buku
adalah "meminjam".4. Tentukan Kardinalitas Relasi:
Kardinalitas menunjukkan berapa banyak instance dari satu entitas yang dapat berelasi dengan berapa banyak instance dari entitas lain.
Anggota
dapat meminjam banyak Buku
." (Satu Anggota ke Banyak Buku)Buku
dapat dipinjam oleh banyak Anggota
." (Satu Buku ke Banyak Anggota)Ketika kedua pernyataan ini digabungkan, relasi antara Anggota
dan Buku
adalah banyak-ke-banyak (Many-to-Many).
5. Penanganan Relasi Banyak-ke-Banyak:
Dalam model relasional, relasi banyak-ke-banyak biasanya dipecah menjadi dua relasi satu-ke-banyak melalui sebuah entitas asosiatif atau tabel penghubung. Dalam kasus ini, transaksi "peminjaman" itu sendiri adalah sebuah kejadian yang perlu dicatat. Jadi, kita akan membuat entitas baru bernama Peminjaman
.
Peminjaman
akan memiliki atribut:
ID_Peminjaman
(Primary Key untuk tabel Peminjaman, bisa auto-increment)NomorAnggota
(Foreign Key yang merujuk ke Anggota
)ISBN
(Foreign Key yang merujuk ke Buku
)TanggalPinjam
TanggalKembali
Dengan adanya entitas Peminjaman
, relasi menjadi:
Anggota
(satu) — melakukan
— Peminjaman
(banyak)Buku
(satu) — terlibat dalam
— Peminjaman
(banyak)Ini adalah dua relasi satu-ke-banyak.
6. Menggambar ERD:
Kita akan menggunakan notasi standar (misalnya, notasi Chen atau notasi Crow’s Foot) untuk menggambar ERD.
Representasi dengan Notasi Crow’s Foot (umum digunakan):
+-----------+ +--------------+ +-------+
| Anggota |-------| Peminjaman |-------| Buku |
+-----------+ +--------------+ +-------+
| PK NomorAnggota| | PK ID_Peminjaman| | PK ISBN |
| Nama | | FK NomorAnggota | | Judul |
| Alamat| | FK ISBN | | Pengarang|
| NoTelp| | TanggalPinjam | | TahunTerbit|
+-----------+ | TanggalKembali| +-------+
+--------------+
Keterangan Notasi:
PK
: Primary KeyFK
: Foreign KeyAnggota
ke Peminjaman
dengan tanda "kaki gagak" (crow’s foot) di sisi Peminjaman
menunjukkan kardinalitas satu-ke-banyak (satu anggota dapat melakukan banyak peminjaman).Buku
ke Peminjaman
dengan tanda "kaki gagak" (crow’s foot) di sisi Peminjaman
menunjukkan kardinalitas satu-ke-banyak (satu buku dapat terlibat dalam banyak peminjaman).Dalam tabel Peminjaman
, NomorAnggota
adalah kunci asing yang merujuk ke NomorAnggota
di tabel Anggota
, dan ISBN
adalah kunci asing yang merujuk ke ISBN
di tabel Buku
.
SQL adalah bahasa standar yang digunakan untuk berkomunikasi dengan basis data relasional.
Contoh Soal 4:
Diberikan struktur tabel berikut:
Tabel: Mahasiswa |
NIM | Nama | Jurusan | IPK |
---|---|---|---|---|
2023001 | Budi | Informatika | 3.75 | |
2023002 | Siti | Informatika | 3.90 | |
2023003 | Agus | Teknik Mesin | 3.50 | |
2023004 | Dewi | Informatika | 3.80 | |
2023005 | Eko | Teknik Sipil | 3.60 |
Tabel: MataKuliah |
KodeMK | NamaMK | SKS |
---|---|---|---|
IF101 | Basis Data | 3 | |
IF102 | Algoritma | 3 | |
TM201 | Mekanika Fluida | 4 | |
IF103 | Jaringan Komputer | 3 | |
TS301 | Struktur Beton | 4 |
Tabel: Nilai |
NIM | KodeMK | Nilai |
---|---|---|---|
2023001 | IF101 | A | |
2023001 | IF102 | B | |
2023002 | IF101 | A | |
2023002 | IF103 | A | |
2023003 | TM201 | B | |
2023004 | IF101 | A | |
2023004 | IF102 | A | |
2023005 | TS301 | B |
Buatlah kueri SQL untuk menjawab pertanyaan-pertanyaan berikut:
a. Tampilkan semua data mahasiswa yang berasal dari jurusan Informatika.
b. Tampilkan Nama dan IPK mahasiswa yang memiliki IPK lebih dari 3.7.
c. Tampilkan Nama Mata Kuliah dan SKS untuk mata kuliah yang memiliki SKS 3.
d. Tampilkan NIM, Nama Mahasiswa, dan Nama Mata Kuliah dari mahasiswa yang mengambil mata kuliah Basis Data (KodeMK: IF101).
e. Tampilkan Nama Mahasiswa dan Nilai Mata Kuliah Basis Data (KodeMK: IF101).
Pembahasan:
Kita akan menggunakan sintaks dasar SQL: SELECT
, FROM
, WHERE
, JOIN
.
a. Tampilkan semua data mahasiswa yang berasal dari jurusan Informatika.
SELECT *
FROM Mahasiswa
WHERE Jurusan = 'Informatika';
SELECT *
: Memilih semua kolom dari tabel.FROM Mahasiswa
: Menentukan tabel sumber data adalah Mahasiswa
.WHERE Jurusan = 'Informatika'
: Memfilter baris di mana nilai kolom Jurusan
adalah ‘Informatika’.b. Tampilkan Nama dan IPK mahasiswa yang memiliki IPK lebih dari 3.7.
SELECT Nama, IPK
FROM Mahasiswa
WHERE IPK > 3.7;
SELECT Nama, IPK
: Memilih hanya kolom Nama
dan IPK
.FROM Mahasiswa
: Menentukan tabel sumber data.WHERE IPK > 3.7
: Memfilter baris di mana nilai kolom IPK
lebih besar dari 3.7.c. Tampilkan Nama Mata Kuliah dan SKS untuk mata kuliah yang memiliki SKS 3.
SELECT NamaMK, SKS
FROM MataKuliah
WHERE SKS = 3;
SELECT NamaMK, SKS
: Memilih kolom NamaMK
dan SKS
.FROM MataKuliah
: Menentukan tabel sumber data.WHERE SKS = 3
: Memfilter baris di mana nilai kolom SKS
adalah 3.d. Tampilkan NIM, Nama Mahasiswa, dan Nama Mata Kuliah dari mahasiswa yang mengambil mata kuliah Basis Data (KodeMK: IF101).
Untuk menggabungkan informasi dari tabel Mahasiswa
, Nilai
, dan MataKuliah
, kita perlu menggunakan JOIN
.
SELECT M.NIM, M.Nama, MK.NamaMK
FROM Mahasiswa M
JOIN Nilai N ON M.NIM = N.NIM
JOIN MataKuliah MK ON N.KodeMK = MK.KodeMK
WHERE MK.KodeMK = 'IF101';
SELECT M.NIM, M.Nama, MK.NamaMK
: Memilih kolom NIM
dan Nama
dari tabel Mahasiswa
(dengan alias M
), serta NamaMK
dari tabel MataKuliah
(dengan alias MK
).FROM Mahasiswa M
: Memulai dengan tabel Mahasiswa
dan memberinya alias M
.JOIN Nilai N ON M.NIM = N.NIM
: Menggabungkan tabel Mahasiswa
dengan tabel Nilai
(alias N
) berdasarkan kesamaan kolom NIM
.JOIN MataKuliah MK ON N.KodeMK = MK.KodeMK
: Menggabungkan hasil sebelumnya dengan tabel MataKuliah
(alias MK
) berdasarkan kesamaan kolom KodeMK
.WHERE MK.KodeMK = 'IF101'
: Memfilter hasil untuk hanya menampilkan data yang berhubungan dengan mata kuliah ‘IF101’.e. Tampilkan Nama Mahasiswa dan Nilai Mata Kuliah Basis Data (KodeMK: IF101).
Ini mirip dengan soal d, tetapi kita ingin menampilkan nilai dari tabel Nilai
.
SELECT M.Nama, N.Nilai
FROM Mahasiswa M
JOIN Nilai N ON M.NIM = N.NIM
WHERE N.KodeMK = 'IF101';
SELECT M.Nama, N.Nilai
: Memilih kolom Nama
dari Mahasiswa
dan Nilai
dari Nilai
.FROM Mahasiswa M
: Tabel Mahasiswa
dengan alias M
.JOIN Nilai N ON M.NIM = N.NIM
: Menggabungkan Mahasiswa
dengan Nilai
berdasarkan NIM
.WHERE N.KodeMK = 'IF101'
: Memfilter hanya untuk mata kuliah ‘IF101’.Memahami konsep basis data, mampu memodelkannya menggunakan ERD, dan menguasai dasar-dasar kueri SQL adalah fondasi yang kuat bagi siswa kelas 11. Contoh soal di atas mencakup berbagai aspek penting yang sering diujikan. Teruslah berlatih, mengerjakan soal-soal tambahan, dan jika memungkinkan, coba praktik langsung dengan menggunakan DBMS sederhana seperti SQLite atau MySQL. Dengan pemahaman yang baik, Anda akan siap menghadapi materi basis data yang lebih mendalam di jenjang selanjutnya. Selamat belajar!