• Tidak ada hasil yang ditemukan

Basis Data (Database) Entity-Relationship Model (ERM)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Basis Data (Database) Entity-Relationship Model (ERM)"

Copied!
54
0
0

Teks penuh

(1)

Basis Data (Database)

Entity-Relationship Model (ERM)

(2)

• 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.

(3)

• 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).

(4)

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).

(5)

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.

(6)

Notasi Kardinalitas

berdasarkan Crows foot:

1 1 atau lebih 0,1 atau lebih

(7)

Notasi Kardinalitas

lainnya

Satu

1

Satu atau lebih (many)

M

(8)

Lambang Notasi ERD

• Entitas (Entity)

• Relasi (Relationship) • Atribut (Attribute)

• Gartis Penghubung (Link links)

Entitas

Relasi

Atribut

(9)

Entitas (Entities)

• Entity adalah sebutan lain dari record

• Entities atau set entity adalah sebutan lain

(10)

Tipe Entitas

• Aturan (Roles)

• Kejadian (Events) • Lokasi (Locations)

• Sesuatu yang nyata (tangible things) • Konsep (Concepts)

(11)

Contoh Entitas

• Pegawai • Aturan penggajian • Buku • Nyayian • Teori matematika • Uang kuliah • Mata kuliah • Dan sebagainya.

(12)

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).

(13)

Entity occurance (disebut juga dengan instance) adalah kejadian individual dari sebuah entitas. Kejadian tersebut dianalogikan sebagai sebuah baris didalam tabel relasional.

(14)

Setiap entitas (kecuali entitas lemah) harus memiliki kunci atribut (entity`s primary key).

Entitas lemah adalah entitas yang keberadaanya tergantung dari entitias lain.

(15)

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)

(16)

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.

(17)

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:

(18)

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:

(19)

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

(20)

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.

(21)

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

(22)

Atribut di Model ER

• Multi-valued(Bernilai banyak) • Composite (Bernilai banyak) • Derived (Perolehan)

(23)

Multi-valued

(Bernilai banyak)

Digambarkan dengan elips bergaris ganda (double-line ellips)

HOBI Atribut Multivalue

(24)

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

(25)

Derived

(Perolehan)

derived adalah atribut yang nilainya tergantung pada atribut lain. Digambarkan dengan garis

terputus-putus membentuk elips(dashed ellipses).

IPK Atribut Derived

(26)

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

(27)

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

(28)

Generalization

ISA ORANG

NAMA ALAMAT *NO_KTP

MAHASISWA DOSEN STAF

(29)

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.

(30)

Aggregation Relationship

MAHASISWA NAMA AMBIL MT_KULIAH NM_MK *KD_MK SKS IKUT PRAKTIKUM NM_PRAK *SKS_PRAK *KD_PRAK *NPM

(31)

Degree 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.

(32)

Sebuah entitas berelasi dengan

dirinya sendiri

Sebagai contoh, “Pemain sepak bola memilih rekannya sendiri menjadi kapten kesebelasan”.

PEMAIN KAPTEN PILIH M

(33)

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.

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

Contoh Penggambaran Diagram ER (7)

Untuk entitas RAK, atribut-atributnya adalah:

a) KD_RAK (kode rak, sebagai kunci primernya) b) NOMOR_RAK

(41)

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

(42)

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

(43)

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.

(44)

Contoh ERD versi Martin

DeptID Departemen ProjectID Project Manages

Entity Name Relationship Name

one many

Entity Mandatory existance

Relationship

Optional existance

Attribute Name

(45)

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).

(46)

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.

(47)

E-R diagram dengan role indicators

EMPLOYEE WORKS-FOR

Manager

Worket Employee-name Phone-number

(48)

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

(49)

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

(50)

Software Penggambar ER Diagram

• ConceptDraw • Dia • Kivio • PowerDesigner • Microsoft Visio

• AllFusion Erwin Data Modeler • ER/Studio

(51)

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

(52)

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.

(53)

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

(54)

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.

Referensi

Dokumen terkait

Simbol o (overlap) menyatakan bahwa sebuah entity dapat menjadi anggota lebih dari satu subclass. Total : setiap entity pada superclass menjadi

Query adalah fasilitas standart yang diberikan oleh setiap aplikasi database, yang digunakan untuk menampilkan data-data tertentu dari satu atau beberapa tabel untuk keperluan

BANK STRUKTUR SISTEM KPR BANK ENTITAS, ATRIBUT, TIPE DATA (DOMAIN) ENTITAS, ATRIBUT, TIPE DATA (DOMAIN) RANCANGAN KONSEPTUA L (ERD) RANCANGAN KONSEPTUA L (ERD) RANCANGAN

Setiap entitas pada himpunan entitas A dapat berelasi dengan paling banyak 1 (satu) entitas pada himpunan entitas B, demikian juga sebaliknya.. Contoh pria

Gerund (yang kadang-kadang disebut entitas komposisi) adalah suatu relationship banyak-ke-banyak yang menjadi entitas dengan relationship (yang memiliki

Kekangan Kardinalitas Jenis hubungan antartipe entitas seringkali dinyatakan tidak sekedar dalam bentuk berupa One to One, One to Many, Many to One, dan Many to Many, melainkan

Sebuah teknik pemodelan data yang m gambar entitas dan relasi-relasi antar_. ERD merupakan notasi grafis dalam Konseptual yang mendeskripsikan hu Konseptual yang

12 HASIL  Relasi dengan derajat relasi 1-N satu ke banyak yang menghubungkan 2 buah entitas, juga akan direpresentasikan dalam bentuk pencantuman atribut key dari himpunan entitas