BASIS DATA I/2011-GANJIL
ER-DIAGRAM (ENTITY RELATIONSHIP DIAGRAM) Oleh Satrio Agung Wicaksono, S.Kom., M.Kom
21 September 2011
BASIS DATA I/2011-GANJIL
1
ER-DIAGRAM Model Entity Relationship
• Model Entity Relationship Adalah suatu penyajian data dengan menggunakan Entity dan Relationship • Mengapa Model E-R Mudah dimengerti oleh pemakai Mudah disajikan oleh perancang database
21 September 2011
BASIS DATA I/2011-GANJIL
2
ER-DIAGRAM Konsep Dasar
• Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis
21 September 2011
BASIS DATA I/2011-GANJIL
3
ER-DIAGRAM Entity
• Simbol -> • Entity adalah obyek yang dapat dibedakan dalam dunia nyata • Entity set adalah kumpulan dari entity yang sejenis • Entity set dapat berupa : Obyek secara fisik : Rumah, Kendaraan, Peralatan Obyek secara konsep : Pekerjaan , Perusahaan, Rencana 21 September 2011
BASIS DATA I/2011-GANJIL
4
ER-DIAGRAM Relationship
• Simbol -> • Relationship adalah hubungan yang terjadi antara satu atau lebih entity. • Relationship set adalah kumpulan relationship yang sejenis.
Mahasiswa
21 September 2011
Mengambil
BASIS DATA I/2011-GANJIL
MATA_KULIAH
5
ER-DIAGRAM Atribut • Simbol -> • Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. • Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. • Domain (Value Set) : Batas-batas nilai yang diperbolehkan bagi suatu atribut 21 September 2011
BASIS DATA I/2011-GANJIL
6
ER-DIAGRAM Jenis-Jenis Atribut • Key Atribut yang digunakan untuk menentukan suatu entity secara unik. • Atribut Simple Atribut sederhana yang tidak dapat dibagi dalam beberapa bagian • Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa bagian; contoh : Alamat; yang terdiri dari Negara, Propinsi dan Kota 21 September 2011
BASIS DATA I/2011-GANJIL
7
ER-DIAGRAM Jenis-Jenis Atribut
• Atribut Single-valued Atribut yang memiliki paling banyak satu nilai untuk setiap baris data
• Multi-valued attributes Atribut yang dapat diisi dengan lebih satu nilai tetapi jenisnya sama. Contoh : Nomor Telp, Alamat, Gelar • Atribut Turunan Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan. Contoh : Umur, IP
21 September 2011
BASIS DATA I/2011-GANJIL
8
ER-DIAGRAM Jenis-Jenis Atribut (Atribut Komposit)
NEGARA
KOTA
PROPINSI
ALAMAT
MAHASISWA
21 September 2011
BASIS DATA I/2011-GANJIL
9
ER-DIAGRAM Jenis-Jenis Atribut (Multi Value Attribute)
NIM
NAMA
NO_HP
MAHASISWA
21 September 2011
BASIS DATA I/2011-GANJIL
10
ER-DIAGRAM Jenis-Jenis Atribut (Attribute Turunan )
NIM
TGL_LAHIR
UMUR
MAHASISWA
21 September 2011
BASIS DATA I/2011-GANJIL
11
ER-DIAGRAM Derajat Himpunan Relasi
• Derajat Relasi menunjukan banyaknya himpunan entitas yang saling berelasi • Unary Degree (Derajat Satu) melibatkan sebuah entitas yang berelasi dengan dirinya sendiri • Binary Degree(Derajat Dua) Himpunan relasi melibatkan dua himpunan entitas. Secara umum himpunan relasi dalam sistem basis data adalah binary • Ternary Degree (Derajat Tiga) Himpunan relasi memungkinkan untuk melibatkan lebih dari dua himpunan entitas
21 September 2011
BASIS DATA I/2011-GANJIL
12
ER-DIAGRAM Unary Degree
PEGAWAI
Melapor
21 September 2011
BASIS DATA I/2011-GANJIL
13
ER-DIAGRAM Binary Degree
PEGAWAI
21 September 2011
Kerja
BASIS DATA I/2011-GANJIL
DEPARTEMEN
14
ER-DIAGRAM Ternary Degree
PEGAWAI
Kerja
PROYEK
KOTA
21 September 2011
BASIS DATA I/2011-GANJIL
15
ER-DIAGRAM Pemetaan Kardinalitas Relas
• Menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain. • Untuk Himpunan relasi biner pemetaan kardinalitasnya dapat merupakan salah satu dari tipe2 berikut : 1. Satu ke Satu (One to one) 2. Satu ke Banyak (One to many) 3. Banyak ke Satu (Many to one) 4. Banyak ke Banyak (Many to many) 21 September 2011
BASIS DATA I/2011-GANJIL
16
ER-DIAGRAM Pemetaan Kardinalitas Relas
One to one 21 September 2011
One to many
BASIS DATA I/2011-GANJIL
17
ER-DIAGRAM Pemetaan Kardinalitas Relas
Many to one 21 September 2011
Many to many
BASIS DATA I/2011-GANJIL
18
ER-DIAGRAM Dampak Pemetaan Kardinalitas pada Desain ER
• Dalam mendesain Entity Relasionship pemetaan kardinalitas akan berpengaruh terhadap bagaimana data tersebut akan digambarkan
21 September 2011
BASIS DATA I/2011-GANJIL
19
ER-DIAGRAM Key
• Penggunaan key merupakan cara untuk membedakan
suatu entitas didalam himpunan entitas dengan entitas lain • Secara konsep, Masing-masing entitas (nilainya) berbeda, perbedaannya terlihat pada isi dari masing-masing atributnya. • Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai yang menjadi pembeda dengan entitas lain • Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik 21 September 2011
BASIS DATA I/2011-GANJIL
20
ER-DIAGRAM Key, Cont’d…
Ada 3 macam key yang dapat diterapkan pada suatu relasi :
1.
Super Key
2.
Merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan satiap baris data dalam sebuah relasi secara unik.
Candidate Key
3.
Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah relasi secara unik
Primary Key
Merupakan salah satu dari candidate key yang terpilih Pemilihan primary key dari sejumlah candidate key umumnya didasari oleh : Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan Key tersebut lebih ringkas Jaminan keunikan key tersebut lebih baik
21 September 2011
BASIS DATA I/2011-GANJIL
21
ER-DIAGRAM Key, Cont’d…
• •
•
Mahasiswa = (NIM, NAMA_MHS, ALAMAT_MHS, TGL_LAHIR) Superkey (NIM, NAMA_MHS, ALAMAT_MHS, TGL_LAHIR) (NIM, NAMA_MHS, ALAMAT_MHS) (NIM, NAMA_MHS) (NAMA_MHS) (NIM) • Candidate Key (NAMA_MHS) (NIM) Primary Key (NIM)
21 September 2011
BASIS DATA I/2011-GANJIL
22
ER-DIAGRAM Notasi ER • Entity sets digambarkan dengan • Relationship sets digambarkan dengan • Hubungan antara Entity sets – Relationship sets serta atribut – entity sets digambarkan dengan garis • Atribut digambarkan dengan Atribut Multivalue Atribut Key
Nama_Perusahaan
Nama NIP
Alamat
Pegawai
21 September 2011
ID
Bekerja
BASIS DATA I/2011-GANJIL
Alamat_Perush
Perusahaan
23
ER-DIAGRAM Diagram E-R dengan atribut Composite, Multivalued dan derived
21 September 2011
BASIS DATA I/2011-GANJIL
24
ER-DIAGRAM Himpunan Relasi dengan Atribut
21 September 2011
BASIS DATA I/2011-GANJIL
25
ER-DIAGRAM Peran (Role) • • • •
Relasi Himpunan entitas tidak harus dalam bentuk yang berbeda Label “manager” dan “worker” disebut Roles (peran), yang menspesifikasi bagaimana entitas employee berinteraksi melalui relasi Works-for Peran dalam ER diagram diindikasikan dengan memberikan label (nama) pada garis yang menghubungkan relasi dengan entitas Label peran bersifat optional dan digunakan untuk mengklarifikasi semantik suatu relasi
21 September 2011
BASIS DATA I/2011-GANJIL
26
ER-DIAGRAM Constraint Kardinalitas
• Dalam menggambarkan kardinalitas pada Diagram ER, digunakan :
garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi dengan entitas
21 September 2011
BASIS DATA I/2011-GANJIL
27
ER-DIAGRAM Weak Entity
• Weak Entity: suatu entity dimana keberadaan
dari entity tersebut tergantung dari keberadaan entity lain • Entity yang merupakan induknya disebut Identifying Owner dan relationship-nya Disebut Identifyimg Relationship • Weak Entity Selalu mempunyai Total Participation Constraint dengan Identifying Owner • Contoh : entity tanggungan keberadaannya bergantung pada karyawan 21 September 2011
BASIS DATA I/2011-GANJIL
28
ER-DIAGRAM Weak Entity, Cont’d…
nip
…………
karyawan
21 September 2011
nama
memiliki
BASIS DATA I/2011-GANJIL
…………
tanggungan
29
ER-DIAGRAM ISA (`is a’) Hierarchies name ssn
Seperti dalam C++, atau PLs lainnya, attribut diwariskan/diturunkan. Jika kita menyatakan A ISA B, tiap hourly_wages entitas A juga dipandang sebagai entitas B.
lot
Employees hours_worked
Overlap constraints: Dapatkah Joe menjadi Hourly_Emps Hourly_Emps seperti juga entitas Contract_Emps? (Allowed/disallowed) Covering constraints: Apakah tiap entitas Employees juga harus menjadi entitas Hourly_Emps atau Contract_Emps? (Yes/no) Alasan menggunakan ISA: Untuk menambahkan atribut deskriptif spesifik pada a subclass. Untuk mengidentifikasi entitas yang berpartisipasi dalam relationship. 21 September 2011
BASIS DATA I/2011-GANJIL
ISA contractid
Contract_Emps
30
PENUTUP
21 September 2011
BASIS DATA I/2011-GANJIL
31