Slide 07 - Digdoyo

Download Report

Transcript Slide 07 - Digdoyo

Entity Relationship Diagram
Basis Data I
Oleh : Suparno
Blog : www.digdoyo.com
Email : [email protected]
Review Model Data
Jenis model data :
a. Model data berbasis objek
1. Entity Relationship Model
2. Semantic Model
b. Model data berbasis record
1. Relational Model
2. Hirarchycal Model (Tree Structure)
3. Netword Model (Plex Structure)
c. Model data berbasis fisik
1. Unifying Model
2. Frame Memory
Entity Relationship Model
Merupakan model untuk menjelaskan
hubungan antar data dalam basis data
berdasarkan persepsi bahwa real world (dunia
nyata) terdiri dari objek-objek dasar (entitas)
yang mempunyai hubungan (relasi) antara
objek tersebut.
Jadi Entitas adalah objek dalam dunia nyata
yang dapat dibedakan dari objek lainnya,
misalnya mahasiswa, pelanggan, pasien dsb.
Entity Relationship Diagram
• Merupakan notasi grafis dalam pemodelan
data konseptual yang mendeskripsikan
hubungan antar penyimpanan.
• ERD digunakan untuk memodelkan struktur
data dan hubungan antar data (tahap
analisis perancangan basis data), karena hal
ini relatif kompleks.
• Dengan ERD maka dapat menguji model
dengan mengabaikan proses yang harus
dilakukan.
Entity Relationship Diagram
Dengan bantuan ERD dapat menentukan :
• Data apa yang diperlukan ?
• Bagaimana data yang satu berhubungan
dengan yang lain ?
Notasi ERD
• Entiti : adalah suatu objek yang dapat
diidentifikasi dalam lingkungan pemakai,
sesuatu yang penting bagi pemakai dalam
konteks sistem yang akan dibuat.
Notasi Entiti digambarkan dalam bentuk
persegi panjang dan diberi label yang
menunjukan entitasnya.
PELANGGAN
Notasi ERD
• Atribut : Merupakan elemen dari Entiti yang
berfungsi untuk mendeskripsikan karakter
entiti, satu Entiti bisa memiliki lebih dari satu
atribut.
Misalnya entiti Pelanggan memiliki atribut
Nama Pelanggan, Alamat, Telpon.
Notasi Atribut digambarkan dengan bentuk
elips dan diberi label yang menunjukan
nama atribut.
Nama_Plg
Notasi ERD
• Hubungan : menunjukkan adanya
hubungan/relasi diantara sejumlah entitas yang
berasal dari himpunan entitas yang berbeda.
Misalnya dalam kasus hubungan antara entiti
Pelanggan dan entiti Suplier adalah Memiliki,
sedangkan isi hubungannya dapat berupa
Tagihan.
Notasi Hubungan digambarkan dalam bentuk
diamond / jajaran genjang
Membeli
Notasi ERD
• Garis : untuk menghubungkan kumpulan
atribut dengan entitas dan kumpulan entitas
dengan relasi yang dibangun.
Penamaan Notasi ERD
• Nama Entitas
– Gunakan satu kata benda, jika dua kata
pisahkan dengan spasi
– Ditulis dengan huruf kapital
– Gunakan nama yang spesifik (misal KLIEN dan
PELANGGAN artinya sama, mana yg digunakan)
– Gunakan Nama yang singkat namun bermakna
tepat
MAHASISWA
PELANGGAN
DOKTER JAGA
Penamaan Notasi ERD
• Nama Atribut
– Gunakan frase kata benda atau kata benda
tunggal
– Setiap awal kata ditulis dengan huruf kapital
– Gunakan garis bawah ( _ ) untuk menyambung
dua kata
– Nama atribut boleh disingkat namun maknanya
mudah ditebak
Kode_Brg
– Nama atribut harus unik
Nama
Nm_Barang
Penamaan Notasi ERD
• Nama Relasi
– Gunakan kata kerja
– Hanya awal kata yang huruf kapital
– Gunakan garis bawah ( _ ) sebagai pemisah antar
kata
Membeli
Mengajar_pada
Derajat Relasi
Menunjukan tingkatan hubungan antar entitas
terdiri dari :
• Unary (Derajat Satu) : Adalah satu buah
relationship yang menghubungkan satu
buah entity.
MANUSIA
Menikah
Hubungan menikah hanya
menghubungkan entity manusia (manusia
menikah dengan manusia)
Derajat Relasi
• Binary (Derajat Dua) : Adalah satu buah
relationship yang menghubungkan dua
buah entity.
PEGAWAI
Memiliki
KENDARAAN
Pegawai memiliki kendaraan, sebuah
relationship memiliki mengubungkan entity
Pegawai dan entity Kendaraan.
Derajat Relasi
• Ternary (Derajat Tiga) : Adalah satu buah
relationship yang menghubungkan tiga
buah entity.
KOTA
PEGAWAI
Bekerja
PROYEK
Pegawai pada kota tertentu mempunyai
suatu Proyek. Entity Bekerja
mengubungkan Entity Pegawai, Proyek dan
Kota
Kardinalitas - Cardinalities
• Sejumlah entity set dapat berasosiasi dengan
entity set yang lain melalui sebuah
relationship dan ditunjukan dengan mapping
cardinalities.
• Kardinalitas adalah sebuah pemetaan yang
mengacu pada sejumlah objek pada entity
set yang dapat direlasikan ke objek pada
entity set lainnya dan sebaliknya.
Kardinalitas - Cardinalities
• Sejumlah kemungkinan banyaknya
hubungan antar entitas tersebut, merujuk
kepada hubungan maksimum yang terjadi
dari himpunan entitas yang satu ke
himpunan entitas yang lain dan sebaliknya.
Kode
Nama
SUPLIER
Kode
Menjual
BARANG
Jumlah
Alamat
Telpon
Nama
Harga
Jenis Kardinalitas
1. One To One ( 1 : 1)
Yaitu perbandingan antara entity pertama
dengan entity kedua berbanding satu
berbanding satu.
PASIEN
1
Dibawa
1
AMBULANCE
Satu orang pasien dibawa oleh satu mobil
ambulance
Jenis Kardinalitas
2. One To Many ( 1 : M)
Yaitu perbandingan antara entity pertama
dengan entity kedua berbanding satu
berbanding banyak.
BANGSAL RAWAT
1
Menampung
M
PASIEN
Satu bangsal perawatan menampung
banyak pasien
Jenis Kardinalitas
3. Many To One ( M : 1)
Yaitu perbandingan antara entity pertama
dengan entity kedua berbanding banyak
berbanding satu.
PASIEN
M
Dirawat
1
DOKTER
Banyak pasien dirawat oleh satu orang
dokter
Jenis Kardinalitas
4. Many To Many ( M : M)
Yaitu perbandingan antara entity pertama
dengan entity kedua berbanding banyak
berbanding banyak.
PASIEN
M
Diterapi
M
OBAT
Banyak pasien diberi terapi dengan banyak
obat
Langkah Membuat ERD
1. Menentukan Entitas : Menentukan peran,
kejadian/kegiatan, lokasi, hal nyata dan
konsep dimana pengguna akan
menyimpan data.
2. Menentukan Relasi : Tentukan hubungan
antara sepasang entity menggunakan
matriks relationship.
3. Gambar ERD Sementara : Gambarkan
entity-entity dan relationship diantara
entity untuk menghubungkannya.
Langkah Membuat ERD
4. Tentukan Kardinalitas : Tentukan
kardinalitas (pemunculan suatu entity di
entity lainnya yang berhubungan)
5. Tentukan Primary Key : Indentifikasi atribut
data yang “unik” untuk mengidentifikasi
setiap entity.
6. Gambar ERD berdasarkan kunci : Sertakan
primary key setiap entity.
Langkah Membuat ERD
7. Menentukan Atribut : Kumpulkan informasi
detail yang penting dalam sistem yang sedang
dikembangkan.
8. Pemetaan Atribut : Untuk setiap atribut,
letakan dalam satu entity yang tepat. Cari
juga atribut yang ada dalam relationship.
9. Gambar ERD dengan Atribut : Sesuaikan ERD
hasil langkah 6 dengan entity atau relationship
hasil langkah 8.
10. Periksa Hasil : Apakah ERD akhir telah secara
tepat mencerminkan data sistem ?
Contoh Kasus
Sebuah perusahaan memiliki beberapa
bagian. Setiap bagian mempunyai pengawas,
setidaknya satu pegawai. Pegawai bekerja
paling tidak pada satu bagian, tetapi dapat
juga beberapa bagian.
Satu pegawai minimal mendapat tugas pada
sebuah proyek. Tetapi satu pegawai dapat
libur dan tidak mendapat tugas proyek.
Field data yang penting adalah Nama Bagian,
Proyek, Pengawas, Nomor Pengawas, Nomor
Pegawai dan Nomor Proyek.
Contoh Kasus - Pemecahannya
Pemecahan dalam Pembuatan ERD :
1. Menentukan Entitas
Entitas pada sistem adalah :
Bagian, Pegawai, Pengawas dan Proyek.
Entitas perusahaan tidak termasuk dalam
sistem karena hanya memiliki satu instansi.
Entitas yang benar harus mempunyai lebih
dari satu instansi.
Contoh Kasus - Pemecahannya
2. Menentukan Relasi
Buatkan matriks relasi entitas, seperti berikut :
BAGIAN
PEGAWAI
PENGAWAS
-
Milik
Dipimpin oleh
PEGAWAI
Bekerja di
-
-
Bekerja pada
PENGAWAS
Memimpin
-
-
-
Menggunakan
-
-
BAGIAN
PROYEK
PROYEK
Contoh Kasus - Pemecahannya
3. Gambarkan ERD sementara
Hubungkan entitas yang mempunyai relasi
seperti yang ditunjukan pada matriks relasi
entitas.
BAGIAN
Dipimpin
oleh
PENGAWAS
Bekerja
pada
PROYEK
Bekerja
di
PEGAWAI
Contoh Kasus - Pemecahannya
4. Tentukan Kardinalitasnya
Diketahui bahwa :
–
–
–
–
–
Setiap bagian dipimpin oleh satu pengawas.
Seorang pengawas hanya memimpin satu bagian.
Setiap bagian memiliki paling sedikit satu Pegawai.
Setiap Pegawai bekerja di paling sedikit satu bagian.
Setiap proyek menggunakan paling sedikit satu
Pegawai.
– Seorang Pegawai dapat bekerja dalam banyak
proyek atau bahkan tidak sama sekali
Contoh Kasus - Pemecahannya
Menentukan Kardinalitas
BAGIAN
1
Dipimpin
oleh
1
PENGAWAS
M
Bekerja
di
N
PEGAWAI
M
Bekerja
pada
N
PROYEK
Contoh Kasus - Pemecahannya
5. Menentukan Primary Key : (Kode_Bagian,
No_Pengawas, No_Pegawai, No_Proyek)
6. Menggambar ERD berdasar Key
No_Penga
Kode_Bag
ian
was
BAGIAN
1
Dipimpin
oleh
1
M
Bekerja
di
No_Pega
wai
N
PEGAWAI
PENGAWAS
No_Pro
yek
M
Bekerja
pada
N
PROYEK
Contoh Kasus - Pemecahannya
7. Menentukan Atribut
Atribut yang diperlukan adalah Nama
Bagian, Nama Proyek, Nama Pengawas,
Nama Pegawai selain primary-key.
8. Memetakan Atribut
Atribut
Nama Bagian
Entitas
Bagian
Atribut
KdBag
Entitas
Bagian
Nama Proyek
Nama Pengawas
Nama Pegawai
Proyek
Pengawas
Pegawai
NoPro
NoPws
NoPeg
Proyek
Pengawas
Pegawai
Contoh Kasus - Pemecahannya
Atribut dalam relationshipnya :
Atribut
Relasi
Masa Jabatan
Dipimpin Oleh
Masa Kerja
Bekerja di
Masa Kerja Proyek
Bekerja Pada
Contoh Kasus - Pemecahannya
9. Menggambar ERD dengan Atribut
Nm_Pe
ngawas
KdBag
BAGIAN
Nm_Bagi
an
M
N
PEGAWAI
Nm_Pega
wai
Dipimpin
oleh
1
Masa_K
erja
Bekerja
di
NoPeg
NoPws
1
PENGAWAS
Masa
Jabatan
MasaKrja_
Proyek
M
Bekerja
pada
N
Nama
Proyek
PROYEK
NoPro
Contoh Kasus - Pemecahannya
10. Periksa Hasil
Lakukan pemeriksaan terhadap ERD, bila
tidak ada koreksi maka ERD dapat
memodelkan data dalam sistem dengan baik.
Buatlah ERD untuk Kasus Berikut !
Suatu perguruan tinggi mempunyai banyak mhs.
Setiap mhs tidak harus mengikuti suatu mata
kuliah. Setiap mhs biasanya mengikuti beberapa
mata kuliah. Suatu mata kuliah diajarkan oleh
seorang Dosen dan seorang Dosen bisa mengajar
beberapa mata kuliah. Seorang Dosen harus
mengajarkan suatu mata kuliah.
Entitas Mahasiswa memerlukan informasi tentang
NIM, Nama_Mhs, Alamat_Mhs dan Jurusan.
Entitas Mata Kuliah memerlukan informasi tentang
Kd_MK, Nm_Mk, SKS, Semester.
Entitas Dosen juga memerlukan informasi tentang
Kd_Dosen, Nama_Dosen.
Selamat Mengerjakan