• Tidak ada hasil yang ditemukan

MODEL ENTITY RELATIONSHIP

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODEL ENTITY RELATIONSHIP"

Copied!
61
0
0

Teks penuh

(1)

Page 1

BASIS DATA (BS203)

k_doroedi@yahoo.com

fb: NDoro Edi MODEL ENTITY RELATIONSHIP

(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

(3)

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

(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”

(5)

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

(6)
(7)

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

(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

(9)

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

(10)

ATTENTION PLEASE!!!

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

(11)

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

(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.

(13)

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.

(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.

(15)

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}

(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.

(17)

Page 17

Himpunan Entitas Lemah (3)

(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.

(19)

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

(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

(21)

Page 21

Spesialisasi

Definisi:

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

(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.

(23)

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

(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

(25)

Page 25

(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

(27)

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

(28)

Multiple Inheritance

(29)

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

(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.

(31)

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.

(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

(33)
(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

(35)

Page 35

Contoh TOTAL

(36)

Specialisasi dan Generalisasi

PERBEDAAN SPESIALISASI GENERALISASI

Penekanan Perbedaan antar himpunan entitas

Persamaan Himpunan Entitas

Hasil Proses Terlihat secara eksplisit

Tidak terlihat (dengan pertimbangan

penyederhanaan)

(37)

Page 37

Latihan

• Staf ditempatkan di kantor cabang. Staf terdiri dari sekretaris, karyawan dan manajer. Kantor cabang dikepalai oleh seorang manajer.

(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.

(39)

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

(40)
(41)

Page 41

Contoh Agregasi

(42)

Contoh Agregasi

Himpunan relasi ‘Mengikuti’ menunjukkan

entitas mahasiswa yang mengikuti kegiatan praktikum tertentu karena telah mempelajari suatu mata kuliah (yang memang

(43)

Page 43

Latihan Agregasi

• Setiap pekerja bekerja pada

proyek-proyek. Mesin-mesin dipergunakan

pekerja-pekerja untuk menyelesaikan

proyek.

(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).

(45)

Page 45

(46)

Rangkuman Simbol Yang Digunakan

Dalam E-R Notation

(47)

Page 47

Rangkuman Simbol Yang

(48)

Outline

• Varian Relasi (Biner & Non-biner)

• Himpunan Entitas Lemah (Weak Entity) • ER yang diperluas (Extended ER)

Merancang ER Model

Entity Relationship Diagram (tambahan)

(49)

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

(50)
(51)

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)

(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.

(53)

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.

(54)

Latihan 3

• Buatlah ER untuk perpustakaan secara umum (entitas: buku, cabang perusahaan, peminjam, dan penerbit)

(55)

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)

(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

(57)

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.

(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

(59)

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

(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

(61)

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

Gambar

Diagram ER dengan relasi 3-ary
Diagram ER (tambahan)

Referensi

Dokumen terkait

Hasil penelitian yang penulis lakukan menunjukkan bahwa kuantitas dan kualitas kerja, serta ketepatan Waktu Pegawai Negeri Sipil Bagian Humas Sekretariat Daerah Kota

Kegiatan Program Penghimpunan (fundraising) merupakan serangkaian kegiatan pelayanan kepada para donatur YDSF khususnya di Sidoarjo, yang dilakukan dalam rangka

Berdasarkan gambar 6 diketahui selama masa penyimpanan, telur mengalami penyusutan walaupun pada awal penyimpanan yaitu 7 hari terjadi kenaikan berat telur dan

Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi

Mengingat ibadah umrah dan haji haruslah ditempuh dengan dana yang halal, tidak boleh pada dana yang samar (syubhat) apalagi yang haram, karena apabila dana yang digunakan

Karena tingkat ketidakpastian yang relatif tinggi dari data-data laju transpor nitrogen global, pada saat ini tidak mungkin untuk menentukan apakah siklus nitrogen di laut

Hama dan Penyakit : Hawar daun bakteri, Walang sangit , Keong mas, dan Penggerek batang padi, Wereng hijau.. Pengendalian : Kimiawi (Penyemprotan 3x dalam

Dari data sebaran titik panas / titik hotspot di bawah ini, terlihat jelas adanya peningkatan titik panas / titik hotspot yang cukup tinggi di wilayah Sumatera