Bab 2. Perancangan
Database
EndarS-2021
Perancangan Database
Proses Tahapan Perancangan Database:
1. Pengumpulan Data dan Analisis Kebutuhan -> Kebutuhan Database
+ Data Flow Diagram (DFD)
2. Perancangan Konseptual -> Entity Relationship Diagram (ERD)
3. Perancangan Logis -> Struktur Tabel
4. Perancangan Fisik -> Implementasi ke DBMS
Contoh Hasil Tahap 1 (DFD)
Contoh Hasil Tahap 2 (ERD)
Mahasiswa Mengambil Matakuliah
Membimbing Mengajar
Dosen
Contoh Tahap 3 (Perancangan Struktur Tabel)
Mahasiswa Membimbing Dosen
nim
nama_mahasiswa
nip
nama_dosen
nip nama_dosen
nim nama_mahasiswa nip
Tabel
Dosen
Tabel
Mahasiswa
Pemodelan Data
• Diperlukan pada perancangan konseptual
• Hubungan antar data dalam DFD digambarkan dalam Model ERD
• Model ERD : untuk menggambarkan data dlm bentuk entitas, atribut,
hubungan antar entitas
• ERD hanya bersifat rancangan konseptual -> tdk tergantung dg jenis
DBMS
Pemodelan Data
• MAHASISWA, MK, DOSEN merupakan entitas
• Mengambil, membimbing, mengajar merupakan hubungan antar entitas
Mahasiswa Mengambil Matakuliah
Membimbing Mengajar
Dosen
Pemodelan Data
Notasi Diagram E-R
Mahasiswa
nim
Membimbing
Entitas
Atribut
Hubungan /
Relasi
Kardinalitas
Entitas dalam ERD
• Definisi 1: sesuatu dalam dunia nyata yg keberadaannya tidak
bergantung pada yg lain
• Definisi 2: sesuatu yg bisa berupa orang, tempat, obyek, kejadian atau
konsep
• Contoh:
- orang: MAHASISWA, PEGAWAI, GURU
- tempat: SEKOLAH, TOKO, KABUPATEN
- obyek: MESIN, GEDUNG, MOBIL
- kejadian: PENJUALAN, REGISTRASI
- konsep: KURSUS, REKENING
Atribut dalam ERD
• Definisi: properti atau karakteristik yang melekat pada sebuah entitas
• Biasanya ditulis bersambung (seperti penulisan variabel dlm
pemrograman)
• Contoh:
• Entitas: MAHASISWA
• Atribut:
Nim : K12345
Nama_Mahasiswa : Budi
Alamat : Jl. Apel 1 Solo
Contoh Entitas dan Atribut dalam ERD
Contoh Entitas dan Atribut dalam Diagram E-R
MAHASISWA
Nim Nama_Mhs Alamat Tgl_Lhr
Catatan:
Terkadang bisa ditulis juga sbb
MAHASISWA (Nim, Nama_Mhs, Alamat, Tgl_Lhr)
Atribut Pengenal – Primary Key (PK)
• Setiap entitas harus ada atribut atau beberapa gabungan atribut yang
sifatnya unik (tdk kembar) -> atribut pengenal
• Atribut pengenal digunakan untuk membedakan antara satu entitas
dengan entitas lainnya
• Contoh atribut pengenal dlm entitas MAHASISWA adalah: Nim
• Atribut pengenal -> Primary Key (PK)
Contoh pemberian Atribut Pengenal (PK)
Problem:
Diberikan suatu entitas DEPARTEMEN dan atribut sbb:
DEPARTEMEN (Kode_Departemen, Nama_Departemen)
Kode_Departemen atau Nama_Departemen sama-sama bisa menjadi atribut pengenal karena
sama-sama unik. Lantas mana yang dipilih sbg atribut pengenal?
Kriteria pemilihan atribut pengenal (PK)
• Pilih atribut pengenal yang nilainya tidak pernah berubah sepanjang
waktu
• Pilih atribut pengenal yang tidak bernilai NULL
• Hindari atribut pengenal yg strukturnya mengandung klasifikasi, lokasi
dll. Misal: digit nya menunjukkan lokasi, jenis dll yang kemungkinan
suatu saat bisa berubah
• Gunakan atribut pewakil jika perlu. Misal: id_orang
Penyajian Diagram E-R Entitas dg atribut
pengenal
MAHASISWA
Nim Nama_Mhs Alamat Tgl_Lhr
Bab 3 – Pemodelan Data
Atribut Komposit
Sebuah atribut yg dipecah menjadi bbrp atribut
MAHASISWA
Nim Nama_Mhs Alamat Tgl_Lhr
Nama_Depan Nama_Blkg
Atribut Bernilai Banyak
Merupakan sebuah atribut yang nilainya bisa lebih dari satu
MAHASISWA
Nim Nama_Mhs Alamat Tgl_Lhr
Nama_Depan Nama_Blkg Telp
Atribut Turunan
Atribut yang nilainya merupakan turunan atau hasil pengolahan dari atribut lain
MAHASISWA
Nim Nama_Mhs Alamat
Tgl_Lhr
Nama_Depan Nama_Blkg Telp
Usia
Relasi (Hubungan)
• Def: Keterkaitan antara beberapa entitas
• Jenis: one-to-one, one-to-many, many-to-one, many-
to-many
Mahasiswa Membimbing Dosen
nim
nama_mahasiswa
nip
nama_dosen
Relasi one-to-one (1:1)
Relasi one-to-one
Adalah setiap anggota entitas A paling
banyak berhubungan/ berpasangan
dengan satu anggota entitas B
Relasi one-to-many (1:M)
• Adalah setiap anggota entitas A bisa berpasangan dg
banyak anggota entitas B, dan setiap anggota entitas
B berpasangan dengan satu anggota entitas A
Relasi many-to-one (M:1)
• Adalah setiap anggota entitas A berpasangan dg satu anggota entitas
B, dan setiap anggota entitas B bisa berpasangan dengan banyak
anggota entitas A
Relasi many-to-many (M:M)
• Adalah setiap anggota entitas A bisa berpasangan dg banyak anggota
entitas B, dan setiap anggota entitas B bisa juga berpasangan dengan
banyak anggota entitas A
Contoh Hubungan antar entitas
Variasi Diagram E-R
DOSEN MAHASISWA
membimbing
ID_Dosen Nama_Dosen NIM Nama_Mhs
1 M
Contoh Hubungan antar entitas
DOSEN MAHASISWA
membimbing
ID_Dosen Nama_Dosen NIM Nama_Mhs
1 ∞
DOSEN MAHASISWA
membimbing
ID_Dosen Nama_Dosen NIM Nama_Mhs
Kardinalitas
• Menyatakan jumlah anggota entitas yang dikaitkan
dengan anggota entitas lain
• Disebut juga: kekangan kardinalitas, rasio
kardinalitas, pemetaan kardinalitas
• Kardinalitas Minimum: jumlah minimum anggota
entitas yg bisa dikaitkan dengan anggota entitas lain.
Nilainya: 0 atau 1
• Kardinalitas Maksimum: jumlah maksimum anggota
entitas yg bisa dikaitkan dengan anggota entitas lain.
Nilainya: 1 atau banyak
Contoh Kardinalitas
Jenis Relasi
• Unary : melibatkan satu entitas
• Binary : melibatkan dua entitas
• Tertiary: melibatkan tiga entitas atau lebih
Contoh Relasi Unary
Contoh Relasi Unary
Contoh Relasi Binary
Contoh Relasi Tertiary
Atribut Dalam Relasi
• Sebuah atribut bisa dimiliki oleh sebuah relasi
Entitas Asosiatif
• Suatu relasi yg punya atribut bisa menjadi Entitas Asosiatif
• Apakah semua relasi beratribut bisa menjadi Entitas Asosiatif? Ya, jika
relasi kedua entitas bersifat many-to-many
Contoh ERD yang lengkap
Contoh ERD dengan Unary
MATAKULIAH
Kode_MK
Nama_MK
Prasyarat
Masalah Pada ERD- Fan Trap
• Fan Trap : jebakan yang membuat relasi antar entitas menjadi rancu
Masalah Pada ERD- Fan Trap
Masalah Pada ERD- Fan Trap
Masalah Pada ERD- Fan Trap
Masalah pada ERD – Chasm Trap
• Chasm Trap : jebakan yang membuat anggota entitas tertentu
kehilangan relasi
Masalah pada ERD – Chasm Trap
Masalah pada ERD – Chasm Trap

