SISTEM BASIS DATA 1
Imam Asrowardi, S.Kom.
POLITEKNIK NEGERI LAMPUNG 2007
Chapter 2
ER Model ER Model
(Entitiy Relatioanship)
(Entitiy Relatioanship)
OBJECTIVES
Tujuan
❡ Memahami konsep dasar ER Model
❡ Memahami Entity, Attribute, Entity Set dan Key (Primari Key (PK), Foreign
Key(FK)
❡ Memahami Relasi dan Himpunan Relasi
❡ Memahami Rasio Kardinalitas (1-1, 1-N, M- N) dan Participation Constraint (total &
partial)
❡ Mengenal Notasi ER Diagram
LESSONS
1. ER Data Model
2. Jenis Atribut dan Notasi Diagram 3. Relasi dan Rasio Kardinalitas
ER Data Model
❡ Pemodelan sistem dengan ER Data Model (ER Diagram) digunakan
dalam pembangunan Basisdata (database)
❡ Basisdata adalah kumpulan file
atau data yang saling berhubungan
❡ ER Diagram menggambarkan tipe objek mengenai data itu di
manajemen, serta relasi antar objek tersebut.
ER Data Model
❡ ER Diagram digunakan oleh system analyst dalam merancang database
❡ ER Diagram dibuat berdasarkan persepsi atau pengamatan dunia nyata yang terdiri atas entitas dan relasi antara entitas-entitas
tersebut.
❡ Sebuah database dapat dimodelkan sebagai kumpulan entiti dan relasi antara entitas
ER Data Model
❡ Entitas adalah sebuah obyek yang exist dan dapat dibedakan dengan obyek yang lain.
❡ Entitas dapat bersifat kongkrit, seperti orang, buku, pegawai, perusahaan; dan yang bersifat
abstrak seperti kejadian, pekerjaan, matakuliah dll.
ER Data Model
❡ Setiap entitas memiliki atribut sebagai keterangan dari entitas.
misalnya :
Entitas mahasiswa yang memiliki atribut NPM, Nama, Alamat
ER Data Model
❡ Setiap atribut dalam entitas
memiliki kunci atribut (key atribut) yang bersifat unik.
Misalnya :
- Entitas Mahasiswa dengan atribut NRP sebagai key atribut
- Entitas Pegawai dengan atribut NIP sebagai key atributnya.
ER Data Model
❡ Beberapa entitas kemungkinan
tidak memiliki atribut kunci sendiri, entitas demikian disebut entitas
lemah (Weak Entity).
LESSONS
1. ER Data Model
2. Jenis Atribut dan Notasi Diagram 3. Relasi dan Rasio Kardinalitas
Jenis Atribut dan Notasi Diagram
❡ Ada beberapa notasi yang digunakan untuk membuat ER Diagram. Misalnya Notasi Chen, Martin, El Masri dan Korth, pada umumnya adalah sama.
❡ Perbedaanya adalah pada pemilihan simbol-simbol yang digunakan
❡ Pada materi ini digunakan notasi El Masri lebih umum banyak digunakan dan
mudah dibaca dan dimengerti.
ER Data Model
ER Data Model
❡ Entitas Lemah (weak entity) adalah entitas yang keberadaanya sangat tergantung dengan entitas lain.
- Tidak memiliki Key Attribute sendiri.
- Entitas tempat bergantung disebut Identifying Owner.
- Entitas lemah tidak memiliki identifiernya sendiri.
- Atribut entitas lemah berperan sebagai partial Identifier (identifier yang berfungsi secara
sebagian)
ER Data Model
ER Data Model
Jenis-jenis attribut :
❡ Simple/Atomic Attribute : adalah
atribut yang tidak dapat dibagi lagi menjadi atribut yang labih
mendasar.
❡ Composite Attribute : atribut yang terdiri dari beberapa atribut yang lebih mendasar.
ER Data Model
❡ Contoh :
- Atribut alamat terdiri dari atribut jalan, kota, kodepos
- Atribut name terdiri dari atribut FName, MName dan LName pada suatu
entitas(employee)
ER Data Model
❡ Single-Valued Attribute : atribut yang hanya memiliki satu
harga/nilai.
Contoh :
- Atribut umur pada entitas pegawai
- Atribut location pada entitas departement
ER Data Model
❡ Multi-Valued Attribute : atribut yang hanya memiliki isi lebih dari satu
harga/nilai.
Contoh :
- Atribut pendidikan tinggi pada entitas pegawai dapat berisi lebih dari satu nilai : SMP, SMU, Perguruan Tinggi dll.
- Atribut Hoby pada entitas Mahasiswa, dapat memiliki lebih dari satu nilai : sepabola, membaca, menulis dll.
ER Data Model
- Atribut prasyarat pada entitas
Mata_kuliah dapa memiliki lebih dari satu nilai : matakuliah SBD1 untuk prasyarat matakuliah SBD2
ER Data Model
❡ Null-Values Attribute : atribut dari entitas yang tidak memiliki nilai.
❡ Contoh :
- Atribut pendidikan tinggi untuk tamatan SMP
ER Data Model
❡ Derived Attribute : atribut yang
nilainya dapat diisi atau diturunkan dari perhitungan atau algoritma
tertentu.
❡ Contoh :
- Atribut umur dapat dihitung dari atribut tanggal lahir
- Atribut lama kuliah dapat dihitung dari NIP yang merupakan kombinasi antara digit tahun dan digit lainnya (2698100)
ER Data Model
LESSONS
1. ER Data Model
2. Jenis Atribut dan Notasi Diagram 3. Relasi dan Rasio Kardinalitas
Relasi dan Rasio Kardinalitas
❡ Relasi adalah hubungan antar entitas
❡ Relasi dapat memiliki atribut,
dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu.
Relasi dan Rasio Kardinalitas
Relasi dan Rasio Kardinalitas
Derajat Relasi
❡ Derajat Relasi adalah jumlah entitas yang berpartisipasi dalam suatu
relasi.
❡ Derajat Relasi dapat berupa :
● Unary Relationship(relasi berderajat 1)
● Binary Relationship(relasi berderajat 2)
● Ternary Relationship(relasi berderajat 3)
Relasi dan Rasio Kardinalitas
❡ Unary Relationship adalah relasi
dimana entitas yang terlibat hanya 1.
❡ Sering disebut dengan relasi rekursif (recursive relationship)
Relasi dan Rasio Kardinalitas
Relasi dan Rasio Kardinalitas
Relasi dan Rasio Kardinalitas
Relasi dan Rasio Kardinalitas
Representasi Atribut Sebagai
Kolom (
Atribut Simple, Single, dan Derivied)❡ Pada atribut bertipe simple , single
dan derived direpresentasikan sama persis seperti diagram ER.
❡ Atribut Komposit akan dipecah dengan membuat atribut terpisah untuk masing masing komponennya.
Contoh atribut nama pada tabel mahasiwa, di pecah menjadi 2 kolom yaitu nama depan dan nama
belakang.
❡ Atribut multivalued mengharuskan untuk di pecah menjadi 2 Tabel. Atribut multivalued M dari entitas E direpesentasikan oleh tabel terpisah EM
Representasi Himpunan Entitas Sebagai Tabel
❡ Himpunan entitas kuat di
representasikan kedalam tabel dengan kolom sama persis
dengan atributyang sudah di definisikan di diagram ER
Himpunan Entitas Lemah
❡ Himpunan entitas lemah akan menjadi tabel tersendiri yang didalamnya ada kolom primary key yang merupakan identifikasi dari himpunan entitas kuat.
Representasi Relasi (pada kardinalitas N to N)
❡ Himpunan Banyak ke Banyak
❡ Relasi dari Himpunan Banyak ke
Banyak direpresentasikan kedalam Tabel tersendiri dengan primary
key dari 2 Entitas
menjadi atribut di Tabel Relasi.
Perhatikan relasi banyak ke banyak
Spesialisasi
❡ proses desain top-down dengan
mendesain subgrouping didalam didalam himpunan entitas yang berbeda dari
himpunan entitas.
❡ Tujuan dari spesialisasi adalah memberikan gambaran konseptual tentang perbedaan karakteristik dari himpunan entitas yang hampir serupa dengan konsep
sub grouping / pengelompokan.
Spesialisasi
❡ Subgrouping di atas menjadi
himpunan entias yang levelnya lebih rendah dan memiliki atribut tersendiri yang tidak dimiliki pada level di
atasnya.
❡ Atribut ini khas dan merupakan pembeda dari entitas
di subgroup yang lain.
Spesialisasi
❡ IS A dinotasikan dengan gambar segitiga berlabel IS A.
❡ Sifat
dari spesialisasi adalah inheritan atribut yaitu atribut pada level tinggi secara otomatis akan di turunkan
pada level di bawahnya.
❡ Contoh menggambarkan bahwa entitas pegawai mempunyai 2 subgroup yaitu pegawai tetap dan pegawai honorer.
❡ Kedua entitas pegawai tetap dan pegawai honorer sama sama mempunyai atribut turunan yaitu nama dan id_pegawai dari entitas pegawai.
❡ Perbedaan dari pegawai tetap dan pegawai honorer terdapat di atribut yang melekat pada subgroup-
nya.
❡ Atribut besar tunjangan dan gaji perbulan hanya terdapat di himpunan entitas pegawai tetap,
sedangkan atribut upah per jam dan jumlah jam
kerja terdapat di himpunan entitas pegawai honorer.
Generalisasi
❡ Generalisasi merupakan proses desain bottom- up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama sama.
❡ Spesialisasi dan generalisasi sama sama
digambarkan dengan notasi IS A, yang membedakan adalah sudut pandangnya saja.
❡ Jika Spesialisasi kita mendefinisikan entitas secara umum kemudian mencari subgroup dari entitas tersebut, tetapi generalisasi memandang
sebaliknya, dari adanya subgroupsubgroup yang berbeda kemudian di cari entitas umum yang mewakili 2 himpunan entitas tersebut.
Agregasi
❡ Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n).
❡ Pada umumnya terbentuk
dari kardinalitas relasi banyak ke banyak. Didalam konsep agregasi terdapat istilah
enkapsulasi relasi dari kedua entitas.
Agregasi
❡ Enkapsulasi di perlukan karena kedua himpunan entitas yang ber-relasi
tersebut merupakan 1 kesatuan yang tidak bisa di pisah.
❡ Notasi agregasi di gambarkan
dengan gambar persegi panjang
yang membungkus himpunan entitas yang saling ber-relasi.
❡ Contoh menunjukkan relasi dosen mengajar sebuah mata kuliah dan mahasiswa mengambil mata kuliah yang diajarkan oleh dosen tertentu.
Agregasi di perlukan dikarenakan
tidak di mungkinkan mahasiwa untuk mengambil mata kuliah tanpa adanya dosen yang bersedia untuk mengajar mata kuliah tersebut.
❡ Dalam kasus di atas menekankan bahwa himpunan entitas dosen harus ber-relasi terlebih dahulu dengan himpunan entitas mata kuliah,
kemudian relasinya di pandang sebagai 1 entitas yang ber-relasi dengan himpunan entitas mahasiwa lewat relasi mengambil. Primary key dari kedua
himpunan entitas dosen dan mata kuliah akan
secara implisit masuk ke relasi mengajar dengan di tambah 2 atribut deskriptif (* semester dan
thn_ajaran). Relasi tersebut di anggap sebagai 1 entitas seperti gambar di bawah ini.
Hubungan Kardinalitas dengan Tabel yang Terbentuk
❡ Kardinalitas relasi dari Himpunan Entitas yang saling ber-relasi akan menentukan banyaknya tabel yang bisa di buat. Adapun aturannya sebagai berikut :
❡ 1 ke 1
Pilih primary key di 1 himpunan entitas untuk menjadi foreign key bagi himpunan entitas yang lain.
❡ 1 ke banyak / banyak ke 1
Primary key pada Tabel berkardinalitas sedikit
menjadi foreign key pada tabel berkardinalitas banyak.
❡ Banyak ke banyak
ref
❡ Raghu Ramakrisnan, Gherke, “Database
Management System”, 3rd Edition, McGraw-Hill, 2001
❡ Ramez Elmasri, Sam Navathe, “Fundamental of database System”, 4th Edition, Addison Wesley Publishing Company, 2000
❡ Abdul Kadir, “ Penuntun Belajar SQL”, ANDI Yogyakarta, 2002
❡ Hengky Alexander Mangkulo, “Tip dan Trik Microsoft Access 2000, 2002 dan 2003, ELEXMEDIA, 2005
❡ Bambang Harianto, “ Sistem Manajemen Basis Data”, Informatika Bandung, 2004
❡ http://informatika.web.id/