BAB II Entity-Relationship Model Sisterm Basis Data Informatika PTIIK 1 2 Materi Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an E-R Database Schema Reduction of an E-R Schema to Tables Sisterm Basis Data Informatika PTIIK 3 Database dapat dimodelkan sebagai : – Kumpulan entitas – Relasi antar entitas Sisterm Basis Data Informatika PTIIK 4 Entitas ? “sesuatu” atau “objek” di dunia nyata yang dapat dibedakan dari objek lain Kelompok objek independen yang dapat diidentifikasi dan memiliki kesamaan properti. Entitas digambarkan (dalam basis data) dengan menggunakan himpunan atribut. Sisterm Basis Data Informatika PTIIK 5 Entitas ? Entitas dapat berupa objek nyata atau objek konseptual, contoh: Sisterm Basis Data Informatika PTIIK 6 Contoh entitas Poli Anak RS : - Anak (pasien) - Dokter - Perawat - Penyakit - Obat Sisterm Basis Data Informatika PTIIK 7 Contoh entitas Perpustakaan Brawijaya Buku Petugas Mahasiswa Dosen Peminjaman Pengembalian Sisterm Basis Data Informatika PTIIK 8 Contoh entitas Supermarket Barang Petugas/Kasir Transaksi Penjualan dan Pembelian Suplier Bengkel Montir Sparepart Pelanggan Servis Supplier Alat/inventaris Transaksi Sisterm Basis Data Informatika PTIIK 9 Contoh entitas BTN Nasabah Tabungan Pegawai Peminjaman Deposito Asuransi Sisterm Basis Data Informatika PTIIK 10 Representasi Entitas Entitas digambarkan dalam bentuk persegi panjang dengan label yang menunjukkan nama entitas, umumnya berupa kata benda tunggal. Huruf pertama setiap kata label entitas ditulis dengan huruf kapital; contoh: Sisterm Basis Data Informatika PTIIK 11 Himpunan entitas Kumpulan entitas yang sejenis. Misal : himpunan data pegawai Semua entity dalam himpunan entity memiliki himpunan atribut yang sama Tiap himpunan entity memiliki kunci (key) Tiap atribut memiliki domain. Entitas menunjuk kepada individu suatu objek sedangkan himpunan entitas menunjuk pada rumpun (family) dari individu tersebut Sisterm Basis Data Informatika PTIIK 12 Contoh himpunan entitas Semua orang yang memiliki rekening di Bank (nasabah), Semua Pelanggan, Mahasiswa, Dokter Sisterm Basis Data Informatika PTIIK 13 Sisterm Basis Data Informatika PTIIK 14 ATRIBUT Setiap Entitas memiliki atribut yang mendeskripsikan karakteristik (properti) dari entitas tersebut atau relasi Contoh : Customer = (Customer-Id, CustomerName, Customer-Street, Customer-City) Setiap Atribut akan memiliki nilai (values) Domain (Value Set)– Batas-batas nilai yang diperbolehkan bagi suatu atribut Sisterm Basis Data Informatika PTIIK 15 Atribut pada sistem Poli Anak RS : Anak (pasien) : nama, tanggal lahir, riwayat penyakit, alamat, nama ortu, jenis kelamin - Dokter : NIP, Nama, Alamat, Spesialisasi Perawat : NIP, Nama, ALamat Penyakit : Nama penyakit, gejala Obat : nama, dosis, harga, jenis(tablet/sirup) Sisterm Basis Data Informatika PTIIK 16 Atribut pada SIAKAD SIAKAD - Mahasiswa : NIM, Nama, Alamat, Jurusan, Prodi, TTL,Agama, Nama ORTU, jenis Kelamin - Mata Kuliah: Kode, Nama, SKS,Prasyarat, Status(W/P), semester - Dosen : NIP, Nama, Alamat, Jenis Kelamin, Pangkat/Gol, Sisterm Basis Data Informatika PTIIK 17 Tipe-tipe Atribut 1. Simple dan Composite attributes 2. Single-valued dan multi-valued attributes 3. Derived attributes Sisterm Basis Data Informatika PTIIK 18 1. Simple dan Composite attributes Atribut Simple/sederhana : Atribut yang terdiri atas komponen tunggal yang tidak dapat dibagi menjadi komponen yang lebih kecil; contoh: atribut jabatan dan gaji pada entitas Staf. Atribut sederhana juga disebut dengan atribut atomik. Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa bagian; Atribut yang terdiri atas beberapa komponen independen (dapat berdiri sendiri); contoh: atribut alamat pada entitas KantorCabang dengan nilai (Jalan Prof. Dr. Soepomo, SH, No. 63, Yogyakarta, 55163). Atribut ini dapat dibagi menjadi jalan (Jalan Prof. Dr. Soepomo, SH, No. 63), kota (Yogyakarta), dan kodePos (55163). Sisterm Basis Data Informatika PTIIK 19 Atribut komposit Sisterm Basis Data Informatika PTIIK 20 2. Single-valued dan multivalued attributes Atribut Single-valued /tunggal: Atribut yang memuat nilai tunggal. Umumnya, atributatribut bernilai tunggal; contoh: entitas KantorCabang memiliki nilai kode yang bersifat tunggal, misal B003. Multi-valued attributes : Aribut yang memuat beberapa nilai. Contoh: entitas KantorCabang memiliki atribut telepon, misal kantor cabang B003 memiliki nomor telepon 0274123 456 dan 0274-567 890. Contoh ini menunjukkan bahwa atribut telepon memiliki dua nilai (mungkin juga lebih dari dua) Sisterm Basis Data Informatika PTIIK 21 multi-valued attributes Atribut multi-value dapat ditentukan nilai minimal (batas_bawah) dan nilai maksimal (batas_atas); pada contoh di atas, misalnya, nomor telepon kantor cabang ditentukan antara satu dan tiga nilai. Dengan kata lain, sebuah kantor cabang memiliki minimal satu nomor telepon dan sebanyakbanyaknya tiga nomor telepon. Sisterm Basis Data Informatika PTIIK 22 3. Derived attributes/ Atribut Turunan Atribut Turunan : Atribut yang menyatakan suatu nilai yang berkaitan dengan atribut-atribut lain; Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan. contoh: atribut masaStudi yang diperoleh dari tglLulus dikurangi tglDaftar. Atribut masaStudi dikatakan sebagai atribut turunan dari atribut tglDaftar dan tglLulus. atribut totalMhs yang diperoleh dengan cara menghitung jumlah mahasiswa aktif pada suatu semester tertentu. Sisterm Basis Data Informatika PTIIK 23 Contoh entitas dan atributnya Sisterm Basis Data Informatika PTIIK 24 Key Penggunaan key merupakan cara untuk membedakan suatu entitas didalam himpunan entitas dengan entitas lain Secara konsep, Masing-masing entitas (nilainya) berbeda,perbedaannya terlihat pada isi dari masing-masing atributnya. Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai yang menjadi pembeda dengan entitas lain Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik Sisterm Basis Data Informatika PTIIK 25 Candidate Key Candidate Key/ Kunci Kandidat/CK Atribut-atribut yang mengidentifikasi entitas secara unik; contoh: atribut kancabNo merupakan kunci kandidat untuk entitas KantorCabang, dan memiliki nilai unik untuk setiap kantor cabang. Kunci kandidat juga menyatakan bahwa nilai atribut ini tidak boleh kosong (Null). Sisterm Basis Data Informatika PTIIK 26 Primary Key Kunci kandidat yang dipilih untuk mengidentifikasi entitas secara unik. Entitas dapat memiliki kunci kandidat lebih dari satu, contoh: seorang mahasiswa memiliki noMhs yang bersifat unik bagi Universitas, juga memiliki noKTP yang bersifat unik bagi status kependudukan si mahasiswa. Salah satu diantara dua kunci kandidat itu dapat dipilih salah satu sebagai kunci primer. Penentuan kunci kandidat yang dipilih sebagai kunci primer sangat bergantung kepada kebutuhan sistem yang sedang dikembangkan. Kandidat kunci yang tidak dipilih sebagai kunci primer dinamakan kunci alternatif. Sisterm Basis Data Informatika PTIIK 27 Primary Key Pemilihan primary key dari sejumlah candidate key umumnya didasari oleh : 1. 2. 3. Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan Key tersebut lebih ringkas Jaminan keunikan key tersebut lebih baik Sisterm Basis Data Informatika PTIIK 28 Kunci Komposit (Composite Key): Kunci kandidat yang memuat dua atau lebih atribut. Ada beberapa kasus yang membutuhkan kunci berupa kombinasi/gabungan beberapa atribut untuk mengidentifikasi secara unik. Sisterm Basis Data Informatika PTIIK 29 Atribut ditulis dengan huruf kecil, kecuali jika terdiri atas dua kata atau lebih, huruf pertama kata kedua dan seterusnya ditulis dengan huruf kapital; contoh: kancabNo. Atribut yang dipilih sebagai kunci primer diikuti dengan {PK}; contoh: kancabNo {PK}. Atribut komposit dituliskan berindentasi (menjorok ke dalam); contoh: alamat jalan kota kodePos Atribut turunan diawali dengan tanda garis mirin (slash, /); contoh: /jmlStaf. Atribut multi-value dituliskan batas bawah dan batas atasnya; contoh: telepon [1..3 Sisterm Basis Data Informatika PTIIK 30 Simbol untuk notasi ER Sisterm Basis Data Informatika PTIIK 31 Sisterm Basis Data Informatika PTIIK 32 Simbol alternatif untuk relasi Sisterm Basis Data Informatika PTIIK 33 Weak Entity Entitas yang tidak punya PK Keberadaannya tergantung dari keberadaan entitas lain.. jadi entitas lemah ada jika entita s kuat yang menyebabkan adanya dia itu ada. Tanpa entitas kuat, entitas lemah tidak akan muncul. PK entitas lemah dibentuk dari PK entitas kuat dan discriminator Sisterm Basis Data Informatika PTIIK Weak Entity Sets (Cont.) 34 Entitas lemah digambarkan dengan double rectangles. discriminator dari entitas lemah dengan garis putus2 payment-number – discriminator of the payment entity set Primary key payment – (loan-number, paymentnumber) Sisterm Basis Data Informatika PTIIK 35 Relasi Definisi: Himpunan asosiasi (hubungan) antar entitas yang dapat diidentifikasi dan bermakna. Relasi dinyatakan dengan nama yang menunjukkan fungsinya, contoh Memiliki yang menghubungkan antara KantorCabang dan Staf. Relasi dimungkinkan memiliki atribut Sisterm Basis Data Informatika PTIIK 36 Representasi Relasi Relasi digambarkan dalam bentuk garis yang menghubungkan entitas-entitas yang berelasi, dengan label yang menunjukkan nama relasi. Nama relasi umumnya berupa kata kerja. Huruf pertama setiap kata label relasi ditulis dengan huruf kapital. Nama relasi harus unik dalam satu diagram ER. Sisterm Basis Data Informatika PTIIK 37 Representasi Relasi Relasi bersifat satu arah, karena umumnya makna relasi hanya ‘masuk akal’ pada satu arah tertentu, misal: Kantor Cabang memiliki Staf lebih ‘masuk akal’ daripada Staf memiliki Kantor Cabang. Untuk itu, nama relasi disertai dengan anak panah yang menunjukkan arah relasi; contoh: Sisterm Basis Data Informatika PTIIK 38 Himpunan Relasi Sisterm Basis Data Informatika PTIIK 39 Derajad Relasi Derajat relasi menunjukkan jumlah entitas yang terhubung dalam suatu relasi. Entitas-entitas yang terhubung dalam suatu relasi disebut partisipan. Relasi berderajat dua dinamakan relasi biner, yakni relasi yang melibatkan dua himpunan entitas contoh: a. relasi Memiliki yang menghubungkan entitas Kantor Cabang dengan Staf. b. relasi Mengambil dengan dua entitas yang Sisterm Basis Data Informatika PTIIK berpartisipasi, yaitu Mahasiswa dan Matakuliah. 40 Relasi Berderajat tiga Relasi berderajat tiga dinamakan relasi terner. Relasi antara lebih dari dua entitas jarang terjadi Terdapat tiga entitas yang berpartisipasi dalam relasi terner, contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, dan Klien. Relasi ini menyatakan seorang staf mendaftar klien di suatu kantor cabang. Sisterm Basis Data Informatika PTIIK 41 Relasi Rekursif Definisi: Tipe relasi yang menghubungkan satu entitas tunggal dengan dirinya sendiri. Relasi rekursif Mengaudit yang merepresentasikan relasi dosen dengan auditor, seorang auditor merupakan bagian entitas dosen. Dengan kata lain, relasi ini menyatakan seorang dosen melakukan pemeriksaan (mengaudit) dosen lain. Relasi ini dapat ditambahkan nama peran untuk menunjukkan posisi partisipasinya, pada contoh di atas: relasi Mengaudit menghubungkan entitas Dosen yang berperan sebagai Auditor dengan dosen lain yang berperan sebagai Auditee. Sisterm Basis Data Informatika PTIIK 42 Pemetaan Kardinalitas Relasi Menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain. Paling banyak digunakan dalam menjelaskan relasi biner Untuk relasi biner, pemetaan kardinalitasnya dapat merupakan salah satu dari tipe2 berikut : 1. Satu ke Satu (One to one) 2. Satu ke Banyak (One to many) 3. Banyak ke Satu (Many to one) 4. Banyak ke Banyak (Many to many) Sisterm Basis Data Informatika PTIIK 43 Constraint Kardinalitas Dalam menggambarkam kardinalitas pada Diagram ER, digunakan garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi dengan entitas Contoh : Relasi Satu ke satu – Satu Customer hanya boleh berhubungan dengan satu Loan,melalui relasi borrower – Satu Loan hanya boleh berhubungan paling banyak oleh satu Customer, melalui relasi borrower Sisterm Basis Data Informatika PTIIK 44 Relasi Satu ke Banyak Dalam relasi satu ke Banyak, Paling banyak Satu Customer dapat berhubungan dengan beberapa (termasuk 0) Loan melalui borrower Sisterm Basis Data Informatika PTIIK 45 Relasi Banyak ke Satu Dalam relasi banyak ke satu, Satu Loan berhubungan dengan beberapa (termasuk 0) customer melalui borrower,satu customer berhubungan dengan paling banyak satu Loan melalui borrower Sisterm Basis Data Informatika PTIIK 46 Relasi Banyak ke Banyak customer berhubungan dengan beberapa (mungkin 0) Loan melalui borrower Loan berhubungan dengan beberapa (mungkin 0) customer melalui borrower Sisterm Basis Data Informatika PTIIK 47 Pemetaan kardinalitas Sisterm Basis Data Informatika PTIIK 48 Pemetaan Kardinalitas Sisterm Basis Data Informatika PTIIK 49 Dampak Pemetaan Kardinalitas pada Desain ER Dalam mendesain Entity Relasionship pemetaan kardinalitas akan berpengaruh terhadap bagaimana data tersebut akan digambarkan Sisterm Basis Data Informatika PTIIK 50 Diagram ER Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis • Sisterm Basis Data Informatika PTIIK 51 Sisterm Basis Data Informatika PTIIK 52 Diagram E-R dengan atribut Composite,Multivalued dan derived Sisterm Basis Data Informatika PTIIK 53 Himpunan Relasi dengan Atribut Sisterm Basis Data Informatika PTIIK 54 Peran (Roles) Relasi Himpunan entitas tidak harus dalam bentuk yang berbeda Peran dalam ER diagram diindikasikan dengan memberikan label (nama) pada garis yang menghubungkan relasi dengan entitas Label peran bersifat optional dan digunakan untuk mengklarifikasi semantik suatu relasi Sisterm Basis Data Informatika PTIIK 55 Peran (Roles) Label “manager” dan “worker” disebut Roles (peran), yang menspesifikasi bagaimana entitas employee berinteraksi melalui relasi Works-for Sisterm Basis Data Informatika PTIIK 56 total constraint dan partial constraint! Perbedaan antara total constraint dan partial constraint! Total constraint : adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya. Constraint partial : adalah constraint yang mana hanya sebagian data ( tidak seluruhnya) dalam entitas yang memiliki constraint tersebut terhubung ke dalam entitas dari relasinya. Sisterm Basis Data Informatika PTIIK 57 Mengapa ER Model ? Populer untuk model relasional Sering dipergunakan untuk desain konseptual dari aplikasi database Sisterm Basis Data Informatika PTIIK 58 Langkah –langkah membuat diagram ER 1. 2. 3. 4. 5. 6. Mengidentifikasi dan menetapkan seluruh entitas yang terlibat Menentukan atribut dari setiap entitas Menentukan key dari setiap entitas Mengidentifikasi dan menetapkan relasi antar entitas yang ada beserta foreign key-nya Menentukan kardinalitas/derajad relasi untuk setiap relasi yang ada Melengkapi entitas dan relasi dengan atribut-atribut deskriptif Sisterm Basis Data Informatika PTIIK 59 Foreign Key Key (PK) yang berasal dari entitas lain yang berelasi dengannya Sisterm Basis Data Informatika PTIIK 60 Contoh Sisterm Basis Data Informatika PTIIK 61 Bagaimana jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ERDiagram. Mengapa hal ini harus dihindari? Jelaskan! Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektifitas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate Sisterm Basis Data Informatika PTIIK 62 perbedaan antara weak entity dan strong entity! Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas lain. Entitas kuat selalu memiliki karakteristik yang unik yakni sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain.-> Primary Key (PK) Sisterm Basis Data Informatika PTIIK 63 perbedaan antara weak entity dan strong entity! Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas tempatnya bergantung. Sisterm Basis Data Informatika PTIIK Latihan 64 1. Sebuah perpustakaan kampus memiliki aturan-aturan sebagai berikut : 1. Anggota dapat meminjam Buku pada perpustakaan lebih dari satu buku dalam sekali peminjaman. 2. Pada buku, yang harus di catat adalah NoBuku, Judul, Pengarang, Penerbit, Tahun terbit dan Jenis buku (majalah,Kumpulan atrikel, novel, komik, iptek, sekolah), Status (sedang dipinjam, ada diperpustakkan) 3. Pada anggota yang harus dicatat adalah nomor anggota, NIM, Nama, Alamat, Kota, No telepon, tanggal lahir dan Jurusan. 4. Pada setiap terjadi transaksi peminjaman, maka dicatat tanggal pinjam, tanggal kembali dan jumlah buku yang dipinjam. Identifikasi entitas2 nya, relasi antar entitas dan ER model perusahaan tersebut Sisterm Basis Data Informatika PTIIK 65 Latihan: 2. Perusahaan penyelenggara pelatihan TIK memiliki 30 orang instruktur untuk menangani sampai dengan 100 peserta per sesi training. Perusahaan ini menawarkan lima materi training. Setiap materi training dikelola oleh tim yang terdiri atas dua atau lebih instruktur. Setiap instruktur maksimal menjadi anggota tim dalam dua materi training. Setiap sesi training seorang peserta hanya terdaftar pada satu materi training saja. 1. Identifikasi entitas-entitas perusahaan tersebut! 2. Identifikasi relasi-relasi antar entitasnya! 3. Gambarkan diagram ER model perusahaan training tersebut! Sisterm Basis Data Informatika PTIIK 66 Model data Model data : adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada tingkat logika. Sisterm Basis Data Informatika PTIIK 67 Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyekobyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitasentitas itu. Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik. Sisterm Basis Data Informatika PTIIK