Enhanced E-R Modelfti.uajm.ac.id/ajar/Data Dan Komputer/05.pdfEER •Digunakan untuk menangani...

27
Enhanced E-R Model 4/20/2009 1

Transcript of Enhanced E-R Modelfti.uajm.ac.id/ajar/Data Dan Komputer/05.pdfEER •Digunakan untuk menangani...

Enhanced E-R Model

4/20/2009 1

EER

• Digunakan untuk menangani hubungan supertipe/subtipe

• Supertipe adalah suatu entitas umum

• Subtipe adalah himpunan bagian dari supertipe yang membagi atribut atau relasi dengan jelas dari himpunan bagian yang lain (suatu entitas yang merupakan pengkhususan dari supertipe)

• Contoh:– MOBIL dapat menjadi supertipe

– SEDAN, MINIBUS, JIP dapat berkedudukan sebagai subtipe

4/20/2009 2

Hubungan Supertipe/Subtipe

4/20/2009 3

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

supertipe

Notasi Hubungan Supertipe/Subtipe

• Simbol lingkaran digunakan untukmenghubungkan garis ke supertipe dansubtipe. – dapat juga berupa relasi ISA (relasi antara

supertipe dan subtipe)

• Simbol Bentuk-U pada garis yang menghubungkan simbol lingkaran dan subtipemenyatakan bahwa subtipe adalah bagian darisupertipe

4/20/2009 4

ISA

Contoh kasus

• Diasumsikan dalam sebuah perusahaanterdapat 3 jenis pegawai, yaitu :– Pegawai harian: nomor_pegawai, nama_pegawai,

alamat, tgl_mulai_kerja, upah harian

– Pegawai tetap: nomor_pegawai, nama_pegawai, alamat, tgl_mulai_kerja, gaji_bulanan, tunjangan

– Pegawai kontrak: nomor_pegawai, nama_pegawai, alamat, tgl_mulai_kerja, nomor_kontrak, lama_kontrak, kompensasi.

5

Contoh Supertipe dan Subtipe

4/20/2009 6

PEGAWAI

PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK

Gaji_Bulanan

Nomor_Pegawai

Nama_Pegawai Alamat

Tgl_Mulai_Kerja

Upah_Harian Nomor_Kontrak Lama_KontrakTunjangan

Kompensasi

Pilihan Model Konseptual

1. Buat sebuah tipe entitas bernama PEGAWAI

2. Buat tiga buah entitas terpisah

3. Buat supertipe dan subtipe seperti pada contoh di depan

4/20/2009 7

Contoh Supertipe dan Subtipe

4/20/2009 8

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

4/20/2009 9

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 khusus

2. 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)

4/20/2009 10

Ilustrasi Generalisasi

4/20/2009 11

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

4/20/2009 12

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

4/20/2009 13

SUKU CADANG

Harga_Per_Unit

Kode_PemasokNomor_Suku_Cadang

Jumlah_Tersedia

LokasiNama_Suku_Cadang

Kondisi:

• Kode_Pemasok dan Harga_Per_Unit terkait dengan suku cadang yang dibeli dari pemasok

• Routing_Number terkait dengan pabrik (tempat suku cadang dibuat sendiri)

Routing_Number

Ilustrasi Spesialisasi

4/20/2009 14

SUKU CADANG

Nomor_Suku_Cadang

Jumlah_Tersedia

Lokasi

Nama_Suku_Cadang

Routing_Number

SUKU CADANG

BUATAN SENDIRI

SUKU CADANG

DIBELIMemasok

PEMASOK

Kode_Pemasok

Harga_Per_Unit

Contoh Lain Spesialisasi

• Entitas ORANG mengandung atribut Nama, Alamat, Kota

• Seseorang bisa dipecah lagi menjadi:

– PELANGGAN

– PEGAWAI

4/20/2009 15

Kekangan Kelengkapan

Kekangan kelengkapan (completeness constraint) adalah jenis kekangan yang ditujukan untukmenjawab pertanyaan apakah suatu instan darisupertipe harus juga menjadi paling tidak anggotadari 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

4/20/2009 16

Ilustrasi Aturan Spesialisasi Total

4/20/2009 17

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

4/20/2009 18

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 subtipe (atau lebih).

Dua aturan pada disjointness constraint : Aturan disjoint : jika suatu instan supertipe adalah anggota

salah satu subtipe, maka instan tersebut tidak bolehmenjadi anggota subtipe yang lain

Aturan overlap : jika suatu instan supertipe adalah anggota salah satu subtipe, maka instan tersebut boleh menjadi anggota subtipe yang lain

4/20/2009 19

Ilustrasi Aturan Disjoint

4/20/2009 20

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

4/20/2009 21

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

• 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

4/20/2009 22

23

Figure 4-8 Introducing a subtype discriminator (disjoint rule)

A simple attribute with

different possible values

indicating the subtype

24

Figure 4-9 Subtype discriminator (overlap rule)

A composite

attribute with

sub-attributes

indicating “yes”

or “no” to

determine

whether it is of

each subtype

Pembeda Subtipe

4/20/2009 25

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

subtipeTipe_Suku_Cadang:

Buatan Sendiri?=“Y” Beli?=Y”

Pembeda Subtipe (Lanjutan…)

4/20/2009 26

Tipe Suku Cadang Buatan Sendiri Beli

Dibuat sendiri “Y” “T”

Beli saja “T” “Y”

Dibuat sendiri dan juga beli “Y” “Y”

Pembeda Subtipe

4/20/2009 27

PEGAWAI

PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK

Gaji_Bulanan

Nomor_Pegawai

Nama_Pegawai Alamat

Tgl_Mulai_Kerja

Upah_Harian Nomor_Kontrak Lama_KontrakTunjangan

Kompensasi

Tipe_Pegawai:

“H” “K”

“T”