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
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar
Silahkan di koment..