ERD

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

Views 628 Downloads 17 File size 538KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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

-----BAHASAN ERD----PENDAHULUAN TERMINOLOGI ERD TAHAPAN MEMBUAT ERD CONTOH ERD DALAM BEBERAPA KASUS

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”

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”

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

Terminologi ERD ENTITAS apa saja…??? (whitten, J.L. , dkk; Nugroho, A.) Orang: Pelanggan, Penyalur, Pegawai, Mahasiswa, Departemen, Divisi,Pasien, dll Tempat: Ruang, Perpustakaan,Kantor, Kampus,kota, jalan,propinsi,Toko, dll Object: Buku, Mesin, Produk, licensi perangkat lunak, spesifikasi paket perangkat lunak, mobil,Produk,dll Persitiwa: Aplikasi,penerbangan,kelas,order, registrasi,reservasi,penjualan, pembelian,sll Konsep:Kuliah ,kursus, mata kuliah, stok, pinjaman,rekening dll Abstrak: Persamaan matematika, persamaan fisika, rumus-rumus kimia, dll

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

Terminologi ERD

Contoh:

• Entitas Kuat misalnya mahasiswa, buku, karyawan, dll • Entitas Lemah misalnya hobi, orang tua, • Entitas Asosiatif misalnya pengiriman, jadwal, delivery order. Hubungan banyak-ke-banyak sebaiknya dikonversi menjadi Entitas Asosiatif. Hubungan Ternary sebaiknya dikonversi menjadi Entitas Asosiatif.

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)

Terminologi ERD B. 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.

Terminologi ERD

Tipe-tipe Atribut 1. Simple : Memiliki nilai atomik tunggal contoh: kodeBRG,jenisKelamin,harga 2.Composite: Terdiri dari beberapa komponen contoh: Nama(nama depan, nama tengah, nama belakang) Alamat(jalan,no,kota,kodePos,Wilayah) 3.Multi-Valued:memiliki beberapa Nilai Contoh: Warna(merah,biru,putih,…dll) dari entitas Mobil Gelar(D1,D2,S1,S2,S3,..dll) dari entitas Pegawai

Tipe-tipe Atribut 4. Derived:diturunkan/dikalkulasi dari atribut Stored(tersimpan) Contoh: umur diturunkan dari atribut tanggalLahir Lama_Kerja diturunkan dari atribut Tgl_mulai_kerja 5. Nilai Null :nilai ada tetapi belum diketahui Contoh: No_telpon, tinggi_badan, nama_pasangan_orang_belum_menikah.

Contoh Atribut dari Atribut Komposit Alamat jalanAlamat kota kodepos Area Norumah jalan Blok

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

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)

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.

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.

Metode Chen Strong Entitas

Weak Entitas Entitas

Rela si

Relas i Relasi Ident ifikas i

Atribut

Garis Hubungan

Atribut MultiNil Atribut ai Atribut Turunan

KARDINALIT AS: 1 N N

M

1

1

Metode Martin Strong Entitas Atribut Atribut Atribut

Relasi Identifikasi

lasi Tak Teridentifikasi

Weak Entitas Atribut Atribut Atribut

Entita s Asosia tif

KARDINALIT AS: 1 1 0 atau 1 1 atauN 0,1 atauN >1

Derajat Hubungan (CHEN)

Hubungan Unary N

1

Orang 1

Menik ah denga n

(Satu ke satu)

Orang

Kerjas ama

1 (Satu ke banyak)

Derajat Hubungan (MARTIN)

Hubungan Unary

Orang Menikah (Satu ke satu)

Orang kerjasama (Satu ke banyak)

Derajat Hubungan(CHEN)

Hubungan Binary Universitas

Universitas

Mahasiswa

1

dipi mpi n

1

1

Mem iliki

N

N

Men giku ti

M

Rektor

Jurusan

MataKuliah

Derajat Hubungan(MARTIN)

Hubungan Binary Universitas

Universitas

Mahasiswa

dipimpin

memiliki

mengikuti

Rektor

Jurusan

MataKuliah

Derajat Hubungan(CHEN)

Hubungan Ternary Supplier

N

Memas okan

P Barang

M

Gudang

Derajat Hubungan(MARTIN)

sa n Detail Pasoka n

dibutuhkan Barang

di pe

Supplier

m em as ok

an

Hubungan Ternary

Gudang

Hubungan Majemuk

1 Meng awas i

N

Beke rja

Pegawai

N

1

Relasi Tunggal Relasi Ganda

1 Bagian

Meng epala i

1

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=0,max>=1 • min=0 menandakan partisipasi parsial • min>=1 menandakan partisipasi total

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

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.

Langkah-langkah membuat ERD 1. 2. 3. 4. 5. 6. 7.

Menentukan Entitas Menentukan Relasi Gambar ERD sementara Tentukan Kardinalitas Tentukan atribut-atribut yang diperlukan entitas Tentukan Primary key Gambar ERD Berdasarkan kunci: menghilangkan relasi many to many dan memasukkan primary key dan kunci tamu pada masig-masing entitas