Bab 2 Perancangan Database...............

  • 1.
  • 2.
    Perancangan Database Proses TahapanPerancangan Database: 1. Pengumpulan Data dan Analisis Kebutuhan -> Kebutuhan Database + Data Flow Diagram (DFD) 2. Perancangan Konseptual -> Entity Relationship Diagram (ERD) 3. Perancangan Logis -> Struktur Tabel 4. Perancangan Fisik -> Implementasi ke DBMS
  • 3.
  • 4.
    Contoh Hasil Tahap2 (ERD) Mahasiswa Mengambil Matakuliah Membimbing Mengajar Dosen
  • 5.
    Contoh Tahap 3(Perancangan Struktur Tabel) Mahasiswa Membimbing Dosen nim nama_mahasiswa nip nama_dosen nip nama_dosen nim nama_mahasiswa nip Tabel Dosen Tabel Mahasiswa
  • 6.
    Pemodelan Data • Diperlukanpada perancangan konseptual • Hubungan antar data dalam DFD digambarkan dalam Model ERD • Model ERD : untuk menggambarkan data dlm bentuk entitas, atribut, hubungan antar entitas • ERD hanya bersifat rancangan konseptual -> tdk tergantung dg jenis DBMS
  • 7.
    Pemodelan Data • MAHASISWA,MK, DOSEN merupakan entitas • Mengambil, membimbing, mengajar merupakan hubungan antar entitas Mahasiswa Mengambil Matakuliah Membimbing Mengajar Dosen
  • 8.
    Pemodelan Data Notasi DiagramE-R Mahasiswa nim Membimbing Entitas Atribut Hubungan / Relasi Kardinalitas
  • 9.
    Entitas dalam ERD •Definisi 1: sesuatu dalam dunia nyata yg keberadaannya tidak bergantung pada yg lain • Definisi 2: sesuatu yg bisa berupa orang, tempat, obyek, kejadian atau konsep • Contoh: - orang: MAHASISWA, PEGAWAI, GURU - tempat: SEKOLAH, TOKO, KABUPATEN - obyek: MESIN, GEDUNG, MOBIL - kejadian: PENJUALAN, REGISTRASI - konsep: KURSUS, REKENING
  • 10.
    Atribut dalam ERD •Definisi: properti atau karakteristik yang melekat pada sebuah entitas • Biasanya ditulis bersambung (seperti penulisan variabel dlm pemrograman) • Contoh: • Entitas: MAHASISWA • Atribut: Nim : K12345 Nama_Mahasiswa : Budi Alamat : Jl. Apel 1 Solo
  • 11.
    Contoh Entitas danAtribut dalam ERD Contoh Entitas dan Atribut dalam Diagram E-R MAHASISWA Nim Nama_Mhs Alamat Tgl_Lhr Catatan: Terkadang bisa ditulis juga sbb MAHASISWA (Nim, Nama_Mhs, Alamat, Tgl_Lhr)
  • 12.
    Atribut Pengenal –Primary Key (PK) • Setiap entitas harus ada atribut atau beberapa gabungan atribut yang sifatnya unik (tdk kembar) -> atribut pengenal • Atribut pengenal digunakan untuk membedakan antara satu entitas dengan entitas lainnya • Contoh atribut pengenal dlm entitas MAHASISWA adalah: Nim • Atribut pengenal -> Primary Key (PK)
  • 13.
    Contoh pemberian AtributPengenal (PK) Problem: Diberikan suatu entitas DEPARTEMEN dan atribut sbb: DEPARTEMEN (Kode_Departemen, Nama_Departemen) Kode_Departemen atau Nama_Departemen sama-sama bisa menjadi atribut pengenal karena sama-sama unik. Lantas mana yang dipilih sbg atribut pengenal?
  • 14.
    Kriteria pemilihan atributpengenal (PK) • Pilih atribut pengenal yang nilainya tidak pernah berubah sepanjang waktu • Pilih atribut pengenal yang tidak bernilai NULL • Hindari atribut pengenal yg strukturnya mengandung klasifikasi, lokasi dll. Misal: digit nya menunjukkan lokasi, jenis dll yang kemungkinan suatu saat bisa berubah • Gunakan atribut pewakil jika perlu. Misal: id_orang
  • 15.
    Penyajian Diagram E-REntitas dg atribut pengenal MAHASISWA Nim Nama_Mhs Alamat Tgl_Lhr
  • 16.
    Bab 3 –Pemodelan Data Atribut Komposit Sebuah atribut yg dipecah menjadi bbrp atribut MAHASISWA Nim Nama_Mhs Alamat Tgl_Lhr Nama_Depan Nama_Blkg
  • 17.
    Atribut Bernilai Banyak Merupakansebuah atribut yang nilainya bisa lebih dari satu MAHASISWA Nim Nama_Mhs Alamat Tgl_Lhr Nama_Depan Nama_Blkg Telp
  • 18.
    Atribut Turunan Atribut yangnilainya merupakan turunan atau hasil pengolahan dari atribut lain MAHASISWA Nim Nama_Mhs Alamat Tgl_Lhr Nama_Depan Nama_Blkg Telp Usia
  • 19.
    Relasi (Hubungan) • Def:Keterkaitan antara beberapa entitas • Jenis: one-to-one, one-to-many, many-to-one, many- to-many Mahasiswa Membimbing Dosen nim nama_mahasiswa nip nama_dosen
  • 20.
    Relasi one-to-one (1:1) Relasione-to-one Adalah setiap anggota entitas A paling banyak berhubungan/ berpasangan dengan satu anggota entitas B
  • 21.
    Relasi one-to-many (1:M) •Adalah setiap anggota entitas A bisa berpasangan dg banyak anggota entitas B, dan setiap anggota entitas B berpasangan dengan satu anggota entitas A
  • 22.
    Relasi many-to-one (M:1) •Adalah setiap anggota entitas A berpasangan dg satu anggota entitas B, dan setiap anggota entitas B bisa berpasangan dengan banyak anggota entitas A
  • 23.
    Relasi many-to-many (M:M) •Adalah setiap anggota entitas A bisa berpasangan dg banyak anggota entitas B, dan setiap anggota entitas B bisa juga berpasangan dengan banyak anggota entitas A
  • 24.
    Contoh Hubungan antarentitas Variasi Diagram E-R DOSEN MAHASISWA membimbing ID_Dosen Nama_Dosen NIM Nama_Mhs 1 M
  • 25.
    Contoh Hubungan antarentitas DOSEN MAHASISWA membimbing ID_Dosen Nama_Dosen NIM Nama_Mhs 1 ∞ DOSEN MAHASISWA membimbing ID_Dosen Nama_Dosen NIM Nama_Mhs
  • 26.
    Kardinalitas • Menyatakan jumlahanggota entitas yang dikaitkan dengan anggota entitas lain • Disebut juga: kekangan kardinalitas, rasio kardinalitas, pemetaan kardinalitas • Kardinalitas Minimum: jumlah minimum anggota entitas yg bisa dikaitkan dengan anggota entitas lain. Nilainya: 0 atau 1 • Kardinalitas Maksimum: jumlah maksimum anggota entitas yg bisa dikaitkan dengan anggota entitas lain. Nilainya: 1 atau banyak
  • 27.
  • 28.
    Jenis Relasi • Unary: melibatkan satu entitas • Binary : melibatkan dua entitas • Tertiary: melibatkan tiga entitas atau lebih
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Atribut Dalam Relasi •Sebuah atribut bisa dimiliki oleh sebuah relasi
  • 34.
    Entitas Asosiatif • Suaturelasi yg punya atribut bisa menjadi Entitas Asosiatif • Apakah semua relasi beratribut bisa menjadi Entitas Asosiatif? Ya, jika relasi kedua entitas bersifat many-to-many
  • 35.
  • 36.
    Contoh ERD denganUnary MATAKULIAH Kode_MK Nama_MK Prasyarat
  • 37.
    Masalah Pada ERD-Fan Trap • Fan Trap : jebakan yang membuat relasi antar entitas menjadi rancu
  • 38.
  • 39.
  • 40.
  • 41.
    Masalah pada ERD– Chasm Trap • Chasm Trap : jebakan yang membuat anggota entitas tertentu kehilangan relasi
  • 42.
    Masalah pada ERD– Chasm Trap
  • 43.
    Masalah pada ERD– Chasm Trap