Anda di halaman 1dari 10

Analisis Dan Perancangan Sistem

( Systems Analysis And Design)

BAB 9
Designing Database Table 1

Dari diagram ERD akan direpresentasikan menjadi sebuah database secara fisik.
Sedangkan komponen-komponen diagram E-R yang berupa himpunan entitas dan
himpunan relasi akan ditranformasikan menjadi table-tabel ( file-file data ) yang
merupakan komponen utama pembentukan basis data. Selanjutnya atribut-atribut yang
melekat pada masing-masing himpunan entitas dan himpunan relasi akan dinyatakan
sebagai field-field dari table-tabel yang sesuai.

Transformasi Model Data ke Basis Data fisik.


Berikut ini akan disajikan cara transformasi Model Data yang kita nyatakan dalam ERD
ke dalam basis data fisik. Lebih dulu akan ditunjukan cara tranformasi yang sifatnya
umum/ standart.

1. Transformasi Dasar
Aturan umum dalam pemetaan modedl data (level konseptual dalam abstraksi data)
yang kita gambarkan dengan ERD menjadi basis data fisik (level Fisik dalam
Abstraksi data)

NIM NM
ALM
NIM NM ALM TGL-LHR

MHS TGL-LHR

KD-MT NM-MT
KD-MT NM-MT SKS SEM
SKS

MTK SEM

NID NM-DS
NID NM-DS ALM KD-MT
ALM

DOSEN KD-MT

1
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

2. Relasi dengan derajat relasi 1 – 1 yang menghubungkan 2 buah himpunan entitas


akan direpresentasikan dalam bentuk penambahan/ penyertaan atribut-atribut relasi
ke table yang mewakili salah satu dari kedua himpunan entitas

NID NM-DS NIK NM-DS ALM


ALM

DOSEN

NID

Mengepalai
KD-JR NM-JR NID
KD-JR

JURUSAN KD-JR

NM-JR

Himpunan relasi Mengepalai sesungguhnya memiliki 2 attribut, yaitu NID dan KD-JR.
Kedua attribute ini mestinya disertakan pada table jurusan. Tetapi karena di table
jurusan (ya ng merupakan implementasi dari himpunan entitas jurusan) sudah ada field
kd-jr, maka cukup attribute NID yang perlu ditambahkan. Jika saja atribut ini disertakan
table Dosen, maka kita juga hanya tinggal menambahkan sebuah field yaitu KD-JR.

Tidak sebagaimana fungsi di table dosen, NID yang merupakan field tambahan di table
jurusan tidak lagi berfungsi sebagai key. Yang menjadi key di table jurusan tetap saja
KD-JR. Kedudukan field NID di table jurusan sama sebagai field NM-jr, yakni sebagai
field deskriptif saja. Karena lebih bersifat deskriptif, nama field tersebut dapat saja
diganti untuk lebih memperjelas fungsi/perannya di table jurusan ( yaitu data tentang
dosen yang menjadi kedua ketua jurusan), misalnya NID-KJ

3. Relasi dengan derajat relasi 1 – N atau 1 – M (satu ke banyak) yang


menghubungkan 2 buah himpunan entitas, juga akan direpresentasikan dalam bentuk
pemberian atribut key dari himpunan entitas kedua (yang berderajat 1) ke table yang
mewakili himpunan entitas kedua (yang berderajat M). Attribut key dari himpunan
entitas pertama ini menjadi atribut tambahan bagi himpunan entitas kedua

2
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

NID NM-DS

ALM
NID NM-DS ALM
DOSEN

TMP NID

Mengajar

WKT KD-JR
KD- NM- SKS SEM NID TMP WKT
MTK MTK
KD-MTK
MTK

NM-MTK
SKS SEM

Field Yg ditambahkan

Hasil transformasi diatas, terlihat bahwa table MTK cukup jauh berbeda disbanding
struktur awal sebagai hasil transformasi lansung dari himpunan entitas. Jika kemudian
kita melihat bahwa attribute WKT merupakan atribut bernilai banyak (multivalued
attibut) maka table tersebut tidak memenuhi bentuk Normal pertama (1 NF). Dengan
menerapkan aturan normalisasi tersebut, maka sesungguhnya table ini dapat
didekomposisi lagi menjadi table MTK (KD-MTK, NM-MTK, SKS,SEM, NID) dan Tabel
JADWAL( KD-MTK,TMP, WKT)

4. Relasi dengan derajat relasi M : M atau N : N ( banyak ke banyak) yang


menghubungkan 2 buah himpunan entitas, akan diwujudkan dalam bentuk table
khusus. Yang memiliki field (foreign key) yang berasal dari key-key dari himpunan
entitas yang dihubungkannya.

3
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

Tabel MHS

NIM NM-MHS
NIM NM-MHS ALM TGL-LHR
ALM

MHS
TGL-LHR

Tabel Mempelajari/ NILAI


NIM KD-MTK
NIM KD-MTK NL
Menpelajari

NL

TABEL MTK

KD-MTK
MTK KD-MTK NM-MTK SKS SEM

NM-MTK
SKS SEM

Implementasi Himpunan Entitas

