550 likes | 1.2k Views
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 ):
E N D
ERD(EntityRelationship Diagram)---Diagram KeterhubunganEntitas--- M. HavizIrfani 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 menggunakanbeberapanotasiuntukmenggambarkan data dalamkonteksentitasdanhubungan yang dideskripsikanoleh data tersebut”
Pendahuluan ERD (Fathansyah, Ir): “Model Entity-Relationship yang berisikomponen-komponenhimpunanentitasdanhimpunanrelasi yang masing-masingdilengkapidenganatribut-atribut yang merepresentasikanseluruhfaktadaridunianyata”
Terminologi ERD • Entitas “sesuatu yang diperlukanbisnisuntukmenyimpan data”(whitten, J.L,dkk) “individu yang mewakilisesuatu yang nyata (eksistensinya) dandapatdibedakandarisesuatu yang lain”(Fathansyah) “Orang, tempat, kejadian, ataukonsep yang informasinyadirekam” (Harianto, Ir,K.)
Terminologi ERD ENTITAS apasaja…??? (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, licensiperangkatlunak, spesifikasipaketperangkatlunak, mobil,Produk,dll Persitiwa: Aplikasi,penerbangan,kelas,order, registrasi,reservasi,penjualan, pembelian,sll Konsep:Kuliah ,kursus, matakuliah, stok, pinjaman,rekeningdll Abstrak: Persamaanmatematika, persamaanfisika, rumus-rumuskimia, dll
Jenis-jenisEntitas • EntitasKuat (Strong Entity)yaituentitasmandiri yang keberadaannyatidakbergantungpadakeberadaanentitas lain. • EntitasLemah (Weak Entity) yaituentitas yang keberadaannyabergantungpadakeberadaanentitas lain ataubiasanyaberasaldariatributmultivaluepadaentitas lain. • EntitasAsosiatifyaituentitas yang terbentukdarisuaturelasi (Relasibersifatbanyakkebanyakataubermaknamandiribagipengguna).
Contoh: Terminologi ERD • EntitasKuatmisalnyamahasiswa, buku, karyawan, dll • EntitasLemahmisalnyahobi, orangtua, • EntitasAsosiatifmisalnyapengiriman, jadwal, delivery order. Hubunganbanyak-ke-banyaksebaiknyadikonversimenjadiEntitasAsosiatif. Hubungan Ternary sebaiknyadikonversimenjadiEntitasAsosiatif.
Hubungan (Relationship) “Hubunganbisnisalami yang adadiantarasatuataulebihentitas” (whitten, J.L. dkk) “Asosiasidarisatuataulebihentitas yang bermaknabagiorganisasi/perusahaan” (Nugroho, A.) “Menunjukkanadanyahubungandiantarasejumlahentitas yang berasaldarihimpunanentitasberbeda” (Fathansyah)
Terminologi ERD B. Atribut. “Sifatataukarakteristikdeskriptifsuatuentitas” (whitten, J.L. dll) “properti / karakteristiksuatu entity atau relationship” Contoh: EntitasPegawai; atributnya:nip,nama,alamat. EntitasBarang; atributnya:kodebrg,namabrg,jumlah. EntitasBuku; atributnya:kdBuku,Judul,Pengarang.
Terminologi ERD Tipe-tipeAtribut 1. Simple : Memilikinilaiatomiktunggal contoh: kodeBRG,jenisKelamin,harga 2.Composite: Terdiridaribeberapakomponen contoh: Nama(namadepan, namatengah, namabelakang) Alamat(jalan,no,kota,kodePos,Wilayah) 3.Multi-Valued:memiliki beberapaNilai Contoh: Warna(merah,biru,putih,…dll) darientitas Mobil Gelar(D1,D2,S1,S2,S3,..dll) darientitasPegawai
Tipe-tipeAtribut 4. Derived:diturunkan/dikalkulasidariatribut Stored(tersimpan) Contoh: umurditurunkandariatributtanggalLahir Lama_KerjaditurunkandariatributTgl_mulai_kerja 5. Nilai Null :nilaiadatetapibelumdiketahui Contoh: No_telpon, tinggi_badan, nama_pasangan_orang_belum_menikah.
ContohAtributdariAtributKomposit Alamat kota jalanAlamat kodepos Area Norumah jalan Blok
Contoh Diagram E-R dengan Atribut Komposit, Nilai Berganda, dan Turunan
Kunci(key) • Kuncimerupakanelemen record yang dipakaiuntukmenemukan record tersebutpadawaktuaksesataubisadigunakanuntukidentifikasitiap record. • Kuncimembuatsebuahentitasunik. • Contoh: • Pegawai: nomorpegawai (NIP) • Perusahaan: namaperusahaan (Nama) • Proyek : nomorproyekdannamaproyek (noproy,namaproy) • Transaksi: tanggaldanwaktu (date dan time)
Kunci(key) • Mempengaruhivalidasiintegritas data dankinerja basis data • Mencegah user memasukkan data yang sama yang tidakdiinginkan • Memeliharaintegritasdengancaramenghubungkaninidengan key tabel lain.
Jenis-jeniskunci : • Superkey: satuataulebihatribut yang dimilikientitasdapatdibedakandenganentitas lain. Contoh: gabungannimdannama, nim, • Candidat key : atribut yang dapatdijadikansebagaicalon key • Primary key:atribut yang secaraunikmengidentifikasimasing-masinginstandarisuatutipeentitastunggal. Instanseperti (“toni”,”tuti”,”bobi”) = Karyawan • Alternate key : kandidat key yang dijadikanalternatifuntukmenjadi primary key • Foreign key: merelasikanentitas-entitasdalamsebuahrelasi.
Metode Chen Strong Entitas Entitas Weak Entitas KARDINALITAS: Relasi Relasi 1 N RelasiIdentifikasi N M Atribut Atribut AtributMultiNilai 1 1 AtributTurunan GarisHubungan
Metode Martin KARDINALITAS: Strong Entitas Weak Entitas Atribut Atribut Atribut Atribut Atribut Atribut 1 1 EntitasAsosiatif RelasiIdentifikasi 0 atau1 RelasiTakTeridentifikasi 1 atauN 0,1 atauN >1
DerajatHubungan (CHEN) Hubungan Unary N 1 Kerjasama Menikahdengan Orang Orang 1 1 (Satukesatu) (Satukebanyak) (Satukesatu)
DerajatHubungan (MARTIN) Hubungan Unary Orang Orang kerjasama Menikah (Satukesatu) (Satukebanyak) (Satukesatu)
DerajatHubungan(CHEN) Hubungan Binary Universitas Rektor dipimpin 1 1 Universitas Jurusan 1 Memiliki N Mahasiswa MataKuliah Mengikuti N M
DerajatHubungan(MARTIN) Hubungan Binary Universitas Rektor dipimpin Universitas Jurusan memiliki Mahasiswa MataKuliah mengikuti
DerajatHubungan(CHEN) Hubungan Ternary Memasokan Supplier Gudang N M P Barang
DerajatHubungan(MARTIN) Hubungan Ternary memasokan dipesan Detail Pasokan Supplier Gudang dibutuhkan Barang
HubunganMajemuk Bekerja 1 N 1 Pegawai Bagian Mengawasi N 1 1 Mengepalai Relasi Tunggal RelasiGanda
Structural Constraints • Dinyatakan pd setiappartisipasidarisebuah entity tipe E pada relationship type R • Menyatakanbahwatiap entity e di E berpartisipasi paling sedikit min dan paling banyak max pada relationship instance di R • Menyatakanbatasan yang adadalam requirement(pengajuan). • Harusmemenuhi min<=max, min>=0,max>=1 • min=0 menandakanpartisipasiparsial • min>=1 menandakanpartisipasi 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. Dosenharusmengajar minimal 1 matakuliah
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.Contohlain Dosenbolehtidakmengkoordinirdosenlainnya.
Langkah-langkahmembuat ERD • MenentukanEntitas • MenentukanRelasi • Gambar ERD sementara • TentukanKardinalitas • Tentukanatribut-atribut yang diperlukanentitas • Tentukan Primary key • Gambar ERD Berdasarkankunci: menghilangkanrelasi many to many danmemasukkan primary key dankuncitamupadamasig-masingentitas
Langkah-langkahmembuat ERD 7. Menentukanatributlainnya 8. Pemetaanatribut (memasangatributdenganentitas yang sesuai) 9. Gambar ERD denganatributlainnya
Persoalan Buatlah ERD mahasiswameminjambukupadaperpustakaan! Langkah 1: TentukanEntitasdarisoal. Entitas : mahasiswadanbuku Langkah 2: TentukanRelasidarisoal. Relasi : Meminjam Langkah 3: Gambarlah ERD sementara Mahasiswa Buku Meminjam
Mahasiswa Buku meminjam Langkah 4. Tentukankardinalitasnya. Mahasiswa Buku N Meminjam M Mahasiswa Buku meminjam
Langkah 5: Tentukan Primary key NimMahasiswadankdbukuBuku Langkah 6: gambar ERD nim kdbuku Mahasiswa Buku N Meminjam M Mahasiswa nim (pk) Buku Kdbuku (pk) meminjam
nim kdbuku nama judul nim kdbuku Mahasiswa Buku N Meminjam M alamat penerbit tglpinjam pengarang Detailpinjam nim+kdbuku(pk) nim(fk) Kdbuku(fk) tglPinjam tglkembali denda melakukan melakukan Mahasiswa nim (pk) nama alamat Buku Kdbuku (pk) pengarang Penerbit judul
Contoh: Pertanyaan 1 : SebuahProdimengasuhbeberapamatakuliah. Setiapmatakuliahmemilikikode yang unik, nama, danjumlah SKS. Masing-masingmatakuliahmahasiswa yang mengambilmatakuliahtersebut Tentukan entitas yang terlibat Entitas kuat : Mhs, mtkul, Prodi, Dosen,Kelas Entitas lemah: -
Pertanyaan 2: Mata kuliahmemilikikelasdenganjadwaldanruang yang spesifikdandosen 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
Departemenmemilikibeberapadosen. Data dosen yang disimpanadalahnama, nrp, alamat, tanggallahir, danjeniskelamin Tentukan relasi antar entitas dan constraint-nya
Id_dosen nama kode_Prodi Nama_Prodi bekerja DOSEN PRODI Tgl_lahir Nama_mhs mengajar npm memiliki MHS KELAS terdaftar dosen jadwal ruang mengambil MTKUL nilai id sks Nama_mtkul
Contoh • Sebuahperusahaanmemilikibeberapabagian. Masing-masingbagianmempunyaipengawasdansetidaknyasatupegawai. Pegawaiditugaskan paling tidakdisatubagian (dapat pula dibeberapabagian). Paling tidaksatupegawaimendapattugasdisatuproyek. Tetapiseorangpegawaidapatliburdantidakdapattugasdiproyek.
Penyelesaian: • Entitas: pengawas, bagian, pegawai, proyek • MatriksRelasi:
ERD sementara: Dijalankanoleh Bagian Pengawas Ditugaskanke Bekerjapada proyek pegawai
Menentukankardinalitas • Masing-masingbagianhanyapunyasatupengawas • Seorangpengawasbertugasdisatubagian • Masing-masingbagianada minimal satupegawai • Masing-masingpegawaibekerja paling tidakdisatubagian • Masing-masingproyekdikerjakan paling tidakolehsatupegawai
ERD danKardinalitas: Dijalankanoleh 1 1 Bagian Pengawas N Ditugaskanke M N Bekerjapada M proyek pegawai
ERD , Kardinalitasdan Primary Key: namaBGN noPengawas Dijalankanoleh 1 1 Bagian Pengawas N Ditugaskanke M N Bekerjapada M proyek pegawai noPegawai noProyek
Entitasasosiatifdanhubungan N-M: noPengawas namaBGN Dijalankanoleh 1 1 Pengawas Bagian 1 Ditugaskanke Bekerjapada 1 proyek M namaBGN+ noPegawai BagianPegawai noProyek N noproyek+ noPegawai Terlibat 1 Bekerjapada N 1 M pegawai Pegawaiproyek noPegawai
MelangkapiAtributlainnya • Bagian: nama_bagian • Proyek: nama_proyek • Pegawai: nama_pegawai • Pengawas: nama_pengawas • Proyek-pegawai: nomor_proyek, nomor_pegawai • Pengawas: nomor_pengawas
ContohAgregasi NAMA KDMTK NO-DSN KDMTK MTK NO-DSN ASUH N DOSEN MT-KULIAH N RUANG ALAMAT SKS N NO-DSN KDMTK BELAJAR NILAI NPM N MAHASISWA NPM NAMA ALAMAT
SOAL Diketahui sebuah kasus sebagai berikut: • Perusahandiorganisasikankedalambeberapadepartemen. Setiapdepartemenmemilikinamadannomor yang unik, dan employee yang bekerjapadaperusahaantersebut • Departemenmengontrolbeberapa projects yang masing-masingmemilikinamadannomor yang unik, danmemilikilokasi • Data employee yang disimpanadalannama, nrp, alamat, gaji, jeniskelamin, dantanggallahir. • Perusahaan jugamenyimpan data daritanggungansetiap employee. Data yang disimpanadalahnama, jeniskelamin, tanggallahir, danhubungandengan 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: • Sebuahrumahsakitmemilikibeberaparuangan. Di rumahsakittersebuttersediabeberapadokter, yang memiliki id dannama, sertabangsaltempatbertugas. • Setiappasiendiperiksaolehsatudokter. • Doktermemeriksapasienberdasar id, nama, TTL, penyakitdanruangan. • SetiapDoktermemeriksasaturuangan. • Terdapatsuster yang memiliki id, namadanbertugas (terjadwal) dibeberapabangsal • Dokterdapatbertugasdidalambangsaltertentudenganmelihat id dannamaruangan. Beberapapasiendapatberadadisaturuangan (bangsal). • Dalamurusanadministrasi, pasiendibedakanmenjadi 2, yaitu outpatient dan resident patient. • Outpatient dapatdiketahuidaritanggalpengecekan. Resident Patient dapatdilihatdaritanggalmasukkembali.