Top Banner
Page 1 BASIS DATA (BS203) [email protected] fb: NDoro Edi MODEL ENTITY RELATIONSHIP Bagian 2
61

MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Jul 26, 2018

Download

Documents

NguyễnThúy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 1

BASIS DATA (BS203)

[email protected]

fb: NDoro Edi

MODEL ENTITY RELATIONSHIP Bagian 2

Page 2: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 2

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 3: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 3

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 4: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 4

Relasi Biner Vs. Non Biner

• Relasi pada basis data pada umumnya adalah relasi

biner (binary relationship). Artinya, relasi tersebut hanya

menghubungkan 2 entitas.

• Relasi yang menghubungkan lebih dari 2 entitas disebut

dengan relasi non-biner (n-ary relationship).

N = jumlah entitas yang dihubungkan.

• Contoh relasi non-biner: relasi “orang tua”

menghubungkan anak dengan ayah dan ibunya

Page 5: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 5

Relasi Biner Vs. Non Biner

• Relasi non-biner pada umumnya dapat diubah menjadi

beberapa relasi biner

• Contoh: relasi “orang tua” di ubah menjadi 2 relasi, yaitu:

relasi “ayah” dan “ibu” yang masing-masing

berhubungan dengan entitas “anak”

Page 6: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 6

Diagram ER dengan relasi 3-ary

Page 7: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 7

Mengubah relasi non-biner ke relasi biner

• Pada prakteknya, suatu himpunan relasi non-biner selalu dapat

diubah menjadi beberapa himpunan relasi biner

• Contoh:

Himpunan relasi R menghubungkan himpunan entitas A, B, dan C

• Kita dapat mengubah himpunan relasi R menjadi himpunan entitas

E, lalu membuat 3 himpunan relasi Ra, Rb, dan Rc

Page 8: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 8

• Apabila himpunan relasi R memiliki atribut, maka atribut

ini harus dimasukkan ke dalam himpunan E.

• Untuk himpunan entitas E tsb, kita buat atribut key baru

(identifying attribute) untuk membedakan satu entitas

dengan entitas yang lainnya.

• Untuk setiap relasi (ai, bi, ci) pada himpunan relasi R,

kita buat entitas baru ei pada himpunan entitas E.

• Lalu, untuk setiap himpunan relasi yang baru (Ra, Rb, &

Rc), kita masukkan relasi sebagai berikut:

– (ei, ai) pada relasi Ra

– (ei, bi) pada relasi Rb

– (ei, ci) pada relasi Rc

Mengubah relasi non-biner ke relasi biner (2)

Page 9: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 9

Contoh Kasus Relasi 3-ary

• Relasi R:

Budi (ai) bekerja sebagai Manajer (bi) di BCA Maranatha (ci)

• Entitas e1 berisi: Budi, Manajer, BCA Maranatha

• Setelah himpunan entitas E terbentuk, barulah kita buat 3

relasi sbb:

• ((Budi, Manajer, BCA Maranatha), Budi) pada Ra

• ((Budi, Manajer, BCA Maranatha), Manajer) pada Rb

• ((Budi, Manajer, BCA Maranatha), BCA Maranatha) pada Rc

Page 10: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 10

ATTENTION PLEASE!!!

• Tidak semua Relasi Multi Entitas dapat dirubah menjadi Relasi Biner! Kenapa demikian?

Page 11: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 11

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 12: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 12

Himpunan Entitas Lemah

• Suatu himpunan entitas kadang-kadang tidak memiliki atribut-atribut yang dapat dijadikan primary key.

• „Himpunan entitas semacam itu dinamakan “himpunan entitas lemah”

• „Himpunan entitas yang memiliki primary key dinamakan “himpunan entitas kuat.

Page 13: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 13

Contoh Kasus

• Himpunan entitas LOAN & entitas PAYMENT

• Himpunan entitas PAYMENT memiliki 3 atribut:

PAYMENT_number, PAYMENT_date,

PAYMENT_amount

• PAYMENT_number biasanya berupa bilangan

sequensial (1,2,3, dst) yang dibuat untuk setiap

LOAN. Artinya, payment untuk loan yang berbeda

dpat berbagi nomor payment yang sama (tidak unik).

• Oleh karena itulah, himpunan entitas PAYMENT ini

tidak memiliki primary key sehingga disebut sebagai

entitas lemah.

Page 14: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 14

Himpunan Entitas Lemah (2)

• Himpunan entitas lemah (W) harus dihubungkan

entitas lain, yang disebut dengan himpunan entitas