Langkah-langkah membuat ERD 7. Menentukan atribut lainnya 8. Pemetaan atribut (memasang atribut dengan entitas yang sesuai) 9. Gambar ERD dengan atribut lainnya

Persoalan Buatlah ERD mahasiswa meminjam buku pada perpustakaan! Langkah 1: Tentukan Entitas dari soal. Entitas : mahasiswa dan buku Langkah 2: Tentukan Relasi dari soal. Relasi : Meminjam Langkah 3: Gambarlah ERD sementara Mahasiswa

Memi njam

Buku

meminjam

Mahasiswa

Buku

Langkah 4. Tentukan kardinalitasnya. Mahasiswa

Mahasiswa

N

Memi njam

meminjam

M

Buku

Buku

Langkah 5: Tentukan Primary key NimMahasiswa dan kdbukuBuku Langkah 6: gambar ERD nim

Mahasiswa

Mahasiswa nim (pk)

kdbuku

N

Memi njam

M

Buku

Buku

meminjam

Kdbuku (pk)

Mahasiswa

nim

N

alam at

nim (pk) nama alamat

kdbuk u

Memi njam

ak uk an

tglpinj am

m el

Mahasiswa

kdbuk u

Detailpinjam nim+kdbuku (pk) nim(fk) Kdbuku(fk) tglPinjam tglkembali denda

M

judul

Buku

pengar ang

ak uk an

nama

m el

nim

penerbi t

Buku Kdbuku (pk) pengarang Penerbit judul

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 terlibat Entitas kuat : Mhs, mtkul, Prodi, Dosen,Kelas Entitas lemah: -

Pertanyaan 2: Mata kuliah memiliki kelas dengan jadwal dan ruang yang spesifik dan dosen yang mengajar Tentukan atribut dari setiap entitas Mhs: nama, npm, tgl_lahir Mtkul: id, nama_matkul, SKS Prodi: kode_prodi, nama_prodi Dosen: id_dosen, nama Kelas: jadwal, ruang, dosen

Departemen memiliki beberapa dosen. Data dosen yang disimpan adalah nama, nrp, alamat, tanggal lahir, dan jenis kelamin Tentukan relasi antar dan Relasi Entitas A Entitas Bentitas Partisipasi Kardinalit as constraint-nya Bekerja Prodi Dosen Total-total 1-M Mengajar Bagian Memiliki Terdaftar

Dosen Kelas Prodi Mtkul

Kelas Mtkul Mtkul Mhs

Mengambil

Mtkul

Mhs

Partial-total Total-partial Total-total Patialpartial Partialpartial

M-N M-1 1-M N-M N-M

Id_dose n

kode_Pro di

nama

DOSEN

Nama_Pro di

PRODI

bekerja

Nama_m hs

mengaj ar

npm MHS

memilik i KELAS jadwa l

ruan g

Tgl_lahir

terdaf tar

dose n

meng ambil

MTKUL id

Nama_mtk ul

sks

nilai

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.

Penyelesaian: • Entitas: pengawas, bagian, pegawai, proyek • Matriks Relasi: Bagian Bagian Pegawai

Pegawai

Pengawas

ditugaskan ke

dijalankan oleh

milik

bekerja pada

Pengawa menjalank s an Proyek

Proyek

menggunak an

ERD sementara:

Bagia n

Dijalank an oleh

Pengawa s

Bekerja pada

proyek

Ditugask an ke pegaw ai

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

ERD dan Kardinalitas:

Bagia n

1

Dijalank an oleh

1 Pengawa

Bekerja pada

M

s

N Ditugask an ke

M pegaw ai

N

proyek

ERD , Kardinalitas dan Primary Key: namaB GN

Bagia n

noPenga was

1

Dijalank an oleh

1 Pengawa

Bekerja pada

M

s

N Ditugask an ke

M pegaw ai noPega wai

N

proyek noProy ek

Entitas asosiatif dan hubungan NM: namaB GN

Bagia n

1

noPenga was

1 Pengawa

Dijalank an oleh

s

1

Ditugask an ke

M

Bagian Pegawai

N

namaBGN + noPegaw ai

1

Bekerja pada

noProy ek noproyek + noPegaw ai

Terlibat

1

pegaw 1 ai noPega wai

Bekerja pada

proyek

M

N Pegawai proyek

Melangkapi Atribut lainnya • • • • •

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

Contoh Agregasi NAMA

KDMTK NO-DSN

NO-DSN

N

DOSEN

KDMTK

MTK

N

ASUH

MT-KULIAH

RUANG

ALAMAT

SKS

N

NO-DSN

KDMTK

BELAJAR NILAI

NPM

N NPM

MAHASISWA

ALAMAT

NAMA

SOAL

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

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.

• SELESAI……