E-R Diagram
“Kusnawi, S.Kom, M.Eng”
Diagram E-R
Diagram E-R (EntityRelationship) biasa digunakan dalam tahap analisis perancangan database Digunakan sebagai perangkat untuk berkomunikasi antara pengembang database dengan pengguna
Diagram E-R
Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi Tidak bergantung kepada software yang akan dipakai untuk mengimplementasikan database Sejauh ini banyak sekali model notasi yang dipakai untuk membuat diagram E-R
Simbol dalam Diagram E-R Kardinalitas: ENTITAS Selalu hanya satu Hubungan
Satu atau banyak Nol atau satu
Atribut Nol, satu, atau banyak
Garis bawah: Kunci atau pengenal (identifier)
Contoh Diagram E-R
Simbol Lain-Lain Entitas kuat
Entitas asosiatif
Entitas lemah Atribut
Hubungan
Hubungan pengidentifikasi
Atribut nilai berganda
Atribut turunan
Kekangan Kardinalitas
Jenis hubungan antartipe entitas seringkali dinyatakan tidak sekedar dalam bentuk berupa One to One, One to Many, Many to One, dan Many to Many, melainkan juga dengan menyertakan kekangan kardinalitas Kekangan kardinalitas (cardinality constraint) adalah suatu keadaan yang digunakan untuk menyatakan jumlah instan dalam sebuah entitas yang dapat dikaitkan dengan sebuah instan pada entitas lain Implementasinya adalah dengan menggunakan kardinalitas hubungan yang dijelaskan pada slide sebelum ini
Kekangan Kardinalitas (Lanjutan…)
Berkaitan dengan kekangan kardinalitas, terdapat istilah kardinalitas minimum dan kardinalitas maksimum Kardinalitas minimum adalah jumlah instan tersedikit dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain Kardinalitas maksimum adalah jumlah instan terbanyak dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain
Contoh Penerapan Kekangan Kardinalitas
PASIEN
Mempunyai
PASIEN
Mempunyai
KUNJUNGAN
(a) Dasar hubungan
KUNJUNGAN
(b) Hubungan dengan kekangan kardinalitas
Contoh: Amir Dewi Fahmi
Kunjungan 1 Kunjungan 2 Kunjungan 1 Kunjungan 1 Kunjungan 2
Contoh Penerapan Kekangan Kardinalitas (Lanjutan…)
PEGAWAI
Ditugaskan_ke
PEGAWAI
Ditugaskan_ke
PROYEK
(a) Dasar hubungan
PROYEK
(b) Hubungan dengan kekangan kardinalitas
Contoh: Amir Dewi Fahmi Sueb
Proyek 1 Proyek 2 Proyek 3 Proyek 4 Proyek 5
Contoh Penerapan Kekangan Kardinalitas yang Menggunakan Bentuk Lain
Contoh : Bagaimana Kekangan Kardinalitasnya?
ORANG
Menikah_dengan
SUKU_CADANG
PEGAWAI
Tersusun_atas
Membawahi
Bagaimana Kekangan Kardinalitasnya? ORANG
Diberi_jatah
TEMPAT PARKIR
PEGAWAI
Bekerja_pada
DEPARTEMEN
MAHASISWA
Mengambil
MATA KULIAH
Entitas Lemah
Entitas kuat versus entitas lemah Entitas kuat (strong entity) adalah entitas yang keberadaannya tidak bergantung pada tipe entitas lain Entitas lemah (weak entity) adalah entitas yang keberadaannya bergantung pada tipe entitas lain Entitas yang menjadi ketergantungan dari entitas lemah dinamakan indentifying owner Hubungan antara tipe entitas lemah dan pemiliknya dinamakan identifying relationship
Entitas Lemah (Lanjutan…)
Nomor_Peg
PEGAWAI
Nama_Peg
Memiliki
Nama_Tanggungan
Tanggal_Lahir
TANGGUNGAN
Contoh Diagram E-R dengan Atribut Komposit, Nilai Berganda, dan Turunan
Tahapan Pembuatan ERD 1. 2. 3.
4. 5.
Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Menentukan atribut-atribute key dari masingmasing entitas Mengidentifikasi dan menetapkan seluruh himpunan relasi diantar himpunan entitashimpunan entitas yang ada beserta foreign key Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key)
Derajat Hubungan Unary
Binary
Ternary
Contoh Unary Relationship
ORANG
Menikah_dengan
SUKU_CADANG
PEGAWAI
Tersusun_atas
Membawahi
Contoh Binary Relationship ORANG
Diberi_jatah
TEMPAT PARKIR
PEGAWAI
Bekerja_pada
DEPARTEMEN
MAHASISWA
Mengambil
MATA KULIAH
Contoh Ternary Relationship PEMASOK
Memasok
GUDANG
BARANG
Sebuah Pemasok memasok sejumlah barang pada beberapa gudang Sebuah barang bisa dipasok oleh beberapa Pemasok
Kardinalitas Hubungan Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
Contoh Kasus 01
Suatu hasil ujian dinyatakan dengan atribut seperti berikut:
No_Mhs Nama_Mhs Mataujian No_Dosen_Penguji Nama_Dosen_Penguji
Gambarkan diagram E-R-nya
Contoh Kasus 02
Membuat rancangan ERD dan hasil relasi antar table untuk suatu sistem informasi akademis. Entities yang terlibat adalah: 1. 2. 3. 4.
Mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa Dosen: menyimpan semua informasi pribadi mengenai semua dosen Mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang ditawarkan Ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan
Tahapan ERD 1.
2.
Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Mahasiswa, Dosen, Mata_kuliah dan Ruang Menentukan atribut-atribute key dari masingmasing entitas dan Mengidentifikasi serta menetapkan seluruh himpunan relasi diantar himpunan entitas-himpunan entitas yang ada
1.
Mahasiswa:
2.
Dosen:
3.
nip: nomor induk pegawai nama_dosen: nama lengkap dosen alamat_dosen: alamat lengkap dosen
Mata_kuliah:
4.
nim: nomor induk mahasiswa nama_mhs: nama lengkap mahasiswa alamat_mhs: alamat lengkap mahasiswa
kode_mk: kode untuk mata kuliah nama_mk: nama lengkap mata kuliah deskripsi_mk: deskripsi singkat mengenai mata kuliah
Ruang:
kode_ruang: kode untuk ruang kelas lokasi_ruang: deskripsi singkat mengenai lokasi ruang kelas kapasitas_ruang: banyaknya mahasiswa yang dapat ditampung
3.
Tentukan relationships (hubungan-hubungan) di antara entities tersebut
Mahasiswa Dosen Mata_kuliah Ruang
Mahasiswa
Dosen
Mata_kuliah
Ruang
-
n:1
m:n
-
-
1:n
-
-
1:1 -
Deskripsi Hubungan dari tabel: ruang digunakan untuk mata_kuliah:
dosen mengajar mata_kuliah:
Tabel utama: dosen Tabel kedua: mata_kuliah Relationship: One-to-many (1:n) Attribute penghubung: nip (FK nip di mata_kuliah)
mahasiswa mengambil mata_kuliah:
Tabel utama: ruang Tabel kedua: mata_kuliah Relationship: One-to-one (1:1) Attribute penghubung: kode_ruang (FK kode_ruang di mata_kuliah)
Tabel utama: mahasiswa, mata_kuliah Tabel kedua: mhs_ambil_mk Relationship: Many-to-many (m:n) Attribute penghubung: nim, kode_mk (FK nim, kode_mk di mhs_ambil_mk)
dosen membimbing mahasiswa:
Tabel utama: dosen Tabel kedua: mahasiswa Relationship: One-to-many (1:n) Attribute penghubung: nip (FK nip di mahasiswa)
4.
Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key) yang dilanjutkan dengan pembuatan ERD.
nama_mk
nama_mhs
nim
kode_mk
alamat_mhs
mengambil
mahasiswa
nim
deskripsi_mk
mata_kuliah
Kode_mk
membimbing
digunakan untuk Nilai Nilai
mengajar
dosen
nip
ruang
alamat_dosen
nip
kode_ruang
kapasitas_ruang
nama_dosen lokasi_ruang