SISTEM BASIS DATA 1 Imam Asrowardi, S.Kom.
POLITEKNIK NEGERI LAMPUNG 2007
Chapter
2
ER Model (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, MN) 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 subgroupnya. 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 bottomup 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/