erd

51
ERD(EntityRelationship Diagram) ---Diagram Keterhubungan Entitas--- M. Haviz Irfani STMIK MDP Oktober 2012

Upload: faridnurfadillah

Post on 24-Dec-2015

32 views

Category:

Documents


4 download

DESCRIPTION

Basis Data

TRANSCRIPT

Page 1: ERD

ERD(EntityRelationship Diagram)---Diagram Keterhubungan Entitas---

M. Haviz IrfaniSTMIK MDP Oktober 2012

Page 2: ERD

TERMINOLOGI ERD

TAHAPAN MEMBUAT ERD

CONTOH ERD DALAM BEBERAPA KASUS

-----BAHASAN ERD-----

PENDAHULUAN

Page 3: ERD

Pendahuluan

ERD (whitten, J.L. , dkk):“Model Data yang menggunakan beberapa

notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut”

Page 4: ERD

Pendahuluan

ERD (Fathansyah, Ir):“Model Entity-Relationship yang berisi

komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari dunia nyata”

Page 5: ERD

Terminologi ERD

A. Entitas“sesuatu yang diperlukan bisnis untuk

menyimpan data”(whitten, J.L,dkk)“individu yang mewakili sesuatu yang nyata

(eksistensinya) dan dapat dibedakan dari sesuatu yang lain”(Fathansyah)

“Orang, tempat, kejadian, atau konsep yang informasinya direkam” (Harianto, Ir,K.)

Page 6: ERD

Terminologi ERD

ENTITAS apa saja…??? (whitten, J.L. , dkk; Nugroho, A.)Orang: Pelanggan, Penyalur, Pegawai, Mahasiswa,

Departemen, Divisi,Pasien, dllTempat: Ruang, Perpustakaan,Kantor, Kampus,kota,

jalan,propinsi,Toko, dllObject: Buku, Mesin, Produk, licensi perangkat lunak,

spesifikasi paket perangkat lunak, mobil,Produk,dllPersitiwa: Aplikasi,penerbangan,kelas,order,

registrasi,reservasi,penjualan, pembelian,sllKonsep:Kuliah ,kursus, mata kuliah, stok, pinjaman,rekening dllAbstrak: Persamaan matematika, persamaan fisika, rumus-

rumus kimia, dll

Page 7: ERD

Jenis-jenis Entitas

1. Entitas Kuat (Strong Entity)yaitu entitas mandiri yang keberadaannya tidak bergantung pada keberadaan entitas lain.

2. Entitas Lemah (Weak Entity) yaitu entitas yang keberadaannya bergantung pada keberadaan entitas lain atau biasanya berasal dari atribut multivalue pada entitas lain.

3. Entitas Asosiatif yaitu entitas yang terbentuk dari suatu relasi (Relasi bersifat banyak ke banyak atau bermakna mandiri bagi pengguna).

Page 8: ERD

Contoh:• Entitas Kuat misalnya mahasiswa, buku,

karyawan, dll• Entitas Lemah misalnya hobi, orang tua,• Entitas Asosiatif misalnya pengiriman, jadwal,

delivery order.

Terminologi ERD

Hubungan banyak-ke-banyak sebaiknya dikonversi menjadi Entitas Asosiatif.

Hubungan Ternary sebaiknya dikonversi menjadi Entitas Asosiatif.

Page 9: ERD

Hubungan (Relationship)“Hubungan bisnis alami yang ada di antara satu

atau lebih entitas” (whitten, J.L. dkk)“Asosiasi dari satu atau lebih entitas yang

bermakna bagi organisasi/perusahaan” (Nugroho, A.)

“Menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas berbeda” (Fathansyah)

Page 10: ERD

Terminologi ERDB. Atribut.“Sifat atau karakteristik deskriptif suatu entitas”

(whitten, J.L. dll)“properti / karakteristik suatu entity atau

relationship”

Contoh: Entitas Pegawai; atributnya:nip,nama,alamat.Entitas Barang; atributnya:kodebrg,namabrg,jumlah.Entitas Buku; atributnya:kdBuku,Judul,Pengarang.

Page 11: ERD

Tipe-tipe Atribut1. Simple : Memiliki nilai atomik tunggal

contoh: kodeBRG,jenisKelamin,harga2.Composite: Terdiri dari beberapa komponen

contoh: Nama(nama depan, nama tengah, nama belakang)

Alamat(jalan,no,kota,kodePos,Wilayah)3.Multi-Valued:memiliki beberapa NilaiContoh: Warna(merah,biru,putih,…dll) dari entitas MobilGelar(D1,D2,S1,S2,S3,..dll) dari entitas Pegawai