pemilik atau himpunan entitas pengidentifikasi (E).

(identifying or owner entity set)

• Relasi antara himpunan entitas lemah (W) dengan

himpunan entitas kuat (E) tersebut disebut

“identifying relationship”

• Relasi ini bersifat many-to-one dari entitas W ke

entitas E.

• Partisipasi dari W adalah total

Page 15: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 15

Key untuk himpunan Entitas Lemah

• Walaupun himpunan entitas lemah tidak memiliki key, kita

tetap harus mampu membedakan setiap anggota entitas

secara unik

• Himpunan entitas lemah hanya memiliki discriminator

untuk membedakan anggota entitasnya. Misal:

PAYMENT_number

• Discriminator ini seringkali disebut partial key.

• Primary key untuk himpunan entitas lemah adalah

gabungan dari primary key entitas kuat dengan partial key

tersebut.

• Jadi, untuk himpunan entitas lemah PAYMENT, primary

key-nya adalah {LOAN_number, PAYMENT_number}

Page 16: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 16

Notasi Himpuan Entitas Lemah

• Lambang himpunan entitas lemah: persegi panjang ganda.

• Discriminator dari himpunan entitas lemah harus digarisbawahi dgn garis putus-putus.

• Himpunan Relasi yang menghubungkan himpunan entitas Lemah dan kuat dilambangkan dengan belah ketupat ganda.

Page 17: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 17

Himpunan Entitas Lemah (3)

Page 18: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 18

Contoh Lain dari Himpunan Entitas Lemah

• Penawaran mata kuliah di universitas. Mata kuliah yang sama mungkin ditawarkan di semester yang berbeda dan dalam satu semester, mungkin ada beberapa kelas (kelas A, B, atau C).

• Entitas: mata_kuliah, mata_kuliah_tawaran

• Diskriminator dari mata_kuliah_tawaran adalah semester (termasuk year) dan kelas.

Page 19: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 19

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 20: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 20

Extended ER

• Walaupun konsep ER dasar mampu memodelkan

semua basis data, kadang-kadang beberapa

aspek basis data tsb perlu diperluas lagi,

khususnya pada aplikasi yang lebih kompleks.

• Hal ini biasa dilakukan dengan memanfaatkan

features dari EER, yaitu:

Spesialisasi

Generalisasi

Attribute Inheritance

Agregasi

Page 21: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 21

Spesialisasi

• Definisi:

proses mendekomposisikan himpunan entitas berdasarkan pengelompokkan tertentu (proses top-down)

• Hasil dekomposisi: Sub Entitas

Page 22: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 22

Kapan Spesialisasi Dilakukan?

1. Jika kita ingin mendefinisikan sekumpulan

sub entitas dari suatu himpunan entitas.

2. Jika sub entitas memiliki spesifik/perbedaan

atribut.

3. Jika sub entitas memiliki suatu himpunan

relasi spesifik dengan himpunan entitas

lainnya.

Page 23: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 23

Spesialisasi (2)

• Suatu himpunan entitas dapat memiliki sub entitas yang berbeda

dengan entitas lain dalam himpunan tersebut.

• Misalnya, pada suatu himpunan entitas terdapat sub-himpunan

entitas yang memiliki atribut berbeda dari anggota entitas yang lain.

• Contoh: himpunan entitas PERSON dengan atribut nama, alamat,

kota

• PERSON dapat diklasifikasikan lagi menjadi:

– Customer

– employee

• Misal, atribut customer adalah customer_id. Sedangkan atribut

employee adalah employee_id dan salary.

• Atribut untuk masing-masing klasifikasi adalah atribut PERSON +

atibut masing-masing

• Proses merancang sub entitas ini disebut dengan spesialisasi

Page 24: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 24

Spesialisasi (3)

• Pada diagram ER, spesialisasi dilambangkan

dengan segitiga terbalik yang diberi label ISA

(dibaca: “is a”, misal: a customer “is a” person)

• Relasi ISA biasa juga disebut relasi superclass-

subclass

Page 25: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 25

Contoh Spesialisasi

Page 26: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 26

Contoh Spesialisasi

• Sebuah himpunan entitas dapat memiliki

beberapa spesialisasi yang didasarkan pada

jenis pengelompokan yang berbeda.

• Contoh: pegawai-tetap vs. calon-pegawai dan

staff vs. teler vs. sekretaris.

• Setiap pegawai akan menjadi

o Anggota dari pegawai-tetap atau calon-pegawai,

o Dan juga anggota staff atau teler atau sekretaris

