erd
Post on 24-Dec-2015
32 Views
Preview:
DESCRIPTION
TRANSCRIPT
ERD(EntityRelationship Diagram)---Diagram Keterhubungan Entitas---
M. Haviz IrfaniSTMIK MDP Oktober 2012
TERMINOLOGI ERD
TAHAPAN MEMBUAT ERD
CONTOH ERD DALAM BEBERAPA KASUS
-----BAHASAN ERD-----
PENDAHULUAN
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, 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
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).
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.
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 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.
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
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.
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
Relasi
Atribut
Relasi
EntitasWeak Entitas
AtributAtribut MultiNilai
Atribut Turunan
Relasi Identifi
kasi
Garis Hubungan
KARDINALITAS:
1 N
N M
1 1
Metode MartinStrong Entitas Weak Entitas
AtributAtributAtribut
Relasi Identifikasi
KARDINALITAS:
1AtributAtributAtribut
Entitas Asosiatif
1
0 atau1
1 atauN
0,1 atauN
>1
Relasi Tak Teridentifikasi
Derajat Hubungan (CHEN)
Hubungan Unary
Orang Menikah dengan
Orang Kerjasama
1
1 1
N
(Satu ke satu) (Satu ke banyak)
Derajat Hubungan (MARTIN)
Hubungan Unary
Orang Orang
(Satu ke satu) (Satu ke banyak)
Menikah kerjasama
Derajat Hubungan(CHEN)
Hubungan Binary
1 1Universitas Rektor
1 NUniversitas Jurusan
Mengikuti
N MMahasiswa MataKuliah
Memiliki
dipimpin
Derajat Hubungan(MARTIN)
Hubungan Binary
Universitas Rektor
Universitas Jurusan
Mahasiswa MataKuliah
dipimpin
memiliki
mengikuti
Derajat Hubungan(CHEN)
Hubungan Ternary
Supplier Gudang
Barang
Memasokan
N M
P
Derajat Hubungan(MARTIN)
Hubungan Ternary
Supplier Gudang
Barang
Detail Pasokan
dibutuhkan
dipesan
mem
asok
an
Hubungan Majemuk
Pegawai Bagian
Bekerja
Mengepalai
Mengawasi
1
N
1N
11
Relasi Tunggal Relasi Ganda
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
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
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
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
Langkah-langkah membuat ERD
7. Menentukan atribut lainnya8. 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 bukuLangkah 2: Tentukan Relasi dari soal.Relasi : MeminjamLangkah 3: Gambarlah ERD sementara Mahasiswa BukuMemin
jam
Langkah 4. Tentukan kardinalitasnya.
Mahasiswa Bukumeminjam
Mahasiswa BukuMeminjam
N M
Mahasiswa Bukumeminjam
Langkah 5: Tentukan Primary keyNimMahasiswa dan kdbukuBukuLangkah 6: gambar ERD
Mahasiswa BukuMeminjam
N M
Mahasiswa
nim (pk)
Buku
Kdbuku (pk)meminjam
nim kdbuku
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
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: -
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
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
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
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 Pegawai Pengawas ProyekBagian ditugaskan ke dijalankan olehPegawai milik bekerja padaPengawas menjalankanProyek menggunakan
PengawasDijalankan olehBagian
Ditugaskan ke
pegawai proyekBekerja
pada
ERD sementara:
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
PengawasDijalankan olehBagian
Ditugaskan ke
pegawai proyekBekerja
pada
ERD dan Kardinalitas:
1 1
N
MN M
PengawasDijalankan olehBagian
Ditugaskan ke
pegawai proyekBekerja
pada
ERD , Kardinalitas dan Primary Key:
1 1
N
MN M
namaBGN noPengawas
noPegawai noProyek
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
Melangkapi Atribut lainnya
• Bagian: nama_bagian• Proyek: nama_proyek• Pegawai: nama_pegawai• Pengawas: nama_pengawas• Proyek-pegawai: nomor_proyek,
nomor_pegawai• Pengawas: nomor_pengawas
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
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
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……
top related