e-r model
DESCRIPTION
E-R Model. EER. Digunakan untuk menangani hubungan supertipe/subtipe Supertipe adalah suatu entitas yang bersifat umum Subtipe adalah suatu entitas yang merupakan pengkhususan dari supertipe Contoh: MOBIL dapat menjadi supertipe SEDAN, MINIBUS, JIP dapat berkedudukan sebagai subtipe. - PowerPoint PPT PresentationTRANSCRIPT
E-R Model
EER
• Digunakan untuk menangani hubungan supertipe/subtipe
• Supertipe adalah suatu entitas yang bersifat umum
• Subtipe adalah suatu entitas yang merupakan pengkhususan dari supertipe
• Contoh:– MOBIL dapat menjadi supertipe– SEDAN, MINIBUS, JIP dapat berkedudukan sebagai
subtipe
Hubungan Supertipe/SubtipeAtribut-atribut yang
bersifat umum
SUPERTIPE
SUBTIPE 1 SUBTIPE 2 SUBTIPE 3
Atribut-atribut khususmilik SUPTIPE 1
Atribut-atribut khususmilik SUPTIPE 2
Atribut-atribut khususmilik SUPTIPE 3
Tipe entitas umum
Pengkhususan dari
supertipe
Notasi Hubungan Supertipe/Subtipe
• Simbol lingkaran digunakan untuk menghubungkan garis ke supertipe dan suptipe
• Simbol Bentuk-U pada garis yang menghubungkan simbol lingkaran dan suptipe menyatakan bahwa suptipe adalah bagian dari supertipe
Contoh Supertipe dan Subtipe
PEGAWAI
PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK
Gaji_Bulanan
Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Nomor_KontrakLama_KontrakTunjangan
Kompensasi
Pilihan Model Konseptual
1. Buat sebuah tipe entitas bernama PEGAWAI
2. Buat tiga buah entitas terpisah3. Buat supertipe dan subtipe seperti pada
contoh di depan
Contoh Supertipe dan Subtipe
PASIEN
Kode_Pasien
RAWAT JALAN RAWAT INAP
Tgl_Kunjung
Ditangani_oleh DOKTER
Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_TidurTgl_PulangTgl_Balik
Pewarisan Atribut
• Pewarisan atribut (attribute inheritance) merupakan sifat yang membuat entitas subtipe mewarisi nilai-nilai yang terdapat pada semua atribut dalam supertipe
• Contoh Nama_Pegawai terdapat pada supertipe PEGAWAI. Nilai atribut ini dengan sendirinya diwarisi oleh subtipe seperti PEGAWAI TETAP
Proses Pembuatan Hubungan Supertipe/Subtipe
1. Generalisasi – Proses perancangan yang bersifat bottom-up– Pembuatan entitas yang bersifat umum dimulai dari
tipe-tipe entitas yang bersifat khusus2. Spesialisasi
– Proses perancangan yang bersifat top-down– Pembuatan satu atau beberapa entitas yang
bersifat khusus (subtipe) dilakukan dari entitas yang bersifat umum terlebih dulu (supertipe)
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_Mesin
Tiga tipe entitas dibuat terlebih dulu(MOBIL, TRUK, MOTOR)
Ilustrasi Generalisasi
KENDARAAN
ID_Kendaraan Nama_Kendaraan
Model Tahun
Jumlah_Penumpang
Harga Cc_Mesin
MOBIL
Kapasitas
Generalisasi supertipe KENDARAAN(Entitas MOTOR tidak muncul
secara eksplisit)
TRUK
Ilustrasi Spesialisasi
SUKU CADANG
Harga_Per_Unit
Kode_PemasokNomor_Suku_Cadang
Jumlah_Tersedia
LokasiNama_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)
Routing_Number
Ilustrasi Spesialisasi
SUKU CADANG
Nomor_Suku_Cadang
Jumlah_Tersedia
Lokasi
Nama_Suku_Cadang
Routing_Number
SUKU CADANGBUATAN SENDIRI
SUKU CADANGDIBELI Memasok
PEMASOK
Kode_Pemasok
Harga_Per_Unit
Contoh Lain Spesialisasi
• Entitas ORANG mengandung atribut Nama, Alamat, Kota
• Seseorang bisa dipecah lagi menjadi:– PELANGGAN– PEGAWAI
Kekangan Kelengkapan• Kekangan kelengkapan (completeness
constraint) adalah jenis kekangan yang ditujukan untuk menjawab pertanyaan “apakah suatu instan dari supertipe harus juga menjadi paling tidak anggota dari sebuah subtipe”
• Kekangan kelengkapan memiliki 2 aturan:– Spesialisasi parsial (partial specialization)
• Suatu instan supertipe boleh tidak menjadi bagian dari subtipe
– Spesialisasi total (total specialization)• Setiap instan supertipe harus menjadi anggota dari subtipe
Ilustrasi Aturan Spesialisasi Total
PASIEN
Kode_Pasien
RAWAT JALAN RAWAT INAP
Tgl_Kunjung
Ditangani_oleh DOKTER
Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_TidurTgl_PulangTgl_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
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
TRUK
Disjointness Constraint• Disjointness constraint adalah kekangan yang
ditujukan untuk menjawab pertanyaaan “apakah suatu instan supertipe bisa secara serentak menjadi angota dua buah suptipe (atau lebih)”.
• Dua aturan pada disjointness constraint :– Aturan disjoint : jika suatu instan supertipe adalah
anggota salah satu subtipe, maka instan tersebut tidak boleh menjadi anggota subtipe yang lain
– Aturan overlap : jika suatu instan supertipe adalah anggota salah satu subtipe, maka instan tersebut boleh menjadi anggota subtipe yang lain
Ilustrasi Aturan Disjoint
PASIEN
Kode_Pasien
RAWAT JALAN RAWAT INAP
d
Tgl_Kunjung
Ditangani_oleh DOKTER
Kode_Dokter
Ditempatkan_ke TEMPAT TIDUR
Kode_Tempat_TidurTgl_PulangTgl_Balik
Aturan bisnis:• Pada waktu yang sama, tidak mungkin seseorang pasien masuk kategori RAWAT JALAN dan RAWAT INAP
Aturan disjoint
Ilustrasi Aturan Overlap
SUKU CADANG
Nomor_Suku_Cadang
Jumlah_Tersedia
Lokasi
Nama_Suku_Cadang
Routing_Number
SUKU CADANGBUATAN SENDIRI
SUKU CADANGDIBELI
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
• Masalah yang timbul dalam hubungan supertipe/subtipe: “Ke dalam subtipe yang mana suatu instan akan disisipkan?”
• Hal ini diatasi dengan pembeda subtipe (Subtype discriminator)
• Pembeda subtipe adalah suatu atribut pada supertipe yang nilainya menentukan target sebuah subtipe atau beberapa subtipe
Pembeda Subtipe
SUKU CADANG
Nomor_Suku_Cadang
Jumlah_Tersedia
Lokasi
Nama_Suku_Cadang
Routing_Number
SUKU CADANGBUATAN SENDIRI
SUKU CADANGDIBELI
o
Memasok
PEMASOK
Kode_Pemasok
Harga_Per_Unit
Pembeda subtipeTipe_Suku_Cadan
g:Buatan Sendiri?=“Y”
Beli?=Y”
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
PEGAWAI
d
PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK
Gaji_Bulanan
Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Nomor_KontrakLama_KontrakTunjangan
Kompensasi
Tipe_Pegawai:
“H”
“K”“T”
Contoh Soal
• Bank memiliki tiga jenis rekening: cek, tabungan, pinjaman
• Atribut untuk ketiga rekening:CEK=(No_Rek, Tgl_Buka, Saldo, Biaya_Layanan)TABUNGAN=(No_rek, Tgl_Buka, Saldo, Bunga)PINJAMAN=(No_Rek, Tgl_Buka, Bunga, Pembayaran)
• Setiap rekening harus menjadi salah satu dari ketiga subtipe. Dengan menggunakan generalisasi, buatlah model EER
• Sertakan pula pembeda subtipe
Soal EERGambarkan diagram EER-nya untuk masing-
masing persoalan berikut, bila ATLIT, PELARI, PETEMBAK, dan PEMBALAP adalah entitas:
• Suatu ATLIT tidak harus menjadi PELARI, PETEMBAK, dan PEMBALAP
• Suatu ATLIT bisa menjadi salah satu PELARI, PETEMBAK, dan PEMBALAP
• Suatu ATLIT bisa menjadi PELARI, PETEMBAK, dan PEMBALAP sekaligus