Diagram E-R
Diagram E-R = ERD
(Entity Relationship
Diagram)
Diagram E-R biasa
digunakan dalam tahap
analisis perancangan
basis data
Digunakan sebagai
perangkat untuk
berkomunikasi antara
pengembang basis
data dengan pengguna
Diagram E-R
Diagram E-R berupa model data
konseptual, yang
merepresentasikan data dalam Data Data Data
suatu organisasi dalam bentuk Data Data Data
objek-objek dan
hubungannya
Diagram E-R
Diagram E-R berupa model data
konseptual, yang
merepresentasikan data dalam
suatu organisasi dalam bentuk
objek-objek dan
hubungannya.
Tidak bergantung kepada
software yang akan dipakai untuk
mengimplementasikan basis data
ERD dan
Proses Perancangan Basis Data
Tiga proses perancangan basis data yang
terkait dengan ERD:
Analisis kebutuhan
Menggali kebutuhan data untuk penyajian informasi
Perancangan basis data konseptual
Menyajikan kebutuhan data yang akan disimpan
dalam bentuk yang high level (misalnya ERD)
Perancangan basis data logis
Memilih DBMS dan mengonversi ke skema basis data
Tiga Tahapan Perancangan
Database Lainnya
Perbaikan Skema
Mengidentifikasi problem potensial dan
melakukan pembetulan
Perancangan basis data fisik
Menyeleraskan rancangan basis data
dengan fitur-fitur dalam DBMS
Perancangan keamanan
Mengatur keamanan yang menyangkut
wewenang pemakai
Dasar ERD
Atribut
Entitas
Atribut Atribut ENTITAS Atribut
Hubungan
Hubungan
Atribut ENTITAS Atribut
Atribut
Entitas
Merupakan objek Objek
dalam dunia nyata Objek?
yang dapat dibedakan ??
dengan objek-objek
lain
Seorang manajer,
sebuah mainan,
sebuah pintu
merupakan contoh
entitas
Lambang :
Atribut
Sifat / karakteristik Atribut
yang melekat
dalam sebuah No inventaris
entitas
Merk
Ukuran RAM
Entitas
Atribut?
Orang
Atributny
a?????
Mobil
Ruangan
Surat
Perjanjian
Himpunan Entitas
Kumpulan dari objek
yang memiliki
karakteristik sama
dinamakan
himpunan entitas
Semua manajer
dalam sebuah Himpunan
perusahaan Entitas
berkedudukan
sebagai himpunan
entitas
Himpunan Entitas Pegawai
Employee_ID
Birth_Of_Date EMPLOYEE Name
Employee_ID Name Birth_Of_Date
75-001 Sita Dewi 01/07/1982
75-002 Riantiarno 23/12/1984
Hubungan
Hubungan
(relationship) adalah
pengait antara beberapa
tipe entitas
75-001 Sita Dewi
DA Depertemen Akunting
75-002 Riantiarno
DK Departmen Keuangan
75-003 Diva Mawarni
DP Departemen Pemasaran
75-004 Karno
76-001 Dino Larasati
Hubungan (Lanjutan)
Apa
Dosen Mahasiswa
hubungannya?? Dosen - Matakuliah
???
Nasabah Rekening Bank
Pemasok - Barang
Contoh Diagram E-R PELANGGAN
Mengirim PEMASOK
Mengirim
Memasok
PESANAN
KIRIMAN Memasok BARANG
Berisi
Digunakan_ PRODUK
pada
Tipe Atribut
Atribut Sederhana dan komposit
Atribut Bernilai tunggal dan bernilai
banyak
Atribut tersimpan dan turunan
Atribut Sederhana dan Komposit
Atribut sederhana tidak bisa dipecah
menjadi bagian yang lebih kecil lagi
Atribut komposit adalah atribut yang
dapat dipecah menjadi komponen yang
lain
Alamat: Alamat_Jalan, Kota, Kode_Pos
Nama: Nama_Depan,
Nama_Tengah,
Nama_Belakang
Prev
Atribut Bernilai Tunggal dan
Bernilai Banyak
Atribut bernilai tunggal adalah
atribut yang nilainya hanya satu
Contoh: nomor pegawai
Atribut bernilai banyak adalah
atribut yang berkemungkinan
memiliki nilai lebih dari satu
Contoh: Nomor_Telpon,
Ketrampilan_Pemrograman
Prev
Atribut Tersimpan dan Turunan
Atribut tersimpan adalah atribut yang
secara eksplisit tersimpan dalam database
Atribut turunan adalah atribut yang
nilainya dapat dikalkulasi dari nilai atribut
tersimpan
Contoh:
Lama_Bekerja dapat dihitung dari Tgl_Mulai_Bekerja
Usia bisa dihitung dari Tgl_lahir
Atribut Tersimpan dan Turunan?
Kode Nama Jumlah Harga Subtotal
Barang Barang Satuan
P-001 Pensil 4 1.000 4.000
B-005 Buku Tulis 1 3.000 3.000
G-002 Penggaris 1 1.500 1.500
K-001 Kertas HVS 2 20.000 40.000
Jenis Hubungan
Jenis hubungan
antara dua
himpunan entitas:
a) One to One
b) One to Many
c) Many to One
d) Many to Many
(c (d
) )
Jenis Hubungan (Lanjutan)
Apa jenis Dosen Mahasiswa
hubungannya??
??? Dosen - Matakuliah
Nasabah Rekening
Bank
Pemasok - Barang
Kunci
Kunci dimaksudkan sebagai
pegangan untuk membedakan antara
satu entitas dengan entitas yang lain
Kunci dapat disusun atas satu atau
kombinasi beberapa atribut
Istilah lain berupa pengenal
(identifier) biasa digunakan sebagai
pengganti kata kunci
Pengenal
Pengenal tunggal (sederhana)
Terdiri atas satu atribut
Pengenal komposit
Terdiri atas dua atribut atau lebih
Pengenal Tunggal
Contoh: No_Mhs pada entitas
MAHASISWA
No_Mhs
Nama_Mhs MAHASISWA Tgl_Lahir
Prev
Pengenal Komposit
ID_Pesawat Jadwal
ID_Penerbangan
Tujuan PENERBANGAN Jumlah_penumpang
Pengenal (Lanjutan)
Pengenal harus Mana yang
dibentuk dengan sebaiknya
dipilih? Kode
melibatkan atribut- bagian atau
atribut yang tidak nama bagian?
pernah berubah atau
jarang berubah
Pilih pengenal yang
nilainya jelas dan tidak
pernah NULL (tidak
dikenal)
Pengenal (Lanjutan)
Buat pengenal beratribut tunggal
untuk menggantikan pengenal
komposit yang terlalu panjang
ID_Pesawat Jadwal
Tidak lagi
tergantung
ID_Pesawat
dan Jadwal
ID_Penerbangan
Tujuan PENERBANGAN Jumlah_penumpang
Simbol dalam Diagram E-R
Simbol Hubungan:
ENTITAS
Satu
Hubungan
Bbanyak
Atribut
Garis bawah:
Kunci atau
pengenal
(identifier)
Simbol Lain-Lain
Entitas kuat Entitas asosiatif
Entitas lemah
Atribut
Hubungan
Atribut nilai
berganda
Hubungan
Atribut turunan
pengidentifikasi
Contoh ERD
Nama_Plg PELANGGAN ID_Plg
Mengirim
ID_Pesanan PESANAN Tgl_Pesanan
Contoh Atribut Komposit, Nilai
Berganda, dan Turunan
Jalan Kota Kode_Pos
ID_Plg Alamat
Nama_Plg PELANGGAN Usia
Telpon_Plg Tgl_Lahir
Cara Memberi Nama Entitas
Gunakan sedapat mungkin satu kata
benda. Kalau lebih dua kata, gunakan
spasi sebagai pemisah kata MAHASISWA
Ditulis dengan huruf KAPITAL
PELANGGAN
Nama yang digunakan spesifik terhadap
perusahaan
BARIS PESANAN
KLIEN atau PELANGGAN berarti sama.
Tetapi mana yang digunakan
perusahaan?
Gunakan nama yang singkat tapi Spasi
bermakna tepat
REGISTRASI lebih baik daripada
REGISTRASI MAHASISWA
Cara Memberi Nama Atribut
Gunakan frasa kata
benda atau kata benda Nama
tunggal
Setiap awal kata ditulis
dengan huruf KAPITAL Nama_Pelanggan
Gunakan _ untuk
menyambung dua kata
Kata bisa disingkat, Nama_Plg
tetapi harus mudah
ditebak maknanya
Nama atribut harus unik
Cara Memberi Nama Hubungan
Gunakan kata
kerja PELANGGAN
Hanya huruf awal
kata yang Mengirim
Kata
kerja
dikapitalkan
Gunakan garis
bawah sebagai PESANAN
pemisah antarkata
Hubungan Unary
Hubungan yang melibatkan
hanya satu entitas
ID_Peg Nama_Peg Tgl_Lahir
manajer
Membawahi
PEGAWAI
pekerja
Indikator
peran
Contoh Unary Relationship
ORANG Menikah_dengan PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
Hubungan Biner
Hubungan yang
melibatkan dua PELANGGAN
buah entitas
Mengirim
PESANAN
Contoh Binary Relationship
ORANG Diberi_jatah TEMPAT PARKIR
PEGAWAI Bekerja_pada DEPARTEMEN
MAHASISWA Mengambil MATA KULIAH
Hubungan Ternary
Hubungan yang
melibatkan tiga
buah entitas Nama_Pek Level
PEKERJAAN
ID_Peg Nama_Peg Tgl_Lahir Nama_Cab Lokasi
PEGAWAI Bekerja_pada CABANG
Contoh Ternary Relationship
PEMASOK Memasok GUDANG
BARANG
Sebuah Pemasok memasok sejumlah barang pada
beberapa gudang
Sebuah barang bisa dipasok oleh beberapa Pemasok
Atribut dalam Hubungan
Nama Siswa Nama Kursus Tgl_Selesai
Amir Visual BASIC 24/2/1007
Amir Visual C++ 3/5/2007
Dion Visual C++ 3/5/2007
Fitri Delphi 4/3/2007
ID_Siswa Nama_Siswa Tgl_Selesai ID_Kursus Nama_Kursus
SISWA Menyelesaikan KURSUS
Atribut dalam Hubungan
ID_Siswa Nama_Siswa Tgl_Selesai ID_Kursus Nama_Kursus
SISWA Menyelesaikan KURSUS
ID_Siswa Nama_Siswa No_Sert Tgl_Selesai ID_Kursus Nama_Kursus
SISWA SERTIFIKAT KURSUS
Entitas Asosiatif
Kardinalitas Hubungan
Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau
banyak
Kekangan Kardinalitas
Jenis hubungan antar tipe entitas seringkali
dinyatakan tidak sekedar dalam bentuk berupa One
to One, One to Many, Many to One, dan Many to
Many, melainkan juga dengan menyertakan
kekangan kardinalitas
Kekangan kardinalitas (cardinality constraint)
adalah suatu keadaan yang digunakan untuk
menyatakan jumlah instan dalam sebuah entitas
yang dapat dikaitkan dengan sebuah instan pada
entitas lain
Implementasinya adalah dengan menggunakan
kardinalitas hubungan yang dijelaskan pada slide
sebelum ini
Kekangan Kardinalitas
(Lanjutan)
Berkaitan dengan kekangan kardinalitas,
terdapat istilah kardinalitas minimum dan
kardinalitas maksimum
Kardinalitas minimum adalah jumlah
instan tersedikit dalam sebuah entitas
yang mungkin dikaitkan dengan setiap
instan pada entitas lain
Kardinalitas maksimum adalah jumlah
instan terbanyak dalam sebuah entitas
yang mungkin dikaitkan dengan setiap
instan pada entitas lain
Contoh Penerapan Kekangan
Kardinalitas
PASIEN Mempunyai KUNJUNGAN (a) Dasar
hubungan
SEJARAH (b) Hubungan
PASIEN Mempunyai
dengan kekangan
PASIEN
kardinalitas
Contoh:
Kunjungan
Amir 1 unjungan
K 2
Dewi Kunjungan 1
Fahmi Kunjungan 1
Kunjungan 2
Contoh Penerapan Kekangan
Kardinalitas (Lanjutan)
PEGAWAI Ditugaskan_ke PROYEK (a) Dasar
hubungan
(b) Hubungan
PEGAWAI Ditugaskan_ke PROYEK dengan kekangan
kardinalitas
Contoh:
Proyek 1
Amir Proyek 2
Dewi Proyek 3
Fahmi Proyek 4
Sueb Proyek 5
Latihan ERD (1)
Seorang pegawai memiliki data
berupa nomor induk pegawai, nama,
tanggal lahir dan ketrampilan
berbahasa asing. Gambarkan
diagram ER-nya
Latihan ERD (2)
Data seseorang mencakup identitas
seseorang, nama, jenis kelamin.
Gambarkan diagram ER yang
mencerminkan bahwa seseorang
menikahi orang
Latihan ERD (3)
Setiap dosen memiliki nomor dosen,
nama, dan usia
Setiap proyek memiliki nomor
proyek, sponsor proyek, tanggal
mulai, dan tanggal selesai
Setiap proyek dikepalai oleh seorang
profesor
Setiap proyek bisa melibatkan satu
atau beberapa dosen
Latihan ERD (3 - Lanjutan)
Seorang dosen bisa mengepalai sejumlah
proyek dan bekerja pada sejumlah proyek
Jurusan memiliki kode jurusan, nama
jurusan, dan lokasi
Jurusan dikepalai oleh seorang dosen
Dosen bisa bekerja pada satu jurusan atau
beberapa jurusan
Gambarkan diagram ER-nya
Latihan ERD (4)
Buatlah diagram ER untuk PT Astrindo Utama yang mencerminkan
pesanan barang di atas!
Latihan ERD (5)
NIM Nama KD Nama MK No Nama Nilai
Mhs MK Dosen Dosen
12345 Ali TI-001 Algoritma 771 Dian A
Pemrograman
12345 Ali TI-101 Basis data 773 Elias A
12346 Darwin TI-001 Algoritma 771 Dian B
Pemrograman
12349 Siti TI-001 Algoritma 771 Dian A
Pemrograman
Buatlah diagram ER-nya!
Transformasi ERD ke
Database Relasional
Tranformasi Diagram ER ke Relasi
Memetakan Entitas
Nama_Pelanggan
Tipe entitas
PELANGGAN
No_Pelanggan PELANGGAN Alamat_Pelanggan
Relasi
No_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan PELANGGAN
Memetakan Entitas dengan Atribut
Komposit
Jalan
Nama_Pelanggan Kota
Kode_Pos Tipe entitas
PELANGGAN
No_Pelanggan PELANGGAN Alamat_Pelanggan dengan atribut
komposit
Relasi
No_Pelanggan
Nama_Pelanggan Jalan Kota Kode_Pos PELANGGAN
Memetakan Entitas dengan Atribut
Bernilai Ganda
Nama_Pegawai
No_Pegawai Alamat_Pegawai
Tipe entitas
PEGAWAI dengan
PEGAWAI Keterampilan atribut bernilai
ganda
No_Pegawai Nama_Pegawai Alamat_Pegawai Relasi PEGAWAI
No_Pegawai Keterampilan Relasi KETERAMPILAN
PEGAWAI
Pemetaan Hubungan 1 to M
No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan
PELANGGAN Mengirim PESANAN
No_Pelanggan
Nama_Pelanggan Relasi PELANGGAN
No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN
Pemetaan Hubungan M to M
No_Pesan Tgl_Pesan Kode_Produk Harga_Unit
Jumlah
PESANAN Meminta PRODUK
No_Pesan Tgl_pesan Relasi PESANAN
No_Pesan Kode_Produk Jumlah Relasi BARIS
PESANAN
Kode_Produk Harga_Unit Relasi PRODUK
Pemetaan Hubungan 1 to 1
No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi
Tanggal_Penugasan
DOSEN Mengepalai PROGRAM STUDI
No_Dosen Nama_Dosen Relasi DOSEN
Kode_Prodi Nama_Prodi No_DosenTanggal_penugasan Relasi
PROGRAM
STUDI
Pemetaan Entitas Asosiatif
(Ternary)
No_Pelanggan Nama Vendor Alamat
Tanggal
No_Kirim
Jumlah
PELANGGAN PENGIRIMAN VENDOR
No_Pelanggan Nama Relasi PELANGGAN
Relasi
No_Kirim Tanggal JumlahNo_Pelanggan
Kode_Vendor PENGIRIMA
N
Kode_Vendor Alamat Relasi VENDOR
Pemetaan Unary 1:N
Nama_Pegawai
No_Pegawai Tgl_Lahir
PEGAWAI
Mengepalai
No_Pegawai Nama_Pegawai Tgl_lahir ID_Manajer Relasi PEGAWAI
Pemetaan Unary M:M
Nama_Item
Harga_Unit
No_Item
ITEM
Jumlah Tersusun_atas
No_Item Nama_Item Harga_Unit Relasi ITEM
No_Item No_Komponen Jumlah Relasi
KOMPONEN
Latihan (1)
Berdasarkan diagram ER soal pesanan barang pada
Latihan ERD (4), buatlah relasi-relasinya!
Latihan
NIM Nama KD Nama MK No Nama Nilai
Mhs MK Dosen Dosen
12345 Ali TI-001 Algoritma 771 Dian A
Pemrograman
12345 Ali TI-101 Basis data 773 Elias A
12346 Darwin TI-001 Algoritma 771 Dian B
Pemrograman
12349 Siti TI-001 Algoritma 771 Dian A
Pemrograman
Berdasarkan diagram ER dari data di atas, buatlah
relasi-relasinya!