PEMETAAN ER KE RELASIONAL1

PEMETAAN ER KE RELASIONAL
Skema relasional yang ditunjukan dalam Gambar 2 diperoleh dari skema ER pada Gambar 1 dengan
mengikuti prosedur pemetaan umum. Untuk ilustrasi tiap langkah akan dipakai contoh skema
PERUSAHAAN. Ingat bahwa konsep penting dari model E-R adalah tipe entitas (regular dan lemah),
tipe relationship dengan derajat-derajat yang berbeda (unari, binary, dan ternary), atribut-atribut
(sederhana, bernilai banyak, dan komposit).

Kota
Jalan
Nama
Jk
Gaji

No

Alamat
a
TglLhr
NoPeg

BEKERJA_UNTUK


PEGAWAI

MENGELOLA

DEPARTEMEN

MENGENDALIKAN
JamKerja
MENGAWASI
BEKERJA_PADA

1
N

PROYEK

N

MENANGGUNG


1

JK
Nama

Gambar 1: Diagram E-R Database PERUSAHAAN

TANGGUNGAN
TEMEN
TglLhhr
a

Hubungan
Nama

Skema relasional yang ditunjukan dalam Gambar 2 diperoleh dari diagram E-R pada Gambar 1
dengan mengikuti prosedur pemetaan umum. Untuk ilustrasi tiap langkah akan dipakai contoh
skema PERUSAHAAN.
Langkah 1: Untuk setiap tipe entitas regular E dalam skema ER, kita membuat suatu relasi R

dengan memasukan semua atribut sederhana yang ada pada E. Untuk atribut komposit kita
memasukan komponen-komponen sederhana dari atribut komposit tersebut. Kita memilih satu dari
atribut-atribut kunci atau key dari E sebagai kunci utama atau primary key dari E. Jika kunci E yang
terpilih komposit maka kumpulan atribut sederhana yang membentuknya akan secara bersamasama membentuk kunci utama R.
Pada contoh ini, kita membuat relasi PEGAWAI, DEPARTEMEN, dan PROYEK dalam Gambar 2
bersesuaian dengan tipe entitas regular PEGAWAI, DEPARTEMEN, dan PROYEK. Kita memilih NoPeg,
NoDep, dan NoPro sebagai kunci utama berturut-turut untuk relasi PEGAWAI, DEPARTEMEN, dan
PROYEK.
PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji]
k.u
DEPARTEMEN
[NamaDep, NoDep]
k.u
PROYEK
[NamaPro, NoPro, Lokasi]
k.u

Langkah 2: Untuk setiap tipe entitas lemah L dalam diagram ER dengan tipe entitas pemilik E, kita
membuat suatu relasi R dan memasukan semua atribut sederhana (atau komponen-komponen

sederhana dari atribut komposit) dari L sebagai atribut-atribut R. Disamping itu, kita memasukan
sebagai atribut kunci asing atau foreign key dari R, atribut kunci utama dari relasi yang bersesuaian
dengan tipe entitas pemilik E. Ini untuk mengatasi identifikasi tipe relationship L. Kunci utama dari R
ialah kombinasi dari kunci utama dari pemilik dan kunci parsial dari tipe entitas lemah L.
Pada contoh, kita membuat relasi TANGGUNGAN pada langkah ke-2 ini bersesuaian dengan tipe
entitas lemah TANGGUNGAN. Kita memasukan kunci utama relasi PEGAWAI – bersesuaian dengan
tipe entitas pemilik – sebagai atribut TANGGUNGAN. Kunci utama dari relasi TANGGUNGAN ialah
kombinasi [NoPeg,NamaTanggungan] karena NamaTanggungan merupakan kunci parsial dari
TANGGUNGAN.
TANGGUNGAN
[NoPeg, NamaTanggungan, Jk, TglLhr, Hubungan]
k.u
Langkah 3: Untuk setiap relationship bineri 1:1 R dalam skema ER, kita mengidentifikasi relasi S
dan T yang bersesuaian dengan tipe-tipe entitas yang berpartisipasi dalam R. Kita memilih satu
relasi, misal S, dan memasukan kunci utama dari T sebagai kunci asing dalam S. Lebih baik memilih
relasi dengan partisipasi obligasi dalam R. Kita memasukan semua atribut sederhana (atau
komponen-komponen sederhana dari atribut komposit) dari tipe relationship biner 1:1 R sebagai
atribut-atribut S.
Pada contoh, kita memetakan tipe relationship 1:1 MENGELOLA dari Gambar 1 dengan memilih tipe
entitas DEPARTEMEN berperan sebagai S karena partisipasinya obligasi dalam relationship

MENGELOLA (yakni, setiap departemen memiliki manajer). Kita memasukan kunci utama dari relasi
PEGAWAI sebagai kunci asing dalam relasi DEPARTEMEN dan memberi nama ulang atribut ini
menjadi NoPegMjr. Kita juga memasukan atribut sederhana TglMulai dari tipe relationship