Page 27: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 27

Attribute Inheritance

• Atribut dari himpunan higher-level entity akan

diturunkan kepada himpunan lower-level entity.

• Contoh: customer dan employee akan memiliki

atribut-atribut person.

• Jadi, customer dan employee secara otomatis

akan memiliki name, street, & city.

• Apabila suatu himpunan lower-level entity

berada dalam lebih dari satu relasi ISA, maka

himpunan tersebut akan memiliki multiple

inheritance.

Page 28: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 28

Multiple Inheritance

(Pewarisan Lebih Dari Satu)

Page 29: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 29

Generalisasi

• Definisi:

proses penyatuan kelompok-kelompok entitas dalam sebuah himpunan entitas dengan atribut-atribut yang sama (proses bottom-up).

• Contoh: mahasiswa D3 dan mahasiswa S1 -> mahasiswa

• Generalisasi adalah kebalikan dari spesialisasi

Page 30: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 30

Generalisasi (2)

• Proses desain juga dapat dilakukan secara “bottom up”.

Pada proses ini, beberapa entitas (lower level entity)

digabungkan ke dalam satu himpunan entitas (higher

level entity) berdasarkan kesamaan sifat.

• Proses ini disebut “generalisasi”

• Generalisasi digunakan untuk menekankan kesamaan di

antara himpunan entitas dan menyembunyikan

perbedaannya.

• Pada diagram ER, tidak ada perbedaan antara

generalisasi dan spesialisasi.

Page 31: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 31

Constraint Pada Generalisasi

Ada 2 jenis kelompok constraints pada generalisasi:

1. MEMBERSHIP CONSTRAINTS: Constraints yang

menentukan apakah suatu entitas dapat termasuk

ke dalam lebih dari satu himpunan lower-level entity.

2. COMPLETENESS CONSTRAINTS: Constraints

yang menentukan apakah suatu entitas dalam

himpunan higher-level entity harus merupakan

minimal suatu anggota dari himpunan lower-level

entity.

Page 32: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 32

Membership Constraints

Pada constraints ini, himpunan lower-level entity dapat berupa:

Disjoint

Constraint ini menyatakan bahwa suatu entitas tidak boleh

termasuk ke dalam lebih dari satu himpunan lower-level entity.

Misal: Entitas EMPLOYEE harus berupa salah satu: TELLER atau

OFFICER

Overlapping

Constraint ini menyatakan bahwa suatu entitas boleh termasuk ke

dalam lebih dari satu himpunan lower-level entity.

Misal: Entitas PERSON dapat merupakan EMPLOYEE dan juga

CUSTOMER

Default: Overlapping

Untuk disjointness, perlu ditambahkan kata “disjoint” pada segitiga

Page 33: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 33

Page 34: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 34

Completeness Constraints

Ada 2:

Total generalization/ specialization

Semua higher-level entity harus merupakan

anggota dari himpunan lower-level entity

Partial generalization/ specialization

Hanya sebagian higher-level entity yang

merupakan anggota

Default: partial

Untuk total: gunakan garis ganda

Page 35: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 35

Contoh TOTAL

Page 36: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 36

Specialisasi dan Generalisasi

36

PERBEDAAN SPESIALISASI GENERALISASI

Penekanan Perbedaan antar

himpunan entitas

Persamaan Himpunan

Entitas

Hasil Proses Terlihat secara

eksplisit

Tidak terlihat (dengan

pertimbangan

penyederhanaan)

Proses Top-down bottom-up

Page 37: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 37

Latihan

• Staf ditempatkan di kantor cabang. Staf terdiri

dari sekretaris, karyawan dan manajer. Kantor

cabang dikepalai oleh seorang manajer.

• Gambarkan ERD nya

Page 38: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 38

Agregasi

Agregasi mengakomodasikan fenomena dimana relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur dari relasi lain.

Page 39: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 39

Agregasi

• Salah satu kekurangan dari model ER adalah

kita tidak dapat menggambarkan hubungan

antar relasi

• Agregasi adalah abstraksi dengan membuat

relasi sebagai entitas yang lebih tinggi

• Agregasi memungkinkan kita mengindikasikan

himpunan relasi berpartisipasi di himpunan

relasi yang lain

• Pada diagram ER, kelompok agregasi

dimasukkan ke dalam satu kotak

Page 40: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 40

Contoh

Page 41: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 41

Contoh Agregasi

Page 42: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 42

Contoh Agregasi

