250 likes | 601 Views
Enhanced 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
E N D
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/Subtipe Atribut-atribut yang bersifat umum Tipe entitas umum SUPERTIPE Pengkhususan dari 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
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 Nama_Pegawai Alamat PEGAWAI Nomor_Pegawai Tgl_Mulai_Kerja PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK Kompensasi Upah_Harian Gaji_Bulanan Tunjangan Nomor_Kontrak Lama_Kontrak
Pilihan Model Konseptual • Buat sebuah tipe entitas bernama PEGAWAI • Buat tiga buah entitas terpisah • Buat supertipe dan subtipe seperti pada contoh di depan
Contoh Supertipe dan Subtipe Kode_Pasien Tgl_Kunjung Kode_Dokter Ditangani_oleh DOKTER PASIEN Ditempatkan_ke RAWAT JALAN RAWAT INAP TEMPAT TIDUR Tgl_Balik Tgl_Pulang Kode_Tempat_Tidur
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 • 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 dulu (supertipe)
Ilustrasi Generalisasi Model Tahun ID_Kendaraan Nama_Kendaraan Cc_Mesin Model Tahun Harga MOBIL ID_Kendaraan Nama_Kendaraan Jumlah_Penumpang Cc_Mesin Harga Model Tahun MOTOR ID_Kendaraan Nama_Kendaraan Tiga tipe entitas dibuat terlebih dulu (MOBIL, TRUK, MOTOR) Cc_Mesin Harga TRUK Kapasitas
Ilustrasi Generalisasi Model Tahun ID_Kendaraan Nama_Kendaraan Cc_Mesin Harga Generalisasi supertipe KENDARAAN (Entitas MOTOR tidak muncul secara eksplisit) KENDARAAN MOBIL TRUK Jumlah_Penumpang Kapasitas
Ilustrasi Spesialisasi Harga_Per_Unit Kode_Pemasok Nomor_Suku_Cadang SUKU CADANG Nama_Suku_Cadang Lokasi Jumlah_Tersedia Routing_Number • 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 Jumlah_Tersedia Kode_Pemasok Nomor_Suku_Cadang Lokasi PEMASOK SUKU CADANG Nama_Suku_Cadang Memasok SUKU CADANG BUATAN SENDIRI SUKU CADANGDIBELI Routing_Number 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) • Setiap instan supertipe harus menjadi anggota dari subtipe • Spesialisasi total (total specialization) • Suatu instan supertipe boleh tidak menjadi bagian dari subtipe
Ilustrasi Aturan Spesialisasi Total Kode_Pasien Tgl_Kunjung Kode_Dokter Ditangani_oleh DOKTER PASIEN Spesialisasi total Ditempatkan_ke RAWAT JALAN RAWAT INAP TEMPAT TIDUR Tgl_Balik Tgl_Pulang Kode_Tempat_Tidur • 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
Ilustrasi Spesialisasi Parsial Model Tahun • 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 ID_Kendaraan Nama_Kendaraan Cc_Mesin Harga KENDARAAN MOBIL TRUK Jumlah_Penumpang Kapasitas
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 Kode_Pasien Tgl_Kunjung Kode_Dokter Ditangani_oleh DOKTER PASIEN Aturan disjoint d Ditempatkan_ke RAWAT JALAN RAWAT INAP TEMPAT TIDUR Tgl_Balik Tgl_Pulang Kode_Tempat_Tidur • Aturan bisnis: • Pada waktu yang sama, tidak mungkin seseorang pasien masuk kategori RAWAT JALAN dan RAWAT INAP
Ilustrasi 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) Jumlah_Tersedia Kode_Pemasok Nomor_Suku_Cadang Lokasi PEMASOK SUKU CADANG Nama_Suku_Cadang Aturan overlap o Memasok SUKU CADANG BUATAN SENDIRI SUKU CADANGDIBELI Routing_Number Harga_Per_Unit
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 Jumlah_Tersedia Kode_Pemasok Nomor_Suku_Cadang Lokasi SUKU CADANG PEMASOK Nama_Suku_Cadang Pembeda subtipe Tipe_Suku_Cadang: Buatan Sendiri?=“Y” o Beli?=Y” Memasok SUKU CADANG BUATAN SENDIRI SUKU CADANGDIBELI Routing_Number Harga_Per_Unit
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 Nama_Pegawai Alamat PEGAWAI Nomor_Pegawai Tgl_Mulai_Kerja Tipe_Pegawai: “K” “H” “T” PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK Kompensasi Upah_Harian Gaji_Bulanan Tunjangan Nomor_Kontrak Lama_Kontrak
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