Semesta data di dunia nyata ditansformasikan ke dalam sebuah diagram dengan memanfaatkan perangkat konseptual disebut dengan ERD (Entity Relationship Diagram). Simbol / Notasi E-R Diagram : Strong Entity Identifying Relationship Attribute Weak Entity Associative Entity Relationship Link Multivalued Attribute Derived Attribute 1.1
Entity (Entitas) Merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lainnya (individu : manusia, tempat, obyek, kejadian, konsep). Biasanya berhub. Dg baris dlm sebuah tabel). Entity Sets (Himpunan Entitas) : Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama Contoh : Himpunan Entitas : Pelanggan Entitas : Budiman, Suherman dll Himpunan Entitas : Mobil Entitas : Mobil Suzuki, Mobil Honda dll Himpunan Entitas : Mahasiswa Entitas : Ali, Budi, Iman dll 1.2
Contoh : Analogi NIM Nama Alamat Tgl Lahir Mahasiswa 980001 Ali Akbar Jl. Merdeka No. 10 Jakarta 40121 2 Jan 1979 980002 Budi Haryanto Jl. Gajah Mada No. 2 Jakarta 6 Okt 1978 980003 Imam Faisal Komp. Griya Asri D-2 Depok 40151 13 Mei 1978 980004 Indah Susanti Jl. Adil No. 123 Bogor 21 Juni 1979 Entitas 1 Entitas 2 Entitas 3 Entitas 4 Himpunan Entitas 1.3
Atribut (attribute / Properties) Merupakan karakteristik dari sebuah entitas (biasanya berhubungan dengan field dalam sebuah tabel). Penentuan atribut bagi suatu entitas didasarkan pada relevansinya terhadap entitas tersebut. Atribut Kunci / Identifikasi : Merupakan atribut pengidentifikasi entitas yang paling unik untuk semua entitas dalam himpunan entitas Contoh : Atribut NIM pada Himp. Entitas mahasiswa Atribut Deskriptif : Merupakan atribut lain selain atribut kunci yang befungsi sebagai penjelasan terhadap entitas dalam himpunan entitas Contoh : Atribut nama, alamat, tgl_lahir pada Himp. Entitas MHS 1.4
Ada tiga macam kunci : Superkey Adalah satu / lebih atribut yg dapat membedakan entitas satu dengan lainnya dalam himp entitas Candidate Key Merupakan kumpulan atribut minimal yang dapat membeda kan entitas satu dengan lainnya dalam himp entitas. Primary Key Salah satu dari candidate key yang digunakan sebagi peng identifikasi suatu entitas dalam himp entitas. 1.5
Contoh : No_KTP No_SIM Nama Alamat superkey Candidate Key Primary Key Superkey : No_KTP+No_SIM+Nama+Alamat No_KTP+No_SIM+Nama No_KTP+No_SIM No_KTP No_SIM Candidate Key: No_KTP No_SIM Primary Key: No_KTP atau No_SIM tergantung kebutuhan 1.6
Dasar pemilihan Primary Key : 1. Key sering digunakan sebagai acuan 2. Key lebih ringkas 3. Key adalah unik jalan kota kpos Atribut Sederhana (Simple Attribute) : atribut atomik yg tidak dapat di pilah lagi Atribut Komposit (Composite Attribute) : atribut yg dapat di pilah lagi Contoh : Atribut nama : atribut sederhana (nilai sudah paling kecil / atomik) Atribut alamat : atribut komposit, karena masih dapat dipilah-pilah lagi menjadi atribut : jalan, kota dan kode_pos 1.7
Atribut bernilai banyak (multivalued attribute) : Merupakan atribut yang dapat bernilai lebih dari 1 nilai yang sejenis Atribut bernilai tunggal (Single-valued attribute) : Merupakan atribut yang hanya mempunyai satu nilai Contoh : NIM Nama Alamat Hobi jalan kota kpos 98001 Rudi Jl. Seroja Renang Nonton 98002 Wati Dago Raya Tidur hobi NIM, Nama dan Alamat : atribut bernilai tunggal Hobi : atribut bernilai banyak 1.8
Atribut Turunan (Derived attribute) : Merupakan atribut yang nilainya diperoleh dari pengolahan atau diturunkan dari atribut / tabel lain Contoh : NIM Nama Alamat Angkatan IPK 98001 Andi Jl. X 1998 3.2 99011 Susi Jl. Y 1999 3.0 Angkatan, IPK : Atribut turunan Atribut harus bernilai (Mandatory Attribute) : Merupakan atribut-atribut yang harus diisikan nilainya Atribut tidak harus bernilai (Non Mandatory Attribute / Null) : Merupakan atribut-atribut yang nilainya boleh dikosongi 1.9
1.10
Relasi (Relationship) : Digunakan untuk menunjukan hubungan antar entitas Himpunan Relasi (Relationship Sets) : Merupakan kumpulan semua relasi diantara entitas Contoh : Mahasiswa NIM Nama... 98001 Andi... 98003 Rudi... 98013 Susi... Mata Kuliah Kode_kul Nama_kul sks A01 Pancasila 2 A03 Internet I 2 A02 Network I 2 Dari tabel-tabel diatas, dapat dilihat bahwa terdapat hubungan / relasi antara himp entitas mahasiswa dengan mata kuliah. --> Andi mempelajari mata kuliah Internet I --> Rudi mempelajari mata kuliah Internet I dan Network I 1.11
Sehingga apabila dimodelkan dengan E-R Diagram : Mahasiswa Mempe lajari Mata kuliah Nama NIM sks Kode_kul Nama_kul 1.12
Kardinalitas / Derajad Relasi : Merupakan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himp entitas yang lain. Macam-macam Kardinalitas : Satu ke satu (one to one) Entitas 1 Entitas 2 Entitas 3 Entitas 4 A Entitas 1 Entitas 2 Entitas 3 Entitas 4 B Setiap entitas pada himp entitas A Berhubungan dengan paling banyak Dengan satu entias pada himpunan Entitas B dan begitu juga sebaliknya 1.13
Contoh : Nama-Dosen alamat Kode Nama_prog Dosen 1 Menge 1 palai Progdi Nama-Dosen Kode Satu dosen paling banyak mengepalai satu program studi (walaupun tidak semua dosen menjadi ketua) dan setiap program studi di kepalai oleh paling banyak satu dosen. 1.14
Satu ke banyak (one to many) Entitas 1 Entitas 2 Entitas 3 Entitas 4 Entitas 1 Entitas 2 Entitas 3 Entitas 4 Setiap entitas pada himp entitas A Berhubungan dengan banyak entias pada himpunan entitas B, tetapi Tidak sebaliknya A Contoh : B Setiap agama dapat dianut oleh lebih dari satu mahasiswa, tetapi tidak sebaliknya (setiap mahasiswa hanya dapat menganut satu agama) 1.15
Contoh : Kode_agm NIM Agama 1 dianut N Mahasiswa Kode_agm Deskripsi Nama NIM Semester 1.16
banyak ke banyak (many to many) Entitas 1 Entitas 2 Entitas 3 Entitas 4 A Contoh : Entitas 1 Entitas 2 Entitas 3 Entitas 4 B Setiap entitas pada himp entitas A Berhubungan dengan banyak entias pada himp entitas B, dan sebaliknya Setiap dosen dapat mengajar lebih dari satu mata Kuliah dan setiap mata kuliah dapat diajar oleh lebih Dari satu dosen 1.17
Contoh : Nama_dos kode-_kuliah Dosen N Mengajar N Mata Kuliah Nama_dos waktu Kode_kuliah Alamat_dos tempat SKS Nm_kuliah 1.18
Tahapan pembuatan E-R Diagram : Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Menentukan atribut-atribut kunci dari masing-masing himpunan entitas Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas himpunan entitas yang ada beserta foreign key (kunci tamu) Menentukan derajad / kardinalitas relasi untuk setiap himpunan entitas Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif 1.19
ERD dengan kamus data : Pada sebuah sistem yang kompleks, penggambaran atribut-atribut dalam sebuah ERD seringkali kelihatan lebih rumit. Untuk itu pendeklarasian atribut-atribut tersebut dapat menggunakan kamus data. Contoh : Dosen N Mengajar N Mata Kuliah Kamus Data : Dosen = {Nama_dos, Alamat_dos} Mengajar = {Nama_dos, KD_kuliah, Waktu, Tempat, Ruang } Mata Kuliah = {Kd_kuliah, Nm_kuliah, SKS} 1.20
Derajad Relasi Minimum : Menunjukan hubungan (korespondensi) minimum yang boleh terjadi dalam suatu relasi antar himpunan entitas. Nilai derajad relasi minimum hanya boleh 0 atau 1. Contoh : minimum maksimum Mahasisa (0,N) Mempela jari (0,N) Mata Kuliah Setiap mahasiswa dapat mempelajri banyak mata kuliah tetapi ada mahasiswa yang belum / tidak mempelajari mata kuliah satupun. Setiap mata kuliah dapat dipelajari oleh banyak mahasiswa, tetapi bisa juga ada mata kuliah yang tidak / belum diikuti oleh satupun mahasiswa 1.21
ERD dalam Notasi Lain : Notasi : Notasi Derajad Relasi Minimum - Maksimum o atau atau o (0,N) (1,N) o atau atau o (1,1) (0,1) 1.22
Contoh : Mahasisa o Mempela jari o Mata Kuliah Kamus Data : Mahasiswa = {NIM, Nama, Alamat} Mempelajri = {NIM, KD_kuliah, Waktu, Tempat, Ruang } Mata Kuliah = {Kd_kuliah, Nm)kuliah, SKS} 1.23
Varian Entitas : Strong Entity (entitas kuat) Himpunan entitas yg tidak memiliki ketergantungan dg entitas yang lain. Weak Entity (entitas Lemah) Himpunan entitas yg keberadaannya tergantung dengan entitas yang lain. Himpunan entitas yg demikian tidak memp. Atribut yg berfungsi sebagai key yg benar-benar menjamin keunikan entitas. 1.24
Entitas lemah (Weak Entity Sets) n n n n Entitas lemah disimbolkan dengan persegi panjang double. discriminator dari entitas lemah ditandai dengan garis bawah terputus. payment-number discriminator dari entitas lemah payment Primary key dari payment (loan-number, payment-number) 1.25
Entitas lemah (Weak Entity Sets) n n n Catatan : Kunci utama dari entitas kuat tidak secara eksplisit menjadi kunci utama entitas lemah, hal tersebut hanya berlaku selama ada relasi. Jika loan-number secara eksplisit menggantikan, payment dapat menjadi entitas kuat, tetapi kemudian antara payment dan loan akan menjadi duplikasi dengan atribut loan-number yang menggabungkan payment dan loan Entita dimana entitas lemah bergantung disebut identifying owner. Entitas lemah tidak memiliki identifier sendiri tetapi memiliki atribut yang berperan sebagai partial identifier ( identifier yang berfungsi secara sebagian) 1.26
Contoh : E-R Model (Model Keterhubungan Entitas) NIM memiliki 1 Orang Tua NM_ortu Nama alamat 1 Mahasiswa 1 NIM Nm_ortu alm_ortu Tgl_lhr Menye nangi n Hobbi Hobbi NIM hobbi Kunci utama Kunci yg tidak menyakinkan 1.27
Entitas Asosiatif (Associative Entity Sets) yaitu entitas yang terbentuk dari suatu relasi. Entitas asosiatif bisa terjadi jika relasi yang merekatkan dua entitas bersifat banyak ke banyak. Hubungan banyak-ke-banyak sebaiknya dikonversi menjadi Entitas Asosiatif. Hubungan Ternary sebaiknya dikonversi menjadi Entitas Asosiatif Misalnya : pengiriman, jadwal, delivery order 1.28
Entitas Asosiatif (Associative Entity Sets) Contoh : Supplier Detail Pasokan Gudang Barang 1.29
Varian Relasi : Relasi Tunggal (Unary Relation) Relasi yang terjadi dari antar himpunan entitas yg sama Contoh : 1 kode_dos Nama_dos keahlian Dosen Mendam pingi kode_dos N 1.30
Relasi Ganda (Redundant Relation) Contoh : 1 Nm_dos Meng ajar Kd_kul N Dosen N tempat waktu Kuliah N Meng uasai Nm_dos Kd_kul 1.31
Relasi Multi Entitas (N-ary / Ternary Relation) Merupakan relasi yang terdiri dari 3 himpunan entitas / lebih Contoh : Kd_kul Nama_dos Kuliah Penga jaran Dosen Nama_dos Kd_kul Kd_rg waktu nm_kul sks Ruang Kd_rg Nm_rg kap 1.32
Spesialisasi : Merupakan proses dekomposisi (pengelompokkan) sebuah himpunan entitas yg melahirkan himpunan entitas baru yang dilakukan secara top-down. Proses perancangan Top down; Membuat sub-grup dari entitas sehingga menjadi berbeda dengan entitas yang lain. Hasil dari sub grouping adalah entitas tingkat rendah dimana salah satu atribut sebagai relasi dengan entitas diatasnya. Digambarkan dengan segitiga dan diberi label ISA (Mis. Pelanggan is a Manusia). 1.33
Contoh 1 : nik pangkat Dosen tetap dosen Is a Kode_dos Nama_dos alm_dos Nm_kantor alm_kantor Dosen ttd tetap Top - down 1.34
Contoh 2 : 1.35
Generalisasi : Merupakan penyatuan beberapa himpunan entitas menjadi sebuah himpunan entitas baru. Atribut dari masing-masing himpunan entitas disatukan kedalam himpunan entitas baru. Proses perancangan bottom-up menggabungkan beberapa entitas yang mempunyai atribut yang sama menjadi entitas yang lebih tinggi tingkatnya. Spesialisasi dan generalisasi adalah upaya penyederhanaan; dan dapat digambarkan dengan ERD. Peristiwa spesialisasi dan generalisasi dapat diterapkan bolak-balik. 1.36
Contoh : Mahasiswa bottom - up Is a Mahasiswa D3 Mahasiswa S1 1.37
Spesialisasi dan Generalisasi Pada sebuah entitas dapat dilakukan spesialisasi bertingkat tergantung dari kompleksitas entitas tersebut. Mis. Karyawan_tetap vs. karyawan_tidak_tetap, dapat dibagi lagi berdasar pekerjaannya officer vs. sekretaris vs. teller Setiap bagian dari karyawan dapat menjadi : Anggota dari karyawan_tetap atau karyawan _tidak_tetap, Dan juga anggota dari officer, sekretaris atau teller Realisasi ISA adalah relasi superclass - subclass 1.38
Batasan perancangan dalam Spesialisasi/Generalisasi Batasan sebuah entitas dapat menjadi anggota suatu entitas lain yang lebih tinggi. n Tergantung dari keadaan Mis. Semua pelanggan yang berusia diatas 65 tahun anggota entitas manusia_sepuh; manusia_sepuh ISA manusia. Tergantung user Batasan apakah entitas dimiliki oleh lebih dari satu entitas tingkat rendah dengan sebuah generalisasi. Disjoint Sebuah entitas dapat dimiliki oleh hanya satu entitas tingkat rendah Dalam diagram E-R tulis disjoint setelah segitiga ISA Overlapping Sebuah entitas dapat dimiliki oleh lebih dari satu entitas tingkat rendah 1.39
Batasan perancangan dalam Spesialisasi/Generalisasi Batasan kelengkapan spesifikasi apakah sebuah entitas merupakan entitas tingkat tinggi atau tidak harus dimiliki oleh satu atau lebih entitas yang lebih rendah dalam relasi generalisasi. total : sebuah entitas harus dimiliki oleh satu atau lebih entitas tingkat rendah Partial (sebagian): sebuah entitas tidak harus dimiliki oleh salah satu entitas tingkat rendah 1.40
Agregasi : Merupakan sebuah relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Contoh : Mahasiswa N mempelajari N Kuliah Kd_kul NIM Nama NIM Kd_rg N mengikuti N Kd_kul nilai nm_kul Kd_rg Praktikum Nama_pr 1.41
Agregasi Sehubungan dengan relasi ternary works-on, seperti pada contoh dibawah Seandainya kita ingin mengetahui manajer dari seorang karyawan di sebuah cabang 1.42
Agregasi Relasi works-on dan manages menyajikan informasi yang tumpang tindih Setiap relasi manages berhubungan dengan sebuah relasi pada works-on Sementara itu, beberapa relasi works-on mungkin tidak berhubungan dengan relasi manages Kita dapat membuang relasi works-on Hilangkan kerangkapan dengan agregasi Anggap sebuah relasi dan entitas yang berelasi adalah sebuah entitas Buat relasi dengan entitas lain Tanpa mengenalkan istilah kerangkapan, diagram tersebut dapat diubah: Seorang karyawan bekerja di sebuah bagian di suatu cabang Seorang karyawan, cabang, bagian dapat digabungkan dengan seorang manajer 1.43
Diagram E-R dengan Agregasi 1.44
Diagram E-R Diagram untuk Bank 1.45
Exercise Consider a university database for the scheduling of classrooms for final exams. This database could be modeled as the single entity set exam, with attributes course_number, section_number, room_number and time. Alternatively, one or more additional entity sets could be defined, along with relationship sets to replace some of the attributes of the exam entity set, as course with attributes name, department, and course_number section with attributes section_number and enrollment, and dependent as a weak entity set on course room with attributes room_number, capacity and building Show an E-R Diagram illustrating the use of all three additional entity sets listed. 1.46