konseptual data model (er model) -...
TRANSCRIPT
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 &
partial).
1. ER Data Model
2. Jenis atribut dan Notasi ER Diagram
3. Relasi dan Rasio Kardinalitas
4. Participation Constraint Dependencies
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
DBMS - specific
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,
◦ Relationship/Relasi diantara 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 TANGGUNGAN MILIK
…….. NAMA ……..
Contoh Weak Entity
Contoh Strong Entity
NOPEG NAMA
200107340
200307569
200107341
200107486
BILLY
FUAD
NINING
FINTRI
NOPEG
TANGGUNGAN TANGGAL
LAHIR
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
Weak entity set transaction
1. ER Data Model
2. Jenis atribut dan Notasi ER Diagram
3. Relasi dan Rasio Kardinalitas
4. Participation Constraint Dependencies
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
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:
PendampingKaryawan PendampingMemiliki
NIP Nama Nama_Pendamping Tgl_Lahir
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
PEGAWAI
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
PEGAWAI
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 (2696 100…).
- Atribut INDEX_PRESTASI, dapat dihitung dari NILAI yang diperoleh MAHASISWA.
Mahasiswa
NRP Nama
Alamat
No_TelpLama_Kuliah
Mahasiswa
NRP Nama
Hobby
Mata Kuliah
NO_MK Nama_MK
Prasyarat
Multi-Valued Attribute Derived Attribute
1. ER Data Model
2. Jenis atribut dan Notasi ER Diagram
3. Relasi dan Rasio Kardinalitas
4. Participation Constraint Dependencies
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
b5a3
• 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
b3a5
• 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
SKS
Penjelasan:
• 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
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
KaryawanBerteman_
Dengan
N
N
Relasi dan Rasio Kardinalitas Binary Relationship (Relasi Berderajad 2)
• Atau relasi Biner adalah relasi yang melibatkan 2 entitas.
Contoh: Pria Menikah
11Wanita
Fakultas MengaturN1
Jurusan
Ruang_Kuliah MenempatiNM
Mahasiswa
Relasi dan Rasio Kardinalitas Ternary Relationship (Relasi Berderajad 3)
• adalah relasi tunggal yang menghubungkan 3 entitas yang berbeda.
Contoh:
Supplier MenyediakanNM
Gudang
Komponen
N
Harga_Per-Unit Cara_Pengiriman
1. ER Data Model
2. Jenis atribut dan Notasi ER Diagram
3. Relasi dan Rasio Kardinalitas
4. Participation Constraint Dependencies
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 tidak penuh suatu entitas (beberapa, tidak harus semua)
Participation Constraint Dependencies Rasio Kardinalitas Participation Constraint
1 : 1 : One-to-One
N : 1 : Many-to-One
M : N : Many-to-Many
PEGAWAI DEPARTEMENMANAGE1 1
PEGAWAI DEPARTEMENBEKERJA_
PADA
N 1
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
PEGAWAI PROJECTBEKERJA_ DIM N
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**
jumlah
ERD 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
Kapasitas
ERD SI PUSKESMAS
UserPassword
~
1
Askes
Jenis_kelamin
UmurNama_pasienAlamat
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
Jumlah
QUESTIONS..?
Latihan 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.