Terminologi ERD

Page 12: ERD

Tipe-tipe Atribut

4. Derived:diturunkan/dikalkulasi dari atribut Stored(tersimpan)

Contoh: umur diturunkan dari atribut tanggalLahir

Lama_Kerja diturunkan dari atribut Tgl_mulai_kerja5. Nilai Null :nilai ada tetapi belum diketahui Contoh:

No_telpon, tinggi_badan, nama_pasangan_orang_belum_menikah.

Page 13: ERD

Contoh Atribut dari Atribut Komposit

Alamat

jalanAlamat kota kodepos Area

Norumah jalan Blok

Page 14: ERD

Contoh Diagram E-R dengan Atribut Komposit, Nilai Berganda, dan Turunan

Page 15: ERD

Kunci(key)

• Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record.

• Kunci membuat sebuah entitas unik.

Contoh:

Pegawai: nomor pegawai (NIP)

Perusahaan: nama perusahaan (Nama)

Proyek : nomor proyek dan nama proyek (noproy,namaproy)

Transaksi: tanggal dan waktu (date dan time)

Page 16: ERD

Kunci(key)

• Mempengaruhi validasi integritas data dan kinerja basis data

• Mencegah user memasukkan data yang sama yang tidak diinginkan

• Memelihara integritas dengan cara menghubungkan ini dengan key tabel lain.

Page 17: ERD

Jenis-jenis kunci :

– Superkey: satu atau lebih atribut yang dimiliki entitas dapat dibedakan dengan entitas lain. Contoh: gabungan nim dan nama, nim,

– Candidat key : atribut yang dapat dijadikan sebagai calon key

– Primary key:atribut yang secara unik mengidentifikasi masing-masing instan dari suatu tipe entitas tunggal. Instan seperti (“toni”,”tuti”,”bobi”) = Karyawan

– Alternate key : kandidat key yang dijadikan alternatif untuk menjadi primary key

– Foreign key: merelasikan entitas-entitas dalam sebuah relasi.

Page 18: ERD

Metode Chen

Strong Entitas

Relasi

Atribut

Relasi

EntitasWeak Entitas

AtributAtribut MultiNilai

Atribut Turunan

Relasi Identifi

kasi

Garis Hubungan

KARDINALITAS:

1 N

N M

1 1

Page 19: ERD

Metode MartinStrong Entitas Weak Entitas

AtributAtributAtribut

Relasi Identifikasi

KARDINALITAS:

1AtributAtributAtribut

Entitas Asosiatif

1

0 atau1

1 atauN

0,1 atauN

>1

Relasi Tak Teridentifikasi

Page 20: ERD

Derajat Hubungan (CHEN)

Hubungan Unary

Orang Menikah dengan

Orang Kerjasama

1

1 1

N

(Satu ke satu) (Satu ke banyak)

Page 21: ERD

Derajat Hubungan (MARTIN)

Hubungan Unary

Orang Orang

(Satu ke satu) (Satu ke banyak)

Menikah kerjasama

Page 22: ERD

Derajat Hubungan(CHEN)

Hubungan Binary

1 1Universitas Rektor

1 NUniversitas Jurusan

Mengikuti

N MMahasiswa MataKuliah

Memiliki

dipimpin

Page 23: ERD

Derajat Hubungan(MARTIN)

Hubungan Binary

Universitas Rektor

Universitas Jurusan

Mahasiswa MataKuliah

dipimpin

memiliki

mengikuti

Page 24: ERD

Derajat Hubungan(CHEN)

Hubungan Ternary

Supplier Gudang

Barang

Memasokan

N M

P

Page 25: ERD

Derajat Hubungan(MARTIN)

Hubungan Ternary

Supplier Gudang

Barang

Detail Pasokan

dibutuhkan

dipesan

mem

asok

an

Page 26: ERD

Hubungan Majemuk

Pegawai Bagian

Bekerja

Mengepalai

Mengawasi

1

N

1N

11

Relasi Tunggal Relasi Ganda

Page 27: ERD

Structural Constraints• Dinyatakan pd setiap partisipasi dari sebuah

entity tipe E pada relationship type R• Menyatakan bahwa tiap entity e di E

berpartisipasi paling sedikit min dan paling banyak max pada relationship instance di R

• Menyatakan batasan yang ada dalam requirement(pengajuan).

• Harus memenuhi min<=max, min>=0,max>=1• min=0 menandakan partisipasi parsial• min>=1 menandakan partisipasi total

Page 28: ERD

