Alat Bantu Perancangan Basis Data
ERD (Entity Relationship Diagram)
Sistem Basis Data
STMIK AUB Surakarta
Diagram E-R Diagram E-R (EntityRelationship) biasa digunakan dalam tahap analisis perancangan database Digunakan sebagai perangkat untuk berkomunikasi antara pengembang database dengan pengguna
1
Diagram E-R Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi dalam bentuk objekobjek dan hubungannya
Data Data Data Data Data Data
Diagram E-R Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi dalam bentuk objekobjek dan hubungannya Tidak bergantung kepada software yang akan dipakai untuk mengimplementasikan database Sejauh ini banyak sekali model notasi yang dipakai untuk membuat diagram E-R
2
ERD dan Proses Perancangan Database Tiga proses perancangan database yang terkait dengan ERD: Analisis kebutuhan Menggali kebutuhan data untuk penyajian informasi
Perancangan database konseptual Menyajikan kebutuhan data yang akan disimpan dalam bentuk yang high level (misalnya ERD)
Perancangan database logis Memilih DBMS dan mengonversi ke skema database
Tiga Tahapan Perancangan Database Lainnya Perbaikan Skema Mengidentifikasi problem potensial dan melakukan pembetulan
Perancangan database fisik Menyeleraskan rancangan database dengan fitur-fitur dalam DBMS
Perancangan keamanan Mengatur keamanan yang menyangkut wewenang pemakai
3
Dasar ERD Atribut
Entitas Atribut Hubungan
Atribut
Atribut
ENTITAS
Hubungan
Atribut
ENTITAS
Atribut
Atribut
Entitas Merupakan objek dalam dunia nyata yang dapat dibedakan dengan objekobjek lain
Objek Objek?? ?
Seorang manajer, sebuah mainan, sebuah pintu merupakan contoh entitas Lambang :
4
Atribut Sifat / karakteristik yang melekat dalam sebuah entitas
Atribut No inventaris
Merk Ukuran RAM Entitas
Atribut? Atributnya? ????
Orang Mobil Ruangan Surat Perjanjian
5
Himpunan Entitas Kumpulan dari objek yang memiliki karakteristik sama dinamakan himpunan entitas Semua manajer dalam sebuah perusahaan berkedudukan sebagai himpunan entitas
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
6
Hubungan Hubungan (relationship) adalah pengait antara beberapa tipe entitas
75-001 Sita Dewi 75-002 Riantiarno 75-003 Diva Mawarni 75-004 Karno 76-001 Dino Larasati
DA Depertemen Akunting DK Departmen Keuangan DP Departemen Pemasaran
Hubungan (Lanjutan) Apa hubungannya???? ?
Dosen Mahasiswa Dosen - Matakuliah Nasabah Rekening Bank Pemasok - Barang
7
Contoh Diagram E-R
PELANGGAN
PEMASOK
Mengirim
Mengirim
Memasok PESANAN
KIRIMAN
Memasok
BARANG Berisi
Digunakan_ pada
PRODUK
Tipe Atribut Atribut Sederhana dan komposit Atribut Bernilai tunggal dan bernilai banyak Atribut tersimpan dan turunan
8
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
9
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 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
10
Jenis Hubungan Jenis hubungan antara dua himpunan entitas: a) b) c) d)
One to One One to Many Many to One Many to Many
(c)
(d)
Jenis Hubungan (Lanjutan ) Apa jenis hubungannya???? ?
Dosen Mahasiswa Dosen - Matakuliah Nasabah Rekening Bank Pemasok - Barang
11
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
12
Pengenal Tunggal Contoh: No_Mhs pada entitas MAHASISWA
No_Mhs
Nama_Mhs
Tgl_Lahir
MAHASISWA
Prev
Pengenal Komposit ID_Pesawat
Jadwal
ID_Penerbangan
Tujuan
PENERBANGAN
Jumlah_penumpang
13
Pengenal (Lanjutan ) 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)
Mana yang sebaiknya dipilih? Kode bagian atau nama bagian?
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
14
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
Hubungan pengidentifikasi
Atribut nilai berganda
Atribut turunan
15
Contoh ERD Nama_Plg
ID_Plg
PELANGGAN
Mengirim
ID_Pesanan
Tgl_Pesanan
PESANAN
Contoh Atribut Komposit, Nilai Berganda, dan Turunan Jalan
ID_Plg
Nama_Plg
Telpon_Plg
Kota
Kode_Pos
Alamat
PELANGGAN
Usia
Tgl_Lahir
16
Cara 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
Cara 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
17
Cara Memberi Nama Hubungan Gunakan kata kerja Hanya awalnya yang dikapitalkan Gunakan garis bawah sebagai pemisah antarkata
PELANGGAN
Mengirim
Kata kerja
PESANAN
Hubungan Unary Hubungan yang melibatkan hanya satu entitas ID_Peg
Nama_Peg
Tgl_Lahir manajer Membawahi
PEGAWAI
pekerja
Indikator peran
18
Contoh Unary Relationship
ORANG
PEGAWAI
Menikah_dengan
SUKU_CADANG
Membawahi
Tersusun_atas
Hubungan Biner Hubungan yang melibatkan dua buah entitas
PELANGGAN
Mengirim
PESANAN
19
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
PEGAWAI
Tgl_Lahir
Nama_Cab
Bekerja_pada
Lokasi
CABANG
20
Contoh Ternary Relationship PEMASOK
GUDANG
Memasok
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
SISWA
Menyelesaikan
ID_Kursus
Nama_Kursus
KURSUS
21
Atribut dalam Hubungan ID_Siswa
ID_Siswa
Nama_Siswa
Tgl_Selesai
SISWA
Menyelesaikan
Nama_Siswa
SISWA
No_Sert
Tgl_Selesai
ID_Kursus
Nama_Kursus
KURSUS
ID_Kursus
SERTIFIKAT
Nama_Kursus
KURSUS
Entitas Asosiatif
Kardinalitas Hubungan Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
22
Kekangan Kardinalitas Jenis hubungan antartipe 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
23
Contoh Penerapan Kekangan Kardinalitas
PASIEN
Mempunyai
KUNJUNGAN
(a) Dasar hubungan
PASIEN
Mempunyai
SEJARAH PASIEN
(b) Hubungan dengan kekangan kardinalitas
Contoh: Amir Dewi Fahmi
Kunjungan 1 Kunjungan 2 Kunjungan 1 Kunjungan 1 Kunjungan 2
Contoh Penerapan Kekangan Kardinalitas (Lanjutan )
PEGAWAI
Ditugaskan_ke
PROYEK
(a) Dasar hubungan
PEGAWAI
Ditugaskan_ke
PROYEK
(b) Hubungan dengan kekangan kardinalitas
Contoh: Amir Dewi Fahmi Sueb
Proyek 1 Proyek 2 Proyek 3 Proyek 4 Proyek 5
24
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
25
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
26
Latihan ERD (4)
Buatlah diagram ER untuk PT Astrindo Utama yang mencerminkan pesanan barang di atas!
Latihan 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!
27
Transformasi ERD ke Database Relasional
Tranformasi Diagram ER ke Relasi Memetakan Entitas Nama_Pelanggan Tipe entitas PELANGGAN No_Pelanggan
PELANGGAN
Alamat_Pelanggan
Relasi PELANGGAN No_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
28
Memetakan Entitas dengan Atribut Komposit Jalan Nama_Pelanggan
Kota Kode_Pos
No_Pelanggan
No_Pelanggan
PELANGGAN
Nama_Pelanggan
Alamat_Pelanggan
Jalan
Kota
Kode_Pos
Tipe entitas PELANGGAN dengan atribut komposit
Relasi PELANGGAN
Memetakan Entitas dengan Atribut Bernilai Ganda
Nama_Pegawai Alamat_Pegawai
No_Pegawai
PEGAWAI
No_Pegawai
Nama_Pegawai
No_Pegawai
Keterampilan
Keterampilan
Alamat_Pegawai
Tipe entitas PEGAWAI dengan atribut bernilai ganda
Relasi PEGAWAI
Relasi KETERAMPILAN PEGAWAI
29
Pemetaan Hubungan 1 to M No_Pelanggan
Nama_Pelanggan
PELANGGAN
Nomor_Pesan
PESANAN
Mengirim
No_Pelanggan
Nama_Pelanggan
No_Pesan
Tanggal_Pesan
Tanggal_Pesan
Relasi PELANGGAN
No_Pelanggan
Relasi PESANAN
Pemetaan Hubungan M to M No_Pesan
Tgl_Pesan
Kode_Produk
Harga_Unit
Jumlah
PESANAN
PRODUK
Meminta
No_Pesan
Tgl_pesan
No_Pesan
Kode_Produk
Kode_Produk
Harga_Unit
Relasi PESANAN Jumlah
Relasi BARIS PESANAN
Relasi PRODUK
30
Pemetaan Hubungan 1 to 1 No_Dosen
Nama_Dosen
Kode_Prodi
Nama_Prodi
Tanggal_Penugasan
DOSEN
No_Dosen
Kode_Prodi
PROGRAM STUDI
Mengepalai
Nama_Dosen
Nama_Prodi
Relasi DOSEN
No_Dosen
Tanggal_penugasan
Relasi PROGRAM STUDI
Pemetaan Entitas Asosiatif (Ternary) No_Pelanggan
Nama
Vendor
Alamat
Tanggal
No_Kirim
Jumlah PELANGGAN
No_Pelanggan
No_Kirim Kode_Vendor
PENGIRIMAN
Nama
Tanggal Alamat
VENDOR
Relasi PELANGGAN
Jumlah No_Pelanggan Kode_Vendor
Relasi PENGIRIMAN
Relasi VENDOR
31
Pemetaan Unary 1:N Nama_Pegawai Tgl_Lahir
No_Pegawai
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
No_Item
No_Komponen
Jumlah
Relasi ITEM
Relasi KOMPONEN
32
Latihan (1) Berdasarkan diagram ER soal pesanan barang pada Modul db-2, buatlah relasi-relasinya!
Latihan 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!
33