entity-relationship model

55
ENTITY-RELATIONSHIP MODEL

Upload: noelle-porter

Post on 30-Dec-2015

94 views

Category:

Documents


0 download

DESCRIPTION

ENTITY-RELATIONSHIP MODEL. ENTITY-RELATIONSHIP MODEL. Entity relationship : cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data. Tujuan : menyajikan data dan menjadikan data mudah dimengerti, sehingga mempermudah perancangan dan pengaksesan database. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ENTITY-RELATIONSHIP MODEL

ENTITY-RELATIONSHIP MODEL

Page 2: ENTITY-RELATIONSHIP MODEL

ENTITY-RELATIONSHIP MODEL

Entity relationship : cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data.

Tujuan : menyajikan data dan menjadikan data mudah dimengerti, sehingga mempermudah perancangan dan pengaksesan database.

Berdasarkan tipe konsepnya, data model dibagi menjadi dua kategori yaitu Conceptual (High Level) Data Model dan Physical (Low Level) Data Model.

Conceptual Data Model merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data, sedangkan Physical Data Model merupakan konsep yang menerangkan detail dari bagaimana data di simpan di dalam komputer.

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.

Page 3: ENTITY-RELATIONSHIP MODEL

Entity-Relationship Diagram Merupakan diagram yang

menggambarkan hubungan (relationship) antar entitas (entity).

Page 4: ENTITY-RELATIONSHIP MODEL

Symbol E-R Diagram

Symbol

______

= Entity

Keterangan

= Weak Entity

= Relationship

= Identifying Relationship

= Atribut

= Atribut Kunci

= Atribut Multivalue

Symbol Keterangan

= Atribut Komposit

= Atribut Derivatif

E1 E2R = Total Participation Of E2 In R

E1 E2RN 1

= Cardinality Ratio 1:N For E1:E2 In R

Page 5: ENTITY-RELATIONSHIP MODEL

Tahap PembuatanEntity Relationship Diagram1. 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 Rasio.7. Menentukan Participation Constraint.

Page 6: ENTITY-RELATIONSHIP MODEL

ENTITY Entity adalah obyek yang dapat dibedakan dalam

dunia nyata. Entity sets adalah kumpulan dari entity yang

sejenis. Entity sets dapat berupa :

Obyek secara fisik : Rumah, Kendaraan, Peralatan, Mahasiswa.

Oyek secara konsep : Pekerjaan, Perusahaan, Rencana, Matakuliah.

Contoh: o Orang: MAHASISWA, DOSEN, PEMASOK, PENJUALo Benda: MOBIL, MESIN, RUANGANo Tempat: NEGARA, DESAo Kejadian: PENJUALAN, REGISTRASIo Konsep: REKENING, KURSUS

Simbol : persegi panjangnama_entity

Page 7: ENTITY-RELATIONSHIP MODEL

ENTITY

Untuk membedakan antara entitas sebagai kumpulan data dan sebuah entitas terdapat istilah tipe entitas dan instan entitas Tipe entitas disebut juga himpunan

entitas Instan entitas adalah sebuah

kemungkinan data dalam sebuah tipe entitas

Page 8: ENTITY-RELATIONSHIP MODEL

Tipe Entity dan Instan Entity

Page 9: ENTITY-RELATIONSHIP MODEL

Atribut

Atribut adalah sifat atau karakteristik yang melekat dalam sebuah entitas Contoh:

MAHASISWA = (Nomor_Mhs, Nama_Mhs, Alamat_Mhs, Kota_Mhs)

MOBIL = (Kode_Mobil, Nama_Mobil, Cc)

Domain menyatakan kemungkinan nilai untuk sebuah atribut

Page 10: ENTITY-RELATIONSHIP MODEL

Atribut (Lanjutan..)

Atribut Sederhana versus atribut komposit Atribut sederhana tidak bisa dipecah menjadi

bagian yang lebih kecil lagi Atribut komposit adalah atribut yang dapat

dipecah menjadi komponen yang lain

Alamat: Alamat_Jalan, Kota, Kode_PosNama: Nama_Depan, Nama_Tengah,

Nama_Belakang

