Spesialisasi/Generalisasi RELATIONSHIP dalam OOP


     Spesialisasi
Spesialisasi adalah Proses mendesain subgrup di dalam suatu entity . Suatu himpunan entitas bisa memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitasdalam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini.
Contoh : himpunan entitas account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari (gambar 4.5):


savings-account
checking-account
Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, danchecking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambang sama.
        Generalisasi

Generalisasi adalah proses  pendefinisian  subclass-subclass yang  disatukan  menjadi entitas  superclass  tunggal  berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama. Persamaan ini dapat diekspresikan dengan generalisasi (lihat gambar 4.5).



                       Manfaat Spesialisasi
♦  Mendefinisikan himpunan subclass- subclass dari suatu entity type
♦  Menggambarkan attribute spesifik untuk  tiap subclass
♦  Menggambarkan relationship spesifik  antara suatu subclass dengan entity  type lain atau dengan subclass lain

                       Manfaat Generalisasi
♦   Kebalikan dari proses spesialisasi
♦   Dilakukan dengan mengidentifikasi attribute-attribute yang sama dan melakukan generalisasi ke sebuah  superclass
♦   Contoh:
           TRUCK & CAR dapat digeneralisasi menjadi VEHICLE

Spesialisasi/Generalisasi RELATIONSHIP dalam OOP Rating: 4.5 Diposkan Oleh: Mambaur Roziq Alwi

No comments:

Post a Comment