Вы находитесь на странице: 1из 10

Perancangan basis data dari form

Misalnya terdapat dua buah formulir, yaitu kartu stok dan faktur penjualan. 1. Faktur Penjualan

Faktur Penjualan PT. XYZ


No. Faktur : 112 Tgl Faktur : 01-06-2005 Hp/Tlp: 0855555555, 024702413 No Kode Barang Nama Barang 01 C-01 CD-RW 48X 02 M-02 Monitor 14 Kode Konsumen : K-10 Nama Konsumen : Udinus Jl. Nakula 1 5-11, Semarang Jumlah jual Harga jual Total 2 500.000,1.000.000,1 1.500.000,1.500.000,Bayar 2.500.000,-

2. Kartu stok Kode Barang Nama Barang Harga dasar Sisa stok C-01 CD-RW 48X 400.000 6 M-02 Monitor 14 1.250.000 5 Rancanglah database menggunakan dua form tersebut diatas: 1. Unnormalized form : Data ditampilkan apa adanya tanpa harus mengikuti format tertentu.
No.Faktur 112 Tgl_faktur 01-062005 Hp

0855555555, 024702413
Total 1.000.000 1.500.000

Kd_kons K10

Nm_kons Udinus

Alm_jalan Jl. Nakula 5-11, Semarang

No 01 02

Kd_brg C-01 M-02

Nm_brg CD-RW 48X Monitor 14 Sisa_stok

Jml_jual 2 1

Hrg_jual 500.000 1.000.000

bayar 2.500.000 -

Kd_brg C-01 M-02

Nm_brg CD-RW 48X Monitor 14

Harga_dsr 400.000 1.250.000

6 5

2. First normal form (1 NF ) o Atomic value, tidak terdapat atribut bernilai banyak (multivalue) Tabel barang
No.Faktur 112 Nm_brg CD-RW 48X Tabel HP Kd_kons K10 K10 K10 Tgl_f 01-06-2005 Jml_jual 2 Hp Kd_kons K10 Hrg_jual 500.000 Nm_kons Udinus Alm_jalan Jl. Nakula 5-11 Sisa_stok Alm_kota Semarang Kd_brg C-01

Harga_dsr 400.000

0855555555 0812222222 024702413 3. Second normal form ( 2 NF ) o Telah memenuhi bentuk normal pertama sudah terpenuhi o Semua atribut bergantung secara utuh kepada kunci utama atau menurut Fatansah semua atribut bukan kunci harus bergantung penuh ke semua atribut kunci bukan hanya sebagian belum terpenuhi, sehingga harus didekomposisi berdasarkan ketergantungan fungsional yang ada. No_faktur, kd_kons ,Kd_brg tgl_f, nm_brg,jml_jual,hrg_jual, Harga_dsr, sisa_stok, nm_kons, alm_jalan, alm_kota
No.Faktur 112 112 Tgl_f 01-06-2005 01-06-2005 Kd_kons K10 K10 Nm_kons Udinus Udinus Alm_jalan Jl. Nakula 5-11 Jl. Nakula 5-11 Alm_kota Semarang Semarang

Berdasarkan data diatas: No_faktur tgl_f, kd_kons, nm_kons, alm_jalan, alm_kota


Kd_brg C-01 M-02 Nm_brg CD-RW 48X Monitor 14 Jml_jual 2 1 Hrg_jual 500.000 1.000.000 Harga_dsr 400.000 1.250.000 Sisa_stok

6 5

Berdasarkan data diatas: kd_brg nm_brg, harga_dsr, sisa_stok Sedangkan jml_beli dan hrg_jual tidak bergantung kepada kd_brg tetapi bergantung kepada No_faktur,kd_brg jml_beli, hrg_jual Sehingga sampai bentuk normal II terbentuk tiga buah tabel yaitu : 1. Tabel1 dengan KF Kd_brg nm_brg, harga_dsr, sisa_stok 2. Tabel2 dengan KF Kd_kons nm_kons, alm_jalan, alm_kota 3. Tabel3 dengan KF No_faktur tgl_f, kd_kons 4. Tabel4 dengan KF No_faktur,kd_brg jml_jual, hrg_jual 5. Tabel 5 dengan KF Kd_kons hp 4. Third normal form Tidak ada ketergantungan transitif ( bukan kunci menentukan bukan kunci) atau 1. Tabel1 dengan KF Kd_brg nm_brg, harga_dsr, sisa_stok nm_brg harga_dsr, sisa_stok harga_dsr nm_brg , sisa_stok sisa_stok nm_brg, harga_dsr 2. Tabel2 dengan KF Kd_kons nm_kons, alm_jalan, alm_kota nm_kons alm_jalan, alm_kota alm_kota nm_kons, alm_jalan, alm_jalan nm_kons, alm_kota 3. Tabel3 dengan KF No_faktur tgl_f, kd_kons tgl_f kd_kons kd_kons tgl_f 4. Tabel4 dengan KF No_faktur,kd_brg jml_jual, hrg_jual jml_jual hrg_jual hrg_jual jml_jual 5. Tabel5 dengan KF Kd_kons Hp Memenuhi normal ke 3 karena tidakada ketergantungan transitif ERD N N Ju Konsumen Barang al 1 Memiliki N Table Relationship Konsumen * kd_kons nm_kons alm_jalan alm_kota Hp ** kd_kons hp Hp

