Sistem Basis Data - Pertemuan 5dahlan.unimal.ac.id/files/diktat/sbt/Pertemuan-11-Alat-Bantu...Mobil...
Transcript of Sistem Basis Data - Pertemuan 5dahlan.unimal.ac.id/files/diktat/sbt/Pertemuan-11-Alat-Bantu...Mobil...
1
Alat Bantu Perancangan Basis Data
ERD(Entity Relationship Diagram)
Sistem Basis Data
STMIK AUB Surakarta
Diagram E-R
Diagram E-R (Entity-Relationship) biasadigunakan dalam tahapanalisis perancangandatabaseDigunakan sebagaiperangkat untukberkomunikasi antarapengembang databasedengan pengguna
2
Diagram E-R
Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatuorganisasi dalam bentuk objek-objek dan hubungannya
Data Data Data
Data Data Data
Diagram E-R
Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatuorganisasi dalam bentuk objek-objek dan hubungannyaTidak bergantung kepada softwareyang akan dipakai untukmengimplementasikan databaseSejauh ini banyak sekali model notasi yang dipakai untuk membuatdiagram E-R
3
ERD danProses Perancangan Database
Tiga proses perancangan database yang terkaitdengan ERD:
Analisis kebutuhanMenggali kebutuhan data untuk penyajian informasi
Perancangan database konseptualMenyajikan kebutuhan data yang akan disimpan dalambentuk yang high level (misalnya ERD)
Perancangan database logisMemilih DBMS dan mengonversi ke skema database
Tiga Tahapan PerancanganDatabase Lainnya
Perbaikan SkemaMengidentifikasi problem potensial danmelakukan pembetulan
Perancangan database fisikMenyeleraskan rancangan database denganfitur-fitur dalam DBMS
Perancangan keamananMengatur keamanan yang menyangkutwewenang pemakai
4
Dasar ERD
EntitasAtributHubungan
ENTITAS
Hubungan
ENTITAS
Atribut
Atribut
Atribut
Atribut
Atribut
Atribut
Entitas
Merupakan objek dalamdunia nyata yang dapatdibedakan dengan objek-objek lain
Seorang manajer, sebuahmainan, sebuah pintumerupakan contoh entitas
Lambang :
ObjekObjek??
?
5
Atribut
Sifat / karakteristikyang melekat dalamsebuah entitas No inventaris
Merk
Ukuran RAM
Atribut
Entitas
Atribut?
Atributnya?????
OrangMobilRuanganSuratPerjanjian
6
Himpunan Entitas
Kumpulan dari objekyang memilikikarakteristik samadinamakanhimpunan entitas
Semua manajerdalam sebuahperusahaanberkedudukansebagai himpunanentitas
HimpunanEntitas
Himpunan Entitas Pegawai
EMPLOYEE
Employee_ID
Birth_Of_Date Name
23/12/1984Riantiarno75-002
01/07/1982Sita Dewi75-001
Birth_Of_DateNameEmployee_ID
7
Hubungan
Hubungan (relationship) adalah pengait antarabeberapa tipe entitas
75-001 Sita Dewi75-002 Riantiarno75-003 Diva Mawarni75-004 Karno76-001 Dino Larasati
DA Depertemen AkuntingDK Departmen KeuanganDP Departemen Pemasaran
Hubungan (Lanjutan)
Dosen MahasiswaDosen - MatakuliahNasabah Rekening BankPemasok - Barang
Apahubungannya????
?
8
Contoh Diagram E-R
Memasok
BARANG
Mengirim
KIRIMAN Memasok
PEMASOK
Digunakan_pada
PRODUK
Berisi
PESANAN
Mengirim
PELANGGAN
Tipe Atribut
Atribut Sederhana dan kompositAtribut Bernilai tunggal dan bernilaibanyakAtribut tersimpan dan turunan
9
Atribut Sederhana dan Komposit
Atribut sederhana tidak bisa dipecahmenjadi bagian yang lebih kecil lagiAtribut komposit adalah atribut yang dapatdipecah menjadi komponen yang lain
Alamat: Alamat_Jalan, Kota, Kode_PosNama: Nama_Depan,
Nama_Tengah, Nama_Belakang
Prev
Atribut Bernilai Tunggal danBernilai Banyak
Atribut bernilai tunggal adalah atributyang nilainya hanya satuContoh: nomor pegawai
Atribut bernilai banyak adalah atributyang berkemungkinan memiliki nilai lebihdari satuContoh: Nomor_Telpon,
Ketrampilan_Pemrograman
Prev
10
Atribut Tersimpan dan Turunan
Atribut tersimpan adalah atribut yang secaraeksplisit tersimpan dalam database
Atribut turunan adalah atribut yang nilainyadapat dikalkulasi dari nilai atribut tersimpan
Contoh: Lama_Bekerja dapat dihitung dari Tgl_Mulai_BekerjaUsia bisa dihitung dari Tgl_lahir
Atribut Tersimpan dan Turunan?
40.00020.0002Kertas HVSK-001
1.5001.5001PenggarisG-002
3.0003.0001Buku TulisB-005
4.0001.0004PensilP-001
SubtotalHargaSatuan
JumlahNamaBarang
KodeBarang
11
Jenis Hubungan
Jenis hubunganantara duahimpunan entitas:a) One to Oneb) One to Manyc) Many to Oned) Many to Many
(c) (d)
Jenis Hubungan (Lanjutan )
Dosen MahasiswaDosen - MatakuliahNasabah RekeningBankPemasok - Barang
Apa jenishubungannya????
?
12
Kunci
Kunci dimaksudkan sebagai peganganuntuk membedakan antara satu entitasdengan entitas yang lainKunci dapat disusun atas satu ataukombinasi beberapa atributIstilah lain berupa pengenal (identifier) biasa digunakan sebagai pengganti katakunci
Pengenal
Pengenal tunggal (sederhana)Terdiri atas satu atribut
Pengenal kompositTerdiri atas dua atribut atau lebih
13
Pengenal Tunggal
Contoh: No_Mhs pada entitasMAHASISWA
MAHASISWA
No_Mhs
Nama_Mhs Tgl_Lahir
Prev
Pengenal Komposit
PENERBANGAN
ID_Penerbangan
Tujuan Jumlah_penumpang
ID_Pesawat Jadwal
14
Pengenal (Lanjutan )
Pengenal harus dibentukdengan melibatkanatribut-atribut yang tidakpernah berubah ataujarang berubahPilih pengenal yang nilainya jelas dan tidakpernah NULL (tidakdikenal)
Mana yang sebaiknya dipilih? Kode bagian atau
nama bagian?
Pengenal (Lanjutan )
Buat pengenal beratribut tunggal untukmenggantikan pengenal komposit yang terlalu panjang
ID_Penerbangan
Tujuan Jumlah_penumpang
ID_Pesawat Jadwal
PENERBANGAN
Tidak lagitergantung
ID_Pesawatdan Jadwal
15
Simbol dalam Diagram E-R
ENTITAS
Hubungan
Simbol Hubungan:
Satu
Bbanyak
Atribut
Garis bawah: Kunci ataupengenal (identifier)
Simbol Lain-Lain
Entitas kuat
Entitas lemah
Hubungan
Hubunganpengidentifikasi
Entitas asosiatif
Atribut
Atribut nilai berganda
Atribut turunan
16
Contoh ERD
PESANAN
Mengirim
PELANGGAN ID_PlgNama_Plg
ID_Pesanan Tgl_Pesanan
Contoh Atribut Komposit, NilaiBerganda, dan Turunan
ID_Plg
Nama_Plg
Telpon_Plg
PELANGGAN
Tgl_Lahir
Usia
Jalan Kota Kode_Pos
Alamat
17
Cara Memberi Nama EntitasGunakan sedapat mungkin satu kata benda. Kalau lebih dua kata, gunakan spasi sebagaipemisah kata
Ditulis dengan huruf KAPITAL
Nama yang digunakan spesifik terhadapperusahaan
KLIEN atau PELANGGAN berarti sama. Tetapi mana yang digunakan perusahaan?
Gunakan nama yang singkat tapi bermaknatepat
REGISTRASI lebih baik daripadaREGISTRASI MAHASISWA
MAHASISWA
PELANGGAN
BARIS PESANAN
Spasi
Cara Memberi Nama Atribut
Gunakan frasa katabenda atau kata bendatunggalSetiap awal kata ditulisdengan huruf KAPITALGunakan _ untukmenyambung dua kataKata bisa disingkat, tetapiharus mudah ditebakmaknanyaNama atribut harus unik
Nama
Nama_Plg
Nama_Pelanggan
18
Cara Memberi Nama Hubungan
Gunakan kata kerjaHanya awalnya yang dikapitalkanGunakan garis bawahsebagai pemisahantarkata
PESANAN
Mengirim
PELANGGAN
Katakerja
Hubungan Unary
Hubungan yang melibatkan hanyasatu entitas
MembawahiPEGAWAI
ID_Peg Nama_Peg Tgl_Lahir
manajer
pekerja
Indikatorperan
19
Contoh Unary Relationship
ORANG Menikah_dengan PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
Hubungan Biner
Hubungan yang melibatkan dua buahentitas
PESANAN
Mengirim
PELANGGAN
20
Contoh Binary Relationship
Diberi_jatahORANG TEMPAT PARKIR
Bekerja_padaPEGAWAI DEPARTEMEN
MengambilMAHASISWA MATA KULIAH
Hubungan Ternary
Hubungan yang melibatkan tigabuah entitas
PEGAWAI
ID_Peg Nama_Peg Tgl_Lahir
CABANG
PEKERJAAN
Bekerja_pada
Nama_Pek Level
Nama_Cab Lokasi
21
Contoh Ternary Relationship
MemasokPEMASOK GUDANG
BARANG
Sebuah Pemasok memasok sejumlah barang pada beberapa gudang
Sebuah barang bisa dipasok oleh beberapa Pemasok
Atribut dalam Hubungan
4/3/2007DelphiFitri
3/5/2007Visual C++Dion
3/5/2007Visual C++Amir
24/2/1007Visual BASICAmir
Tgl_SelesaiNama KursusNama Siswa
SISWA
ID_Siswa Nama_Siswa
KURSUSMenyelesaikan
ID_Kursus Nama_KursusTgl_Selesai
22
Atribut dalam Hubungan
SISWA
ID_Siswa Nama_Siswa
KURSUSSERTIFIKAT
ID_Kursus Nama_KursusTgl_Selesai
SISWA
ID_Siswa Nama_Siswa
KURSUSMenyelesaikan
ID_Kursus Nama_KursusTgl_Selesai
No_Sert
Entitas Asosiatif
Kardinalitas Hubungan
Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
23
Kekangan Kardinalitas
Jenis hubungan antartipe entitas seringkali dinyatakantidak sekedar dalam bentuk berupa One to One, One to Many, Many to One, dan Many to Many, melainkanjuga dengan menyertakan kekangan kardinalitas
Kekangan kardinalitas (cardinality constraint) adalahsuatu keadaan yang digunakan untuk menyatakanjumlah instan dalam sebuah entitas yang dapatdikaitkan dengan sebuah instan pada entitas lain
Implementasinya adalah dengan menggunakankardinalitas hubungan yang dijelaskan pada slidesebelum ini
Kekangan Kardinalitas(Lanjutan )
Berkaitan dengan kekangan kardinalitas, terdapat istilah kardinalitas minimum dankardinalitas maksimumKardinalitas minimum adalah jumlah instantersedikit dalam sebuah entitas yang mungkindikaitkan dengan setiap instan pada entitaslainKardinalitas maksimum adalah jumlah instanterbanyak dalam sebuah entitas yang mungkindikaitkan dengan setiap instan pada entitaslain
24
Contoh Penerapan KekanganKardinalitas
MempunyaiPASIEN KUNJUNGAN (a) Dasar hubungan
(b) Hubungan dengankekangan kardinalitas
MempunyaiPASIEN SEJARAHPASIEN
Contoh:
Amir
Dewi
Fahmi
Kunjungan 1Kunjungan 2
Kunjungan 1Kunjungan 1Kunjungan 2
Contoh Penerapan KekanganKardinalitas (Lanjutan )
Ditugaskan_kePEGAWAI PROYEK (a) Dasar hubungan
(b) Hubungan dengankekangan kardinalitas
Ditugaskan_kePEGAWAI PROYEK
Contoh:
Amir
Dewi
Fahmi
Proyek 1Proyek 2
Proyek 3Proyek 4Proyek 5Sueb
25
Latihan ERD (1)
Seorang pegawai memiliki data berupanomor induk pegawai, nama, tanggal lahirdan ketrampilan berbahasa asing. Gambarkan diagram ER-nya
Latihan ERD (2)
Data seseorang mencakup identitasseseorang, nama, jenis kelamin. Gambarkan diagram ER yang mencerminkan bahwa seseorangmenikahi orang
26
Latihan ERD (3)
Setiap dosen memiliki nomor dosen, nama, dan usiaSetiap proyek memiliki nomor proyek, sponsor proyek, tanggal mulai, dantanggal selesaiSetiap proyek dikepalai oleh seorangprofesorSetiap proyek bisa melibatkan satu ataubeberapa dosen
Latihan ERD (3 - Lanjutan)
Seorang dosen bisa mengepalai sejumlahproyek dan bekerja pada sejumlah proyekJurusan memiliki kode jurusan, nama jurusan, dan lokasi
Jurusan dikepalai oleh seorang dosenDosen bisa bekerja pada satu jurusan ataubeberapa jurusan
Gambarkan diagram ER-nya
27
Latihan ERD (4)
Buatlah diagram ER untuk PT Astrindo Utama yang mencerminkan pesananbarang di atas!
Latihan ERD (5)
ADian771AlgoritmaPemrograman
TI-001Siti12349
BDian771AlgoritmaPemrograman
TI-001Darwin12346
AElias773Basis dataTI-101Ali12345
ADian771AlgoritmaPemrograman
TI-001Ali12345
NilaiNama
Dosen
No Dosen
Nama MKKD MKNamaMhs
NIM
Buatlah diagram ER-nya!
28
Transformasi ERD keDatabase Relasional
Tranformasi Diagram ER ke Relasi
Memetakan Entitas
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
No_Pelanggan Nama_Pelanggan Alamat_Pelanggan
Tipe entitasPELANGGAN
Relasi PELANGGAN
29
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
No_Pelanggan Nama_Pelanggan Jalan
Tipe entitasPELANGGAN denganatribut komposit
RelasiPELANGGAN
JalanKota
Kode_Pos
Kota Kode_Pos
Memetakan Entitas dengan AtributKomposit
Memetakan Entitas dengan AtributBernilai Ganda
PEGAWAI
No_Pegawai
Nama_Pegawai
Keterampilan
No_Pegawai Nama_Pegawai Alamat_Pegawai
Tipe entitas PEGAWAI dengan atribut bernilaiganda
Relasi PEGAWAI
Alamat_Pegawai
No_Pegawai Keterampilan Relasi KETERAMPILAN PEGAWAI
30
Pemetaan Hubungan 1 to M
MengirimPELANGGAN
No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan
PESANAN
No_Pelanggan Nama_Pelanggan Relasi PELANGGAN
No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN
Pemetaan Hubungan M to M
MemintaPESANAN
No_Pesan Tgl_Pesan Kode_Produk Harga_Unit
PRODUK
No_Pesan Tgl_pesan Relasi PESANAN
Kode_Produk Harga_Unit
Relasi BARIS PESANAN
Jumlah
No_Pesan Kode_Produk Jumlah
Relasi PRODUK
31
Pemetaan Hubungan 1 to 1
MengepalaiDOSEN
No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi
PROGRAM STUDI
No_Dosen Nama_Dosen Relasi DOSEN
Relasi PROGRAM STUDI
Tanggal_Penugasan
Kode_Prodi Nama_Prodi No_Dosen Tanggal_penugasan
Pemetaan Entitas Asosiatif(Ternary)
PENGIRIMANPELANGGAN
No_Pelanggan Nama Vendor Alamat
VENDOR
No_Pelanggan Nama Relasi PELANGGAN
Kode_Vendor Alamat
RelasiPENGIRIMAN
Tanggal
No_Kirim Tanggal Jumlah
Relasi VENDOR
No_KirimJumlah
No_Pelanggan Kode_Vendor
32
Pemetaan Unary 1:N
PEGAWAI
No_Pegawai
Nama_Pegawai
No_Pegawai Nama_Pegawai Tgl_lahir Relasi PEGAWAI
Tgl_Lahir
Mengepalai
ID_Manajer
Pemetaan Unary M:M
ITEM
No_Item
Nama_Item
No_Item Nama_Item Harga_Unit Relasi ITEM
Harga_Unit
Tersusun_atasJumlah
No_Item No_Komponen Jumlah Relasi KOMPONEN
33
Latihan (1)
Berdasarkan diagram ER soal pesanan barang pada Modul db-2, buatlahrelasi-relasinya!
Latihan
ADian771AlgoritmaPemrograman
TI-001Siti12349
BDian771AlgoritmaPemrograman
TI-001Darwin12346
AElias773Basis dataTI-101Ali12345
ADian771AlgoritmaPemrograman
TI-001Ali12345
NilaiNama
Dosen
No Dosen
Nama MKKD MKNamaMhs
NIM
Berdasarkan diagram ER dari data di atas, buatlah relasi-relasinya!