
MATERI PEMBELAJARAN | |
Mapel | Basis Data |
Kelas | 11 PPLG |
Semester | Ganjil |
Topik | 03 (Model Data Relasional) |
Di pelajaran sebelumnya, kita tahu bahwa database relasional menyimpan data dalam bentuk tabel. Tapi, bagaimana sih caranya kita menentukan tabel apa saja yang dibutuhkan? Kolomnya apa saja? Dan bagaimana tabel-tabel itu saling berhubungan? Nah, di sinilah Model Data Relasional berperan!
Model data relasional adalah cara kita menggambarkan struktur database menggunakan konsep-konsep seperti entitas, atribut, dan relasi. Ini adalah "bahasa" universal untuk merancang database relasional.
A. Entitas (Entity)
Bayangkan hal-hal penting apa saja yang datanya perlu kita simpan dalam sebuah sistem. Misalnya, di sekolah, kita perlu menyimpan data tentang siswa, guru, mata pelajaran. Di toko buku, kita perlu data tentang buku, pelanggan, dan transaksi penjualan.
Entitas adalah objek atau konsep nyata yang penting dan memiliki data yang perlu disimpan dalam database. Entitas biasanya berupa kata benda.
Contoh Entitas:
- Sekolah: SISWA, GURU, MATA_PELAJARAN, KELAS
- Toko Buku: BUKU, PELANGGAN, PENERBIT, TRANSAKSI
- Bank: NASABAH, REKENING, TRANSAKSI_BANK
Dalam database relasional, setiap entitas akan direpresentasikan sebagai sebuah TABEL.
B. Atribut (Attribute)
Setiap entitas pasti punya karakteristik atau ciri-ciri. Misalnya, siswa punya nama, alamat, tanggal lahir. Buku punya judul, penulis, tahun terbit.
Atribut adalah karakteristik atau properti yang menjelaskan sebuah entitas. Setiap atribut akan menjadi kolom dalam tabel database.
Contoh Atribut:
- Entitas SISWA: NIS, Nama_Siswa, Tanggal_Lahir, Alamat, Nomor_Telepon
- Entitas BUKU: Kode_Buku, Judul_Buku, Penulis, Tahun_Terbit, Harga, Stok
- Entitas GURU: NIP, Nama_Guru, Spesialisasi, Tanggal_Mulai_Kerja
C. Kunci (Keys): Primary Key dan Foreign Key
Dalam database, kita perlu cara untuk memastikan setiap data itu unik dan juga cara untuk menghubungkan data antar tabel. Di sinilah peran kunci.
Kunci Primer (Primary Key - PK)
Bayangkan kamu dan teman-temanmu di kelas. Setiap siswa punya nama, tapi mungkin ada dua siswa dengan nama yang sama. Lalu, bagaimana cara sekolah membedakan kalian? Tentu saja dengan Nomor Induk Siswa (NIS) atau NISN! NIS/NISN itu unik untuk setiap siswa.
Primary Key (PK) adalah satu atau beberapa atribut (kolom) yang secara unik mengidentifikasi setiap baris (record) dalam sebuah tabel.
Ciri-ciri Primary Key:
Unik: Tidak boleh ada dua baris yang memiliki nilai PK yang sama.
Tidak Boleh Kosong (NOT NULL): Setiap baris harus memiliki nilai untuk PK.
Tidak Berubah: Sebaiknya nilai PK tidak sering berubah.
Contoh Primary Key:
Tabel SISWA: NIS (Nomor Induk Siswa)
Tabel BUKU: Kode_Buku
Tabel GURU: NIP (Nomor Induk Pegawai)
Tabel PRODUK: ID_Produk
Kunci Asing (Foreign Key - FK)
Sekarang, bayangkan ada tabel SISWA dan tabel KELAS. Kita tahu siswa itu berada di kelas tertentu. Bagaimana cara menghubungkan data siswa ke kelasnya? Kita bisa menaruh informasi ID_Kelas di tabel SISWA. ID_Kelas di tabel SISWA ini sebenarnya merujuk ke ID_Kelas yang menjadi Primary Key di tabel KELAS.
Foreign Key (FK) adalah satu atau beberapa atribut (kolom) dalam sebuah tabel yang merujuk (mereferensi) ke Primary Key di tabel lain. FK adalah "jembatan" atau "penghubung" antar tabel.
Ciri-ciri Foreign Key:
Nilainya harus ada di Primary Key tabel yang dirujuk, atau bisa juga NULL (tergantung aturan).
Tidak harus unik di tabel tempat ia berada.
Contoh Foreign Key:
Tabel SISWA memiliki kolom ID_Kelas yang merujuk ke ID_Kelas (PK) di tabel KELAS. Di sini, ID_Kelas di tabel SISWA adalah Foreign Key.
Tabel PENJUALAN memiliki kolom ID_Pelanggan yang merujuk ke ID_Pelanggan (PK) di tabel PELANGGAN. Di sini, ID_Pelanggan di tabel PENJUALAN adalah Foreign Key.
D. Relasi (Relationship)
Ketika kita sudah mengidentifikasi entitas-entitas dan atribut-atributnya, langkah selanjutnya adalah melihat bagaimana entitas-entitas itu saling berhubungan. Inilah yang disebut relasi.
Relasi adalah keterkaitan atau hubungan antar dua entitas atau lebih. Relasi ini biasanya direpresentasikan oleh adanya Foreign Key.
Ada beberapa jenis relasi yang umum:
- One-to-One (1:1): Satu entitas A berhubungan dengan satu entitas B, dan sebaliknya.
- Contoh: GURU memiliki satu WALIKELAS untuk satu KELAS, dan satu KELAS hanya memiliki satu WALIKELAS. (Biasanya ini jarang terjadi sebagai relasi terpisah, seringnya digabung menjadi satu tabel jika karakteristiknya sama).
- One-to-Many (1:M): Satu entitas A berhubungan dengan banyak entitas B, tetapi satu entitas B hanya berhubungan dengan satu entitas A.
- Contoh: Satu GURU dapat mengajar banyak MATA_PELAJARAN, tetapi satu MATA_PELAJARAN hanya diajar oleh satu GURU.
- Contoh Lain: Satu PENERBIT dapat menerbitkan banyak BUKU, tetapi satu BUKU hanya diterbitkan oleh satu PENERBIT. (Di sini FK ID_Penerbit akan ada di tabel BUKU)
- Many-to-Many (M:N): Banyak entitas A berhubungan dengan banyak entitas B, dan sebaliknya.
- Contoh: Banyak SISWA dapat mengambil banyak MATA_PELAJARAN, dan satu MATA_PELAJARAN dapat diambil oleh banyak SISWA.
- Bagaimana menanganinya? Relasi Many-to-Many tidak bisa langsung diimplementasikan. Kita perlu membuat tabel perantara (sering disebut tabel penghubung / junction table). Misalnya, untuk SISWA dan MATA_PELAJARAN, kita buat tabel AMBIL_MATA_PELAJARAN yang berisi NIS (FK ke SISWA) dan Kode_MP (FK ke MATA_PELAJARAN), serta mungkin kolom lain seperti Nilai.
E. Diagram Entitas-Relasi (ERD - Entity-Relationship Diagram)
Untuk mempermudah perancangan dan visualisasi Model Data Relasional, kita menggunakan alat bernama ERD. ERD adalah diagram grafis yang menggambarkan entitas, atribut, dan relasi antar entitas dalam sebuah database.
Simbol-simbol Dasar ERD:
- Persegi Panjang: Merepresentasikan Entitas. Contoh: SISWA
- Elips: Merepresentasikan Atribut. Atribut PK biasanya digarisbawahi. Contoh: Nama_Siswa, NIS (digarisbawahi)
- Belah Ketupat: Merepresentasikan Relasi antar entitas. Contoh: MENGAMBIL
- Garis: Menghubungkan entitas dengan atribut atau entitas dengan relasi.
Contoh Sketsa ERD Sederhana:
Mari kita buat ERD sederhana untuk sistem informasi perpustakaan.
- Entitas:
- BUKU
- PEMINJAM (bisa juga ANGGOTA)
- Atribut:
- BUKU: Kode_Buku (PK), Judul, Penulis, Tahun_Terbit, Stok
- PEMINJAM: ID_Peminjam (PK), Nama_Peminjam, Alamat, Nomor_Telepon
- Relasi:
- Seorang PEMINJAM dapat MEMINJAM banyak BUKU.
- Satu BUKU dapat dipinjam oleh banyak PEMINJAM (tetapi pada waktu yang berbeda, atau bisa jadi buku yang sama dengan salinan berbeda).
- Ini adalah relasi Many-to-Many. Kita butuh tabel perantara: PEMINJAMAN.
Sketsa ERD (secara Konseptual):
(Catatan: Simbol ERD bisa bervariasi, ini adalah representasi sederhana. Belah ketupat untuk relasi dihilangkan karena diwujudkan dengan tabel perantara.)
Kesimpulan
Model Data Relasional adalah "cetak biru" yang sangat powerful untuk merancang database yang terorganisir, konsisten, dan mudah dikelola. Dengan memahami konsep entitas, atribut, Primary Key, Foreign Key, dan berbagai jenis relasi, kamu sudah punya dasar yang kokoh untuk mulai merancang database sungguhan. Kemampuan ini adalah modal utama bagi setiap profesional PPLG yang ingin membangun aplikasi yang hebat!
REFLEKSI Tuliskan pengalamanmu setelah mempelajari seluruh materi yang diajarkan. |
|
1 | xxx |
2 | xxx |
3 | xxx |
4 | xxx |
5 | xxx |
PILIHAN GANDA Pilih 1 jawaban yang paling tepat. |
|
1 | xxx |
2 | xxx |
3 | xxx |
4 | xxx |
5 | xxx |
6 | xxx |
7 | xxx |
8 | xxx |
9 | xxx |
10 | xxx |
11 | xxx |
12 | xxx |
13 | xxx |
14 | xxx |
15 | xxx |
16 | xxx |
17 | xxx |
18 | xxx |
19 | xxx |
20 | xxx |
BENAR-SALAH Isi dengan BENAR atau SALAH dari pernyataan berikut. |
|
1 | xxx |
2 | xxx |
3 | xxx |
4 | xxx |
5 | xxx |
6 | xxx |
7 | xxx |
8 | xxx |
9 | xxx |
10 | xxx |
11 | xxx |
12 | xxx |
13 | xxx |
14 | xxx |
15 | xxx |
16 | xxx |
17 | xxx |
18 | xxx |
19 | xxx |
20 | xxx |
MENJODOHKAN Jodohkan pernyataan di kolom kiri dengan istilah yang tepat di kolom kanan. |
||||
1. xxx | ◯ | ◯ | A. xxx | |
2. xxx | ◯ | ◯ | B. xxx | |
3. xxx | ◯ | ◯ | C. xxx | |
4. xxx | ◯ | ◯ | D. xxx | |
5. xxx | ◯ | ◯ | E. xxx | |
6. xxx | ◯ | ◯ | F. xxx | |
7. xxx | ◯ | ◯ | G. xxx | |
8. xxx | ◯ | ◯ | H. xxx | |
9. xxx | ◯ | ◯ | I. xxx | |
10. xxx | ◯ | ◯ | J. xxx | |
11. xxx | ◯ | ◯ | K. xxx | |
12. xxx | ◯ | ◯ | L. xxx | |
13. xxx | ◯ | ◯ | M. xxx | |
14. xxx | ◯ | ◯ | N. xxx | |
15. xxx | ◯ | ◯ | O. xxx | |
16. xxx | ◯ | ◯ | P. xxx | |
17. xxx | ◯ | ◯ | Q. xxx | |
18. xxx | ◯ | ◯ | R. xxx | |
19. xxx | ◯ | ◯ | S. xxx | |
20. xxx | ◯ | ◯ | T. xxx |
URAIAN Jawablah pertanyaan-pertanyaan berikut dengan jelas dan lengkap. |
|
1 | xxx |
2 | xxx |
3 | xxx |
4 | xxx |
5 | xxx |