Contoh Atribut komposit

Page 11: ENTITY-RELATIONSHIP MODEL

Atribut (Lanjutan..)

Atribut nilai tunggal (single-valued) dan nilai berganda (multivalued attribute)

Atribut nilai berganda adalah atribut yang berkemungkinan memiliki nilai lebih dari satu

Contoh: Nomor_Telepon, Ketrampilan_Pemrograman

Page 12: ENTITY-RELATIONSHIP MODEL

Atribut (Lanjutan..)

Atribut tersimpan dan atribut turunan (derived attribute) Atribut tersimpan adalah atribut yang secara

eksplisit tersimpan dalam database Atribut turunan adalah atribut yang nilainya

dapat dikalkulasi dari nilai atribut tersimpan Contoh:

Lama_Bekerja dapat dihitung dari Tgl_Mulai_Bekerja

Usia bisa dihitung dari Tgl_lahir

Page 13: ENTITY-RELATIONSHIP MODEL

Simbol-Simbol Atribut (oval)

nama_atribut

nama_atributbernilai ganda

nama_entity

nama_atribut_komposit

nama_atribut_derivatif

nama_atribut_kunci

nama_atribut

nama_atribut

nama_atribut

Page 14: ENTITY-RELATIONSHIP MODEL

RELATIONSHIP

Relationship adalah hubungan yang terjadi antara satu atau lebih entity.

Relationship sets adalah kumpulan dari relationship yang sejenis.

Contoh :

an employee work_on a company.

relationship : work_on. Simbol : wajik

employee companywork_on

Page 15: ENTITY-RELATIONSHIP MODEL

Derajat dari Relationship

Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship

Unary Degree (Derajat Satu) : sebuah entity berelasi dengan dirinya.

employee

supervison

supervisor supervise

Page 16: ENTITY-RELATIONSHIP MODEL

Derajat dari Relationship (lanj) Binary Degree (Derajat Dua) : terdapat dua

entity yang saling berhubungan.

employee companywork_on

Page 17: ENTITY-RELATIONSHIP MODEL

Derajat dari Relationship (lanj) Ternary Degree (Derajat Tiga) : terdapat tiga

entity yang saling berhubungan.

employee brunchwork_on

job

employee_id

employee_name

title level

brunch_nameBrunch_city

Page 18: ENTITY-RELATIONSHIP MODEL

Cardinality Ratio Menjelaskan jumlah keterhubungan satu entity

dengan entity yang lainnya. (1 : 1) : satu entitas pada tipe entitas A

berhubungan dengan paling banyak satu entitas pada tipe entitas B dan juga sebaliknya.

Contoh : seorang manager hanya memimpin satu departemen dan begitu sebaliknya.

M1M2M3

manager

R1R2R3

manages

D1D2D3

departement

manager departementmanages1 1

Page 19: ENTITY-RELATIONSHIP MODEL

Cardinality Ratio (lanj)

