Pages

Minggu, 10 Oktober 2010

Enhanced Entity Relationship Diagram/ EERD

Enhanced Entity Relationship Diagram/ EERD1. Pemetaan Diagram Hubungan Entitas (ERD) Kedalam Tabel

Setelah pemodelan Hubungan entitas yang digambarkan dengan diagram

Hubungan entitas (ERD) dianggap sudah representatif, maka langkah berikut adalah

memetakannya menjadi satu set tabel sebuah basis data.


2. Langkah-Langkah Pemetaan

• Setiap entitas tetap (regular entities) dipetakan menjadi sebuah tabel, dan atribut-

atribut entitas tersebut menjadi atribut dari tabel yang bersangkutan. Tetapkan

kunci primer atribut tersebut berdasarkan apa yang telah diidentifikasi pada saat

melakukan pemodelan Hubungan entitas. Perhatikan entitas-entitas tetap pada

diagram Hubungan entitas (ERD) pada Gambar 3-12, pemetaan entitas tersebut

adalah sebagai berikut:

• Pegawai = NoPgw + NmPgw + {Pddk}

• NmPgw adalah atribut komposisi dari atribut NmAwal dan NmKlg.

• Pddk adalah atribut komposisi berulang (repeating group) atau

bernilai banyak (multivalue), terdiri dari NmPddk dan ThLulus

• Divisi = NoDivisi + NmDivisi

• Proyek = NoProyek + NmProyek + Anggaran

• Tunjangan = KodeTnj + NmTnj

• Setiap entitas lemah (weak entities) dipetakan menjadi sebuah tabel, atribut-atribut

entitas lemah tersebut menjadi atribut tabel yang bersangkutan ditambah dengan

atribut kunci utama yang berasal dari entitas tetap yang menjadi relasinya. Kunci

utama entitas atau tabel tersebut diambil dari atribut yang ada pada entitas lemah

tersebut ditambah dengan atribut kunci entitas tetapnya. Contoh, kunci utama

tabel Tanggungan adalah NamaTgg dan NoPgw, dimana NoPgw adalah kunci utama tabel Pegawai yang merupakan relasi dari entitas Tanggungan, lihat Gambar 3-12.

3. Hasil pemetaan entitas Tanggungan menjadi tabel Tanggungan, yaitu:

• Tanggungan = NoPgw + NamaTgg + TgLahir

• Atribut-atribut komposisi yang terdapat pada suatu entitas diubah menjadi atribut-

atribut sederhana yang merupakan komposisi atribut tersebut. Atribut-atribut

sederhana tersebut tetap menjadi bagian dari entitas atau tabel yang bersangkutan.

4. Tabel Pegawai memiliki atribut komposisi (bukan atribut berulang), maka tabel

Pegawai menjadi:

• Pegawai = NoPgw + NmAwal + NmKlg + {Pddk}

• Atribut-atribut bernilai jamak (multivalue attributes) dari suatu entitas Ei

dipisahkan dari entitas Ei, jadikan sebagai tabel tersendiri yaitu Ej dan atribut-

atribut bernilai jamak tersebut menjadi atribut dari tabel baru Ej. Tambahkan

kunci utama (primary key) Ki dari tabel Ei kedalam tabel baru Ej. Pilih satu atau

lebih atribut tabel Ej bersama dengan Ki menjadi kunci utama (primary key -

kompisisi) Kj dari tabel Ej. Atribut Ki menjadi kunci asing (foreign key) bagi entitas

Ej. Perhatikan tabel Pegawai hasil pemetaan diatas masih memiliki atribut berulang

(repeating group) atau bernilai banyak (multivalue) yaitu Pddk, dan kebetulan

atribut tersebut juga merupakan atribut komposisi, maka pemetaannya menjadi

sebagai berikut:

• Pegawai = NoPgw + NmAwal + NmKlg

• PdkPegawai = NoPgw + NmPddk + ThLulus

• Atau, tabel menjadi Pegawai = NoPgw + NmAwal + NmKlg + NmPddk + ThLulus

(sebagai langkah kompromi)