Himpunan relasi ‘Mengikuti’ menunjukkan entitas mahasiswa yang mengikuti kegiatan praktikum tertentu karena telah mempelajari suatu mata kuliah (yang memang membutuhkan kegiatan praktikum)

Page 43: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 43

Latihan Agregasi

• Setiap pekerja bekerja pada proyek-

proyek. Mesin-mesin dipergunakan

pekerja-pekerja untuk menyelesaikan

proyek.

• Gambarkan ERD nya

Page 44: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 44

Contoh Agregasi

Nim dan kode_kul di relasi ‘Mengikuti’ tidak

berasal dari himpunan entitas Mahasiswa dan

Kuliah, tetapi dari relasi ‘Mempelajari’ yang

secara implisit mempunyai nim+kode_kul.

Karena itulah, ada faktor kronologis yang ingin

ditunjukkan dengan adanya Agregasi tersebut,

di mana sebuah relasi (Mengikuti Praktikum)

hanya akan ada jika telah ada relasi lainnya

(Mempelajari Kuliah).

Page 45: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 45

E-R Diagram Untuk Bank

Page 46: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 46

Rangkuman Simbol Yang Digunakan Dalam E-R Notation

Page 47: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 47

Rangkuman Simbol Yang Digunakan Dalam E-R Notation

Page 48: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 48

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 49: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 49

Merancang diagram ER

Merancang diagram ER seringkali merupakan seni. Tidak

ada yang 100% benar atau salah. Semuanya tergantung

asumsi yang digunakan oleh pemilik basis data.

Seringkali kita harus membuat keputusan yang tidak mudah:

Menentukan apakah suatu objek merupakan entitas atau

atribut

Apakah suatu konsep di dunia nyata merupakan entitas atau

relasi

Apakah harus menggunakan relasi n-ary atau dipecah

menjadi beberapa relasi biner

Apakah harus menggunakan entitas kuat atau entitas lemah

Apakah perlu melakukan generalisasi/spesialisasi

Apakah harus menggungkan agregasi

Page 50: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 50

Diagram ER (tambahan)

Page 51: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 51

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal

Page 52: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 52

Latihan 1

• Buat diagram ER untuk skenario sbb:

Pada suatu sistem pemesanan barang (order),

barang-barang dipesan oleh pelanggan. Apabila

stok barang di rak berkurang, maka akan diisi

kembali dari gudang.

Apabila stok barang di gudang berkurang, maka

barang tersebut harus dipesan kembali dari para

suplier yang memproduksi barang tersebut.

• Apabila ada, tuliskan asumsi yang dipakai

• Untuk setiap entitas yang anda gambar,

tambahkan atribut seperlunya.

Page 53: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 53

Latihan 2

• Staf perpustakaan, yang memiliki id, nama,

alamat, jabatan, dan nomor telepon, mengerjakan

beberapa projek. Untuk setiap staf, kita akan

sering hanya meng-akses nama belakang dari

staf tersebut. Setiap projek memiliki kode projek,

nama projek, tanggal dimulainya projek tersebut,

lama projek, dan tanggal projek tersebut

diperkirakan selesai. Setiap projek hanya dapat

dikerjakan oleh satu orang staf perpustakaan,

tetapi setiap staf tidak selalu harus mengerjakan

sesuatu projek.

Page 54: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 54

Latihan 3

• Buatlah ER untuk perpustakaan secara umum

(entitas: buku, cabang perusahaan, peminjam,

dan penerbit)

Page 55: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 55

Latihan 4

• Suatu perusahaan meminjamkan berbagai

macam tipe kendaraan, yang diidentifikasikan

dengan VIN (id kendaraan) dan GVW (berat

kotor kendaraan). Truk memiliki atribut panjang

dan kapasitas muatan. Mobil memiliki jumlah

tempat duduk (seating capacity). Orang yang

diidentifikasikan dengan nama dan nomor SIM

dapat meminjam satu atau lebih kendaraan

yang ditawarkan oleh perusahaan tersebut

untuk jangka waktu tertentu (per kendaraan)

Page 56: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 56

Latihan 5

• Staf perpustakaan memiliki nama, jabatan, dan

nomor telpon kantor. Setiap staf dapat memiliki

beberapa projek (tidak harus) yang

diidentifikasikan oleh nama, tanggal mulai, dan

tanggal selesai. Setiap projek hanya dapat

dikerjakan oleh satu staf. Setiap staf mempunyai

manager (kecuali direktur) yang sendirinya

memiliki projek.

Page 57: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 57

Latihan 6 • Rumah sakit memiliki daftar dokter, pasien, dan sejarah