(1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu depertement atau satu departement memiliki banyak karyawan yang bekerja untuknya.

E1E2E3E4E5E6

employee

R1R2R3R4R5R6

works_for

D1D2D3

departement

employee departementworks_forN 1

Page 20: ENTITY-RELATIONSHIP MODEL

Cardinality Ratio (lanj)

(M : N) : setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. Contoh : satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek.

E1E2E3E4

employee

R1R2R3R4R5R6

works_on

P1P2P3

project

employee projectworks_onM N

Page 21: ENTITY-RELATIONSHIP MODEL

Kardinalitas Hubungan

Selalu hanya satu

Satu atau banyak

Nol atau satu

Nol, satu, atau banyak

Page 22: ENTITY-RELATIONSHIP MODEL

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

Page 23: ENTITY-RELATIONSHIP MODEL

Kekangan Kardinalitas (Lanj…) 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

Page 24: ENTITY-RELATIONSHIP MODEL

Contoh Penerapan Kekangan Kardinalitas

MempunyaiPASIEN KUNJUNGAN (a) Dasar hubungan

(b) Hubungan dengan kekangan kardinalitas

MempunyaiPASIEN SEJARAHPASIEN

Contoh:

Amir

Dewi

Fahmi

Kunjungan 1

Kunjungan 2

Kunjungan 1

Kunjungan 1Kunjungan 2

Page 25: ENTITY-RELATIONSHIP MODEL

Contoh Penerapan Kekangan Kardinalitas (Lanj…)

Ditugaskan_kePEGAWAI PROYEK (a) Dasar hubungan

(b) Hubungan dengan kekangan kardinalitas

Ditugaskan_kePEGAWAI PROYEK

Contoh:

Amir

Dewi

Fahmi

Proyek 1

Proyek 2

Proyek 3

Proyek 4Proyek 5Sueb

Page 26: ENTITY-RELATIONSHIP MODEL

Contoh Penerapan Kekangan Kardinalitas yang Menggunakan Bentuk Lain

Page 27: ENTITY-RELATIONSHIP MODEL

Arti Hubungan

Beberapa barang digunakan untuk Produk

Pelanggan tidak mengirim pesanan

BARANG

Digunakan_pada

PRODUK

PESANAN

Mengirim

PELANGGAN

Page 28: ENTITY-RELATIONSHIP MODEL

Kekangan Kardinalitasnya?

ORANG Menikah_dengan PEGAWAI Membawahi

SUKU_CADANG Tersusun_atas

Page 29: ENTITY-RELATIONSHIP MODEL

Jawaban Kekangan Kardinalitasnya :

ORANG Menikah_dengan PEGAWAI Membawahi

SUKU_CADANG Tersusun_atas

Page 30: ENTITY-RELATIONSHIP MODEL

Participation Constraint Menjelaskan batasan keikut-sertaan dari suatu

entity terhadap hubungannya dengan entity yang lainnya.

Total Participation : menyatakan instance dari suatu entity harus berhubungan dengan instance dari entity lainnya.

Partial Participation : menyatakan setiap instance dari suatu entity tidak harus berhubungan dengan instance dari entity lainnya.

Contoh : setiap departemen harus dipimpin oleh seorang manager/karyawan (total participation) dan tidak semua karyawan yang memimpin suatu departemen (partial participation).

employee departementmanages1 1

Page 31: ENTITY-RELATIONSHIP MODEL

Weak Entity (Entitas Lemah) Weak entity adalah suatu entity yang mana

keberadaannya tergantung dari keberadaan entity lain.

Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship.

Weak entity selalu mempunyai total participation constraint terhadap Identifying Owner. Contoh : entity tanggungan keberadaannya bergantung pada karyawan.

Page 32: ENTITY-RELATIONSHIP MODEL

Weak Entity (lanj)

karyawan tanggunganmemiliki

nip ………… nama …………

Page 33: ENTITY-RELATIONSHIP MODEL

CONTOH STUDI KASUS SEDERHANAUntuk keperluan penjelasan konsep dan penggunaan ER-Model, digunakan satu contoh database “FAKULTAS” yang didalamnya mencatat: data dosen data program studi / prodi data proyek

Page 34: ENTITY-RELATIONSHIP MODEL

CONTOH STUDI KASUS SEDERHANAPenjelasan dari sebagian data FAKULTAS yang diperoleh setelah fase “Requirement Collection and Analysis” sbb:1. Fakultas terdiri dari beberapa Program

Studi (prodi). Setiap prodi mempunyai satu nama yang unik,nomer yang unik, dan seorang dosen bertindak sebagai kepala dari prodi (kaprodi). Tanggal mulai bekerja dari kaprodi juga dicatat dalam database (Tgl pengangkatan sebagai kaprodi). Satu prodi dapat tersebar disejumlah lokasi.

Page 35: ENTITY-RELATIONSHIP MODEL

CONTOH STUDI KASUS SEDERHANA2.Suatu prodi dapat mengendalikan sejumlah

proyek mahasiswa, setiap proyek mempunyai satu nomor yang unik, nama yang unik, dan satu lokasi tertentu.

3.Data dosen yang perlu dicatat berupa : nama, nomor induk dosen, alamat, honor, jenis kelamin dan tanggal lahir.Seorang dosen ditempatkan di satu prodi, tetapi dapat menangani sejumlah proyek yang tidak harus dikendalikan oleh prodi dimana dosen tersebut ditempatkan.Jumlah jam perminggunya dari dosen yang menangani suatu proyek perlu dicatat, juga perlu dicatat supervisor langsung dari setiap dosen.

Page 36: ENTITY-RELATIONSHIP MODEL

CONTOH STUDI KASUS SEDERHANA4. Untuk keperluan tunjangan

dosen, maka perlu dicatat anggota keluarga dari setiap dosen. Data yang dicatat berupa: nama anggota keluarga, sex, birthdate dan hubungan keluarga (relationship).

Page 37: ENTITY-RELATIONSHIP MODEL
Page 38: ENTITY-RELATIONSHIP MODEL

Latihan 1Gambarkan satu ER-Diagram dari satu set „requirements“ untuk keperluan database suatu universitas yang digunakan untuk menyimpan transkrip dari mahasiswa:

1. Universitas mencatat data setiap mahasiswa yang berupa: nama,nomor pokok, nomor KTP, alamat tetap, alamat sementara, tgl-lahir, jenis kelamin, nama jurusan, program pendidikan (Diploma Tiga, Sarjana, Pasca Sarjana).Sejumlah user dari aplikasi yang dibuat juga perlu untuk mengacu pada nama kota, propinsi dan kode pos dari alamat tetap mahasiswa, dan juga nama orang tua dari setiap mahasiswa.Nomor KTP dan nomor pokok unik untuk setiap mahasiswa.

Page 39: ENTITY-RELATIONSHIP MODEL

Latihan 1

2. Setiap jurusan dijelaskan berdasarkan nama, kode jurusan, kode kantor, nomor telepon. Kode dan nama jurusan mempunyai nilai-nilai yang unik.

3. Setiap mata kuliah mempunyai kode, nama, jumlah sks, dan jurusan penyelenggara, kode mata kuliah unik untuk setiap mata kuliah yang ada.

Page 40: ENTITY-RELATIONSHIP MODEL

Latihan 1

4. Setiap mata kuliah yang ditawarkan dalam setiap semester diidentifikasikan sebagai „section“, yang setiap section mempunyai nomor/kode dosen, semester, tahun, mata kuliah, dan nomor section. Nomor section membedakan sejumlah section yang mempunyai nama mata kuliah yang sama yang ditawarkan pada semester/tahun yang sama (nilainya adalah 1,2,3 .... s/d jumlah section yang ditawarkan dalam satu semester).

5. Laporan nilai prestasi belajar (Transkip) berisikan nama mahasiswa , section, serta nilai angka dan nilai huruf (0,1,2,3, atau 4).

Page 41: ENTITY-RELATIONSHIP MODEL

Latihan 2

Suatu Basis Data akan dibangun untuk menyimpan informasi mengenai team-team dan pertandingan-pertandingan dalam suatu liga olah raga. Adapun informasi yang diinginkan untuk disimpan berupa:

a. Suatu Team mempunyai nama yang unik, dan Negara asal.

b. Suatu Team terdiri dari pemain-pemain. Data-data pemain yang diperlukan adalah nama pemain, No punggung yang unik, umur, posisi/peran pemain dalam pertandingan.

c. Data lokasi pertandingan yang berupa nama lokasi yang unik dan alamat lokasi yang terdiri dari jalan, kota, dan kode pos.

Page 42: ENTITY-RELATIONSHIP MODEL

Latihan 2

d. Untuk tiap pertandingan yang perlu dicatat adalah nama-nama Team yang bertanding ( team tuan rumah dan team tamu), nama lokasi, dan hasil / skor pertandingan.

Buat ER-Diagram dari user requirement di atas. Buatlah asumsi-asumsi untuk lebih

melengkapi user requirement diatas.

Page 43: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational

Tahap-Tahap Transformasi :1. Entity-Relationship Diagram menjadi basis data.2. Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.3. Entitas lemah key dari “owner” (entitas kuat) ke tabel entitas

lemah.4. Setiap tipe entity dibuat suatu tabel yang memuat semua atribut

simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya saja. Contoh :

street

city state

zip_code

address

customer

id

name

id

name

street

city

state

zip_code

Tabel Customer

Page 44: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational (lanj)

5. Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari primary key dari tabel tersebut dengan atribut multivalue.

proyek

no_proyek

nama_proyek

lokasii

no_proyek

nama_proyek

Tabel Proyek

Tabel Lokasi_Proyek

no_proyek

lokasi

Page 45: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational (lanj)

6. Setiap unary relationship 1:N, selain membuat tabel baru berdasarkan entity, buat juga tabel baru berdasarkan relationship-nya dengan atribut kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut dan atribut kunci alternatif sebagai primary key-nya.

employee

employee_id

employee_name

supervision

1

N

employee_id

employee_name

Tabel Employee

Tabel Supervision

supervisor_id

employee_id

Page 46: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational (lanj)

7. Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat tabel baru berdasarkan relationship, dimana kolom-kolomnya terdiri dari alternate key, dan primary key dari masing-masing entity.

nip Nama_dos

Tabel Dosen

kode_jur

nama_jur

Tabel Jurusan

periode

kode_jur

nip

Tabel kaprodi

Dosen

nip nama_dos

Jurusan

kode_jur nama_jur

mengepalai

1

1

periode

Page 47: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational (lanj)8. Untuk CR 1:N dengan atau tanpa total participation

maka primary key dari sisi 1 masuk ke sisi N.

nip nama_dos

Tabel Dosen

nim nama_mhs

nip

Tabel Mahasiswa

Dosen

nip nama_dos

mahasiswa

nim nama_mhs

perwalian

1

N

Page 48: ENTITY-RELATIONSHIP MODEL

Transformasi E-R Diagram ke Basis Data Relational (lanj)9. Untuk CR M:N dibuat tabel tersendiri berdasarkan

relationshipnya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity.

nim

nama_mhs

Tabel Mahasiswa

kode_mk

nama_mk

Tabel Matakuliah

mahasiswa

nim nama_mhs

matakuliah

kode_mk nama_mk

mengambil

N

M

semester nim

kode_mk

Tabel KRSsemester

Page 49: ENTITY-RELATIONSHIP MODEL

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

Page 50: ENTITY-RELATIONSHIP MODEL

Tahap Pembuatan Entity Relationship Diagram1. Mengidentifikasikan entity-entity yang ada.

entity-entity : KelompokFilm, Film, Customer.

2. Menentukan atribut-atribut dari setiap entity.

3. Menentukan primary key dari setiap entity.

Entity Atribut

Film judul, jml_keping, jml_film

KelompokFilm

jenis, harga_sewa

Customer no_identitas, jenis_identitas, nama, alamat

Entity Atribut

Film kode_film, judul, jml_keping, jml_film

KelompokFilm

jenis, harga_sewa

Customer no_identitas, jenis_identitas, nama, alamat

Page 51: ENTITY-RELATIONSHIP MODEL

Tahap Pembuatan Entity Relationship Diagram (lanj)4. Menentukan relationship antar entity.

5. Menentukan atribut-atribut dari setiap relationship (jika ada).

Entity Relationship Entity

Film Dikelompokkan KelompokFilm

Customer

Menyewa Film

Relationship

Atribut

dikelompokkan

-

Menyewa tgl_sewa, total_film, tgl_kembali, total_harga, denda

Page 52: ENTITY-RELATIONSHIP MODEL

Tahap Pembuatan Entity Relationship Diagram (lanj)6. Menentukan Cardinality Rasio.

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

Entity Cardinality Rasio

Film dikelompokkan

KelompokFilm

N : 1

Customer

Menyewa Film N : M

Page 53: ENTITY-RELATIONSHIP MODEL

Entity Relationship Diagram Rental VCD FILM

kelompokfilm

jenis harga_sewa

Film

kode_film

judul

jml_film

jml_keping

dikelompokkan

1 N

Customer

no_identitas

jenis_identitas

nama alamat

M

N

menyewa

tgl_sewa total_film

total_harga

dendatgl_kembali

Page 54: ENTITY-RELATIONSHIP MODEL
Page 55: ENTITY-RELATIONSHIP MODEL