Faktur Jual * no_faktur tgl_f ** kd_kons Detail Jual * *no_faktur ** kd_brg jml_Jual hrg_jual

Barang * kd_brg nm_brg harga_dsr Hrg_jual sisa_stok stock_min

TUGAS
Dari Contoh Perancangan database tersebut yang sudah diajarkan: Buatlah Tabel-tabel pada suatu database dengan Unnormal, Normal 1 s/d 3 dan Gambarkan Relasi tabelnya. 2. Dikumpulkan pertemuan Perkuliahan terakhir 3. Satu tugas untuk dua (2) mashasiswa. 4. Database Bebas cari di perusahaan-perusahaan dengan melampirkan Form (fotocopy Form)yang ada. 5. Perkulihan ini gunakan untuk diskusi dengan kelompok untuk menyelesaikan Tugas.
1.

Functional Dependencies (FD) / Ketergantungan Fungsional (KF) digunakan untuk menggambarkan atau mendeskripsikan bentuk normal atas suatu relasi FD adalah batasan terhadap gugus relasi yang berlaku diperoleh berdasarkan hubungan antar atribut data. * functional dependencies (FD) : Armstrongs Rule A1. Reflexive Jika y x maka x y, X X A2. Augmentation Jika x y maka (x,z) (y,z) A3. Transitive Jika x y dan y z maka x z A4. Decomposition Jika x (y,z) maka x y dan x z A5. Union Jika x y dan x z maka x (y,z) A6. Pseudotranstivity Jika x y dan (z,y) w maka (z,x) w * Manfaat FD pada dekomposisi Untuk : 1. Lossless Join Decomposition Mendapatkan dekomposisi yang tidak kehilangan data/informasi 2. No Redundancy Mendapatkkan skema relasi yang tidak mengandung redundansi 3. Dependency Preservation Terjaminnya pemeliharaan ketergantungan sehingga dapat mengatasi masalah update anomali Contoh Soal : Diketahui skema relasi R=(A,B,C,D,E,F,G,H) didekomposisi menjadi : R1=(A,B,C,D,G) dan R2=(B,D,E,F,H). FD pada R yang berlaku adalah : (1) B A,G (2) E D,H (3) A E,C (4) D F Ujilah apakah dekomposisi {R1,R2} tersebut lossless atau lossy ? 1. Uji Dekomposisi R1 R2 = (A,B,C,D,G) (B,D,E,F,H) = (A,B,C,D,E,F,G,H) =R .:. Terbukti bahwa {R1,R2} adalah dekomposisi dari R. 2. Uji Lossless R1 R2 = (A,B,C,D,G) (B,D,E,F,H)

B.

= (B,D) Akan dibuktikan bahwa paling sedikit satu kondisi berikut dipenuhi A. R1 R2 R1 ; (B,D) (A,B,C,D,G) atau R1 R2 R2 ; (B,D) (B,D,E,F,H) Buktikan : A. R1 R2 R1 ; (B,D) (A,B,C,D,G) Dari (1) B A,G maka : (5) B,D A,G,D (augmentasi) (6) B,D B,D (refleksif) Jadi (7) B,D A,B,D,G (1) B A,G maka (8) B A dan (Decomposisi) (9) B G Dari (3) A E,C maka (10) A E dan (decomposisi) (11) A C maka : Dari (8) B A dan (11) A C Maka (12) B C (transitif) Dan (13) B,D C,D (augmentasi) Dari (7) dan (13) didapat : B,D A,B,C,D,G (Jadi Lossless) R1 R2 R2 ; (B,D) (B,D,E,F,H) R1 R2 R2 ; (B,D) (B,D,E,F,H) Dari (4) D F (5) B,D B,F (augmentasi) (6) B,D B,D (refleksif) Jadi (7) B,D B,D,F (3) A E,C maka (8) A E dan (Decomposisi) (9) A C Dari (1) B A,G maka (10) B A dan (decomposisi) (11) B G maka : Dari (10) DAN (8) B A dan A E JADI (11) B E Maka (12) B,D E,D (augmentasi) Dari (2) E D,H Dari (11) dan (2) didapat : B E dan E D,H Maka (12) B D,H (13) B D (Decomposisi) (14) B H Dari (11) dan (14) didapat : B E dan B H (Union) Jadi (15) B E,H (16) B,D E,H,D (augmentasi) Jadi (7) dan (16) B,D B,D,E,F,H (Jadi Lossless)

