Basis Data (Database)
Entity-Relationship Model (ERM)• Entity-Relationship (ER) pada awalnya
disampaikan oleh PETER di tahun 1976
sebagai suatu cara untuk menyatukan jaringan dan menggambarkan relational database.
• ER adalah sebuah model konseptual dari data
yang menggambarkan keadaan sebenarnya dari entities dan relationship.
• Hasil akhir dari proses ERM adalah
entity-relationship diagram (ERD).
• Model data membutuhkan notasi grafik untuk
mempresentasikannya.
• ERD adalah tipe dari model data konseptual
atau semantic data model.
• Ada 2 (dua) jenis penggambaran ERD, yaitu:
– Binary relationships (ada lebih dari satu entitas) – Recursive relationships (hanya ada satu entitas).
Macam-macam relasi antar entitas
didalam ERD binary relationships
• One-to-one.
Satu elemen di entitas (A) tepat berasosiasi dengan satu elemen di entitas (B).
Contoh: Pegawai dengan Workstation.
• One-to-many.
Satu elemen di entitas (A) berasosiasi dengan nol, satu atau lebih elemen yang ada di entitas (B), tetapi untuk satu elemen di entitas (B) hanya berelasi dengan satu elemen di entitas (A).
Contoh: Departemen dan Projek.
• Many-to-many.
Satu elemen di entitas (A) berasosiasi dengan nol, satu atau lebih elemen di entitas (B), dan satu elemen di entitas (B) berasosiasi dengan nol, satu atau lebih elemen di entitas (A).
One-to-one, one-to-many dan many-to-many sering disebut dengan derajat kardinalitas
(cadinality degree).
The Cardinality mendefinisikan relasi di antara sejumlah entitas.
Notasi Kardinalitas
berdasarkan Crows foot:
1 1 atau lebih 0,1 atau lebih
Notasi Kardinalitas
lainnya
Satu
1
Satu atau lebih (many)
M
Lambang Notasi ERD
• Entitas (Entity)
• Relasi (Relationship) • Atribut (Attribute)
• Gartis Penghubung (Link links)
Entitas
Relasi
Atribut
Entitas (Entities)
• Entity adalah sebutan lain dari record
• Entities atau set entity adalah sebutan lain
Tipe Entitas
• Aturan (Roles)
• Kejadian (Events) • Lokasi (Locations)
• Sesuatu yang nyata (tangible things) • Konsep (Concepts)
Contoh Entitas
• Pegawai • Aturan penggajian • Buku • Nyayian • Teori matematika • Uang kuliah • Mata kuliah • Dan sebagainya.Klasifikasi Entitas
• Mandiri (Independent).
Yang tidak menggantungkan diri pada entitas lain nya untuk mengidentifikasinya.
• Bergantung (Dependent).
Entitas yang tergantung pada entitas lainnya untuk mengidentifikasinya. Dengan kata lain, keberadaannya tidak ada artinya tanpa adanya independent entity).
Entity occurance (disebut juga dengan instance) adalah kejadian individual dari sebuah entitas. Kejadian tersebut dianalogikan sebagai sebuah baris didalam tabel relasional.
Setiap entitas (kecuali entitas lemah) harus memiliki kunci atribut (entity`s primary key).
Entitas lemah adalah entitas yang keberadaanya tergantung dari entitias lain.
Contoh
• Di Enterprise SEKOLAH ada entitas yang wajib ada, yakni MURID. Karena ada sebentuk laporan dari pihak sekolah ke pihak penanggung-jawab murid diluar kelas, dalm hal ini orang-tua atau
wali, maka ada ORANG_TUA. Keberadaan entitas ORANG_TUA tergantung dari keberadaan entitas MURID. Sebuah weak entity set digambarkan
dengan garis kotak tebal (bold retangle) atau garis ganda kotak yang berhubungan dengan garis
penghubung menuju ke relasi (dengan lambang belah ketupat)
Relasi (Relationships)
• Relasi adalah keterhubungan atau keterkaitan
antara satu entitas dengan satu atau lebih entitas lain.
Contoh : DOSEN dan MAHASISWA.
• Kardinalitas (cardinality) didefinisikan sebagai
banyaknya kejadian (occurence) dari sebuah entitas atas satu kejadian dari entitas lain yang berhubungan.
Menentukan derajat kardinalitas
• Contoh: DOSEN dan MAHASISWA.
Keadaan Awal:
DOSEN Mengajar MAHASISWA
Letakkan angka 1 di antara DOSEN dan Mengajar, selanjutnya dibaca : “Seorang DOSEN mengajar .... MAHASISWA”. Titik-titik itu berisi angka 1 atau huruf M yang menandakan lebih dari 1. tentu saja seorang DOSEN mengajar banyak (lebih dari 1 yang dilambangkan dengan M) MAHASISWA, sehingga gambarnya menjadi:
Menentukan derajat kardinalitas
• Contoh: DOSEN dan MAHASISWA.
Belum selesai, sekarang, baca terbalik “Seorang MAHASISWA diajar oleh ... DOSEN”. Titik-titik itu juga harus diisi 1 atau M. Tentulah, dalam kejadian sehari-hari, umumnya kalimat tersebut akan berbunyi : “Seorang MAHASISWA akan diajar oleh banyak
DOSEN” (Karena ia mengambail banyak mata kuliah) sehingga gambarnya menjadi: DOSEN 1 Mengajar M MAHASISWA
DOSEN 1 Mengajar M MAHASISWA 1
M
Selanjutnya, pilih yang terbesar antara yang diatas garis penghubung dan yang ada di bawah girs penghubung, hasilnya:
Menentukan derajat kardinalitas
• Contoh: DOSEN dan MAHASISWA.
Tampaklah, bahwa relasi antara DOSEN dan MAHASISWA dalam proses
belajar-mengajar adalah many-to-many. Dalam kaidah matematik, M = M. Pertanyaan yang muncul adalah, “Jika nilai M = 10, apakah pasti 10 DOSEN mengajar 10 MAHASISWA?” karena tidak maka salah satu penulisan kardinalitas (many diganti dengan N, dan
penulisannya disejajarkan diatas garis penghubung. Gambar Akhirnya adalah :
DOSEN M Mengajar N MAHASISWA DOSEN Mengajar M MAHASISWA
Atribut (Attribute)
• Atribut atau Field adalah suatu karakteristik
yang biasa untuk menggambarkan seluruh atau sebagian dari record.
• Kata lain dari atribut adalah elemen data.
Contoh : elemen data untuk MAHASISWA
terdiri dari Nama, Alamat, Tempat dan Tanggal Lahir, NIM dan sebagainya; Yang diperlukan di suatu universitas.
Primary Key
Primary Key (Kunci Primer) atau Pengidentifikasi (Identifier) merupakan sebuah atribut atau
kombinasi dari beberapa atribut yang dapat
mengidentifikasi secara unik (tunggal dan hanya satu) dari seluruh record yang ada.
*NIM Atau NIM
Atribut dengan kunci primer
**NIM Atau NIM
Atribut di Model ER
• Multi-valued(Bernilai banyak) • Composite (Bernilai banyak) • Derived (Perolehan)
Multi-valued
(Bernilai banyak)
Digambarkan dengan elips bergaris ganda (double-line ellips)
HOBI Atribut Multivalue
Composite
(Bernilai banyak)
Composite adalah atribut yang memiliki dua atau lebih atribut (lain) yang masing-masing berkontribusi padanya.
Digambarkan sebagai atribut yang dihubungkan dengan atribut utamanya.
NAMA
NM_AKHIR NM_DEPAN NM_TENGAH
Derived
(Perolehan)
derived adalah atribut yang nilainya tergantung pada atribut lain. Digambarkan dengan garis
terputus-putus membentuk elips(dashed ellipses).
IPK Atribut Derived
Generalization
Kadang kala dua atau lebih entitas memiliki
subtipe yang lebih khusus dari tipe entitas pada umumnya. Kekhususan tersebut karena di dunia nyata mereka memiliki kemiripan (similarity)
kategori sehingga dapat digambarkan secara
general (generalization) menuju ke tingkat lebih tinggi yang disebut dengan supertype atau
Contoh
Programmers dan Pemasar memiliki kemiripan karena mereka adalah tipe dari pegawai
(supertype) di perusahaan software. Untuk
mengindikasikan ini, dilambangkanlah segitiga (triangle) dengan tulias “ISA” di dalamnya. Di atas lambang yang bertuliskan ISA disebut
dengan entitas high-level dan yang di bawah
Generalization
ISA ORANG
NAMA ALAMAT *NO_KTP
MAHASISWA DOSEN STAF
Aggregation
Sebuah relasi yang keseluruhannya
berpartisipasi dengan entitas dapat
diperlakukan sebagai sebuah entitas.
Selanjutnya entitas yang terbentuk tersebut direlasikan kembali dengan entitas lain. Proses semacam ini disebut sebagai koleksi atau pengumpulan (Aggregation). Aggregation digambarkan dengan kotak yang garisnya terputus-putus (dotted rectangle) mengelilingi aggregated entities dan relationships.
Aggregation Relationship
MAHASISWA NAMA AMBIL MT_KULIAH NM_MK *KD_MK SKS IKUT PRAKTIKUM NM_PRAK *SKS_PRAK *KD_PRAK *NPMDegree of a Relationship
Derajat dari relasi adalah banyaknya entitas yang berasosiasi dengan relasi, Relasi N-ary adalah bentuk umum untuk derajat n.
Khusus di binary dan ternary, derajatnya adalah 2 dan 3, asosiasi antara dua entitas adalah yang biasa terjadi di dunia nyata. Sebuah pengulangan (recursive) di binary relationship terjadi ketika sebuah entitas berelasi dengan dirinya sendiri.
Sebuah entitas berelasi dengan
dirinya sendiri
Sebagai contoh, “Pemain sepak bola memilih rekannya sendiri menjadi kapten kesebelasan”.
PEMAIN KAPTEN PILIH M
Sebuah ternary relationship menggunakan tiga entitas dan digunakan ketika binary relationship tidak cukup untuk menggambarkannya. Banyak model hanya menggunakan binary relationship. Relasi ternary atau n-ary dibuat dalam dua atau lebih relasi binary.
Contoh Penggambaran Diagram ER (1)
Penggambaran Toko Elektronik.
Maka hal-hal yang perlu disiapkan adalah: 1. Entitas.
Jika entitas kita konotasikan sebagai master file, apa saja master file yang ada ditoko tersebut. Kita peroleh ada.
a) PEGAWAI b) BARANG
c) DISTRIBUTOR d) PEMBELI
Contoh Penggambaran Diagram ER (2)
Penggambaran Toko Elektronik.
Maka hal-hal yang perlu disiapkan adalah: 2. Relasi.
Apa saja relasi yang terjadi di toko tersebut. Kita peroleh relasinya adalah
a) PEMBELI membeli BARANG
b) DISTRIBUTOR menyuplai BARANG c) PEGAWAI menjual BARANG
Contoh Penggambaran Diagram ER (3)
Penggambaran Toko Elektronik.
Maka hal-hal yang perlu disiapkan adalah: 3. Atribut.
Atribut-atribut yang diperlukan harus ada di setiap entitasnya.
Misal :
Untuk entitas PEGAWAI, atribut-atributnya adalah:
a) NOKAR (nomor karyawan, sebagai kunci primer) b) NAMA
c) ALAMAT
Contoh Penggambaran Diagram ER (4)
Untuk entitas BARANG, atribut-atributnya adalah:
a) KD_BRG (kode barang, sebagai kunci primer) b) NM_BRG c) SATUAN d) HARGA_SATUAN e) STOCK f) MEREK g) KD_DISTR h) JENIS_BRG
Contoh Penggambaran Diagram ER (5)
Untuk entitas DISTRIBUTOR, atribut-atributnya adalah:
a) KD_DIST (kode distributor, sebagai kunci primer) b) NM_DIST
c) ALAMAT_DIST
d) NM_CONTACT (nama contact person) e) NM_PEMILIK
Contoh Penggambaran Diagram ER (6)
Untuk entitas PEMBELI, bila memang perlu dicatat biodatanya (ada sistem keanggotaan), maka atribut-atributnya adalah:
a) KD_PEMBELI (kode pembeli, sebagai primary key) b) NM_PEMB
c) ALAMAT_PEMB
Tetapi apabila tidak ada sistem keanggotaan maka atribut yang bisa digunakan adalah
Contoh Penggambaran Diagram ER (7)
Untuk entitas RAK, atribut-atributnya adalah:
a) KD_RAK (kode rak, sebagai kunci primernya) b) NOMOR_RAK
Setelah semua selesai maka langkah berikutnya adalah menggambarkan transaksi atau relasi yang terjadi:
1. Relasi pertama untuk PEMBELI membeli BARANG PEMBELI NO_KWITANSI MEMBELI BARANG NM_BRG JML_BAYAR TGL_BELI KD_BRG KD_DISTR STOCK SATUAN MEREK JENIS_BRG M N
Notasi ER (ER Notation) lainnya
Sebetulnya tidak ada standar dalam menggambarkan objek data di diagram ER. Setiap metodologi model menggunakan notasi sendiri-sendiri. Notasi asli yang digunakan oleh Chen secara luas digunakan di buku-buku pelajaran dan jurnal-jurnal, tetapi jarang dilihat di publikasi umum lainnya yang non-akademis. Kini banyak notasi yang digunakan. Tiga diantaranya adalah :
– Bachman – Crow`s foot – IDEFIX
Berikut notasi dan catatan lain yang dikemukakanoleh Martin. Simbol-simbol dasar yang digunakan untuk menggambarkan ER adalah:
– Entitas. Adalah yang dilambangkan dengan kotak (retangle). Nama
kotak adalah entitas. Nama entitas berupa sebuah kata benda (singular noun)
– Relasi. Direpresentasikan dengan garis tebal (solid line) yang
menghubungkan dua entitas. Nama dari relasi ditulis di atas garis tersebut. Nama relasi merupakan kata kerja (verb).
– Attribut. Jika ikut digambarkan, dimasukkan di dalam kotak entitas.
Atribut yang digunakan sebagai pengidentifikasi record (primary key) ditulis dengan garis bawah (underlined). Nama atribut berupa kata benda tunggal (singular noun).
– Kardinalitas dari kata many direpresentasikan dengan akhir garis (line
ending) di crow`s foot. Jika crow`s foot dihilangkan maka kardinalitasnya bernilai satu.
– Keberadaan (existance) direpresentasikan dengan penempatan sebuah
lingkaran atau garis tegak lurus pada garis.
Keberadaan yang merupakan keharusan (mandatory existance) digambarkan dengan batang.
Keberadaan yang boleh ada dan boleh tidak ada (optional existance) diperlihatkan dengan menempatkan lingkaran berikutnya menuju entitas yang opsional.
Contoh ERD versi Martin
DeptID Departemen ProjectID Project ManagesEntity Name Relationship Name
one many
Entity Mandatory existance
Relationship
Optional existance
Attribute Name
Peran di Diagram E-R
(1)Fungsi yang diperankan oleh entitas di relationship
disebut dengan peran(role). Peran bisanya digambarkan secara eksplisit dan tidak spesifik. Meraka akan berguna jika apa yang diinginkan di dalam relationship diklarifikasi terlebih dulu. Misalkan pada relasi : “MAHASISWA
mengambil MATAKULIAH.” kata “Mengambil” harus di klarifikasi terlebih dahulu, apakah mahasiswa yang
bersangkutan mengambil mata kuliah pertama kali atau sudah mengulang (jika perbedaan ini nantinya akan
diperlakukan secara berbeda, misalkan kelas yang dibatasi jumlah mahasiswanya, dan sebagainya).
Peran di Diagram E-R
(2)Peran tersebut akan sangat berguna ketika relasi yang dikehendaki membutuhkan klarifikasi.
Sebagai contoh, entitas dari relasi yang tidak
dibedakan, relasi works-for berikut ini dilakukan oleh pasangan dari pekerja (employee), yaitu
manager dan pegawai biasa (worker). Di E-R
diagram hal ini dapat digambarkan dengan cara menuliskan di garis penghubung antara entitas dengan relationships.
E-R diagram dengan role indicators
EMPLOYEE WORKS-FOR
Manager
Worket Employee-name Phone-number
Weak Entity Sets di E-R Diagrams
Sebuah entitas lemah digambarkan dengan kotak dengan garis ganda.Misalkan, keberadaan entitas “orang-tua” sangat tergantung (dependent) pada keberadaan entitas kuat (strong entity set) “mahasiswa”.
ORANG-TUA MAHASISWA Memiliki
*NIM nama Nm_ortu
M 1
Nonbinary Relationships
Relasi bisa saja tidak hanay bercabang dua (non-binary relationship), misalkan bercabang tiga seperti contoh berikut ini:
E-R diagram tersebut menggambarkan bahwa MAHASISWA ketika berhubungan dengan DOSEN dan MATA_KULIAH (dalam proses belajar-mengajar) membutuhkan RUANG-KULIAH. Begitu juga dengan DOSEN, ketika berhubugan dengan MAHASISWA dan MATA KULIAH (dalam proses belajar mengajar) membutuhkan ruang kuliah.
MAHASISWA RUANG-KULIAH DOSEN
MATA_KULIAH
Software Penggambar ER Diagram
• ConceptDraw • Dia • Kivio • PowerDesigner • Microsoft Visio• AllFusion Erwin Data Modeler • ER/Studio
Relationships
Sebuah relasi (relationship) adalah sebuah asosiasi (hubungan) di antara dua atau lebih tabel. Relasi di
ekspresikan di nilai data dari kunci primer (primary key) dan kunci tamu (foreign key).
Sebuah primary key adalah seubah atau lebih kolom di dalam tabel yang memiliki nilai unik untuk mengidentifikasi setiap baris didalam sebuah tabel.
Foreign key adalah sebuah atau lebih kolom yang nilainya smaa dengan primary key di tabel lain. Kita dapat berkata
bahwa sebuah foreign key adalah salinan dari primary key dari tabel lain yang berelasi.
Relasi dibuat diantara dua tabel yang saling berelasi dengan mencocokkan nilai dari foreign key di satu tabel dengan
Keys
Key adalah dasar dari konsep relational databases karena dengan itu berbagai tabel bisa saling berelasi di antara mereka didalam database.
Keberhasilan relational database tergantung dari kemampuan primary key untuk mengidentifikasi baris yang spesifik di dalam sebuah tabel. Keberhasilan untuk mengaitkan (merelasikan) antar satu tabel dengan tabel lain membutuhkan foreign key yang tepat dan konsisten dalam mereferensikan nilai-nilai dari primary key.
Data Integrity (Integritas Data)
Data integrity adalah ketepatan dan ke
konsistenan dalam navigasi dan memanipulasi tabel-tabel di dalam database. Berikut dua
kaidah dasar untuk memastikan data integrity:
• Entity integrity
Entity Integrity
Entity integrity memiliki kaidah, nilai dari primary key-nya tidak boleh kosong (null value).
yang dimaksud dengan nilai kosong berbeda dengan spasi (blank). Dalam variabel string. Nilai kosong dilambangkan dengan ‘’ dan nilai blank dilambangkan dengan ‘ ‘. Karena primary key digunakan untuk mengidentifikasi baris secara unik di relational table, nilainya harus selalu khusus dan tidak pernah tidak diketahui.
Kaidah integrity membutuhkan operasi-operasi insert, update, dan delete untuk memelihara keunikan dan keberadaanya dari seluruh primary key. Aturan dari referential integrity adalah jika relational table memiliki foreign key, maka nilai foreign key tersebut juga harus tidak kosong (not null) atau harus cocok dengan primary key yang ada di entitasnya.