• Hubungan P dengan kendala struktural one-to-one antara entitas Ei dengan entitas Ej, pilih kunci Ki sebagai kunci asing bagi tabel Ej, atau kunci Kj sebagai kunci asing bagi tabel Ei. Pemilihan kunci utama suatu entitas dan dijadikan sebagai kunci asing bagi entitas lainnya didasarkan atas banyak sedikitnya tuple masing-masing entitas, serta kemungkinan banyak sedikitnya nilai kosong (null) pada kunci asing tersebut. Jika tuple pada entitas atau tabel Ej lebih sedikit

dibandingkan dengan tuple pada Ei, maka Kj dipilih sebagai kunci asing bagi

entitas atau tabel Ei, demikian pula sebaliknya. Jika kemungkinan banyaknya nilai

kosong (null) kunci asing Ki pada Ej lebih sedikit dibandingkan apabila Kj sebagai

kunci asing pada Ei maka Ki dipilih sebagai kunci asing, demikian pula berlaku

sebaliknya. Atribit-atribut Hubungan disertakan menjadi anggota dari entitas

dimana kunci asing ditempatkan. Sebagai contoh, Hubungan Pimpin antara entitas

Pegawai dengan entitas Divisi, karena tidak setiap pegawai menjadi pimpinan divisi (akan banyak nilai kosong), tetapi setiap divisi pasti punya pimpinan (jumlah tuple lebih sedikit), maka kunci utama entitas Pegawai yaitu NoPgw menjadi kunci asing bagi entitas atau tabel Divisi diberi nama atribut MgrDivisi dan atribut Hubungan tglJabat menjadi bagian dari tabel Divisi, lihat Gambar 3-12. Tabel hasil pemetaan Hubungan biner Pimpin dengan kendala struktur one-to-one menjadi:

• Divisi = NoDivisi + NmDivisi + MgrDivisi + TglJabat

• Hubungan P dengan kendala struktural one-to-many antara entitas Ei dengan

entitas Ej, pilih kunci utama dari entitas Ei dengan kendala satu (one) menjadi

kunci asing bagi entitas Ej dengan kendala banyak (many). Atribut-atribut

Hubungan menjadi bagian dari entitas dengan kendala struktural banyak (many).

Contoh, Hubungan KerjaPada, maka pilih kunci utama dari entitas atau tabel

Divisi (kendala satu) yaitu NoDivisi menjadi kunci asing bagi entitas Pegawai

