Title: ERD (Entity Relationship Diagram)
1ERD(Entity Relationship Diagram)
- Sistem Basis Data
- Rahajeng Ratnaningsih, S. Kom
- STMIK AUB Surakarta
2Diagram 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
3Diagram E-R
- Diagram E-R berupa model data konseptual, yang
merepresentasikan data dalam suatu organisasi
dalam bentuk objek-objek dan hubungannya
Data Data Data Data Data Data
4Diagram 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
5ERD 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
6Tiga 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
7Dasar ERD
Atribut
ENTITAS
Atribut
Atribut
Hubungan
ENTITAS
Atribut
Atribut
Atribut
8Entitas
Objek Objek???
- Merupakan objek dalam dunia nyata yang dapat
dibedakan dengan objek-objek lain - Seorang manajer, sebuah mainan, sebuah pintu
merupakan contoh entitas - Lambang
9Atribut
- Sifat / karakteristik yang melekat dalam sebuah
entitas
Atribut
No inventaris
Merk
Ukuran RAM
Entitas
10Atribut?
- Orang
- Mobil
- Ruangan
- Surat Perjanjian
Atributnya?????
11Himpunan Entitas
- Kumpulan dari objek yang memiliki karakteristik
sama dinamakan himpunan entitas - Semua manajer dalam sebuah perusahaan
berkedudukan sebagai himpunan entitas
Himpunan Entitas
12Himpunan Entitas Pegawai
Employee_ID
Birth_Of_Date
Name
EMPLOYEE
Employee_ID Name Birth_Of_Date
75-001 Sita Dewi 01/07/1982
75-002 Riantiarno 23/12/1984
13Hubungan
- Hubungan (relationship) adalah pengait antara
beberapa tipe entitas
DA Depertemen Akunting DK Departmen Keuangan DP
Departemen Pemasaran
75-001 Sita Dewi 75-002 Riantiarno 75-003 Diva
Mawarni 75-004 Karno 76-001 Dino Larasati
14Hubungan (Lanjutan)
Apa hubungannya?????
- Dosen Mahasiswa
- Dosen - Matakuliah
- Nasabah Rekening Bank
- Pemasok - Barang
15Contoh Diagram E-R
PELANGGAN
Mengirim
PEMASOK
Mengirim
Memasok
PESANAN
Memasok
BARANG
KIRIMAN
Berisi
Digunakan_ pada
PRODUK
16Tipe Atribut
- Atribut Sederhana dan komposit
- Atribut Bernilai tunggal dan bernilai banyak
- Atribut tersimpan dan turunan
17Atribut 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
18Atribut 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
19Atribut 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
20Atribut Tersimpan dan Turunan?
Kode Barang Nama Barang Jumlah Harga Satuan Subtotal
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
21Jenis Hubungan
- Jenis hubungan antara dua himpunan entitas
- One to One
- One to Many
- Many to One
- Many to Many
(d)
(c)
22Jenis Hubungan (Lanjutan)
Apa jenis hubungannya?????
- Dosen Mahasiswa
- Dosen - Matakuliah
- Nasabah Rekening Bank
- Pemasok - Barang
23Kunci
- 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
24Pengenal
- Pengenal tunggal (sederhana)
- Terdiri atas satu atribut
- Pengenal komposit
- Terdiri atas dua atribut atau lebih
25Pengenal Tunggal
- Contoh No_Mhs pada entitas MAHASISWA
No_Mhs
Nama_Mhs
Tgl_Lahir
MAHASISWA
Prev
26Pengenal Komposit
ID_Pesawat
Jadwal
ID_Penerbangan
Tujuan
Jumlah_penumpang
PENERBANGAN
27Pengenal (Lanjutan)
Mana yang sebaiknya dipilih? Kode bagian atau
nama bagian?
- Pengenal harus dibentuk dengan melibatkan
atribut-atribut yang tidak pernah berubah atau
jarang berubah - Pilih pengenal yang nilainya jelas dan tidak
pernah NULL (tidak dikenal)
28Pengenal (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
Jumlah_penumpang
PENERBANGAN
29Simbol dalam Diagram E-R
Simbol Hubungan
ENTITAS
Satu
Hubungan
Bbanyak
Atribut
Garis bawah Kunci atau pengenal (identifier)
30Simbol Lain-Lain
Entitas kuat
Entitas asosiatif
Entitas lemah
Atribut
Hubungan
Atribut nilai berganda
Hubungan pengidentifikasi
Atribut turunan
31Contoh ERD
Nama_Plg
ID_Plg
PELANGGAN
Mengirim
Tgl_Pesanan
ID_Pesanan
PESANAN
32Contoh Atribut Komposit, Nilai Berganda, dan
Turunan
Jalan
Kota
Kode_Pos
ID_Plg
Alamat
Nama_Plg
PELANGGAN
Usia
Telpon_Plg
Tgl_Lahir
33Cara Memberi Nama Entitas
- Gunakan sedapat mungkin satu kata benda. Kalau
lebih dua kata, gunakan spasi sebagai pemisah
kata - Ditulis dengan huruf KAPITAL
- Nama yang digunakan spesifik terhadap perusahaan
- KLIEN atau PELANGGAN berarti sama. Tetapi mana
yang digunakan perusahaan? - Gunakan nama yang singkat tapi bermakna tepat
- REGISTRASI lebih baik daripada REGISTRASI
MAHASISWA
MAHASISWA
PELANGGAN
BARIS PESANAN
Spasi
34Cara Memberi Nama Atribut
- Gunakan frasa kata benda atau kata benda tunggal
- Setiap awal kata ditulis dengan huruf KAPITAL
- Gunakan _ untuk menyambung dua kata
- Kata bisa disingkat, tetapi harus mudah ditebak
maknanya - Nama atribut harus unik
Nama
Nama_Pelanggan
Nama_Plg
35Cara Memberi Nama Hubungan
- Gunakan kata kerja
- Hanya huruf awal kata yang dikapitalkan
- Gunakan garis bawah sebagai pemisah antarkata
PELANGGAN
Kata kerja
Mengirim
PESANAN
36Hubungan Unary
- Hubungan yang melibatkan hanya satu entitas
ID_Peg
Nama_Peg
Tgl_Lahir
manajer
Membawahi
PEGAWAI
pekerja
Indikator peran
37Contoh Unary Relationship
Menikah_dengan
Membawahi
ORANG
PEGAWAI
Tersusun_atas
SUKU_CADANG
38Hubungan Biner
- Hubungan yang melibatkan dua buah entitas
PELANGGAN
Mengirim
PESANAN
39Contoh Binary Relationship
Diberi_jatah
ORANG
TEMPAT PARKIR
Bekerja_pada
PEGAWAI
DEPARTEMEN
Mengambil
MAHASISWA
MATA KULIAH
40Hubungan Ternary
- Hubungan yang melibatkan tiga buah entitas
Nama_Pek
Level
PEKERJAAN
ID_Peg
Nama_Peg
Tgl_Lahir
Nama_Cab
Lokasi
Bekerja_pada
PEGAWAI
CABANG
41Contoh Ternary Relationship
Memasok
PEMASOK
GUDANG
BARANG
- Sebuah Pemasok memasok sejumlah barang pada
beberapa gudang - Sebuah barang bisa dipasok oleh beberapa Pemasok
42Atribut 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
Menyelesaikan
SISWA
KURSUS
43Atribut dalam Hubungan
ID_Siswa
Nama_Siswa
Tgl_Selesai
ID_Kursus
Nama_Kursus
Menyelesaikan
SISWA
KURSUS
ID_Siswa
Nama_Siswa
Tgl_Selesai
No_Sert
ID_Kursus
Nama_Kursus
SERTIFIKAT
SISWA
KURSUS
Entitas Asosiatif
44Kardinalitas Hubungan
Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
45Kekangan 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
46Kekangan 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
47Contoh Penerapan Kekangan Kardinalitas
Mempunyai
PASIEN
KUNJUNGAN
(a) Dasar hubungan
Mempunyai
(b) Hubungan dengan kekangan kardinalitas
PASIEN
SEJARAH PASIEN
Contoh
Kunjungan 1
Amir
Kunjungan 2
Dewi
Kunjungan 1
Fahmi
Kunjungan 1
Kunjungan 2
48Contoh Penerapan Kekangan Kardinalitas
(Lanjutan)
Ditugaskan_ke
PEGAWAI
PROYEK
(a) Dasar hubungan
Ditugaskan_ke
(b) Hubungan dengan kekangan kardinalitas
PEGAWAI
PROYEK
Contoh
Proyek 1
Amir
Proyek 2
Dewi
Proyek 3
Fahmi
Proyek 4
Proyek 5
Sueb
49Latihan ERD (1)
- Seorang pegawai memiliki data berupa nomor induk
pegawai, nama, tanggal lahir dan ketrampilan
berbahasa asing. Gambarkan diagram ER-nya
50Latihan ERD (2)
- Data seseorang mencakup identitas seseorang,
nama, jenis kelamin. Gambarkan diagram ER yang
mencerminkan bahwa seseorang menikahi orang
51Latihan 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
52Latihan 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
53Latihan ERD (4)
Buatlah diagram ER untuk PT Astrindo Utama yang
mencerminkan pesanan barang di atas!
54Latihan ERD (5)
NIM Nama Mhs KD MK Nama MK No Dosen Nama Dosen Nilai
12345 Ali TI-001 Algoritma Pemrograman 771 Dian A
12345 Ali TI-101 Basis data 773 Elias A
12346 Darwin TI-001 Algoritma Pemrograman 771 Dian B
12349 Siti TI-001 Algoritma Pemrograman 771 Dian A
Buatlah diagram ER-nya!
55Transformasi ERD ke Database Relasional
56Tranformasi Diagram ER ke Relasi
Nama_Pelanggan
Tipe entitas PELANGGAN
No_Pelanggan
PELANGGAN
Alamat_Pelanggan
Relasi PELANGGAN
No_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
57Memetakan Entitas dengan Atribut Komposit
Jalan
Nama_Pelanggan
Kota
Tipe entitas PELANGGAN dengan atribut komposit
Kode_Pos
No_Pelanggan
PELANGGAN
Alamat_Pelanggan
Relasi PELANGGAN
No_Pelanggan
Nama_Pelanggan
Jalan
Kota
Kode_Pos
58Memetakan Entitas dengan Atribut Bernilai Ganda
Nama_Pegawai
No_Pegawai
Alamat_Pegawai
Tipe entitas PEGAWAI dengan atribut bernilai ganda
PEGAWAI
Keterampilan
No_Pegawai
Nama_Pegawai
Alamat_Pegawai
Relasi PEGAWAI
No_Pegawai
Keterampilan
Relasi KETERAMPILAN PEGAWAI
59Pemetaan Hubungan 1 to M
No_Pelanggan
Nama_Pelanggan
Nomor_Pesan
Tanggal_Pesan
Mengirim
PELANGGAN
PESANAN
No_Pelanggan
Nama_Pelanggan
Relasi PELANGGAN
No_Pesan
Tanggal_Pesan
No_Pelanggan
Relasi PESANAN
60Pemetaan Hubungan M to M
No_Pesan
Tgl_Pesan
Kode_Produk
Harga_Unit
Jumlah
Meminta
PESANAN
PRODUK
No_Pesan
Tgl_pesan
Relasi PESANAN
No_Pesan
Kode_Produk
Jumlah
Relasi BARIS PESANAN
Kode_Produk
Harga_Unit
Relasi PRODUK
61Pemetaan Hubungan 1 to 1
No_Dosen
Nama_Dosen
Kode_Prodi
Nama_Prodi
Tanggal_Penugasan
Mengepalai
DOSEN
PROGRAM STUDI
No_Dosen
Nama_Dosen
Relasi DOSEN
Relasi PROGRAM STUDI
Kode_Prodi
Nama_Prodi
No_Dosen
Tanggal_penugasan
62Pemetaan Entitas Asosiatif(Ternary)
No_Pelanggan
Nama
Vendor
Alamat
Tanggal
No_Kirim
Jumlah
PENGIRIMAN
PELANGGAN
VENDOR
No_Pelanggan
Nama
Relasi PELANGGAN
Relasi PENGIRIMAN
No_Kirim
Tanggal
Jumlah
No_Pelanggan
Kode_Vendor
Kode_Vendor
Alamat
Relasi VENDOR
63Pemetaan Unary 1N
Nama_Pegawai
No_Pegawai
Tgl_Lahir
PEGAWAI
Mengepalai
No_Pegawai
Nama_Pegawai
Tgl_lahir
ID_Manajer
Relasi PEGAWAI
64Pemetaan Unary MM
Nama_Item
Harga_Unit
No_Item
ITEM
Tersusun_atas
Jumlah
No_Item
Nama_Item
Harga_Unit
Relasi ITEM
No_Item
No_Komponen
Jumlah
Relasi KOMPONEN
65Latihan (1)
Berdasarkan diagram ER soal pesanan barang pada
Latihan ERD (4), buatlah relasi-relasinya!
66Latihan
NIM Nama Mhs KD MK Nama MK No Dosen Nama Dosen Nilai
12345 Ali TI-001 Algoritma Pemrograman 771 Dian A
12345 Ali TI-101 Basis data 773 Elias A
12346 Darwin TI-001 Algoritma Pemrograman 771 Dian B
12349 Siti TI-001 Algoritma Pemrograman 771 Dian A
Berdasarkan diagram ER dari data di atas, buatlah
relasi-relasinya!