Rabu, 13 Juni 2012

Enhanced Entity Relations Diagram (EERD)


Enhanced Entity Relations Diagram (EERD)

Berawal dari tahun 1980-an dimana meningkatkannya kebutuhan akan aplikasi basis data untuk macam aplikasi yang juga meningkat. Konsep dasar dari Entity Relationship yang tidak dapat mencukupi untuk aplikasi-aplikasi baru yang lebih kompleks, sehingga memicu untuk adanya sebuah model yang berdasar kepada model sematik. Model semantic ini adalah pengembangan lebih lanjut dari model ER yang sudah ada, yang disebuh sebagai Enhanced Entity Relationship atau EER. Selanjutnya dari model ini diperkenalkan konsep utama yaitu spesialisasi/generalisasi dan bagaimana konsep ini digunakan dalam diagram EER dengan menggunakan UML. Kemudian akan dibahas juga konsep komposisi dan agregasi yang juga akan direpresentasikan dalam diagram dengan UML.

1. Spesialisasi/Generalisasi
Konsep dari spesialisasi/generalisasi dihubungkan dengan tipe entity khusus yang dikenal dengan superclass dan subclass, dan proses dari attribute inheritance.
  • Superclass dan subclass
Dari konsep ER pada umumnya hubungan entitas yang satu dengan yang lain mempunyai level atau hirarki yang sama, sementara pada konsep superclass dan subclass, dapat dilihat bias terdapat hirarki pada tipe entitinya.
Superlass adalah tipe entity yang didalamnya terdapat subgroup yang lebih unik didalam model data. Sedangkan subclass adalah subgroup yang unik didalam model data. Sebagai contoh, entitas yang terdapat pada entitas staff terdapat tipe entitas yang ada dibawahnya yaitu Manager, Sales Personel, dan Secretary. Itu ddapat disimpulkan bahwa entitas staff adalah superclass dan ketiga entitas dibawahnya adalah subclass
  • Superclass/subclass relationship
Setiap entitas dalam subclass juga termasuk kedalam superclass. Dengan kata lain entitas yang ada dalam subclass ada didalam superclass, tetapi memiliki peran/fungsi yang berbeda. Hubungan antar superclass dan subclass adalah satu ke satu (1:1). Dalam hal ini kita dapat menghindari pendefinisan staf yang berbeda dalam sebuah entitas yang mungkin mempunyai beberapa atribut yang berbeda. Misalkan didalam entitas staff terdapat atribut sales area dan car allowance, yang mana atribut tersebut hanya dipergunakan oleh staff dengan peran sales personnel, bila hal ini diimplementasikan dengan satu jenis entitas saja maka akan menghasilkan nilai null untuk atribut specific role. Sebenarnya untuk sales personnel, memiliki atribut yang sama dengan staff kebanyakan yaitu staffno, name, position, salary, tetapi atribut yang berbeda inilah yang nantinya akan bermasalah apabila dibuatkan hanya satu model entitas saja. Perhatikan gambar 1 yang memperlihatkan semua atribut dari staff tanpa melihat dari posisi. Kosekuensi yang harus diterima adalah ketika membuat strukturnya menjadi seperti ini adalah ketika atribut (staffno, name, position, salary) yang merupakan atribut wajib dari staff akan berisi, sedangkan atribut lain yang berkorespondensi dengan masing-masing posisi tidak selalu berisi.










     
Gambar 1 Relasi Allstaff dengan atribut dari berbagai subclass nya.

Terdapat dua hal yang menjadi alasan dari  superclassdan subclass dalam model ER. Yang pertama, menghindari pembuatan entitas yang sama untuk posisi yang berbeda, sehingga membuat ER diagram lebih mudah untuk dibaca dan dipahami. Yang kedua, lebih memudahkan arti semantiknya. Misalkan “Manager adalah bagian dari staff”  hal inilah yang membuat ER menjadi lebih berarti.
  • Attribute inheritance/Pewarisan Atribut