(Pegawai digunakan untuk menjelaskan bahwa seorang pegawai dipekerjakan pada

suatu divisi tertentu, lihat Gambar 3-12. Atribut Hubungan MulaiTgl pada

Hubungan KerjaPada menjadi bagian dari tabel Pegawai. Bila NoPgw menjadi kunci

asing bagi entitas Divisi hal ini akan mengakibatkan entitas tabel Divisi memiliki

atribut bernilai banyak (multivalue) dan hasl ini melanggar aturan dasar basi data

model relasional (atribut atomik). Hasil pemetaan Hubungan biner KerjaPada dan

Hubungan Tangani dengan kendala struktural one-to-many adalah:

• Pegawai = NoPgw + NmAwal + NmKlg + NoDivisi + MulaiTgl

• Atau, Pegawai = NoPgw + NmAwal + NmKlg + NmPddk + ThLulus + NoDivisi + MulaiTgl

• Proyek = NoProyek + NmProyek + Anggaran + NoDivisi

• Hubungan P dengan kendala struktural many-to-many antara entitas Ei dengan

entitas Ej, maka Hubungan P tersebut dijadikan sebagai entitas atau tabel baru P.

Atribut-atribut Hubungan yang bukan atribut bentukan (generated) menjadi elemen

dari entitas baru P. Tambahkan atribut kunci utama Ki dari entitas Ei dan kunci

utama Kj dari entitas Ej, keduanya menjadi kunci asing bagi entitas P. Kunci utama

(primary key) entitas P adalah berupa komposisi Ki dan Kj. Contoh, Hubungan biner

Peroleh yang merelasikan entitas atau tabel Tunjangan dengan entitas atau tabel

Pegawai dipetakan menjadi tabel Perolehan dengan kunci asing terdiri dari NoPgw

(Pegawai) dan NoTnj (Tunjangan), lihat Gambar 3-12 dan Gambar 3-13. Hasil

pemetaan Hubungan tersebut adalah:

• Perolehan = NoPgw + NoTnj + Nilai

• Atribut-atribut bentukan (generated) dihilangkan dari keanggotaan entitas atau

tabel yang bersangkutan. Atribut Hubungan JmlPgw pada Hubungan KerjaPada

adalah atribut bentukan yang dapat diperoleh dengan melakukan operasi query

melalui fungsi agregat Count dalam SQL.

• Hubungan Q berderajat-n (selain berderajat dua), maka Hubungan tersebut

dijadikan entitas atau tabel Q tersendiri dengan kunci utama Kq (komposisi) yang

berasal dari kunci utama dari entitas-entitas yang berelasi. Bila ada atribut

Hubungan pada Q maka atribut Hubungan tersebut menjadi bagian dari entitas

atau tabel Q. Hubungan derajat tiga (ternary) Jamin yang merelasikan entitas

Pegawai, entitas Tunjangan, dan entitas Proyek menjadi entitas atau tabel

tersendiri yaitu tabel Fasilitas, lihat Gambar 3-12 dan Gambar 3-13. Atribut NoPgw

(Pegawai), NoTnj (Tunjangan), dan NoProyek (Proyek) menjadi kunci asing bagi tabel

Jamin serta sekaligus menjadi kunci utama. Tabel hasil pemetaan Hubungan

Jamin adalah sebagai berikut:

• Fasilitas = NoPgw + NoTnj + NoProyek + Nilai

• Pada Hubungan rekursif R (binary relationship) terhadap entitas E, pemetaan

dilakukan menggunakan apa yang berlaku pada pemetaaan Hubungan biner P.

Atribut kunci K entitas E sekaligus menjadi kunci asing F bagi entitas E tersebut

(one-to-one dan one-to-many). Meski atribut kunci K sama dengan atribut F tetapi

peran mereka berbeda, maka agar tetap konsisten dengan aturan yang berlaku

pada model relasional, maka digunakan nama yang berbeda yaitu F. Atribut-atribut

Hubungan yang muncul pada R disertakan menjadi bagian dari entitas R tersebut.

Hubungan Supervisi pada Gambar 3-12 adalah suatu Hubungan rekursif terhadap

entitas yang sama yaitu Pegawai. Atribut NoPgw sebagai kunci atribut entitas

Pegawai juga sekaligus berperan lain, oleh karena Hubungan ini menjelaskan relasi

antara pegawai yang menyelia (mensupervisi, kendala satu) dengan pegawai yang

diawasi (disupervisi, kendala banyak). Nama atribut yang tepat adalah nama yang

dapat menjelaskan siapa yang mensupervisi pegawai yang bersangkutan (NoSpvr),

sehingga tabel hasil pemetaan tersebut adalah sebagai berikut:

• Pegawai = NoPgw + NmAwal + NmKlg + NoDivisi + MulaiTgl + NoSpvr

• Atau, Pegawai = NoPgw + NmAwal + NmKlg + NmPddk + ThLulus + NoDivisi +

MulaiTgl + NoSpvr

Biasanya tabel-tabel hasil pemetaan diatas sudah memenuhi tingkat normal dua

(2NF) atau normal tiga (3NF). Namun demikian lakukan evaluasi tingkat normal

(normal form) dari tabel-tabel yang diperoleh dari hasil pemetaa tersebut. Apabila suatu

tabel belum mencapai tingkat normal tertentu yang diharapkan (misal: belum mencapai 3NF, atau 4NF) maka lakukan normalisasi hingga dicapai tingkat normal

tersebut. Tabel-tabel hasil pemetaan contoh diatas adalah sebagai berikut:

• Pegawai = NoPgw + NmAwal + NmKlg + NoDivisi + MulaiTgl + NoSpvr

• PdkPegawai = NoPgw + NmPddk + ThLulus

• Atau, Pegawai = NoPgw + NmAwal + NmKlg + NmPddk + ThLulus + NoDivisi +

MulaiTgl + NoSpvr; [Bila tabel ini yang digunakan maka tabel PddkPegawai tidak

diperlukan lagi]

• Fasilitas = NoPgw + NoTnj + NoProyek + Nilai

• Perolehan = NoPgw + NoTnj + Nilai

• Proyek = NoProyek + NmProyek + Anggaran + NoDivisi

• Divisi = NoDivisi + NmDivisi + MgrDivisi + TglJabat

• Tanggungan = NoPgw + NamaTgg + TgLahir

• Tunjangan = KodeTnj + NmTnj

Jika diamati lebih seksama maka tabel Pegawai dalam bentuk kompromi, meski

jumlah tabel menjadi lebih sedikit namun belum mencapai normal kedua (2NF),

sedangkan tabel lainnya telah mencapai normal ketiga (3NF). Tabel tersebut masih

memiliki unsur ketergantungan parsial (partial dependency), setidaknya pada atribut

NmAwal tidak tergantung sepenuhnya (fully functional dependency) pada atribut NoPgw

dan NmPddk. Oleh sebab itu tabel Pegawai harus dilakukan normalisasi ke tingkat dua

(2NF) melalui dekomposisi dan diperoleh dua tabel, yaitu Pegawai dan PddkPegawai

(sesuai dengan langkah pemetaan standar).

Pada umumnya bila tabel-tabel yang diperoleh telah mencapai normal ketiga

(3NF) dianggap sudah memadai, maka koleksi tabel dari basis data diatas terdiri dari:

Pegawai, PddkPegawai, Tangggungan, Divisi, Proyek, Tunjangan, Perolehan, dan

Fasilitas.

Bila sudah diperoleh tabel-tabel akhir yang dianggap representatif dan dapat

mendukung semua informasi yang direncanakan, nyatakan tabel-tabel tersebut

berserta Hubungannya dalam bentuk diagram Hubungan entitas final (ERD).

5. Perluasan ER (Extended ER)

Kelebihan dari pemodelan Hubungan entitas adalah sebagai alat untuk

mengidentifikasi obyek-obyek sebagai entitas yang saling berinteraksi didalam suatu

sistem dan memungkinkan memperoleh gambaran sistem secara menyeluruh (holistik).

Pada tingkat tertentu diagram Hubungan entitas (ERD) sebagai media untuk

menjelaskan pemodelan tersebut sangat membantu, namun memiliki keterbatasan

yaitu kurang dapat menjelaskan secara rinci entitas yang kompleks. Didalam aplikasi

yang sesungguhnya terkadang ditemui entitas yang kompleks, dan hal ini menyulitkan

pada waktu menggambarkannya dalam bentuk diagram Hubungan entitas (ERD).

Kesulitan tersebut disebabkan karena keterbatasan konsep-konsep dan notasi yang

dimiliki oleh ERD, akibatnya apa yang digambarkan oleh ERD cenderung terkesan

menyederhanakan permasalahan yang sesungguhnya, dan lebih menggambarkan

sistem secara umum.

Sebagai contoh, entitas Pegawai didalam sebuah perusahaan biasanya tidak

homogen, misalnya ditinjau dari jenis pekerjaannya ada kelompok pegawai yang

bekerja berhubungan dengan kegiatan adminisitrasi dan ada kelompok pegawai yang

bekerja berhubungan dengan kegiatan produksi, oleh karenanya tentu dibutuhkan

jenis ketrampilan yang berbeda. Contoh lain mengenai entitas Pegawai dihubungkan

dengan status kepegawainnya, yaitu ada sekelompok pegawai dikategorikan sebagai

pegawai tetap dan kelompok lain adalah pegawai harian. Kelompok pegawai tetap

selain memiliki atribut nomor pegawai (NoPgw), nama awal (NmAwal), nama keluarga

(NmKlg), dan mulai dipekerjakan (MulaiTgl), juga perlu atribut golongan pegawai

(GolPgw) serta jabatan yang dipegang (Jabatan). Kelompok pegawai harian selain

memiliki atribut nomor pegawai (NoPgw), nama awal (NmAwal), nama keluarga (NmKlg), dan mulai dipekerjakan (MulaiTgl), juga perlu atribut upah perharinya (UpHarian) yang tidak diperlukan pada kelompok pegawai tetap. Entitas Pegawai dapat digambarkan dengan ERD yaitu menggabungkan semua atribut dari kelompok pegawai yang ada sehingga susunan atributnya terdiri dari: NoPgw, NmAwal, NmKlg, MulaiTgl, GolPgw, Jabatan, dan UpHarian. Konsekuensi dari skema relasi Pegawai tersebut adalah

apabila tuple relasi yang bersangkutan merupakan pegawai harian maka atribut GolPgw dan Jabatan dikosongkan, demikian pula sebaliknya apabila tuple relasi tersebut adalah pegawai tetap maka atribut UpHarian dikosongkan.

Solusi untuk mengatasi kelemahan yang terdapat pada diagram Hubungan

entitas (ERD) adalah melakukan perluasan terhadap ERD yang disebut sebagai

perluasan pemodelan Hubungan entitas (extended entity relationship diagram - EERD)

yaitu menambahkan konsep dan notasi mengenai spesialisasi (specialization) dan

generalisasi (generalization) dalam bentuk relasi ISA (baca: is e) yang digambarkan

dengan simbol segitiga terbalik (∇).

6. Spesialisasi (Specialization)

Sebuah entitas S dikatakan sebagai sebuah spesialisasi dari entitas lainya yaitu

G, apabila entitas S tersebut memiliki karakteristik yang berbeda dengan entitas G

karena pada entitas spesialisasi S terdapat atau memiliki atribut Ak+1 yang khas dan

tidak dimiiliki entitas G. Namun demikian entitas spesialisasi S memiliki hubungan

relasi ISA dengan entitas G yang berbeda itu, implikasi dari hubungan relasi ISA yaitu

atribut-atribut Ak yang dimiliki oleh entitas G dimiliki pula oleh entitas spesialisasi S,

sehinggan atribut entitas S terdiri dari Ak dan Ak+1. Entitas spesialiasasi kadang

disebut entitas subtipe (subtype). Entitas PgwTetap dan entitas PgwHarian adalah

merupakan entitas spesialisasi dari entitas Pegawai (lihat Gambar 3-14). Meski entitas

PgwTetap dan entitas PgwHarian merupakan spesialisasi dari entitas yang sama yaitu

Pegawai, namun keduanya adalah entitas yang berbeda, pada entitas PgwTetap

memiliki atribut khas yaitu GolPgw dan Jabatan, sedangkan entitas PgwHarian

memiliki atribut khas UpHarian yang tidak dimiliki oleh entitas PgwTetap.

7. Generalisasi (Generalization)

Suatu entitas G merupakan entitas generalisasi apabila atribut-atribut Ak entitas

G dimiliki oleh entitas S yang memiliki relasi ISA dengan entitas G. Generalisasi adalah

merupakan cara pandang dari sisi lain terhadap spesialisasi. Entitas Pegawai

merupakan entitas generalisasi bagi entitas PgwTetap dan PgwHarian, dengan

demikian atribut-atribut yang dimiliki oleh entitas Pegawai yaitu NoPgw, NmAwal,

NmKlg, dan MulaiTgl secara otomatis dimiliki oleh kedua entitas spesialis tersebut

(lihat Gambar 3-14). Maka entitas PgwTetap secara konseptual terdiri dari atribut

NoPgw, NmAwal, NmKlg, MulaiTgl, GolPgw, dan Jabatan sedangkan enitas PgwHarian

secara konseptual terdiri dari atribut NoPgw, NmAwal, NmKlg, MulaiTgl, dan UpHarian.

8. Pemetaan Relasi ISA

Pemetaan entitas dalam relasi ISA adalah sebagai berikut, entitas G dipetakan

menjadi entitas tersendiri G dan atribut-atribut entitas tersebut sebagai elemen atribut

dari relasi G. Entitas spesialisasi S1 dengan atribut spesialisasi Am memiliki relasi ISA

G dipetakan menjadi relasi atau tabel S1 dengan atribut Am sebagai elemen atributnya

ditambah dengan atribut kunci primer Kg dari entitas G sebagai atribut kunci primer

bagi entitas S1. Entitas spesialisasi S2 dengan atribut spesialisasi An memiliki relasi ISA

G dipetakan menjadi relasi S2 dengan atribut An sebagai elemen atributnya ditambah

dengan atribut kunci primer Kg dari entitas G sebagai atribut kunci primer bagi entitas

S2.

Pemetaan relasi ISA antara entitas Pegawai (generalisasi) dengan entitas

PgwTetap dan PgwHarian (spesialisasi) pada Gambar 3-14 adalah sebagai berikut:

• Pegawai = NoPgw + NmAwal + NmKlg + MulaiTgl

• PgwTetap = No_pgw + GolPgw + Jabatan

• PgwHarian = NoPgw + UpHarian

Tidak ada komentar:

Posting Komentar

Silahkan di koment..

Posting lain


Get Free Music