Enhanced E
Enhanced E--R Model
R Model
E
EER
EER
DigunakanDigunakan untukuntuk menanganimenangani hubunganhubungan
supertipe
supertipe//subtipesubtipe
SupertipeSupertipe adalahadalah suatusuatu entitasentitas yang yang bersifatbersifat
umum umum
SubtipeSubtipe adalahadalah suatusuatu entitasentitas yang yang merupakanmerupakan
pengkhususan
pengkhususan daridari supertipesupertipe
ContohContoh::
MOBIL MOBIL dapatdapat menjadimenjadi supertipesupertipe
SEDAN, MINIBUS, JIP SEDAN, MINIBUS, JIP dapatdapat berkedudukanberkedudukan sebagaisebagai
subtipe subtipe
Hubungan Supertipe/Subtipe
Hubungan Supertipe/Subtipe
Atribut-atribut yang bersifat umum
SUPERTIPE
SUBTIPE 1 SUBTIPE 2 SUBTIPE 3
Atribut-atribut khusus milik SUPTIPE 1 Atribut-atribut khusus milik SUPTIPE 2 Atribut-atribut khusus milik SUPTIPE 3
Tipe entitas umum
Pengkhususan dari
Notasi Hubungan
Notasi Hubungan
Supertipe/Subtipe
Supertipe/Subtipe
Simbol lingkaran digunakan untuk
Simbol lingkaran digunakan untuk
menghubungkan garis ke supertipe dan
menghubungkan garis ke supertipe dan
suptipe
suptipe
Simbol Bentuk
Simbol Bentuk--U pada garis yang
U pada garis yang
menghubungkan simbol lingkaran dan
menghubungkan simbol lingkaran dan
suptipe menyatakan bahwa suptipe adalah
suptipe menyatakan bahwa suptipe adalah
bagian dari supertipe
Contoh Supertipe dan Subtipe
Contoh Supertipe dan Subtipe
PEGAWAI
PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK
Gaji_Bulanan Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Tunjangan Nomor_Kontrak Lama_Kontrak Kompensasi
Pilihan Model Konseptual
Pilihan Model Konseptual
1.
1.
Buat sebuah tipe entitas bernama
Buat sebuah tipe entitas bernama
PEGAWAI
PEGAWAI
2.
2.
Buat tiga buah entitas terpisah
Buat tiga buah entitas terpisah
3.3.
Buat supertipe dan subtipe seperti pada
Buat supertipe dan subtipe seperti pada
contoh di depan
contoh di depan
Contoh Supertipe dan Subtipe
Contoh Supertipe dan Subtipe
PASIEN Kode_Pasien
RAWAT JALAN RAWAT INAP Tgl_Kunjung
Ditangani_oleh DOKTER Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_Tidur Tgl_Pulang
Pewarisan Atribut
Pewarisan Atribut
Pewarisan atribut (
Pewarisan atribut (
attribute inheritance
attribute inheritance
)
)
merupakan sifat yang membuat entitas
merupakan sifat yang membuat entitas
subtipe mewarisi nilai
subtipe mewarisi nilai--nilai yang terdapat
nilai yang terdapat
pada semua atribut dalam supertipe
pada semua atribut dalam supertipe
Contoh Nama_Pegawai terdapat pada
Contoh Nama_Pegawai terdapat pada
supertipe PEGAWAI. Nilai atribut ini
supertipe PEGAWAI. Nilai atribut ini
dengan sendirinya diwarisi oleh subtipe
dengan sendirinya diwarisi oleh subtipe
seperti PEGAWAI TETAP
Proses Pembuatan Hubungan
Proses Pembuatan Hubungan
Supertipe/Subtipe
Supertipe/Subtipe
1.
1. Generalisasi Generalisasi
Proses perancangan yang bersifat Proses perancangan yang bersifat bottombottom--upup
Pembuatan entitas yang bersifat umum dimulai dari Pembuatan entitas yang bersifat umum dimulai dari
tipe
tipe--tipe entitas yang bersifat khusustipe entitas yang bersifat khusus
2.
2. SpesialisasiSpesialisasi
Proses perancangan yang bersifat Proses perancangan yang bersifat toptop--downdown
Pembuatan satu atau beberapa entitas yang Pembuatan satu atau beberapa entitas yang
bersifat khusus (subtipe) dilakukan dari entitas yang bersifat khusus (subtipe) dilakukan dari entitas yang bersifat umum terlebih dulu (supertipe)
Ilustrasi Generalisasi
Ilustrasi Generalisasi
MOBIL ID_Kendaraan Nama_Kendaraan Model Tahun Jumlah_Penumpang Harga Cc_Mesin TRUK ID_Kendaraan Nama_Kendaraan Model Tahun Kapasitas Harga Cc_Mesin MOTOR ID_Kendaraan Nama_Kendaraan Model Tahun Harga Cc_MesinTiga tipe entitas dibuat terlebih dulu (MOBIL, TRUK, MOTOR)
Ilustrasi Generalisasi
Ilustrasi Generalisasi
KENDARAAN ID_Kendaraan Nama_Kendaraan Model Tahun Jumlah_Penumpang Harga Cc_Mesin MOBIL KapasitasGeneralisasi supertipe KENDARAAN (Entitas MOTOR tidak muncul
secara eksplisit)
Ilustrasi Spesialisasi
Ilustrasi Spesialisasi
SUKU CADANG Harga_Per_Unit Kode_Pemasok Nomor_Suku_Cadang Jumlah_Tersedia Lokasi Nama_Suku_Cadang Kondisi:• Kode_Pemasok dan Harga_Per_Unit terkait dnegan suku cadang yang dibeli dari pemasok • Routing_Number terkait dengan pabrik (tempat suku cadang dibuat sendiri)
Ilustrasi Spesialisasi
Ilustrasi Spesialisasi
SUKU CADANG Nomor_Suku_Cadang Jumlah_Tersedia Lokasi Nama_Suku_Cadang Routing_Number SUKU CADANG BUATAN SENDIRI SUKU CADANG DIBELI Memasok PEMASOK Kode_Pemasok Harga_Per_UnitContoh Lain Spesialisasi
Contoh Lain Spesialisasi
Entitas ORANG mengandung atribut
Entitas ORANG mengandung atribut
Nama, Alamat, Kota
Nama, Alamat, Kota
Seseorang bisa dipecah lagi menjadi:
Seseorang bisa dipecah lagi menjadi:
PELANGGANPELANGGAN
Kekangan Kelengkapan
Kekangan Kelengkapan
Kekangan kelengkapan (Kekangan kelengkapan (completeness completeness
constraint
constraint) adalah jenis kekangan yang ) adalah jenis kekangan yang
ditujukan untuk menjawab pertanyaan “apakah ditujukan untuk menjawab pertanyaan “apakah suatu instan dari supertipe harus juga menjadi suatu instan dari supertipe harus juga menjadi paling tidak anggota dari sebuah subtipe”
paling tidak anggota dari sebuah subtipe”
Kekangan kelengkapan memiliki 2 aturan:Kekangan kelengkapan memiliki 2 aturan:
Spesialisasi parsial (Spesialisasi parsial (partial specializationpartial specialization))
•• Suatu instan supertipe Suatu instan supertipe boleh tidak menjadi bagianboleh tidak menjadi bagian dari dari subtipe
subtipe
Spesialisasi total (Spesialisasi total (total specializationtotal specialization))
Ilustrasi Aturan Spesialisasi
Ilustrasi Aturan Spesialisasi
Total
Total
PASIEN Kode_Pasien
RAWAT JALAN RAWAT INAP Tgl_Kunjung
Ditangani_oleh DOKTER Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_Tidur Tgl_Pulang
Tgl_Balik
Aturan bisnis:
• Setiap pasien harus tergolong sebagai salah satu: pasien rawat jalan atau pasien rawat inap
• Pada contoh ini, penambahan pada PASIEN dengan sendiri akan menambahkan ke salah satu: RAWAT JALAN atau RAWAT INAP
Spesialisasi total
Ilustrasi Spesialisasi Parsial
Ilustrasi Spesialisasi Parsial
KENDARAAN ID_Kendaraan Nama_Kendaraan Model Tahun Jumlah_Penumpang Harga Cc_Mesin MOBIL Kapasitas
• Jika kendaraan adalah mobil, maka akan menjadi instan dari MOBIL
• Jika kendaraan adalah truk, maka akan menjadi instan dari TRUK
• Tapi jika kendaraan adalah sepeda motor, tidak akan muncul dalam subtipe
Disjointness Constraint
Disjointness Constraint
Disjointness constraintDisjointness constraint adalah kekangan yang adalah kekangan yang
ditujukan untuk menjawab pertanyaaan “apakah ditujukan untuk menjawab pertanyaaan “apakah suatu instan supertipe bisa secara serentak
suatu instan supertipe bisa secara serentak menjadi angota dua buah suptipe (atau lebih)”. menjadi angota dua buah suptipe (atau lebih)”.
Dua aturan pada Dua aturan pada disjointness constraintdisjointness constraint ::
Aturan Aturan disjointdisjoint : jika suatu instan supertipe adalah : jika suatu instan supertipe adalah
anggota salah satu subtipe, maka instan tersebut anggota salah satu subtipe, maka instan tersebut tidak boleh
tidak boleh menjadi anggota subtipe yang lainmenjadi anggota subtipe yang lain
Aturan Aturan overlapoverlap : jika suatu instan supertipe adalah : jika suatu instan supertipe adalah
anggota salah satu subtipe, maka instan tersebut anggota salah satu subtipe, maka instan tersebut boleh menjadi anggota
Ilustrasi Aturan Disjoint
Ilustrasi Aturan Disjoint
PASIEN Kode_Pasien
RAWAT JALAN RAWAT INAP
d
Tgl_Kunjung
Ditangani_oleh DOKTER Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_Tidur Tgl_Pulang
Tgl_Balik
Aturan bisnis:
• Pada waktu yang sama, tidak mungkin seseorang pasien masuk kategori RAWAT JALAN dan RAWAT INAP
Ilustrasi Aturan Overlap
Ilustrasi Aturan Overlap
SUKU CADANG Nomor_Suku_Cadang Jumlah_Tersedia Lokasi Nama_Suku_Cadang Routing_Number SUKU CADANG BUATAN SENDIRI SUKU CADANG DIBELI o Memasok PEMASOK Kode_Pemasok Harga_Per_Unit Aturan overlap Aturan bisnis:
• Suatu suku cadang bisa berasal dari buatran sendiri atau beli
• Contoh: suku cadang dengan kode AX-003 memiliki jumlah sediaan sebanyak 60 buah (40 berasal dari pembelian dan 20 berasal dari buatan sendiri)
Pembeda Subtipe
Pembeda Subtipe
Masalah yang timbul dalam hubungan
Masalah yang timbul dalam hubungan
supertipe/subtipe: “Ke dalam subtipe yang
supertipe/subtipe: “Ke dalam subtipe yang
mana suatu instan akan disisipkan?”
mana suatu instan akan disisipkan?”
Hal ini diatasi dengan pembeda subtipe
Hal ini diatasi dengan pembeda subtipe
((
Subtype discriminator
Subtype discriminator
))
Pembeda subtipe
Pembeda subtipe
adalah suatu atribut
adalah suatu atribut
pada supertipe yang nilainya menentukan
pada supertipe yang nilainya menentukan
target sebuah subtipe atau beberapa
target sebuah subtipe atau beberapa
subtipe
Pembeda Subtipe
Pembeda Subtipe
SUKU CADANG Nomor_Suku_Cadang Jumlah_Tersedia Lokasi Nama_Suku_Cadang Routing_Number SUKU CADANG BUATAN SENDIRI SUKU CADANG DIBELI o Memasok PEMASOK Kode_Pemasok Harga_Per_Unit Pembeda subtipe Tipe_Suku_Cadang:Pembeda Subtipe (Lanjutan…)
Pembeda Subtipe (Lanjutan…)
Tipe Suku Cadang Buatan Sendiri Beli Dibuat sendiri “Y” “T” Beli saja “T” “Y” Dibuat sendiri dan juga beli “Y” “Y”
Pembeda Subtipe
Pembeda Subtipe
PEGAWAI
d
PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK
Gaji_Bulanan Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Tunjangan Nomor_Kontrak Lama_Kontrak Kompensasi Tipe_Pegawai:
“H” “K” “T”
Contoh Soal
Contoh Soal
Bank memiliki tiga jenis rekening: cek, tabungan, Bank memiliki tiga jenis rekening: cek, tabungan,
pinjaman pinjaman
Atribut untuk ketiga rekening:Atribut untuk ketiga rekening:
CEK=(No_Rek, Tgl_Buka, Saldo, Biaya_Layanan) CEK=(No_Rek, Tgl_Buka, Saldo, Biaya_Layanan) TABUNGAN=(No_rek, Tgl_Buka, Saldo, Bunga) TABUNGAN=(No_rek, Tgl_Buka, Saldo, Bunga)
PINJAMAN=(No_Rek, Tgl_Buka, Bunga, Pembayaran) PINJAMAN=(No_Rek, Tgl_Buka, Bunga, Pembayaran)
Setiap rekening harus menjadi salah satu dari Setiap rekening harus menjadi salah satu dari
ketiga subtipe. Dengan menggunakan ketiga subtipe. Dengan menggunakan generalisasi, buatlah model EER
generalisasi, buatlah model EER
Soal EER
Soal EER
Gambarkan diagram EER
Gambarkan diagram EER--nya untuk masingnya untuk
masing--masing persoalan berikut, bila ATLIT, PELARI, masing persoalan berikut, bila ATLIT, PELARI, PETEMBAK, dan PEMBALAP adalah entitas: PETEMBAK, dan PEMBALAP adalah entitas:
Suatu ATLIT tidak harus menjadi PELARI, Suatu ATLIT tidak harus menjadi PELARI,
PETEMBAK, dan PEMBALAP PETEMBAK, dan PEMBALAP
Suatu ATLIT bisa menjadi salah satu PELARI, Suatu ATLIT bisa menjadi salah satu PELARI,
PETEMBAK, dan PEMBALAP PETEMBAK, dan PEMBALAP
Suatu ATLIT bisa menjadi PELARI, Suatu ATLIT bisa menjadi PELARI,
PETEMBAK, dan PEMBALAP sekaligus PETEMBAK, dan PEMBALAP sekaligus