1. Entitas Lemah dan Sub entitas :

Penggunaan himpuanan entitas lemah (weak entity sets dan sub entitas) dalam ERD
diimplementasikan dalam bentuk table-tabel sebagaimna himpunan entitas kuat (strong
Entity Sets). Bedanya jika himpunan entitas kuat sudah dapat lansung menjadi sebuah
table utuh. Walapun tanpa melihat relasinya dengan himpunan entitas yang lain, maka
himpunan entitas lemah dan sub entitas hanya dapat ditransformasikan menjadi sebuah
table dengan menyertakan pula atribut ditransformasikan menjadi sebuah table dengan
menyertakan pula atribut key yang ada di himpunan entitas kuat yang berelasi
dengannya. Lebih jauh lagi atribut key tersebut juga menjadi key (atau paling tidak
bagian dari key) dari table hasil implementasi himpunan entitas lemah dab sub entitas.

NOBP NOBP NM-ORT NM-ORT

Memiliki
NM_MHS ORTU AL-ORT

MHS
NOBP HOBBI

AL-MHS

Menyenagi
HOBBI hobbi
TG-LHR

Implementasikan Himpunan Entitas Lemah ke dalam bentuk table sbb :

4
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

TABEL MHS TABEL ORTU TABEL HOBBI


NOBP NM- ALM TGL- NOBP NM- AL- NOBP HOBBI
MHS LHR ORT ORT

Implementasi Sub entitas Hasil Spesialisasi.

NM-DS DOSEN AL-DS

NIP NID
ISA
PANGKAT
NM-KTR

DS TETAP DS. TD. TETAP


TG-MSK
AL-KTR

jadikan bentuk table sbb :

TABLE DOSEN TABEL DS TETAP DS TD. TETAP


NID NM- AL- NID NIK PANG TGL-MSK NID NM- AL-KTR
DS DS KAT KTR

2. Implementasi Relasi Tunggal (Unary Relation)

Implementasi relasi tunggal (Unary Relation) dari/ke himpunan entitas yang sama
dalam ERD tergantung pada derajat relasinya. Untuk relasi tunggal dengan relasi satu
ke banyak dapat diimplemetasikan melalui penggunaan field key dua kali tapi untuk
fungsi yang berbeda. Jika kita memiliki himpunan entitas a dengan 2 attribut x dan y
dengan x ebagai key, maka relasi tunggal terhadap himpunan entitas tersebut
diwujudkan dengan menambahkan kembali field x tersebut ke table A. Karena nama
field disetiap table harus unik, maka field x yang kedua harus diganti namanya sesuai
dengan fungsinya/ relasinya.

NID NM- AL- NID-

5
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

DS DS PEND
NID NID
Mendampi
ngi

DOSEN

Sedang relasi yang derajatnya satu ke banyak akan diimplementasikan melalui


pembentukan table baru yang merepresentasikan relasi tersebut. Tabel baru ini
mendapat field dari semua attribute relasi (jika ada) yang ditambah dengan attribute key
dari himpunan entitasnya.

KD-MTK KD-MTK

KL-
PRASRAT

MTK

TABEL MTK TABEL PRASYARAT MTK


KD-MTK NM-MTK SKS SEM KD-MTK KD-MTK-PRA

3. Implementasi Relasi multi Entitas (N-Ary Relation)

Secara umum, relasi multi entitas yang menghubungkan lebih dari dua himpunan
entitas ( N himpunan entitas, dimana N>2) akan diimplementasikan sebagai sebuah
table khusus (tent saja, setiap himpunan entitas yang terlibat dalam relasi juga akan
direpresentasikan dalam table-tabel terpisah). Namun jika pada relasi yang
menghubungkan N buah himpunan entitas kita dapat memastikan bahwa derajat relasi
parsial diantara (N-1) buah himpunan entitas dengan suatu himpunan entitas (misalnya
X) adalah satu ke banyak, maka relasi tadi tidak perlu diwujudkan sebagai sebuah table
khusus dan attibut-attributnya cukup dilekatkan pada himpunan entitas X tersebut.
(lihat gambar pada halaman berikut)

Pada ERD diatas, derajat relasi parsial diantara setiap pasang himpunan entitas yang
ada adalah sebagai berikut :

ƒ Pada relasi pengajaran tersebut setiap MTK dapat diajarkan oleh seorang dosen
dan setiap dosen dapat melakukan pengajaran banyak MTK, maka derajat relasi
parsial antara himpunan entitas DOSEN MTK adalah 1 – N ( satu ke banyak)

6
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

KD-MTK KD-MTK NID


NID

MTK TEACH DOSEN

KD-R
WAKTU

RUANG
KD-R KAPASITAS

NM-R

ƒ Pada relasi TEACH tersebut setiap matakuliah hanya dapat diselenggarakan di


sebuah ruang yang telah ditentukan dan setiap ruang pada saat yang berbeda
dapat digunakan untuk pengajaran berbagai mtk, maka derajat parsial antara
himpunan entitas Ruang – MTK adalah 1 – N ( satu ke banyak )

