Anda di halaman 1dari 9

BAB IV

PERANCANGAN BASIS DATA RELASIONAL

1.1 1.1.1

KETERGANTUNGAN FUNGSIONAL & MULTI NILAI Ketergantungan Fungsional (Functional Dependency (FD))

Adalah ketergantungan nilai-nilai dari satu atau beberapa atribut terhadap satu atribut atau himpunan atribut lainnya. Notasi : Y X Biasa digunakan untuk menunjukkan bahwa X tergantung secara fungsional terhadap Y. Atribut Y dikenal sebagai determinant dari FD Y X Contoh : Person_ID, Project Time_Spent_By, Person_On_Project

Notasi X Y berarti X Y dan Y X

Contoh diagram functional dependency :


Project Project Budget

Person-ID Project

Time_spent_By_ person_on_project

1.1.2

Functional Dependency Penuh

Atau Full Functional Dependency, biasa digunakan untuk mengindikasikan himpunan atribut minimum dalam sebuah determinant dari satu FD. Himpunan atribut x akan bergantung secara fungsional penuh (fully functionally dependent) pada himpunan atribut y jika : 1. 2. x bergantung secara fungsional pada y x tidak bergantung secara fungsional pada suatu sub-himpunan dari y.

contoh :

Person_ID, Project, Project_budget Time_spent_By_Person_on_Project Bukan suatu FD penuh

Person_ID, Project Time_spent_by_Person_on_Project suatu FD penuh karena : Person_ID Time_spent_By_Person_on_Project maupun Project Time_spent_By_Person_on_Project, Tidak memenuhi syarat sebagai FD penuh.

Contoh diagram FD yang lebih kompleks :

Manager_Name

Warehouse_address

warehouse_name

part_no

supplier_name

delivery_number

QTY_in_store_on_date

inventory_date

QTY_delivered

Sifat-sifat FD : 1. Redundan FD Sebuah FD dalam himpunan FD dikatakan redundan jika FD tersebut dapat diturunkan dari FD lainnya dalam himpunan FD. Cara untuk mendeteksi sebuah FD redundan dengan langkah-langkah sebagai berikut : 1. 2. 3. tentukan S sebagai himpunan dari FD. hapus satu FD misal f dan susun himpunan FD S = S f test apakah f dapat diturunkan dari DS-FD dalam S dengan menggunakan himpunan rule

4.

jika f dapat diturunkan, berarti f redundan, S = S. Jika tidak, masukkan f ke dalam himpunan S sedemikian sehingga S = S + f.

5.

ulangi langkah ke-2 sampai 4 semua FD dalam S.

himpunan rule-relu digunakan untuk menghindari looping pada langkah ke-3.

Himpunan rule-rule (set of rule) (Amstrong,1974 & Beeri at.al 1978) terdiri dari : jika Y X, maka X Y (refleksi) jika Z W, dan X Y, maka XW YZ ( augmentasi) jika X Y dan Y Z, maka X Z (transitive)

Dalam prakteknya, terdapat aturan-aturan tambahan yaitu : jika X Y dan YW Z, maka XW Z (pseudotransitive) jika X Z dan X YZ (union) jika X YZ, maka X Y dan Y Z ( dekomposisi)

contoh : Himpunan FD : { Z A, B X, AX Y, ZB Y} Akan ditunjukkan bahwa ZB Y adalah redundan. 1. 2. 3. Z A dengan augmentasi menghasilkan ZB AB B X dan AX Y dengan pseudotransitive menghasilkan AB Y ZB AB dengan transitive menghasilkan ZB Y

1.1.3

Algoritma Keanggotaan

Digunakan untuk menentukan apakah suatu FD, f(A B), dapat diturunkan dari satu himpunan FD, sbb : 1. T = A, T adalah variable yang mengandung satu himpunan atribut-atribut A adalah determinant dari f. 2. lihat FD yang lain untuk melihat apakah sebuah FD X Y ditemukan, tambahkan atribut-atribut dalam pada himpuanan atribut-atribut dalam T ( aturan union & transitive)

3. Ulangi langkah-langkah setiap kali T dirubah hingga tidak ada lagi atribut-atribut yang dapat ditambahkan pada T. 4. Jika pada akhir algoritma B berada dalam T, maka A B dapat diturunkan dari FD lain dalam S ( aturan dekomposisi).

Contoh : Himpunan FD : { Z A, B X, AX Y, ZB Y} 1. 2. T = ZB T = ZB + A = ZBA, karena Z A berada dalam sisa himpunan FD dan ZT. T = ZBA + X = ZBAX, karena B X berada dalam sisa himpunan FD dan BT. T = ZBAX + Y = ZBAXY karena AX Y berada dalam sisa himpuanan FD dan AX T.

4.1.4 Closure Sebuah closure mendefinisikan semua fungsional dependency yang dapat diturunkan dari satu himpunan FD yang diberikan. Notasi F+ digunakan untuk menunjukkan closure dari himpuanan dependensi. Contoh F = { X Y, Y Z, YZ W, WX Y} Dari himpunan FD di atas diturunkan FD yang lain, seperti : X Z dengan transitive dari X Y dan Y Z Atau XZ W dengan pseudotransitive dari X W dan YZ W :