kesehatan mereka (medical history). Untuk pasien dan dokter,

kita menyimpan no KTP, nama, dan alamat. Untuk dokter saja,

kita harus menyimpan spesialisasi mereka masing-masing

(‘pembedah', ‘kandungan‘, dll). Dokter dapat juga menjadi pasien

di rumah sakit. Ketika pasien datang, kita harus menyimpan

tanggal, dokter yang mengurus pasien tersebut, dan diagnosis

(seperti flu, demam, dll.)

• Untuk setiap kali datang (each visit), hanya ada satu dokter yang

melakukan diagnosis (tidak perlu dokter yang sama setiap kali).

Tidak ada pasien yang datang 2 kali dalam sehari (make 2

visits). Tetapi mungkin ada lebih dari satu diagnosis pada satu

kali visit (contoh: putus kaki dan putus tangan). Di setiap kali

visit, dokter dapat memberikan nol atau lebih obat dan untuk

setiap resep, kita harus menyimpan nama obat dan dosis.

Page 58: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 58

Latihan 7 • Sebuah pabrik memiliki 15 toko mesin. Setiap toko

berhubungan dengan beberapa toko yang lain. Setiap toko

dapat memuat sampai 30 mesin, dan setiap mesinnya

membutuhkan keahlian tertentu untuk

mengoperasikannya. Pabrik tersebut mempekerjakan

sekitar 500 operator mesin. Setiap operator dibayar

dengan gaji pokok dan mempunyai satu atau lebih

keahlian untuk mengoperasikan mesin-mesin tersebut.

Setiap keahlian mempunyai kode yang unik dan bonus

yang dibayarkan ke operator yang mempunyai keahlian

tersebut. Setiap toko mempunyai nama yang unik. Bagian

manajemen pabrik tersebut menyimpan luas toko. Setiap

mesin memiliki nomor serial. Manajemen juga menyimpan

tanggal kapan mesin tersebut dibeli dan kondisi masing-

masing mesin.

Page 59: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 59

Latihan 8

Rumah sakit Harold menerima pasien rawat menginap. Pasien ini

diberikan akomodasi kamar di rumah sakit tersebut. Kamar

tersebut diorgranisasi menjadi beberapa asrama. Asrama

tersebut dikelompokkan ke beberapa kategori. Setiap pasien di

rumah sakit tersebut diberi nomor pasien yang unik. Selama

tinggal di rumah sakit sebagai pasien rawat inap, pasien

diidentifikasikan oleh kombinasi dari nomor pasien dan nomor

sekuen yang terus dinaikkan (1, 2, 3, dst.) untuk setiap admisi.

Untuk setiap admisinya, rumah sakit menyimpan detail tentang

saudara dekat pasien tersebut dan nama dari asuransi yang

dimiliki pasien. Setiap pasien dirawat oleh dokter rumah sakit

yang dapat merekomendasikan perawatan standard untuk

pasien tersebut. Setiap perawatannya memerlukan biaya.

Asumsi: Setiap pasien dapat diakomodasikan ke lebih dari satu

kamar dalam satu admisi dan setiap ruangan memiliki nama

yang unik

Page 60: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 60

Latihan 9 • Produksi di suatu pabrik di organisasikan menurut projek

dengan manajer dan biaya yang dialokasikan untuk setiap

projeknya. Setiap projek dibagi menjadi beberapa

aktivitas. Setiap aktivitas mempunyai supervisor dan

perkiraan berapa lama projek tersebut akan berlangsung.

Aktivitas-aktivitas tersebut diberi nomor berurutan dalam

setiap projeknya. Pegawai di pabrik tersebut diberi nomor

payroll yang unik pada tanggal mereka diterima kerja.

Pegawai-pegawai tersebut dibagi ke dalam projek-projek

yang ada. Seorang pegawai dapat diberi beberapa projek.

Setiap projek dapat dikerjakan oleh beberapa pegawai.

Pegawai-pegawai tersebut diberikan aktivitas-aktivitas

tertentu. Data mengenai berapa lama seorang pegawai

menyelesaikan sebuah aktivitas disimpan.

Page 61: MODEL ENTITY RELATIONSHIP Bagian 2 - …si.itmaranatha.org/v2/attachments/article/100/03. Model ER Bag 2... · • Contoh relasi non-biner: ... Disjoint Constraint ini menyatakan

Page 61

Rangkuman Perkuliahan

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity)

• ER yang diperluas (Extended ER)

• Merancang ER Model

• Entity Relationship Diagram (tambahan)

• Latihan soal