Konseptual Data Model
(ER Model)
Presented at the 4th Meeting Database, ST3 Telkom Purwokerto, 30 September 2015
Tujuan
Tujuan:
1. Memahami konsep dasar ER Model.
2. Mengenal notasi ER Diagram.
3. Memahami Entity, Attribute, Entity Set dan
Key (Primary Key dan Foreign Key)
4. Memahami relasi dan himpunan relasi.
5. Memahami rasio kardinalitas (1-1,1-N,M-N)
6. Memahami Participation Constraint (total &
1.
ER Data Model
2.
Jenis atribut dan Notasi ER Diagram
3.
Relasi dan Rasio Kardinalitas
Fase dalam Desain Database:
Miniworld REQUIREMENTS COLLECTION & ANALYSIS CONCEPTUAL DESIGN LOGICAL DESIGN (DATA MODEL MAPPING)PHYSICAL DESIGN (DATA MODEL MAPPING) FUNCTIONAL ANALYSIS
APPLICATION PROGRAM DESIGN
TRANSACTION IMPLEMENTATION
Functional Requirements Data Requirements
Conceptual Schema (In a high-level data model)
Logical (Conceptual) Schema (In the data model of a specific DBMS)
Internal Schema Application Programs
High-level Transaction Specification DBMS-independent
ER Data Model
Pemodelan sistem database dapat dilakukan melalui pendekatan
perancangan secara konsepsual yaitu Entity Relationship Diagram
(ERD atau ER Diagram).
Entity relationship Adalah jaringan yang menggunakan susunan data yang disimpan dari sistem secara abstrak.
Entity-relationship dari model terdiri dari unsur-unsur entity dan
relationship antara entity-entitiy tersebut.
ER Diagram menggambarkan tipe objek mengenai data itu di
manajemen, serta relasi antara objek tersebut.
ER Diagram digunakan oleh seorang System Analyst dalam
merancang database.
ER Model dibuat berdasarkan persepsi atau pengamatan dunia nyata
yang terdiri atas entitas dan relasi antar entitas-entitas tersebut.
Sebuah database dapat dimodelkan sebagai:
◦ Kumpulan Entity/Entitas,
ER Data Model
Entitas
adalah suatu kumpulan object atau sesuatu
yang dapat dibedakan atau dapat diidentifikasikan
secara unik. Dan kumpulan entitas yang sejenis disebut
dengan entity set.
Relationship
yaitu hubungan yang terjadi antara satu
entitas atau lebih.
Atribut
, kumpulan elemen data yang membentuk suatu
entitas.
Entitas ada yang bersifat
konkrit
, seperti: orang
(pegawai, mahasiswa, dosen, dll), buku, perusahaan;
dan ada yang bersifat
abstrak
, seperti: kejadian, mata
kuliah, pekerjaan, status dan sebagainya.
Setiap
entitas
memiliki
atribut
sebagai keterangan dari
entitas, misal. entitas mahasiswa, yang memiliki atribut:
nrp, nama dan alamat.
ENTITY SET TERBAGI ATAS :
1. Strong entity set yaitu entity set yang satu atau lebih atributnya
digunakan oleh entity set lain sebagai key. Digambarkan dengan
empat persegi panjang.
Misal :
E adalah sebuah entity set dengan atribute-atribute a1, a2,..,an,
maka entity set tersebut direpresentasikan dalam bentuk tabel
E yang terdiri dari n kolom, dimana setiap kolom berkaitan
dengan atribute-atributenya.
2. Weak Entity set, Entity set yang bergantung terhadap strong
entity set. Digambarkan dengan empat persegi panjang
bertumpuk.
Misal :
A adalah weak entity set dari atribute-atribute a1, a2, .., ar dan
B adalah strong entity set dengan atribute-atribute b1, b2,..,bs,
dimana b1 adalah atribute primary key, maka weak entity set
direpresentasikan berupa table A, dengan atribute-atribute {b1}
u {a1,a2,.., ar}
ER Data Model
Setiap atribut pada entitas memiliki
kunci
atribut
(
key atribut
) yang bersifat
unik
.
Beberapa atribut juga dapat ditetapkan
sebagai
calon
kunci
(
candidate key
).
Misal.
–
Entitas
Mahasiswa
dengan atribut
NRP
sebagai key
atribut
–
Entitas
Dosen
dengan
NIP
sebagai key atribut, dan
sebagainya.
NOPEG
PEGAWAI MILIK TANGGUNGAN
…….. NAMA ……..
Contoh Weak Entity
NOPEG
NAMA
200107340
200307569
200107341
200107486
BILLY
FUAD
NINING
FINTRI
NOPEG
TANGGUNGAN TANGGALLAHIR JENIS KELAMIN
200107340
200307569
200107341
200107486
HAFIDZ
RENI
RAFFA
NAIA
22-03-2006
13-05-1999
21-06-2006
25-10-2006
LAKI-LAKI
PEREMPUAN
LAKI-LAKI
PEREMPUAN
Contoh : Strong entity set
1.
ER Data Model
2.
Jenis atribut dan Notasi ER Diagram
3.
Relasi dan Rasio Kardinalitas
Jenis Atribut dan Notasi ER Diagram
Ada beberapa notasi yang digunakan untuk
membuat ER Diagram. Misal. notasi Chen, Martin,
El Masri
dan
Korth
, akan tetapi pada umumnya
adalah sama.
Perbedaannya adalah pada pemilihan
simbol-simbol yang digunakan.
Pada materi ini, digunakan notasi
El Masri
karena
lebih umum banyak digunakan dan mudah dibaca
dan dimengerti.
ER Data Model
•
Entitas Lemah (Weak Entity)
adalah entitas yang
keberadaannya sangat bergantung dengan entitas lain.
- Tidak memiliki
Key Attribute
sendiri.
- Entitas tempat bergantung disebut
Identifying
Owner/Owner.
- Entitas lemah tidak memiliki identifier-nya sendiri.
- Atribut entitas lemah berperan sebagai
Partial Identifier
(identifier yang berfungsi secara sebagian).
Contoh:
Pendamping Karyawan Memiliki Pendamping
JENIS –JENIS ATRIBUT
a.
KEY
atribut yang digunakan untuk menentukan suatu
entity secara unik
b.
ATRIBUT SIMPLE
atribut yang bernilai tunggal.
Merupakan
atribut yang
tidak dapat dibagi-bagi lagi
menjadi
atribut yang lebih mendasar.
c.
ATRIBUT MULTI VALUE
atribut yang memiliki
sekelompok nilai untuk setiap instan entity. Merupakan atribut
yang terdiri dari beberapa atribut yang lebih mendasar/lebih
kecil lagi.
Contoh:
- Atribut ALAMAT, terdiri atas atribut JALAN, KOTA,
KODE_POS.
- Atribut NAME, terdiri atas atribut FNAME,MNAME dan
LNAME pada suatu entitas (EMPLOYEE).
JENIS –JENIS ATRIBUT
Contoh:
- Atribut ALAMAT, terdiri atas atribut JALAN, KOTA,
KODE_POS.
- Atribut NAME, terdiri atas atribut FNAME,MNAME dan
LNAME pada suatu entitas (EMPLOYEE).
Pada gambar dibawah ini, yang menjadi atribut key adalah NIP.
Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar
merupakan contoh atribut multivalue.
TGL
LAHIR GELAR NIP NAMA
NAMA DEPAN NAMA TENGAH NAMA BLKNG NAMA PEGAWAI
d. ATRIBUT COMPOSIT Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu. contohnya adalah atribut nama pegawai yang terdiri dari nama depan, nama tengah dan nama belakang.
e. ATRIBUT DERIVATIF Suatu atribut yg dihasilkan dari atribut yang lain.
Sehingga umur yang merupakan hasil kalkulasi antara Tgl Lahir dan tanggal hari ini. Sehingga keberadaan atribut umur bergantung pada keberadaan atribut Tgl Lahir.
TGL
LAHIR UMUR
ER Data Model
•
Derived Attribute:
adalah atribut yang nilainya dapat diisi atau
diturunkan dari perhitungan atau algoritma tertentu.
Contoh:
- Atribut UMUR, dapat dihitung dari atribut TGL_LAHIR
- Atribut LAMA_KULIAH, dapat dihitung dari NRP yang
merupakan kombinasi antara digit tahun dan digit yang lain
(26
96
100…).
- Atribut INDEX_PRESTASI, dapat dihitung dari NILAI yang
diperoleh MAHASISWA.
Mahasiswa NRP Nama Alamat No_Telp Lama_Kuliah Mahasiswa NRP Nama Hobby Mata Kuliah NO_MK Nama_MK Prasyarat1.
ER Data Model
2.
Jenis atribut dan Notasi ER Diagram
3.
Relasi dan Rasio Kardinalitas
Cardinality Ratio Constraint
Menjelaskan batasan jumlah keterhubungan satu
entity dengan entity lainnya.
Jenis Cardinality Ratio
•
1 : 1 (One-To-One)
Sebuah entity A diasosiasikan pada sebuah entity
B, dan sebuah entity B diasosiasikan dengan paling
banyak sebuah entity A.
a1 a4 a3 a2 b1 b4 b3 b2 A B
•
1 : N (One-To-Many)
Sebuah entity A diasosiasikan dengan sejumlah
entity B, tetapi entity B dapat diasosiasikan
paling banyak satu entity A.
PEGAWAI MEMILIKI KENDARAAN
a1 a2 b1 b4 b3 b2 A B b5 a3
•
N : 1 (Many-To-One)
•
Suatu entity A dapat diasosiasikan dengan
paling banyak sebuah entity B, tetapi entity B
dapat diasosiasikan dengan sejumlah entity di
A.
a1 a3 b1 a4 b2 a2 A B b3 a5•
M : N (Many-To-Many)
•
Suatu entity A dapat diasosiasikan dengan
sejumlah entity B dan entity B dapat
diasosiasikan dengan sejumlah entity di A.
a1 a4 a3 a2 b1 b4 b3 b2 A B
Relasi dan Rasio Kardinalitas
• Relasi adalah hubungan antar entitas.
• Relasi dapat memiliki atribut, dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu.
Penjelasan:
• Bentuk ER diatas antara Mahasiswa Mengambil Mata_Kuliah,
tentunya ada Nilai yang dihasilkan.
• Dimana atribut nilai ditempatkan
?
Mahasiswa NRP Nama Hobby Mata_Kuliah No_MK Nama_MK Prasyarat Mengambil Nilai SKS
Relasi dan Rasio Kardinalitas
Mahasiswa NRP Nama Hobby Mata_Kuliah No_MK Nama_MK Prasyarat Mengambil Nilai SKSPenjelasan:
• Jika atribut
Nilai
ditempatkan pada entitas
Mahasiswa
(dimana
Nilai
merupakan salah satu atribut dari entitas
Mahasiswa
), maka
semua mata kuliah yang diambil oleh seorang mahasiswa
menghasilkan nilai yang sama (
tidak realistis
).
• Jika atribut
Nilai
ditempatkan pada entitas
Mata_Kuliah
(dimana
Nilai
merupakan salah satu atribut dari entitas
Mata_Kuliah
), maka
semua mahasiswa yang mengambil mata kuliah tertentu akan
memiliki nilai yang sama (
tidak realistis
).
• Attribut
Nilai
harus ditempatkan pada relasi
Mengambil
, yang
berarti seorang mahasiswa tertentu yang mengambil mata kuliah
tertentu, akan mendapatkan nilai tertentu pula.
DERAJAT RELATIONSHIP
menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship
1. UNARY DEGREE
2. BINARY DEGREE
3. TERNARY DEGREE
PEGAWAI LAPOR
PEGAWAI KERJA DEPARTEMEN
PEGAWAI KERJA PROYEK
KOTA
Relasi dan Rasio Kardinalitas
Unary Relationship (Relasi Berderajad 1)
•
adalah relasi dimana entitas yang terlibat hanya 1.
•
Sering disebut relasi rekursif (recursive relationship).
Contoh:
Karyawan Menikah 1 1 Karyawan Memimpin 1 N Karyawan Berteman_ Dengan N NRelasi dan Rasio Kardinalitas
Binary Relationship (Relasi Berderajad 2)
•
Atau relasi
Biner
adalah relasi yang melibatkan 2
entitas.
Contoh:
Pria
1 Menikah 1Wanita
Fakultas
1 Mengatur NJurusan
Relasi dan Rasio Kardinalitas
Ternary Relationship (Relasi Berderajad 3)
•
adalah relasi tunggal yang menghubungkan 3 entitas
yang berbeda.
Contoh:
Supplier
M Menyediakan NGudang
Komponen
N
1.
ER Data Model
2.
Jenis atribut dan Notasi ER Diagram
3.
Relasi dan Rasio Kardinalitas
Participation Constraint Dependencies
Participation Constraint Dependency
•
Menunjukkan apakah
keberadaan
suatu
entitas
bergantung
penuh
/
tidak
dengan entitas relasinya.
•
Batasan (constraint) adalah jumlah
minimum
relasi dimana tiap
entitas dapat ikut berpatisipasi.
•
Ada
2 jenis
Participation
Constraint
:
1. Partisipasi
Total ( )
adalah bentuk partisipasi yang menunjukkan ketergantungan
penuh
suatu entitas (
semua dan harus
).
2. Partisipasi
Parsial ( )
adalah bentuk partisipasi yang menujukkan ketergantuan
Participation Constraint Dependencies
Rasio Kardinalitas Participation Constraint
1 : 1 : One-to-One
N : 1 : Many-to-One
M : N : Many-to-Many
PEGAWAI 1 MANAGE 1 DEPARTEMEN
PEGAWAI N BEKERJA_ PADA 1 DEPARTEMEN
p1 p2 p3 p4 r1 r2 r3 d1 d2 d3 PEGAWAI MANAGE DEPARTEMEN
p1 p2 p3 p4 r1 r2 r3 r4 d1 d2 d3
PEGAWAI BEKERJA_PADA DEPARTEMEN
p1 p2 p3 p4 r1 r2 r3 r4 d1 d2 d3
PEGAWAI BEKERJA_DI PROJECT
ERD SI RAWAT INAP
Operator biaya_pelayanan pasien_masuk pasien_ keluar Rincian_ Biaya Mencatat Memasukkan Mendapatkan Membayar username * password kd_pelayanan * nm_pelayanan biaya ket kode * no_register ** tgl_keluar lama_inap tot_biaya kode * kd_pelayanan ** layanan biaya no_register * nama tgl_lahir umur sex status alamat kota no_telp pekerjaan nama_ortu penjamin tgl_masuk diagnosa ket 1 ~ 1 ~ ~ 1 ~ ~ERD SI PENJUALAN HANDPON
stok_barang barang reseller rekening kode_reseller ** tgl_penjualan nama_pembeli kode_penjualan * tot_hrg_jual tot_hrg_beli total_jumlah keterangan nama_stok jumlah kode_stok * keterangan kode_barang * kode_stok ** nama_barang harga_beli nama_reseller kode_reseller * alamat telpon deposit kode_reseller * tanggal kredit keterangan jual menambah_ deposit menentukan 1 M M M M 1 harga_jual harga_reseller kategori debet saldo pembelian membeli kode_pembelian * tgl_pembelian kode_stok** jumlah harga 1 1 pembatalan kode_pembatalan * Tgl_pembatalan kode_penjualan** kode_barang** kode_pembatalan** no_telpon membatalkan 1 M jumlah kode_penambahan* tgl_penambahan kode_reseller** jumlahERD SI AKADEMIK
I I M I I I I M M I I M Mahasiswa Mata Kuliah Dosen Nilai Jurusan KRS Memilih Menperoleh Mengajar Mempunyai NPM* Nama Tpt_lahir Tgl_lahir Alamat Telepon Kota Tgl_lahir Angkatan Kd_jur** Sks_sdh_dtp Kd_krs* Npm** Th_akademik Dosen_wali Ips Ipk Semester Kd_mk* Nama_mk Sks No_ruang** No_dosen** Semester Alamat Kota Nama No_dosen Th_angkatan Nilai_huruf Kode_mk** Npm** Nilai_angka Semester Kd_jurusan* Nama_jurusan Telepon Ruang Menentukan Kode_ruang Nama_ruang KapasitasERD SI PUSKESMAS
User Password ~ 1 Askes Jenis_kelamin Umur Nama_pasien Alamat Biaya klinik umum Biaya_keperluan Keperluan** Biaya_administrasi 1 ~ ~ Username Menginput data pasien Tgl_berkunjung No_askes No_index* Nama_KK Pilihan_klinik Keperluan ** Jamkesmas Jenis_kelamin Umur Nama_pasien Alamat Tgl_berkunjung No_jamkesmas No_index* Nama_KK Pilihan_klinik Keperluan ** Umum Jenis_kelamin Umur Nama_pasien Alamat Tgl_berkunjung Keterangan No_index* Pilihan_klinik Keperluan ** Update data ~ Biaya klinik gigi Biaya_keperluan Keperluan** Biaya_administrasi ~ Biaya klinik KIA Biaya_keperluan Keperluan** Biaya_administrasi Biaya klinik sanitasi Biaya_keperluan Keperluan** Biaya_administrasi ~ ~ Biaya Keperluan Biaya Administrasi Total Bayar Ket Bayar JumlahLatihan A
Buat rancangan ER Diagram untuk sistem database Perpustakaan Kampus
dengan deskripsi sebagai berikut:
1. Sistem database perpustakaan kampus yang melibatkan anggota perpustakaan, koleksi buku, dan pegawai perpustakaan.
2. Dalam sistem, digambarkan anggota dapat meminjam buku, sedang pegawai melayani anggota dan menajemen buku-buku perpustakaan. 3. Seorang anggota dapat meminjam buku lebih dari 1, begiu juga
sebaliknya.
4. Seorang pegawai melayani semua anggota perpustakaan, tapi tidak sebaliknya.
5. Dan seorang pegawai juga harus memanajemen semua koleksi buku perpustakaan.
6. Setiap anggota yang datang ke perpustakaan belum tentu datang untuk meminjam buku (mungkin karena hal lain: pingin baca, buku tidak
ada/masih dipinjam, dll), begitu juga sebaliknya.
7. Seorang pegawai perpustakaan, harus melayani anggota (spt: resigtrasi, pelayanan, dll), begitu juga sebaliknya.
8. Dan pegawai juga harus memanajemen koleksi buku perpustakaan, begitu juga sebaliknya.
Latihan A
9. Pada anggota, yang harus dicatat yaitu id anggota, nama, status (dosen, mahasiswa), id status (NIP, NIM), alamat, no telepon. 10. Pada buku yang harus dicatat adalah id buku, judul, pengarang,
penerbit
11. Pada pegawai, yang harus dicatat adalah id pegawai, nama, alamat, no telepon.
12. Setiap terjadi peminjaman buku, harus dicatat tanggal meminjam, tanggal kembali dan jumlah buku yang dipinjam.
13. Setiap pegawai memanajemen buku, tercatat tanggal buku saat pertama kali di-entry.
14. Dan pegawai juga harus mencatat tanggal registrasi anggota
perpustakaan saat melayani anggota / pengunjung (calon anggota).
Soal:
Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula relasi kardinalitas beserta Key
Latihan B
Sebuah perusahaan jasa sewa mobil “CV. Sewo Car”, memiliki spesifikasi
database sebagai berikut:
• Sebuah rental mobil yang disewakan kepada pelanggan.
• Tiap pelanggan dapat menyewa labih dari satu mobil dalam sekali
transaksi, akan tetapi tidak sebaliknya dan sewaktu-waktu mobil juga tidak dapat disewakan karena kemungkinan keterbatasan kendaraan.
• Setiap kali transaksi, terjadi sebuah perjanjian kontrak antara kedua
belah pihak dengan adanya catatan kode kontrak, batas tanggal sewa, jumlah mobil yang disewa, dan harga total.
• Pada pelanggan yang harus dicatat adalah nomor pelanggan, nama,
alamat, no telepon (rumah, HP, kantor, dll), no KTP.
• Pada mobil yang harus dicatat adalah Id mobil, no plat mobil, tahun
pembuatan, merk (Toyota, Honda, Daihatsu, Suzuki, Nissan, dll), jenis (Kijang, Innova, Altis, Vios, Xenia, Katana, dll), tipe (LX, LGX, V-VTI, dll), jumlah penumpang, jumlah armada, bahan bakar dan harga sewa.
Soal:
Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula relasi kardinalitas beserta batasan partisipasi total/parsialnya.