Untuk memastikan /menentukan apakah semua FD yang mungkin diturunkan dari satu himpunan FD dapat digunakan algoritma sebagai berikut :

T=A While (changes to T) do

For each functional dependency X Y in F do Begin If X is in T then Add Y to T End

Contoh : 1. T = x 2. kemudian tambahkan Y ke T karena X Y berada dalam himpunan FD. 3. tambahkan Z ke T, karena Y Z berada dalam himpunan FD dan sekarang T = XYZ. 4. tambahkan W ke T, karena YZ W jadi F+ untuk X : X X, X Y, X Z, X W, X YZ, X YW, X ZW, X YWZ Untuk melihat F+ dan Y, algoritma dapat diulang dengan memulai T =Y demikian seterusnya.

1.2

NORMALISASI (1..3)

Untuk menentukan apakah suatu relasi tertentu sudah dalam bentuk normal, harus diuji FD antara atribut-atribut dalam relasi. Dalam definisi relasi yang diusulkan oleh C. Beeri dan Cowokers (1978), bahwa relasi terdiri dari dua komponen yaitu : atribut-atribut dan FD antara atribut-atribut tersebut.

Sebuah relasi mempunyai bentuk :

R1 = ({X,Y,Z}, {X Y, X Z}) Atribut Contoh : Relasi ASSIGN { Person_ID, PROJECT, PROJECT_BUDGET, Time_Spent_By_Person_On_Project} atribut-atribut {Person_ID, Project Time_Spent_By_Person_On_Project, Project Project_Budget} FD FD

Functional Dependencies dapat digunakan dalam mendesain suatu basis data relasional untuk menghilangkan property-properti yang tidak diinginkan sehingga didapatkan desain yang baik yang disebut dalam bentuk normal. Terdapat sejumlah bentuk normal dimana yang dikenal (sangat popular) sebanyak 3 macam bentuk normal, yaitu : bentuk normal pertama, kedua dan ketiga.

Bentuk Normal Pertama Sebuah relasi berada dalam bentuk normal pertama jika semua domaun adalah simple Contoh : Relasi : LIVED_IN

Person

Residence City Date_Move_In New York 030371 Boston 070780 Washington 080889 City Date_Moved_In Boston 040573 Philadelphia 070675 Chicago 080877
Gambar Relasi yang tidak normal

Jack

Martha

Relasi-relasi yang tidak/belum mempunyai domain yang simple (tidak berada dalam bentuk normal pertama) disebut relasi tidak normal (unnormalized relations). Bentuk normal dari relasi LIVED_IN sebagai berikut : Relasi : LIVED_IN Person Jack Jack Jack Martha Martha Martha City New York Boston Washington Boston Philadelphia Chicago Date_Moved_In 030381 070780 080881 040583 070685 080887

Bentuk Normal Kedua : Sebuah relasi R berada dalam bentuk normal kedua jika setiap atribut dari R Functional Depencies (FD) penuh pada setiap kunci (key) relasi. Dengan kata lain ada atribut yang bergantung pada subset kunci. Contoh relasi ASSIGN.

Bentuk Normal Ketiga Suatu relasi berada dalam bentuk normal ketiga jika : 1. 2. relasi tersebut berada dalam bentuk normal kedua. tidak terdapat atribut-atribut bukan kunci yang saling tergantung.

Contoh : Relasi : Project P1 P2 P3 P4 PROJECT Project-Budget 32 40 27 17 Department Construct Construct Construct Build Department Address 20 Main 20 Main 20 Main 8 Fifth

FD

pada relasi PROJECT :

Project_Budget

Project

Department

Department_Address

Relasi project masih belum berada dalam bentuk normal ketiga karena ada atribut bukan kunci (Department _Address) bergantung pada atribut

Department. Relasi PROJECT dapat menjadi bentuk normal ke-3 dengan memecah relasi Project dalam dua relasi yaitu : PROJECT Projects P1 P2 P3 P4 Project_Budget 32 40 27 17 Department Construct Construct Construct Build

DEPARTMENT Department Dep. Address Construct Build 20 Main 8 Fifth

1.3

METODOLOGI PERANCANGAN DIAGRAM E-R Definisi basis data relasional adalah kumpulan relasi-relasi yang mengandung

semua informasi yang akan disimpan dalam basis data. Tiap relasi dalam basis data disimpan dalam sebuah file tersendiri. Struktur file yang digunakan untuk menyimpan relasi cukup sederhana, karena tiap record dalam file memiliki format yang sama. Perancangan basis data merupakan salah satu bagian terpenting dalam proses pengembangan sistem. Perancangan basis data mempunyai beberapa tujuan yaitu : 1. menghilangkan redundansi data

2. 3.

meminimumkan jumlah relasi di dalam basis data membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan permasalahan berkenaan dengan penambahan,

pembaharuan dan penghapusan. Teknik perancangan yang dilakukan dapat dilihat pada gambar berikut :

Anda mungkin juga menyukai