MENGELOLA ke dalam relasi DEPARTEMEN dan memberi nama ulang atribut ini menjadi TglMulaiMjr,
sehingga relasi DEPARTEMEN menjadi
DEPARTEMEN
[NamaDep, NoDep, NoPegMjr, TglMulaiMjr]
k.u
k.a
Perhatikan bahwa pemetaan alternatif untuk suatu tipe relationship 1:1 ialah dengan
menggabungkan dua tipe entitas dan relationship menjadi satu relasi. Hal ini tepat ketika kedua tipe
entitas memiliki partisipasi obligasi dan ketika tipe-tipe entitas ini tidak berpartisipasi dengan tipe
relationship yang lainnya.
Langkah 4: Untuk setiap tipe relationship biner 1:n regular (bukan lemah) R, kita mengidentifikasi
relasi S yang merepresentasi tipe entitas pada sisi-N dari tipe relationship tersebut. Kita memasukan
sebagai kunci asing, kunci utama dari relasi T yang merepresentasi tipe entitas lainnya yang
berpartisipasi dalam R. Ini karena tipa instansi entitas pada sisi-N terhubung ke paling banyak satu
instansi entitas pada sisi-1 dari tipe relationship.
Sebagai contoh, pada tipe relationship 1:N BEKERJA_UNTUK, tiap pegawai terhubung ke satu

departemen. Kita memasukan atribut-atribut sederhana (atau komponen-komponen sederhana dari
atribut komposit) dari tipe relationship 1:N sebagai atribut-atribut S.
Sekarang kita memetakan tipe relationship 1:N BEKERJA_UNTUK dan SUPERVISI dari Gambar 1.
Untuk BEKERJA_UNTUK kita memasukan kunci utama dari relasi DEPARTEMEN sebagai kunci asing
dalam relasi PEGAWAI dan memberinya nama NomorDep. Untuk SUPERVISI kita memasukan kunci
utama dari relasi PEGAWAI sebagai kunci asing dalam relasi PEGAWAI itu sendiri dan memberinya
nama NoPegSpv. Relationship KONTROL dipetakan dengan cara yang sama. Relasi PEGAWAI menjadi
PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji, NomorDep, NoPegSpv]

k.u

k.a

k.a

Langkah 5: Untuk tiap relationship biner M:N R, kita membuat suatu relasi baru S untuk
merepresentasi R. Kita memasukan, sebagai atribut kunci asing dari S, kunci utama dari relasi-relasi
yang merepresentasi partisipasi tipe-tipe entitas. Kombinasi kunci-kunci utama ini membentuk
kunci utama dari S. Kita juga memasukan atribut-atribut sederhana (atau komponen-komponen

sederhana dari atribut komposit) sebagai atribut-atribut S.
Perhatikan bahwa kita tidak dapat merepresentasikan suatu tipe relationship lemah dengan satu
atribut kunci asing pada satu dari relasi-relasi yang turut serta dalam relationship – seperti kita
lakukan untuk tipe relationship 1:1 atau 1:N – karena kardinalitas M:N.
Pada contoh kasus ini kita memetakan tipe relationship M:N BEKERJA_PADA dari Gambar 1 dengan
membuat relasi BEKERJA_PADA. Kita memasukan kunci utama dari relasi PROYEK dan PEGAWAI
sebagai kunci asing dalam BEKERJA_PADA dan menamakan kembali masing-masing menjadi
NoProyek dan NomorPeg. Kita juga memasukan atribut JamKerja dalam BEKERJA_PADA. Kunci utama
dari relasi BEKERJA_PADA ialah kombinasi atribut-atribut kunci asing (NoP, NoProyek).
BEKERJA_PADA
k.a
k.a
[NoP, NoProyek, JamKerja]
k.u
Amati bahwa kita selalu dapat memetakan relationship 1:1 atau 1:N dengan cara yang sama dengan
relationship M:N. Alternatif ini khusus bermanfaat ketika terdapat sedikit instansi relationship dan
menghindari nilai null pada kunci asing.
Langkah 6: Untuk tiap atribut bernilai banyak A, kita membuat suatu relasi baru R yang
memasukan suatu atribut yang bersesuaian dengan A ditambah atribut kunci utama K dari relasi
yang merepresentasi tipe entitas atau tipe relationship yang memiliki A sebagai atribut. Kunci utama


dari R adalah kombinasi A dan K. Jika atribut bernilai banyak ini komposit, kita memasukan
komponen-komponen sederhananya.
Pada contoh, kita membuat relasi LOKASI_DEP. Atribut Lokasi merepresentasi atribut bernilai banyak
Lokasi dari DEPARTEMEN, sementara NoDep – sebagai kunci asing – merepresentasi kunci utama
dari relasi DEPARTEMEN. Kunci utama dari LOKASI_DEP ialah kombinasi dari (NoDep, Lokasi). Tupel
terpisah akan muncul untuk setiap lokasi yang dimiliki oleh suatu departemen.
LOKASI_DEP
[NoDep, Lokasi]
k.u
Keseluruhan hasil pemetaan database PERUSAHAAN menjadi sebagai berikut:
PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji, NomorDep, NoPegSpv]
k.u
k.a
k.a
DEPARTEMEN
[NamaDep, NoDep, NoPegMjr, TglMulaiMjr]
k.u
k.a

PROYEK
[NamaPro, NoPro, Lokasi, NoDep]
k.u
k.a
LOKASI_DEP
[NoDep, Lokasi]

k.u
BEKERJA_PADA
k.a
k.a
[NoP, NoProyek, JamKerja]
k.u
TANGGUNGAN
[NoPeg, NamaTanggungan, Jk, TglLhr, Hubungan]
k.u