BAB II
Sisterm Basis Data Informatika PTIIK
1
Entity-Relationship Model
Sisterm Basis Data Informatika PTIIK
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 entitasPoli 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 entitasSupermarket Barang Petugas/Kasir Transaksi Penjualan dan Pembelian Suplier
Bengkel- Montir- Sparepart- Pelanggan- Servis- Supplier- Alat/inventaris- Transaksi
Sisterm Basis Data Informatika PTIIK
9
Contoh entitasBTN 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, Customer-
Name, 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 attributesAtribut 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 multi-valued attributes
Atribut Single-valued /tunggal: Atribut yang memuat nilai tunggal. Umumnya,
atribut-atribut 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 0274-123 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 sebanyak-banyaknya 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 KeyCandidate 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. Key tersebut lebih sering (lebih natural)
untuk dijadikan sebagai acuan2. Key tersebut lebih ringkas3. 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 tiodak 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
34Weak Entity Sets (Cont.) 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, payment-number)
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 berpartisipasi,
yaitu Mahasiswa dan Matakuliah.
Secara umum himpunan relasi dalam sistem basis data adalah binary
Sisterm Basis Data Informatika PTIIK
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. Mengidentifikasi dan menetapkan seluruh entitas yang terlibat
2. Menentukan atribut dari setiap entitas3. Menentukan key dari setiap entitas4. Mengidentifikasi dan menetapkan relasi
antar entitas yang ada beserta foreign key-nya
5. Menentukan kardinalitas/derajad relasi untuk setiap relasi yang ada
6. 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 ER-Diagram.
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
64Latihan
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 dataModel 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 obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas 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.