Back to IF2240 Basis Data
Topic
Questions/Cues
- Apa tujuan dari Model ER?
- Apa itu Entity dan Entity Set?
- Apa itu Relationship dan Relationship Set?
- Apa itu Roles dalam relasi?
- Apa itu Degree dari sebuah relasi?
- Apa saja jenis-jenis atribut?
- Bagaimana notasi grafis untuk E, R, A?
Tujuan dan Pendekatan Desain
- Fase Desain: Proses perancangan basis data biasanya melalui beberapa tahap: dimulai dari memahami kebutuhan pengguna, kemudian memilih model konseptual (seperti ER Model) untuk membuat cetak biru, dan diakhiri dengan implementasi (Desain Logis & Fisik).
- Tujuan Model ER: Model Entity-Relationship (ER) adalah model data konseptual tingkat tinggi. Tujuannya adalah untuk memodelkan dunia nyata sebagai kumpulan entitas (objek) dan relasi (hubungan antar objek). Model ini digunakan untuk membuat ER Diagram (ERD), yang berfungsi sebagai cetak biru visual sebelum menulis kode atau membuat tabel.
Entity Sets (Himpunan Entitas)
Definisi:
- Entitas (Entity): Objek di dunia nyata yang unik dan dapat dibedakan dari yang lain. Contoh: seorang mahasiswa spesifik bernama ‘Budi’.
- Entity Set: Kumpulan dari entitas-entitas sejenis yang memiliki properti yang sama. Contoh:
studentadalah himpunan dari semua entitas mahasiswa.Atribut: Properti atau karakteristik yang mendeskripsikan sebuah entitas. Contoh: entitas
studentmemiliki atributID,name, dantot_cred.Notasi Grafis:
- Entity Set: Digambarkan sebagai persegi panjang.
- Primary Key: Atribut yang menjadi pengenal unik diberi garis bawah.
Ilustrasi ASCII:
+-----------------+ | instructor | |-----------------| | _ID_ | | name | | salary | +-----------------+Relationship Sets (Himpunan Relasi)
Definisi:
- Relasi (Relationship): Asosiasi atau hubungan antara beberapa entitas.
- Relationship Set: Kumpulan dari relasi-relasi sejenis. Contoh:
advisoradalah himpunan relasi yang menghubungkaninstructordanstudent.Atribut pada Relasi: Relasi juga bisa memiliki atribut. Contoh: relasi
advisordapat memiliki atributdateuntuk mencatat kapan hubungan pembimbingan dimulai.Notasi Grafis: Digambarkan sebagai belah ketupat (diamond), yang terhubung dengan garis ke entitas yang berpartisipasi.
Ilustrasi ASCII:
+------------+ +-----------+ +---------+ | instructor |------< advisor >------| student | +------------+ +-----------+ +---------+Konsep Lanjutan pada Relasi
- Roles (Peran): Digunakan ketika sebuah entity set berpartisipasi lebih dari satu kali dalam sebuah relasi. Label peran ditulis pada garis untuk memperjelas fungsi masing-masing.
- Contoh: Dalam relasi
prereq, entitascoursemuncul dua kali: sebagai mata kuliah utama dan sebagai prasyaratnya.prereq_iddancourse_idbertindak sebagai Roles- Degree (Derajat Relasi): Jumlah entity set yang berpartisipasi dalam sebuah relasi.
- Binary: Melibatkan dua entity set (paling umum).
- Ternary: Melibatkan tiga entity set.
Complex Attributes (Atribut Kompleks)
Simple vs. Composite:
- Simple: Atribut yang tidak dapat dipecah lagi (atomik), contoh:
ID.- Composite: Atribut yang dapat dipecah menjadi bagian-bagian yang lebih kecil. Contoh:
namedapat terdiri darifirst_namedanlast_name.Single-valued vs. Multi-valued:
- Single-valued: Atribut yang hanya memiliki satu nilai untuk setiap entitas. Contoh:
date_of_birth.- Multi-valued: Atribut yang bisa memiliki banyak nilai. Contoh:
{phone_number}. Digambarkan dengan kurung kurawal.Derived Attribute: Atribut yang nilainya dapat dihitung atau diturunkan dari atribut lain. Contoh:
age()dapat dihitung daridate_of_birth. Digambarkan dengan tanda kurung.Studi Kasus: Model ER Perpustakaan Sederhana
Permasalahan:
“Buatlah model ER dasar untuk sistem perpustakaan. Sebuah Book (buku) memiliki ISBN (unik) dan title. Seorang Member (anggota) memiliki member_id (unik) dan name. Anggota dapat ‘meminjam’ (borrows) buku. Catat juga tanggal peminjaman (date_borrowed) pada setiap transaksi peminjaman.”
Analisis:
- Entitas:
Book,Member.- Relasi:
borrows.- Atribut Entitas:
ISBNdantitleuntukBook;member_iddannameuntukMember.- Atribut pada Relasi:
date_borrowedadalah properti dari aksi ‘meminjam’, sehingga menjadi atribut pada relasiborrows.Diagram ASCII Solusi:
+-----------------+ +-------------------+ +-----------------+ | Book | | | | Member | |-----------------| | < borrows > | |-----------------| | _ISBN_ |---------| |---------| _member_id_ | | title | | | | name | +-----------------+ +-------------------+ +-----------------+ | | date_borrowed |
Model ER adalah alat desain konseptual yang memvisualisasikan data sebagai Entitas (objek, digambarkan sebagai persegi panjang), Atribut (properti dari entitas), dan Relasi (hubungan antar entitas, digambarkan sebagai belah ketupat). Entitas memiliki atribut, di mana salah satunya berfungsi sebagai Primary Key (diberi garis bawah) untuk identifikasi unik. Atribut itu sendiri bisa kompleks, seperti composite, multi-valued, atau derived.
Additional Information (Optional)
Menghindari Jebakan Desain
Tujuan utama dari pemodelan yang baik adalah untuk menghindari dua jebakan utama dalam desain basis data:
- Redundansi: Menyimpan informasi yang sama berulang kali. Ini tidak hanya membuang-buang ruang, tetapi juga dapat menyebabkan data menjadi tidak konsisten jika pembaruan hanya dilakukan di salah satu tempat.
- Incompleteness (Ketidaklengkapan): Desain yang buruk dapat membuat beberapa aspek dari bisnis menjadi sulit atau bahkan tidak mungkin untuk dimodelkan dan disimpan dalam basis data.
Model ER yang dipikirkan dengan matang membantu mengatasi kedua masalah ini pada tahap awal perancangan.