Seperti yang telah disebutkan sebelumnya, bahwa setiap superclass dapat dibagi menjai sub class. Disini, atribut dari superclass akan menjadi atribut juga dari subclass yang ada dibawahnya. Ada pewarisan atribut dari superclass ke subclass. Misalkan, superclass staff dengan atribut (staffno, name, position dan salary ) juga akan menjadi atribut bagi member subclass, seperti manager, secretary, Sales Personnel. Sementara itu atribut – atribut yang sifatnya spesifik hanya ada pada subclass-subclass nya. Sebuah entitas beserta subclass-subclas nya disebut dengan hirarki tipe. Terdapat tiga jenis hirarki. Yang pertama adalah hirarki spesialisasi contoh Manager adalah spesialisasi dari Staff. Kemudian terdapat hirarki generalisasi, contoh staff adalah generalisasi dari Manager. Dan hirarki IS-A contoh Manager IS-A anggota dari Staff. Sebuah subclass dengan banyak superclass dinamakan shared subclass. Sebagai konsekuensinya setiap atribut didalam superclass merupakan pewarisan dari atribut Shared subclass. Proses seperti ini dinamakan sebagai multiple inheritance. 
  • Proses Spesialisasi
Spesialisasi adalah proses yang memaksimalkan perbedaan antara anggota entitas dengan cara mengidentifikasikan perbedaan karakteristik masing-masing anggota.
  • Proses Generalisasi
Generalisasi adalah proses yang meminimasi perbedaan antara entitas dengan cara mencari kesamaan –kesamaan yang ada.
Gambar 2 Spesialisasi/ Generalisasi entitas Staff berdasarkan job roles
Gambar 3 Spesialisasi/ Generalisasi entitas Staff berdasarkan job roles dan contract of employee





















  • Constraint dalam spesialisasi dan generalisasi
Terdapat dua constraint dalam spesialisasi dan generalisasi, yaitu participation constraint dan disjoint constraint.

Participation Constraint
Participation constraint menentukan apakah setiap anggota dari superclass harus berpartisipasi dalam setiap member dari subclass. Dalam participation constraint bisa jadi mandatory atau optional.
Mandatoryà setiap member dari superclass juga merupakan member dari subclass. Sebagai contoh, dari gambar 3 contract of employment specialization/generalization adalah mandatory, berarti setiap member dari staff harus memiliki contract of employment.
Optionalà setiap member dari superclass tidak harus menjadi member dari subclass. Contoh, dari gambar 3 memperlihatkan bahwa setiap staf tidak harus menjadi manager, sales personnel atau secretaries.

Disjoint Constraint
Disjoint constraint menentukan hubungan antar setiap member dari subclass dan menunjukkan apakah mungkin sebuah superclass merupakan anggota dari 1 atau lebih subclass. Disjoint constraint ini hanya digunakan apabila superclass memiliki lebih dari satu subclass. Dalam Disjoint Participation, terdapat dua constraint, yaitu Or dan And.
Orà jika subclassnya disjoint maka membernya hanya menjadi member dari satu subclass, contoh: seorang staf hanya bisa jadi full time atau part-time saja.
Andà jika subclassnya non-disjoint maka entitasnya dapat menjadi member dari satu atau lebih subclass. Contoh: entitas staf menjadi bagian dari member Manager, Sales Personnel dan Secretary.

 
                                         Gambar 4 Superclass staff dan subclassnya

            Dari gambar 4 diketahui bahwa participation constraintnya adalah optional, artinya ada staff, supervisor atau manajer, sedangkan or berarti seorang staf bisa menjadi supervisor atau manager.


Dari gambar 5 untuk participation constraintnya mandatory, menyatakan bahwa atribut dari owner harus merupakan atribut dari private owner dan business owner. Disjoint participationnya adalah or berarti seorang hanya dapat menjadi private owner atau business owner.


 









Gambar 5 superclass owner dan subclassnya private owner dan bsiness owner.

2. Aggregasi

Agregasi menggambarkan hubungan ‘memiliki’ atau ‘bagian dari’ antar tipe entitasnya, dimana yang satu menunjukkan seluruh dan yang lain menunjukkan sebagian. Memperlihatkan hubungan antar entitas dari tingkat hirarki yang sama. Kadang pada saat kita akan mendefinisikan suatu entitas yang mengidentifikasi entitas yang besar yang terdiri dari entitas yang lebih kecil. Jenis hubungan seperti ini disebut agregasi (Booch et al, 1998)
Gambar 6
Contoh agregasi
 







3. Komposisi
      Bentuk khusus dari agregasi yang merepresentasikan asosiasi antar entitas, dimana terdapat kepemilikan yang kuat antar ‘seluruh’ dan ‘sebagian’.


 






Gambar 7 contoh komposisi


Sebagai kesimpulan bahwa EERD ini merupakan konsep yang dikembangkan dari konsep ER sebelumnya dengan mengunakan konsep UML.





Tidak ada komentar:

Posting Komentar