BAB II MODEL ENTITY-RELATIONSHIP Model E-R didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objek-objek tersebut. 2.1 Konsep Dasar Terdapat tiga notasi dasar yang bekerja pada model E-R yaitu : entity sets, relationship sets, & attributes. a. Entity Sets Sebuah entiti adalah sebuah benda (thing) atau objek (object) di dunia nyata yang dapat dibedakan dari semua objek lainnya. Entity sets adalah sekumpulan entiti yang mempunyai tipe yang sama. Kesamaan tipe ini dapat dilihat dari atribut/property yang dimiliki oleh setiap entiti. Misal kumpulan orang yang menyimpan uang pada suatu bank dapat didefinisikan sebagai entiti set nasabah. b. Relationship Sets Relationship adalah hubungan diantara beberapa entiti. Misal relasi yang menghubungkan antar Toni dengan rek. 142-099999. Relasi ini menunjukkan bahwa Toni adalah nasabah yang mempunyai nomor rekening 142-099999. Relationship set adalah sekumpulan relasi yang mempunyai tipe yang sama c. Kunci Relasi (Relation Keys) Nilai dari kunci relasi harus mengidentifikasikan sebuah baris yang unik didalam sebuah relasi. Kunci relasi terdiri dari satu atau lebih atribut-atribut relasi. Atributatribut dalam kunci relasi harus memiliki sifat sebagai berikut : - untuk satu nilai hanya mengindentifikasikan satu baris dalam satu relasi - tidak memiliki subset yang juga merupakan kunci relasi - tidak dapat bernilai null
contoh TABEL PERSON berikut : PERSON Person_Id Date_Of_birth Name P1 7 July 49 Joe P2 3 June 61 Mary P3 11 Feb 65 Andrew P4 22 April 64 Joe P5 17 May 66 Jill Person_Id adalah kunci relasi dari relasi PERSON. Dalam relasi tersebut, maksmimal hanya satu baris untuk setiap nilai Person_Id yang diberikan. Sebagai contoh, hanya satu baris dengan Person_Id = P3. Name tidak dapat dijadikan kunci relasi karena dapat lebih dari satu orang yang mempunyai nama yang sama. Relasi Person di atas memiliki kunci yang hanya terdiri dari satu atribut. Sangat dimungkinkan kunci relasi terdiri dari banyak atribut. Contoh relasi Work pada gambar di bawah mempunyai kunci relasi yang terdiri dari dua atribut yaitu : Person_Id & Proj_No Person _Id Proj_No Total_Time_Spent_By_Person_On_Project P1 Proj1 20 P3 Proj1 16 P2 Proj2 35 P2 Proj3 42 P3 Proj2 17 P2 Proj1 83 P4 Proj3 41 Nilai kedua atribut, Person_Id & Proj_No diperlukan untuk menentukan satu baris yang unik. Karena untuk menentukan satu baris yang unik tidak cukup dengan Person_Id saja atau hanya dengan Proj_No.
d. Foreign Key(FK) Term FK juga banyak digunakan dalam perancangan. Sebuah FK adalah sekumpulan atribut dalam suatu relasi (misal A) sedemikian sehingga kumpulan atribut ini bukan kunci relasi A tetapi merupakan kunci dari relasi lain. Kardinalitas Pemetaan Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entity yang dapat dihubungkan ke satu entity lain dengan suatu relationship sets. Kardinalitas pemetaan meliputi : 1. Hubungan satu ke satu (one to one). Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam 2. Hubungan satu ke banyak (one to many) Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A. 3. Hubungan banyak ke satu (many to one) Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A. 4. Hubungan banyak k banyak (many to many). Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu entity dalam B dihubungkan dengan sejumlah entity dalam A. Gambar Kardinalitas Pemetaan :
b 1 b 1 b 4 a 4 b 4 b 5 (1) Satu ke satu (2) Satu ke banyak b 1 b 1 a 4 a 5 a 4 b 4 (3) Banyak ke satu (4) Banyak ke banyak Diagram Entity-Relationship Komponen E-R diagram adalah : - Persegi panjang (rectangles) : merepresentasikan entity sets - Elip (ellipses) : merepresentasikan atribut entity - Wajik(diamonds) : merepresentasikan relationship sets - Lines (garis) : merepresentasikan hubungan atribut ke entity sets & entity sets ke relatioship sets Contoh : Diagram E-R dibawah terdiri dari 2 entity sets, customer & loan, & satu relationship set borrower. Atribut dari customer adalah nama, ktp, jalan, kota. Atribut untuk loan adalah no_pinjaman, jml_pinjaman. Hubungan entity customer ke loan adalah banyak ke banyak.
kota jalan KTP nama no_pinj jum_pinj Customer Borrower Loan Entity Sets Lemah Adalah entity set yang tidak mempunyai primary key. Entity sets yang mempunyai primary key disebut entity sets kuat. Contoh entity lemah : payment-date loan-number amount payment-number payment-amount Loan loan-payment payment Spesialisasi Proses mendesain subgrup di dalam suatu entity disebut dengan specialisasi. Suatu himpunan entity bisa memiliki suatu subgrup yang berbeda diantara entiti-entiti lain dalam himpunan tersebut. Misalnya suatu sub himpunan entity dalam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini. Contoh : himpunan entity account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari : - savings-account - checking-account (lihat gambar dibawah) setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entity set account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, dan checking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entity dibentuk lebih dari
satu proses spesialisasi, maka suatu entity menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambing sama. Generalisasi Disamping proses desain top-down (dari inisial entity ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entiti disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya. Desainer basis data mungkin mengidentifikasi terlebih dulu entity checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entity set checking-account dengan entity set saving-account, yaitu keduanya memiliki beberapa atribut yang sama. Persamaan ini dapat diekspresikan dengan generalisasi. account-number balance account interrest-rate ISA overdraft-amount savings-account checking-account ISA standard gold senior num-checks interest-payment min-balance date-of-birth