A. Tabel Faktur Jual Nofaktur Tgl_f FJ0001 10-03-2009

Kd_kons Kd_brg K0001 B0001

Jml_jual Hrg_jual 10 5000

FJ0001 FJ0001 FJ0001 FJ0001

10-03-2009 10-03-2009 10-03-2009 10-03-2009

K0001 K0001 K0001 K0001

B0002 B0003 B0004 B0005

3 6 2 2

25000 50000 50000 45000

B. Didekomposisi ( faktur jual dan Detail) Tabel Faktur Jual Tabel Detail_jual Nofaktur Tgl_f Kd_kons Nofaktur Kd_brg FJ0001 10-03-2009 K0001 FJ0001 FJ0001 FJ0001 FJ0001 FJ0001 B0001 B0002 B0003 B0004 B0005

Jml_jual Hrg_jual 10 3 6 2 2 5000 25000 50000 50000 45000

Perancangan basis data Perkuliahan dari form


Misalnya terdapat dua buah formulir, yaitu Kartu Mahasiswa dan KHS. 1. Kartu Mahasiswa

Kartu Mahasiswa
NIM : A12.2007.00122 NAMA : Amir H Alamat : Jl. Pemuda II N0 240, Semarang barat Kode_pos : 50123 Telpon : 7012345 2. KHS

Kartu Hasil Studi (KHS) UDINUS


NIM : A12.2007.00122 NAMA : Amir H No Kd_mt NM Matakuliah 01 S0005 SBD 02 P0002 Pemrog. Pascal . IPK 3.0 IPK KUMULATIF 2.8 SKS 2 2 STATUS NILAI B A U C

Rancanglah database menggunakan dua form tersebut diatas: 1. Unnormalized form o Data ditampilkan apa adanya tanpa harus mengikuti format tertentu.
Nim A12.2007.00122 Nama _mhs Amir H Amir H Alamat Kdpos Telpon Nim Nama_ mhs Amir H Amir H No 01 Kd_mt S0005 Nm_mt SBD SKS Stat us 2 B n il I P K A 3 . 0 B 3 . 0

IPK KUM 2.8

A12.2007.00122

Jl. Pemuda II N0 240, Semarang Jl. Pemuda II N0 240, Semarang

50123 50123

70123456 A12.200
7.00122

70123456 A12.200
7.00122

02

P0002

Pemro g. Pascal

2.8

Normal 1 / 1 NF ( tidak atribut bernilai multivalue)


Nama_mhs Nim Kd_mt Alamat Kecamatan Kdpos Telpon Nm_mt SKS Status Nil

A12.2007.00122 A12.2007.00122

Amir H Amir H

S0005 P0002

Jl. Pemuda II N0 240 Jl. Pemuda II N0 240

Semarang 50123 70123456 SBD Barat Semarang 50123 70123456 Pemrog. Pascal Barat

2 2

B U

A B

Second normal form ( 2 NF ) 1.Telah memenuhi bentuk normal pertama sudah terpenuhi 2.Semua atribut bergantung secara utuh kepada kunci utama atau menurut Fatansah semua atribut bukan kunci harus bergantung penuh ke semua atribut kunci bukan hanya sebagian belum terpenuhi, sehingga harus didekomposisi berdasarkan ketergantungan fungsional yang ada. Tabel KRS: Nim, Kd_mt Nil , Nm_matkul , Nm_mhs,alamat,Kota,kdpos, telpon, SKS, Status
MHS : Nim A12.2006.00011 A12.2006.00011 A11.2007.00555 Kd_mt MT01 MT02 MT01 Nil 70 70 70 Nm_mhs AMIR AMIR BUDI Alamat Kecamatan Kdpos Telpon Nm_mt SKS Status