Participation constraints• Total participation (mandatory)

Minimal harus ada satu entitas A yang berasosiasi dengan entitas B.Contoh: pada relasi antara entitas mahasiswa dan mata kuliah, diasumsikan bahwa mahasiswa harus mengambil minimal satu mata kuliah. Dosen harus mengajar minimal 1 mata kuliah

DOSEN MATAKULIAHAJAR

M N

Kelas

Mt_kuliahNm_dos

Kd_dos Kd_mk sksAlamat

SEM

Page 29: ERD

Participation constraints• Partial participation (optional)

Diperbolehkan terjadinya keadaan tidak ada entitas A yang berasosiasi dengan entitas B.Contoh: pada relasi dosen dan mahasiswa, diasumsikan bahwa seorang dosen diperbolehkan tidak memiliki mahasiswa bimbingan. Contoh lain Dosen boleh tidak mengkoordinir dosen lainnya.

DOSEN

M

Nm_dos

Kd_dos

Alamat

Kd_pem

Koordinir

1

Page 30: ERD

Langkah-langkah membuat ERD

1. Menentukan Entitas2. Menentukan Relasi3. Gambar ERD sementara4. Tentukan Kardinalitas5. Tentukan atribut-atribut yang diperlukan entitas6. Tentukan Primary key7. Gambar ERD Berdasarkan kunci: menghilangkan

relasi many to many dan memasukkan primary key dan kunci tamu pada masig-masing entitas

Page 31: ERD

Langkah-langkah membuat ERD

7. Menentukan atribut lainnya8. Pemetaan atribut (memasang atribut dengan

entitas yang sesuai)9. Gambar ERD dengan atribut lainnya

Page 32: ERD

Persoalan

Buatlah ERD mahasiswa meminjam buku pada perpustakaan!

Langkah 1: Tentukan Entitas dari soal.Entitas : mahasiswa dan bukuLangkah 2: Tentukan Relasi dari soal.Relasi : MeminjamLangkah 3: Gambarlah ERD sementara Mahasiswa BukuMemin

jam

Page 33: ERD

Langkah 4. Tentukan kardinalitasnya.

Mahasiswa Bukumeminjam

Mahasiswa BukuMeminjam

N M

Mahasiswa Bukumeminjam

Page 34: ERD

Langkah 5: Tentukan Primary keyNimMahasiswa dan kdbukuBukuLangkah 6: gambar ERD

Mahasiswa BukuMeminjam

N M

Mahasiswa

nim (pk)

Buku

Kdbuku (pk)meminjam

nim kdbuku

Page 35: ERD

Mahasiswa BukuMeminjam

N M

nim kdbukunama

alamat pengarang

judul

tglpinjam penerbit

Mahasiswa

nim (pk)nama

alamat

Buku

Kdbuku (pk)pengarangPenerbit

judul

Detailpinjam

nim+kdbuku(pk)nim(fk)

Kdbuku(fk)tglPinjamtglkembali

denda

nim kdbuku

melakuka

n

melakuka

n

Page 36: ERD

Contoh:

Pertanyaan 1 :Sebuah Prodi mengasuh beberapa mata kuliah.

Setiap mata kuliah memiliki kode yang unik, nama, dan jumlah SKS. Masing-masing mata kuliah mahasiswa yang mengambil mata kuliah tersebut

Tentukan entitas yang terlibatEntitas kuat : Mhs, mtkul, Prodi, Dosen,KelasEntitas lemah: -

Page 37: ERD

Pertanyaan 2:Mata kuliah memiliki kelas dengan jadwal dan

ruang yang spesifik dan dosen yang mengajar Tentukan atribut dari setiap entitasMhs: nama, npm, tgl_lahirMtkul: id, nama_matkul, SKSProdi: kode_prodi, nama_prodiDosen: id_dosen, namaKelas: jadwal, ruang, dosen

Page 38: ERD

Departemen memiliki beberapa dosen. Data dosen yang disimpan adalah nama, nrp, alamat, tanggal lahir, dan jenis kelamin

Tentukan relasi antar entitas dan constraint-nyaRelasi Entitas A Entitas B Partisipasi Kardinalitas

Bekerja Prodi Dosen Total-total 1-M

Mengajar Dosen Kelas Partial-total M-N

Bagian Kelas Mtkul Total-partial M-1

Memiliki Prodi Mtkul Total-total 1-M

Terdaftar Mtkul Mhs Patial-partial N-M

Mengambil Mtkul Mhs Partial-partial N-M

Page 39: ERD

DOSEN

MHS

bekerja

Id_dosen nama

