DIAGRAM E-R. ERD (ENTITY RELATIONSHIP DIAGRAM)
ALAT BANTU PERANCANGAN BASIS DATA
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
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
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 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
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
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
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
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!