Jl. Pemuda II N0 240 Jl. Pemuda II N0 240 Jl. Pemuda II N0 240

Semarang Barat Semarang Barat Semarang Barat

50123 50123 50123

70123456 70123456 70123456

SBD SBD 2 SBD

2 2 2

B B U

Tidak memenuhi 2 NF karena ada ketergantungan fungsional lebih dari satu: Ketergantungan Fungsionalnya: Nim,Kd_mt Nil, status Nim Nm_mhs, alamat, kecamatan, kdpos Kd_mt Nm_matkul, sks
1. KRS / Nilai: Nim A12.2006.00011 A11.2007.00555 A11.2007.00555 2. MHS : Nim A12.2006.00011 Kd_mt MT01 MT01 MT02 Nm_mhs AMIR Nil 85 85 85 Status U B B Alamat Kecamatan Kdpos Telpon

Jl. Pemuda II N0 240

Semarang Barat

50123

70123456

3. Matkul : Kd_mt MT01 MT02

Nm_mt

Sks

SBD PASCAL

2 3

Tabel tersebut memenuhi normal kedua karena semua atribut bukan kunci tergantung penuh ke semua kunci ( tidak sebagian kunci). Normal ke 3 (3 NF) 1. Memenuhi normal 2 2. Tidak ada ketergantungan transitif (atribut bukan kunci tidak menentukan bukan kunci) Tabel MHS : Nim Nm_mhs, Alamat, kdpos, Kecamatan Tabel KRS : Nim,Kd_mt Nil, Status Tabel MTKUL : Kd_mt Nm_matkul, sks 1. Tabel MHS: Nim Nm_mhs, Alamat, kdpos, kecamatan

Nm_mhs Alamat, kdpos, kecamatan Alamat Nm_mhs, kdpos, kecamatan kdpos Nm_mhs,Alamat Tetapi atribut Kdpos kecamatan kecamatan Nm_mhs,alamat, kdpos tetapi kecamatan Kdpos ( tidak memenuhi 3NF karena ada ketergantungan transitif / bukan kunci menentukan bukan kunci) Karena ada 2 (dua) Ketergantungan Fungsional : Tabel mhs : Nim Nm_mhs, Alamat, kdpos Tabel pos : Kdpos kecamatan Sehingga didikomposisi menjadi: a. Tabel MHS Nim Nm_mhs, Alamat, kdpos Nm_mhs Alamat, kdpos Alamat Nm_mhs, kdpos kdpos Nm_mhs, Alamat b. Tabel POS kdpos kecamatan Tabel pos memenuhi 3 NF karena hanya satu atribut. 2. Tabel KRS: Nim,Kd_mt Nil, Status Nil Status Status Nil Memenuhi 3 NF karena atribut tidak ada ketergantungan transitif. 3. Tabel MTKUL: Kd_mt Nm_matkul, sks Nm_matkul sks Sks Nm_matkul Table Relationship MHS * nim nm_mhs alamat **kdpos

KRS ** Nim ** kd_mt Nil Status POS * kdpos kecamatan Nim Kd_m t N KRS Nil_tgs Nil_ua s MATKUL Kd_m t

Mtkul * kd_mt nm_matkul sks

A. ERD Nm_mh s alama MHS t

Nim N

Nm_matku ll sks

Nim

Nil_mi d 1

Kdpo s Kecamatan POS

Memili ki Kdpo s

C. Table Relationship ( + niltgs, nilmid,niluas) MHS KRS * nim ** Nim nm_mhs ** kd_mt alamat Nil_tgs **kdpos Nil_mid Nil_Uas status

Mtkul * kd_mt nm_matkul sks

POS * kdpos kecamatan

a. Tabel MHS nim A21.2001.00234 A21.2001.00214 A12.2002.00123 . 100 Nm_mhs Dedy Sutanta Budi Susi n alamat Jl. A. Yani 20 Jl. Dago 10 Jl. Pemuda i/6 n Kdpos 40006 50001 50001 100 Kota Solo Semarang Semarang 100

Tabel Didekomposisi MHS dan Pos Tabel mhs nim A21.2001.00234 A21.2001.00214 A12.2002.00123 n Nm_mhs Dedy Sutanta Budi Susi n alamat Jl. A. Yani 20 Jl. Dago 10 Jl. Pemuda i/6 n Kdpos 40006 50001 50001 n Tabel Pos Kdpos 40006 50001 Kota Solo Semarang

Вам также может понравиться