ERD(EntityRelationship Diagram) ---Diagram Keterhubungan Entitas--M. Haviz Irfani STMIK MDP Oktober 2012 -----BAHASAN
Views 628 Downloads 17 File size 538KB
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 NimMahasiswa dan kdbukuBuku 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……