Sistem Basis Data – Pertemuan 5

Download Report

Transcript Sistem Basis Data – Pertemuan 5

ERD
(Entity Relationship Diagram)
Sistem Basis Data
Rahajeng Ratnaningsih, S. Kom
STMIK AUB Surakarta
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
suatu organisasi 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
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



Entitas
Atribut
Hubungan
Atribut
Atribut
ENTITAS
Atribut
Hubungan
Atribut
ENTITAS
Atribut
Atribut
Entitas



Merupakan objek
dalam dunia nyata
yang dapat dibedakan
dengan objek-objek
lain
Seorang manajer,
sebuah mainan,
sebuah pintu
merupakan contoh
entitas
Lambang :
Objek…
Objek?
??
Atribut

Sifat / karakteristik
yang melekat
dalam sebuah
entitas
Atribut
No inventaris
Merk
Ukuran RAM
Entitas
…
Atribut?

Atributny
a?????



Orang
Mobil
Ruangan
Surat
Perjanjian
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
Hubungan

Hubungan
(relationship) adalah
pengait antara beberapa
tipe entitas
75-001
75-002
75-003
75-004
76-001
Sita Dewi
Riantiarno
Diva Mawarni
Karno
Dino Larasati
DA Depertemen Akunting
DK Departmen Keuangan
DP Departemen Pemasaran
Hubungan (Lanjutan)
Apa
hubungannya??
???




Dosen – Mahasiswa
Dosen - Matakuliah
Nasabah – Rekening Bank
Pemasok - Barang
Contoh Diagram E-R
PEMASOK
Mengirim
PELANGGAN
Mengirim
Memasok
PESANAN
KIRIMAN
Memasok
BARANG
Digunakan_
pada
Berisi
PRODUK
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
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
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
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
dibentuk dengan
melibatkan atributatribut 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
Simbol dalam Diagram E-R
ENTITAS
Simbol Hubungan:
Satu
Hubungan
Atribut
Garis bawah: Kunci atau
pengenal (identifier)
Bbanyak
Simbol Lain-Lain
Entitas kuat
Entitas asosiatif
Entitas lemah
Atribut
Hubungan
Hubungan
pengidentifikasi
Atribut nilai berganda
Atribut turunan
Contoh ERD
Nama_Plg
PELANGGAN
ID_Plg
Mengirim
ID_Pesanan
PESANAN
Tgl_Pesanan
Contoh Atribut Komposit, Nilai
Berganda, dan Turunan
Jalan
ID_Plg
Nama_Plg
Telpon_Plg
Kota
Alamat
PELANGGAN
Usia
Tgl_Lahir
Kode_Pos
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
Cara Memberi Nama Hubungan



Gunakan kata
kerja
Hanya huruf awal
kata yang
dikapitalkan
Gunakan garis
bawah sebagai
pemisah antarkata
PELANGGAN
Mengirim
PESANAN
Kata
kerja
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
SUKU_CADANG
PEGAWAI
Tersusun_atas
Membawahi
Hubungan Biner

Hubungan yang
melibatkan dua
buah entitas
PELANGGAN
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
PEGAWAI
Tgl_Lahir
Nama_Cab
Bekerja_pada
Lokasi
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
SISWA
Tgl_Selesai
Menyelesaikan
ID_Kursus
Nama_Kursus
KURSUS
Atribut dalam Hubungan
ID_Siswa
Nama_Siswa
Tgl_Selesai
SISWA
ID_Siswa
Nama_Siswa
SISWA
Entitas Asosiatif
ID_Kursus
Menyelesaikan
No_Sert
Tgl_Selesai
SERTIFIKAT
Nama_Kursus
KURSUS
ID_Kursus
Nama_Kursus
KURSUS
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
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
PEGAWAI
Ditugaskan_ke
PROYEK
(a) Dasar hubungan
PROYEK
(b) Hubungan dengan
kekangan kardinalitas
Contoh:
Amir
Dewi
Fahmi
Sueb
Proyek 1
Proyek 2
Proyek 3
Proyek 4
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
Mhs
KD
MK
Nama MK
No
Nama
Dosen 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!
Transformasi ERD ke
Database Relasional
Tranformasi Diagram ER ke Relasi

Memetakan Entitas
Nama_Pelanggan
No_Pelanggan
Tipe entitas
PELANGGAN
PELANGGAN
No_Pelanggan Nama_Pelanggan
Alamat_Pelanggan
Alamat_Pelanggan
Relasi PELANGGAN
Memetakan Entitas dengan Atribut
Komposit
Jalan
Nama_Pelanggan
Kota
Kode_Pos
No_Pelanggan
PELANGGAN
No_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
Pemetaan Hubungan 1 to M
No_Pelanggan
Nama_Pelanggan
PELANGGAN
Tanggal_Pesan
Tanggal_Pesan
PESANAN
Mengirim
No_Pelanggan Nama_Pelanggan
No_Pesan
Nomor_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 PRODUK
Relasi BARIS PESANAN
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
Tanggal
No_Kirim
PELANGGAN
No_Pelanggan
No_Kirim
Kode_Vendor
Alamat
Jumlah
PENGIRIMAN
Nama
Tanggal
Alamat
VENDOR
Relasi PELANGGAN
Jumlah No_Pelanggan Kode_Vendor
Relasi VENDOR
Relasi
PENGIRIMAN
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
Latihan (1)
Berdasarkan diagram ER soal pesanan barang pada
Latihan ERD (4), buatlah relasi-relasinya!
Latihan
NIM
Nama
Mhs
KD
MK
Nama MK
No
Nama
Dosen 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!