ƒ Pada relasi TEACH tersebut, setiap Ruang dapat digunakan oleh banyak dosen
(untuk mengajarkan berbagai matakuliah) dan setiap dosen dapat menggunakan
berbagai ruangan karena memang mengajarkan lebih dari satu matakuliah,
maka derajat relasi parsial antara himpunan entitas RUANG - DOSEN adalah
N – N (banyak ke banyak).

Dari hasil pengamatan tersebut kita dapat menyetujui bahwa semua derajat relasi
parsial antara himpunan entitas Dosen ataupun Ruang dengan himpunan entitas MTK
selalu satu ke banyak. Dengan demikian, relasi pengajaran tersebut tidak perlu
diimplementasikan sebagai sebuah table khusus, tetapi atribut-atributnya dilekatkan
pada table yang mewakili himpunan entitas kuliah.

TABEL MTK
KD-MTK NM-MTK SKS SEM NID KD-R WAKTU

3 Att. Mewakili relasi Teach

Jika ternyata di kemudian hari, suatu matakuliah ( dengan jumlah SKS yang besar)
dapat dilaksanakan lebih dari satu kali dalam seminggu, dan mungkin untuk
diselenggarakan di ruang yangn berbeda, maka derajat relasi parsial antara himpunan
entitas Ruang – MTK bukan lagi satu ke banyak, tapi menjadi banyak ke banyak. Jika
kenyataan ini harus diakomodasi, maka table MTK tetap sebagaimana bentuk semula
(dengan 4 buah field : KD-MTK, NM-MTK, SKS dan SEM) dan relasi diatas harus
diimplementasikan sebagai sebuah table khusus seperti berikut

7
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

TABEL JADUAL

KD-MTK NID KD-R WAKTU

4. Implementasi Relasi Ganda (Redundant Relation)

Tidak ada yang istimewa dalam mengimplementasikan relasi ganda diantara 2


himpunan entitas. Implementasinya kita tinjau pada masing-masing relasi tanpa terikat
satu sama selain berdasarkan derajat relasi masing-masing relasi tersebut.
NID KD-MTK

TEACH

DOSEN MTK
TEMPAT WAKTU

MENGU
ASAI
NID KD-MTK

Karena derajat relasi TEACH adalah satu ke banyak, maka field NID yang berasal dari
himpunan entitas Dosen ditambahkan ke table kuliah. Sementara untuk relasi
MENGUASAI, karena reajat relasinya adalah banyak ke banyak, maka relasi ini akan
dinyatakan dalam table khusus dengan 2 buah field : NID dan KD-MTK. Hasil akhir
implementasinya adalah :

TABLE DOSEN TABEL MTK TB. MENGUASAI


NID NM- AL- KD- NM- SKS SE NID NID KD-MTK
DS DS MTK MTK M

5. Implementasi Spesialisasi dan Generalisasi

Spesialisasi terhadap sebuah himpunan entitas akan menghasilkan sejumlah himpunan


entitas baru: satu himpunan entitas kuat yang akan menjadi acuan bagi himpunan
entitas lainnya dan sisanya merupakan sub entitas. Implementasi tentang sub entitas ini
yang sekaligus juga menunjukan implementasi dari adanya spesialisasi.

8
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

Generalisasi dilakukan dengan mengabaikan perbedaan beberapa himpunan entitas


yang memang memiliki banyak kebersamaan. Berlawanan dengan spesialisasi, pada
tahap implementasi generalisasi justru akan menyusutkan jumlah himpunan entitas
menjadi hanya sebuah table saja. Untuk tetap mengakomodasikan adanya perbedaan
itu, maka ditabel tersebut ditambahkan sebuah atribut yang nantinya akan diisi dengan
kode khusus yang menyatakan perbedaan tersebut.

Generalisasi
ALM
NIM MHS

TGL-LHR
NM

ISA

MHS D3 MHS S1

TABEL MHS
NIM NM ALM TGL-LHR PROG-STUDI

6. Implementasi Agregasi

Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umumnya (yang


menghubung- kan 2 himpunan entitas). Karena relasi ini dibentuk dari relasi lain (relasi
Prasyarat) yang secara kronologis lebih dulu terbentuk, maka pengimplementasiannya
juga harus dilakukan setelah relasi prasyarat tersebut terimplementasikan. Selanjutnya
kita tinggal meninjau derajat relasi dari relasi agregasinya.

Mempelajari
MHS MTK

NIM KD-MTK

Mengikuti

KD-PRA Nilai

KD-PRA Praktikum JUM-JAM

NM-PRA

9
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)

Relasi mengikuti merupakan bentuk agregasi relasi mempelajari dan entitas Praktikum.
Karena kesemua relasi yang ada pada ERD diatas adalah banyak ke banyak, maka
baik relasi mempelajari naupun relasi mengikuti masing-masing akan direpresentasikan
dalam table khusus atau terpisah.

TABLE NILAI TABEL PRAKTIKUM TABEL MENGIKUTI


NIM KD- NILAI KD- NM- JUM- NIM KD- KD- NILAI
MTK PRA PRA JAM MTK PRA

10

Anda mungkin juga menyukai