Entity Relationship Diagram Rima Dias Ramadhani, S.Kom., M.Kom Email: rima@ittelkom-pwt@ac.id Wa: 087731680017
Entity Relationship Diagram Semesta Data di dunia nyata ditransformasikan ke dalam sebuah diagram dengan memanfaatkan perangkat konseptual disebut dengan ERD (Entity Relationship Diagram) Simbol/ Notasi E-R Diagram:
Entitas Merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lainnya (individu: manusia, tempat, obyek, kejadian, konsep). Biasanya berhubungan dengan baris dalam sebuah tabel Entity Sets (Himpunan Entitas): sekelompok entitas yang sejenis dan berada dalam lingkup yang sama Contoh: Himpunan Entitas: Mahasiswa Entitas: Cahyo, Putri, Mella, dll Himpunan Entitas Pelanggan Entitas: Budi, Haryo, Tini, Desi, dll
Contoh Entitas
Atribut Merupakan karakteristik dari sebuah entitas (biasanya berhubungan dengan field dalam sebuah tabel). Penentuan atribut bagi suatu entitas didasarkan pada relevansinya terhadap entitas tersebut Atribut Kunci/ Identifikasi: atribut yang mengidentifikasi entitas. Bersifat unik. contoh: atribut NIM pada himpunan entitas Mahasiswa Atribut Deskriptif: Atribut lainnya selain atribut kunci dan berfungsi sebagai penjelasan terhadap entitas Contoh: atribut nama, alamat, tanggal_lahir pada himpunan entitas Mahasiswa
Key Tiga macam kunci: Superkey Satu atau lebih atribut yg dapat membedakan entitas satu dengan lainnya dalam himpunan entitas Candidate Key Kumpulan atribut minimal yang dapat membedakan entitas satu dengan lainnya dalam himpunan entitas Primary Key Salah satu dari candidate key yang digunakan sebagai pengidentifikasi suatu entitas dalam himpunan entitas
Atribut Atribut bernilai banyak (multivalued attribute): Atribut yang dapat bernilai lebih dari 1 nilai sejenis Atribut bernilai tunggal (single-valued attribute): Atribut yg hanya memiliki satu nilai NIM NAMA ALAMAT HOBI 123456 BUDI Jl. Raya Timur Renang, Basket 332156 TONO Jl. Merkeda Baca, Tidur SVA MVA
Atribut Atribut turunan (Derived Attribute) Atribut yang nilainya diperoleh dari pengolahan atau diturunkan dari atribut/tabel lain NIM NAMA ALAMAT ANGKATAN IPK 13111111 ANI Jalan Bunga 2013 3,7 13111112 SUSI Jalan Rajawali 2013 3,3 Atribut Turunan
Atribut Atribut yang harus bernilai (Mandatory Attribute) Atribut yang nilainya harus diisikan Atribut yang tidak harus bernilai (Non Mandatory Attribute / Null) Atribut yang nilainya boleh dikosongkan
Relasi/Relational Digunakan untuk menunjukkan hubungan antar entitas Himpunan Relas (Relationship Sets): kumpulan relasi diantara entitas Pada tabel tersebut, terlihat bahwa terdapat relasi antara entitas mahasiswa dengan mata kuliah Andi mempelajari mata kuliah Internet I Rudi mempelajari Internet I dan Network I
Model E-R Diagram
Kardinalitas / Derajad Relasi Jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain Macam-macam Kardinalitas Satu ke satu (One to One) Setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B dan juga sebaliknya
Satu ke Banyak (One to Many) Setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya
Banyak ke banyak (Many to Many) Setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan entitas B, dan sebaliknya
ERD dengan Kamus Data Pada sistem yang kompleks, penggambaran atribut dalam sebuah ERD seringkali terlihat rumit sehingga pendeklarasian atribut harus menggunakan kamus data Contoh: Kamus Data: Dosen = {Nama, Alamat_dosen} Mengajar = {Nama, Kode_mk, waktu, ruang} Mata_Kuliah = {Kode_mk, nama)mk, sks}
Derajad Relasi Minimum: Menunjukkan hubungan minimum yang boleh terjadi dalam suatu relasai antar himpunan entitas. Nilai derajad relasi minimum hanya boleh 0 atau 1
Relasi dalam notasi lain
Contoh Kamus Data: Mahasiswa = {NIM, Nama, Alamat} Mempelajari = {NIM, Kode_MK, WAKTU, Ruang} Mata_kuliah = { Kode_MK, nama_mk, sks}
Jenis Entitas Strong Entity Himpunan entias yang tidak memiliki ketergantungan dengan entitas lain Weak Entity Jimpunan entitas yang keberadaannya tergantung dengan entitas lain. Himpunan entitas ini berarti adalah himpunan entitas yg tidak mempunyai atribut yg menjamin keunikan entitas yg ada
Jenis Relasi Relas Tunggal (Unary Relation) Relasi yang terjadi antar himpunan entitas yang sama
Jenis Relas Relasi Ganda (Redundant Relation)
Jenis Relas Relasi Multi Entitas (N-ary Relation) Relasi yang terdiri dari 3 / lebih himpunan entitas
Tahap Pembuatan Entity Relationship Diagram 1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat. 2. Menentukan atribut-atribut dari setiap entity. 3. Menentukan atribut primary key dari setiap entity. 4. Menentukan relationship antar entity. 5. Menentukan atribut-atribut dari setiap relationship (jika ada). 6. Menentukan Cardinality Ratio. 7. Menentukan Participation Constraint.
Studi Kasus : Rental VCD FILM Spesifikasi Database Data dari film berupa : judul, jumlah kepingan, jumlah film. Film yang disewakan dikelompokkan ke dalam kelompok film yang terdiri dari jenis film dengan masing-masing jenis memiliki harga sewa yang berbeda, artinya jenis film menentukan harga sewanya. Data customer yang menyewa berupa : no identitas, jenis identitas, nama dan alamat. Setiap customer dapat menyewa lebih dari satu film. Satu judul film dapat disewa oleh beberapa customer. Lama sewa sesuai dengan jumlah film, terhitung dari tgl menyewa. Setiap keterlambatan pengembalian akan dikenakan denda per hari dan per film. nilai dari denda sudah ditetapkan (konstan).
Tahap Pembuatan Entity Relationship Diagram 1. Mengidentifikasikan entity-entity yang ada. entity-entity : KelompokFilm, Film, Customer. 2. Menentukan atribut-atribut dari setiap entity. Entity Atribut Film KelompokFilm Customer judul, jml_keping, jml_film jenis, harga_sewa no_identitas, jenis_identitas, nama, alamat 3. Menentukan primary key dari setiap entity. Entity Atribut Film KelompokFilm Customer kode_film, judul, jml_keping, jml_film jenis, harga_sewa no_identitas, jenis_identitas, nama, alamat
Tahap Pembuatan Entity Relationship Diagram cont d 4. Menentukan relationship antar entity. Entity Relationship Entity Film Dikelompokkan KelompokFilm Customer Menyewa Film 5. Menentukan atribut-atribut dari setiap relationship (jika ada). Relationship dikelompokkan - Menyewa Atribut tgl_sewa, total_film, tgl_kembali, total_harga, denda
Tahap Pembuatan Entity Relationship Diagram cont d 6. Menentukan Cardinality Rasio. Entity Relationship Entity Cardinality Rasio Film dikelompokkan KelompokFilm N : 1 Customer Menyewa Film N : M 7. Menentukan participation constraint. Setiap film harus merupakan anggota dari suatu jenis film, sehingga film memiliki total participation terhadap relationshipnya dengan entity kelompok film. Setip customer tidak harus selalu menyewa film dan setiap film tidak harus disewa oleh customer. Sehingga entity-entity ini memiliki partial participation relationship antar keduanya.
Entity Relationship Diagram Rental VCD FILM judul jenis harga_sewa kode_film jml_keping kelompokfilm dikelompokkan 1 N Film jml_film N no_identitas jenis_identitas tgl_sewa total_film Customer M menyewa total_harga nama alamat tgl_kembali denda
Latihan A Sebuah perpustakaan kampus memiliki spesifikasi database sebagai berikut : Sistem database perpustakaan kampus yang melibatkan mahasiswa dan dosen sebagai anggota perpustakaan, koleksi buku, dan pegawai perpustakaan Dalam sistem, digambarkan anggota dan manajemen buku-buku perpustakaan Seorang anggota dapat meminjam buku lebih dari 1, begitu juga sebaliknya Seorang pegawai melayani semua anggota perpustakaan, tapi tidak sebaliknya Seorang pegawai juga harus memanajemen semua koleksi buku perpustakaan Setiap anggota yang datang ke perpustakaan belum tentu datang untuk meminjam buku Seorang pegawai perpustakaan, harus melayani anggota (registrasi, pelayanan, dll)
Latihan A Pegawai juga memanajemen koleksi buku perpustakaan Untuk anggota, yang harus dicatat yaitu id anggota, nama, status (dosen/ mahasiswa), id status (NIP/ NIM), alamat, no telepon Pada buku yang harus dicatat adalah id buku, judul, pengarang (mungkin lebih dari 1), penerbit. Pada pegawai yang harus dicatat adalah id pegawai, nama, alamat, no telepon Setiap terjadi peminjaman buku, perlu dicatat tanggal pinjam, tanggal kembali, dan jumlah buku yang dipinjam Setiap pegawai harus mencatat tanggal registrasi anggota perpustakaan saat melayani anggota/ pengunjung Soal : Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula relasi kardinalitas beserta batasan partisipasi total/ parsialnya
Latihan B Sebuah perusahaan jasa sewa mobil CV. Sewa Mobil, memiliki spesifikasi database sebagai berikut : Sebuah rental mobil menyewakan mobil kepada pelanggan Tiap pelanggan dapat menyewa lebih dari satu mobil dalam sekali transaksi, akan tetapi tidak sebaliknya dan sewaktu- waktu mobil juga tidak dapat disewakan karena kemungkinan keterbatasan kendaraan Pada pelanggan yang harus dicatat adalah nomor pelanggan, nama, alamat, no telepon, no KTP Pada mobil yang harus dicatat adalah id mobil, no plat mobil, tahun pembuatan, merk, jumlah penumpang, jumlah armada, bahan bakar dan harga sewa Setiap kali transaksi, terjadi sebuah perjanjian kontrak antara kedua belah pihak dengan adanya catatan kode kontrak, nama pelanggan, tanggal sewa, batas tanggal sewa, jumlah mobil yang disewa, dan harga total