Nama_mhs

PRODI

kode_Prodi Nama_Prodi

mengajar

KELAS

jadwal ruang

dosen

MTKUL

id

Nama_mtkul

sks

memiliki

Tgl_lahir

npm

mengambil

terdaftar

nilai

Page 40: ERD

Contoh

• Sebuah perusahaan memiliki beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas diproyek.

Page 41: ERD

Penyelesaian:

• Entitas: pengawas, bagian, pegawai, proyek• Matriks Relasi:

Bagian Pegawai Pengawas ProyekBagian ditugaskan ke dijalankan olehPegawai milik bekerja padaPengawas menjalankanProyek menggunakan

Page 42: ERD

PengawasDijalankan olehBagian

Ditugaskan ke

pegawai proyekBekerja

pada

ERD sementara:

Page 43: ERD

Menentukan kardinalitas

• Masing-masing bagian hanya punya satu pengawas

• Seorang pengawas bertugas di satu bagian• Masing-masing bagian ada minimal satu

pegawai• Masing-masing pegawai bekerja paling tidak di

satu bagian• Masing-masing proyek dikerjakan paling tidak

oleh satu pegawai

Page 44: ERD

PengawasDijalankan olehBagian

Ditugaskan ke

pegawai proyekBekerja

pada

ERD dan Kardinalitas:

1 1

N

MN M

Page 45: ERD

PengawasDijalankan olehBagian

Ditugaskan ke

pegawai proyekBekerja

pada

ERD , Kardinalitas dan Primary Key:

1 1

N

MN M

namaBGN noPengawas

noPegawai noProyek

Page 46: ERD

PengawasDijalankan

olehBagian

Ditugaskan ke

pegawai Pegawai proyek

Bekerja pada

Entitas asosiatif dan hubungan N-M:

1 1

1

M

1 M

namaBGNnoPengawas

noPegawai

Terlibat

Bagian Pegawai

proyekBekerja

pada1

noProyek

N1

N

namaBGN+ noPegawai

noproyek+ noPegawai

Page 47: ERD

Melangkapi Atribut lainnya

• Bagian: nama_bagian• Proyek: nama_proyek• Pegawai: nama_pegawai• Pengawas: nama_pengawas• Proyek-pegawai: nomor_proyek,

nomor_pegawai• Pengawas: nomor_pengawas

Page 48: ERD

DOSEN ASUHMT-KULIAH

BELAJAR

MAHASISWA

NO-DSN

NAMA

ALAMAT SKS

KDMTK

MTK

RUANG

NO-DSN KDMTK

NPM NAMA

ALAMAT

NPM

NO-DSN KDMTK

NILAI

N N

N

N

Contoh Agregasi

Page 49: ERD

Diketahui sebuah kasus sebagai berikut:• Perusahan diorganisasikan ke dalam beberapa departemen.

Setiap departemen memiliki nama dan nomor yang unik, dan employee yang bekerja pada perusahaan tersebut

• Departemen mengontrol beberapa projects yang masing-masing memiliki nama dan nomor yang unik, dan memiliki lokasi

• Data employee yang disimpan adalan nama, nrp, alamat, gaji, jenis kelamin, dan tanggal lahir.

• Perusahaan juga menyimpan data dari tanggungan setiap employee. Data yang disimpan adalah nama, jenis kelamin, tanggal lahir, dan hubungan dengan employee

Dari data di atas, tentukan (jika ada):• Entitas kuat, entitas lemah, dan entitas asosiatif• Buatlah ERD untuk kasus di atas!

SOAL

Page 50: ERD

SOAL

Buatlah ERD dari data berikut:• Sebuah rumah sakit memiliki beberapa ruangan. Di rumah sakit tersebut

tersedia beberapa dokter, yang memiliki id dan nama, serta bangsal tempat bertugas.

• Setiap pasien diperiksa oleh satu dokter. • Dokter memeriksa pasien berdasar id, nama, TTL, penyakit dan ruangan. • Setiap Dokter memeriksa satu ruangan. • Terdapat suster yang memiliki id, nama dan bertugas (terjadwal) di

beberapa bangsal• Dokter dapat bertugas di dalam bangsal tertentu dengan melihat id dan

nama ruangan. Beberapa pasien dapat berada di satu ruangan (bangsal). • Dalam urusan administrasi, pasien dibedakan menjadi 2, yaitu outpatient

dan resident patient. • Outpatient dapat diketahui dari tanggal pengecekan. Resident Patient

dapat dilihat dari tanggal masuk kembali.

Page 51: ERD

• SELESAI……