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 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 Entitas Kuat (Strong Entity)yaitu entitas mandiri yang keberadaannya tidak bergantung pada keberadaan entitas lain. Entitas Lemah (Weak Entity) yaitu entitas yang keberadaannya bergantung pada keberadaan entitas lain atau biasanya berasal dari atribut multivalue pada entitas lain. Entitas Asosiatif yaitu entitas yang terbentuk dari suatu relasi (Relasi bersifat banyak ke banyak atau bermakna mandiri bagi pengguna).
Contoh: Terminologi ERD 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.
Tipe-tipe Atribut Terminologi ERD 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 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 KARDINALITAS: 1 N N M 1 1 Strong Entitas Entitas Weak Entitas KARDINALITAS: Relasi Relasi 1 N Relasi Identifikasi N M Atribut Atribut Atribut MultiNilai 1 1 Atribut Turunan Garis Hubungan
Metode Martin KARDINALITAS: 1 1 0 atau1 1 atauN 0,1 atauN >1 Strong Entitas Weak Entitas Atribut Atribut 1 1 Entitas Asosiatif Relasi Identifikasi 0 atau1 Relasi Tak Teridentifikasi 1 atauN 0,1 atauN >1
Derajat Hubungan (CHEN) Hubungan Unary N 1 Kerjasama Menikah dengan Orang Orang 1 1 (Satu ke satu) (Satu ke banyak) (Satu ke satu)
Derajat Hubungan (MARTIN) Hubungan Unary Orang Orang Menikah kerjasama (Satu ke satu) (Satu ke banyak) (Satu ke satu)
Derajat Hubungan(CHEN) Hubungan Binary Universitas Rektor 1 dipimpin 1 Universitas Jurusan 1 Memiliki N Mahasiswa MataKuliah N Mengikuti M
Derajat Hubungan(MARTIN) Hubungan Binary Universitas Rektor dipimpin Universitas Jurusan memiliki Mahasiswa MataKuliah mengikuti
Derajat Hubungan(CHEN) Hubungan Ternary Memasokan Supplier N Gudang M P Barang
Derajat Hubungan(MARTIN) Hubungan Ternary memasokan dipesan Detail Pasokan Supplier Gudang dibutuhkan Barang
Hubungan Majemuk 1 1 N N 1 1 Relasi Tunggal Relasi Ganda Bekerja Pegawai Bagian Mengawasi N 1 1 Mengepalai 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
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 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 Meminjam Buku
Langkah 4. Tentukan kardinalitasnya. Mahasiswa Buku meminjam Langkah 4. Tentukan kardinalitasnya. Mahasiswa N Meminjam Buku M Mahasiswa Buku meminjam
Langkah 5: Tentukan Primary key NimMahasiswa dan kdbukuBuku Langkah 6: gambar ERD Meminjam Buku M Mahasiswa nim (pk) Buku Kdbuku (pk) meminjam
N M melakukan melakukan nim nama kdbuku judul nim kdbuku Mahasiswa Meminjam Buku M alamat tglpinjam pengarang penerbit Detailpinjam nim+kdbuku(pk) nim(fk) Kdbuku(fk) tglPinjam tglkembali denda melakukan Mahasiswa nim (pk) nama alamat melakukan 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 Departemen memiliki beberapa dosen. Data dosen yang disimpan adalah nama, nrp, alamat, tanggal lahir, dan jenis kelamin Tentukan relasi antar entitas dan constraint-nya Relasi Entitas A Entitas B Partisipasi Kardinalitas Bekerja Prodi Dosen Total-total 1-M Mengajar Kelas Partial-total M-N Bagian Mtkul Total-partial M-1 Memiliki Terdaftar Mhs Patial-partial N-M Mengambil Partial-partial
Id_dosen nama kode_Prodi Nama_Prodi DOSEN bekerja PRODI Tgl_lahir Nama_mhs mengajar npm memiliki MHS KELAS terdaftar dosen jadwal ruang mengambil MTKUL nilai id sks Nama_mtkul
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 Proyek ditugaskan ke dijalankan oleh milik bekerja pada menjalankan menggunakan
ERD sementara: Dijalankan oleh Bagian Pengawas Ditugaskan ke Bekerja pada pegawai proyek
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: 1 1 N M N M Dijalankan oleh Bagian Pengawas Ditugaskan ke M N Bekerja pada M pegawai proyek
ERD , Kardinalitas dan Primary Key: namaBGN noPengawas 1 Dijalankan oleh 1 Bagian Pengawas N Ditugaskan ke M N Bekerja pada M pegawai proyek noPegawai noProyek
Entitas asosiatif dan hubungan N-M: noPengawas namaBGN Dijalankan oleh 1 1 Pengawas Bagian 1 Ditugaskan ke Bekerja pada 1 proyek M namaBGN+ noPegawai Bagian Pegawai noProyek N noproyek+ noPegawai Terlibat 1 Bekerja pada N 1 pegawai M Pegawai proyek 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
Contoh Agregasi N N N N NAMA KDMTK NO-DSN KDMTK MTK NO-DSN ASUH DOSEN MT-KULIAH RUANG ALAMAT SKS NO-DSN N KDMTK BELAJAR NPM NILAI N MAHASISWA NPM NAMA ALAMAT
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 Buatlah ERD untuk kasus di atas!
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……