TIU
Mahasiswa dapat melakukan perancangan basis data dengan model entity relationship
TIK
• Memahami bagaimana wujud data relational
• Menjelaskan simbol dan istilah yang terdapat di dalam model ER
• Mentransformasikan model ER ke dalam bentuk model relasional
• Merancang basis data dengan menggunakan model ER
Basis data ERD
ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD kita mencoba
menjawab pertanyaan seperti : data
apa yang kita perlukan? Bagaimana
apa yang kita perlukan? Bagaimana
data yang satu berhubungan dengan
yang lain.
Entity
Adalah objek dalam dunia nyata, berupa - Object fisik : Rumah, manusia,
Kendaraan, Peralatan, dll
- Object Konsep : Pekerjaan, Perusahaan, Rencana, kasus, dll
Rencana, kasus, dll
Adalah suatu objek yang dapat dibedakan atau dapat diidentifikasikan secara unik dengan objek lainnya, dimana semua
informasi yang berkaitan dengannya
dikumpulkan. Kumpulan dari entity yang sejenis dinamakan Entity Set
Atribut
Berfungsi untuk mendeskripsikan karakter entity atau relationship.
Misal entity pegawai memiliki atribut nik, nama, alamat, nohp,dll
nik, nama, alamat, nohp,dll
• Atribut
*noktp nama alamat tgl_lahir
jeniskelamin
• Entity
jeniskelamin status
nohp
foto
Contoh lain
• Atribut
*nomesin noplat model model merk harga warna
thn_pembuatan
Varian Entitas
Entitas Lemah (Weak Entity)
Berisi entitas yang kemunculannya
tergantung pada eksistensinya dalam sebuah relasi.misal entitas Mahasiswa - orang tua & hobby, pegawai -
tanggungan.
tanggungan.
Entitas kuat (Strong Entity) Entitas yang berdiri sendiri,
keberadaannya tidak tergantung dengan
entitas lain.
Entitas kuat (Strong Entity)
Entitas Lemah (Weak Entity)
Pegawai
NIP Nama nama status
Tanggungan memiliki
Jenis Atribut
Atribut Key - atribut yang digunakan untuk membedakan data secara unik.misal nik, nim, no_peserta.
Atribut Simple – atribut bernilai tunggal, misal nama, harga, status.
Atribut Multivalue - atribut memiliki sekelompok nilai yang banyak, misal gelar, hobby.
Atribut Multivalue - atribut memiliki sekelompok nilai yang banyak, misal gelar, hobby.
Atribut Composite – atribut yang masih dapat diuraikan lagi, misal alamat, korban, waktu.
Atribut Derivatif – atribut yang dihasilkan dari turunan atribut lain, misal umur dari tanggal lahir.
Atribut Key
PEGAWAI
Id_pegawai nama
alamatlengkap
Tgl_lhr
RUANG
idruang
Namaruang lokasi
kapasitas
PEGAWAI
Tgl_lhr
Gol_drh nohp
jk
foto
agama
idbarang
Nama
Atribut Simple
BARANG
Kualitas Harga
Atribut Multivalue
agama Gelar
PEGAWAI
Tgl_lhr
Atribut Composite
nama nama nama nama namadepan
namadepannamadepan namadepan
namatengah namatengah namatengah namatengah
namabelakang namabelakang namabelakang namabelakang
PEGAWAI
nama nama nama nama
Tgl_lhr Tgl_lhr Tgl_lhr Tgl_lhr
umur umur umur umur
agama agama agama agama
Atribut Derivatif
PEGAWAI
Tgl_lhr Tgl_lhrTgl_lhr Tgl_lhr
umur umur umur umur
Simbol-simbol ER diagram
Entity
Atribut
Relationship
Atribut Multivalue
Atribut
Weak Entity
Identifying Relationship
Atribut key
Atribut Composite
Atribut Derivatif
DERAJAT RELATIONSHIP
1.
Unary ( Derajat Satu )
Adalah satu buah relationship
menghubungkan satu buah entity.
Contoh :
Manusia
Menikah
Contoh :
Keterangan :
Manusia menikah dengan manusia, relationship menikah hanya
menghubungkan entity manusia.
DERAJAT RELATIONSHIP
2.
Binary ( Derajat Dua )
Adalah satu buah relationship yang menghubungkan dua
buah entity.
Contoh : Contoh :
Keterangan :
Pegawai memiliki kendaraan, sebuah relationship memiliki mengubungkan entity Pegawai dan entity Kendaraan.
Pegawai
Memiliki Kendaraan
DERAJAT RELATIONSHIP
3.
Ternary ( Derajat Tiga )
Adalah satu buah relationship
menghubungkan tiga buah entity.
Contoh :
PegawaiProyek Bekerja
Keterangan :
Pegawai pada kota tertentu mempunyai suatu Proyek.
Entity Bekerja mengubungkan Entity Pegawai, Proyek dan Kota
Kota
Cardinalitas Relasi
One to One
Hubungan satu ke satu. Contoh seorang Dosen mengepalai satu jurusan.
Pegawai memiliki Kendaraan Dinas
NIP Nama Kd_mk jenis
1 1
One to Many
Hubungan satu ke banyak. Contoh seorang dosen mengajar beberapa mata kuliah
Dosen mengajar Matakuliah
NIP Nama Kd_MK namaMK
1 n
Many to Many
Hubungan banyak ke banyak. Contoh mahasiswa mengambil matakuliah.
mahasiswa mengambil Matakuliah
Nim Nama Kd_mk Nm_mk
n m
Contoh Diagram ER
Fakultas Daftar Mahasiswa
memiliki mengambil
1
1 n
n
Dosen Mata Kuliah
memiliki mengambil
mengajar
n m
1 n
Enhanced E-R Features
Digunakan untuk menangani hubungan supertipe/subtipe
Supertipe adalah suatu entitas yang bersifat umum
Subtipe adalah suatu entitas yang merupakan penkhususan dari supertipe
penkhususan dari supertipe
Contoh:
Kendaraan dapat menjadi supertipe
Mobil dan truk dapat berkedudukan sebagai subtipe
Hubungan Supertipe/Subtipe
Misalnya seorang karyawan akan dikategorikan menjadi 4 kelompok :
• Subclass merepresentasikan entity yang sama dengan superclass, namun memiliki peran spesifik tertentu.
• Entity dalam subclass merupakan anggota superclass, namun tidak sebaliknya.
Proses Pembuatan Hubungan Supertipe/subtipe
Generalisasi
Proses perancangan yang bersifat bottom-up
Pembuatan entitas yang bersifat umum dimulai dari tipe-tipe entitas yang bersifat khusus
Spesialisasi
Proses perancangan yang bersifat top-down
Pembuatan satu atau beberapa entitas yang bersifat khusus (subtipe) dilakukan dari entitas yang bersifat umum terlebih dahulu (supertipe)
CATEGORIZATION
Kategorisasi merupakan Proses pendefinisian suatu subclass yang memiliki lebih dari satu superclass yang berbeda.
Contoh :
Kategori PEMILIK yang merupakan Subclass dari gabungan Orang, Bankdan Perusahaan.
Kategori KENDARAAN-TERDAFTAR yang merupakan Subclass dari gabungan Mobil dan Truk.
Ilustrasi Generalisasi
Jumlah_Penumpang Jumlah_Penumpang
Kapasitas
Ilustrasi Generalisasi
Ilustrasi Spesialisasi
Ilustrasi Spesialisasi
Disjoint Constraint
a. constraint yang menerangkan bahwa subclass-subclass dari spesialisasi saling disjoint, artinya entity merupakan anggota dari salah satu subclass
b. disjoint constraint direpresentasikan dengan lambing “d” yang berarti disjoint
contoh: entity dari spseialisasi tipe pekerjaan dari Karyawan merupakan anggota dari subclass: Karyawan tetap atau Karyawan kontrak
Non-Disjoint Constraint
a. constraint yang mernerangkan bahwa subclass-subclass dari spesialisasi tidak saling disjoint, artinya entity mungkin anggota lebih dari satu subclass
disjoint, artinya entity mungkin anggota lebih dari satu subclass
b. non-disjoint digambarkan dengan lambing “o” yang berarti overlapping
contoh: entity dari spesialisasi tipe pekerjaan merupakan anggota dari subclass karyawan antara lain programer, system analys dan DBA
Agregasi
Sebuah relasi terbentuk tidak hanya dari entitas tapi terkadang juga mengandung unsur dari relasi yang lain.
Jika terjadi hal demikian dapat diakomodasi dengan Agregasi yang menggambarkan sebuah dengan Agregasi yang menggambarkan sebuah himpunan relasi yang secara langsung
menghubungkan sebuah himpunan entitas dengan sebuah himpunan relationship dalam diagram ER
Ilustrasi Agregasi
MMM
Mahasiswaahasiswaahasiswaahasiswa namanama
namanama nimnimnimnim
Matakuliah MatakuliahMatakuliah Matakuliah mempelajari
mempelajarimempelajari mempelajari nnn
n mmmm
Index_nilai Index_nilaiIndex_nilai Index_nilai
Praktikum PraktikumPraktikum Praktikum
m m m
mengikutiengikutiengikutiengikuti
n nn n
m m m m
nilai nilai nilai nilai nama
namanama nama Kd_prak Kd_prak Kd_prak Kd_prak
Jlh_jam Jlh_jamJlh_jam Jlh_jam
Batasan Relasi
Batasan relasi menjelaskan apakah
keberadaan suatu entitas tergantung pada entitas lain melalui suatu relasi.
Ada 2 tipe batasan relasi yakni
Ada 2 tipe batasan relasi yakni
Total Participation (partisipasi total)
Partial Participation (partisipasi sebagian)
Partisipasi Total
Suatu entitas disebut dengan berpartisipasi total, jika keberadaan entitas tersebut sangat bergantung pada keberadaan entitas lain.
Contoh entitas Dosen keberadaan tergantung pada keberadaan entitas Matakuliah dan sebaliknya artinya, jika ada seorang dosen maka harus ada matakuliah yang diajarkan, begitu pula sebaliknya adanya entitas matakuliah harus ada dosen yang mengajar matakuliah tersebut.
Partisipasi Sebagian
Suatu entitas dikatakan berpartisipasi sebagian jika entitas tersebut tidak bergantung dengan keberadaan entitas lain tetapi berhubungan satu sama lain.
Contoh Tidak semua dosen menjadi koordinator sesama dosen.
LANGKAH – LANGKAH MEMBUAT ERD
Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan terlibat.
Menentukan atribut-atribut key dari masing-masing himpunan entitas.
Mengidentifikasikan dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya.
Menentukan derajat dan cardinality rasio relasi untuk setiap himpunan relasi
setiap himpunan relasi
Melengkapi himpunan relasi dengan atribut-atribut yang bukan kunci (non-key).
Lihat kembali ERD yang dibuat apakah masih perlu
refinement (penghalusan) dengan generalisasi-spesialisasi, agregasi, batasan relasi
Konvensi Penamaan
Pilih nama (untuk entitas, atribut, relasi) yang menggambarkan maknanya
Gunakan nama tunggal untuk entitas
Gunakan huruf kapital untuk entitas dan relasi
Gunakan huruf kapital di awal kata untuk atributGunakan huruf kapital di awal kata untuk atribut
Nama entitas cenderung menggunakan kata benda
Nama relasi cenderung menggunakan kata kerja.
Alat Bantu Pemodelan Data
Merupakan sarana membuat dokumentasi kebutuhan aplikasi.
Antar mukanya mudah digunakan.
Contoh:
Ms. Visio
DBDesigner
dll
dll
Latihan 1
Mahasiswa meminjam buku.
Tentukan entitas dari deskripsi ini.
Latihan 2
Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa dan
alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
Tentukan entitas, atribut dan relasi dari deskripsi di atas, dengan menggambar ERDnya.
Jawaban Latihan 2
Latihan 3
Seperti deskripsi soal nomor 2, namun ada beberapa tambahan
penjelasan berikut ini. Seorang mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua
mahasiswa sangat perlu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Ada buku yang sangat laris dipinjam mahasiswa, namun ada pula buku yang tidak pernah dipinjam sama mahasiswa, namun ada pula buku yang tidak pernah dipinjam sama sekali. Satu buku dapat memiliki beberapa copy, namun untuk copy yang sama memiliki satu nomor buku. Setiap peminjaman akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan buku tepat satu minggu setelah peminjaman.
Gambarkan ERDnya.
Jawaban Latihan 3
Latihan 4
Seperti soal nomor 3, namun ada beberapa tambahan penjelasan berikut ini. Mahasiswa kadang-kadang
terlambat mengembalikan buku, sehingga dikenakan denda. Besarnya denda adalah Rp 500,- per hari keterlambatan. Mahasiswa dianggap terlambat jika keterlambatan. Mahasiswa dianggap terlambat jika mengembalikan buku lebih lama dari 1 minggu.
Gambarkan ERDnya.
Jawaban Latihan 4
Latihan 5
Seperti soal nomor 4, namun ada beberapa tambahan penjelasan berikut ini. Fakultas memiliki 3 jurusan, dan tiap jurusan memiliki perpustakaan. Mahasiswa boleh meminjam dari perpustakaan manapun di jurusan
tersebut. Setiap mahasiswa otomatis menjadi anggota tersebut. Setiap mahasiswa otomatis menjadi anggota pada ketiga perpustakaan tersebut. Setiap
perpustakaan memiliki banyak buku. Buku yang sama hanya ada di satu perpustakaan.
Gambarkan ERDnya.
Jawaban Latihan 5
Latihan 6