LAPORAN
PRAKTIKUM
SISTEM
DAN TEKNOLOGI BASIS DATA
MODUL
5
“NORMALISASI”
FAKULTAS
ILMU KOMPUTER
|
Disusun
oleh :
Nama : Ricky Rudianto
NIM :
2012081127
Kelas : Teknik Informatika A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2013
I.
LANDASAN TEORI
Tujuan
Normalisasi adalah membuat kumpulan tabel rasional yang bebas dari data
berulang dan dapat dimodifikasi secara
benar dan konsisten.
Normalisasi
mengharuskan relasi pada suatu basis data dalam bentuk normal. Bentuk normal
sendiri merupakan seperangkat aturanyang dikenakan dan harus dipenuhi oleh
relasi basis data pada setiap level normalisasi.
Beberapa
level yang sering digunakan pada normalisasi adalah sebagai berikut :
1.
Bentuk
tidak normal (Unnormalized Form)
2.
Bentuk
normal pertama (1 NF / First Normal Form)
3.
Bentuk
normal kedua (2 NF / Second Normal Form)
4.
Bentuk
normal ketiga (3 NF / Third Normal Form)
5.
Bentuk
normal Boyce-Codd (BCNF / Boyce-Cood Normal Form)
6.
Bentuk
normal keempat (4 NF / Fourth Normal Form)
7.
Bentuk
normal kelima (5 NF / Fifth Normal Form)
Anomali
adalah proses pada basis data yag memberikan efek samping yang tidak
diharapkan, misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu
data menjadi hilang ketika data lain dihapus.
Dependensi
(ketergantungan) adalah konsep yang mendasari normalisasi. Depedensi
menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan nilai
suatu atribut yang menentukan nilai atribut lainnya. Depedensi ini akan menjadi
acuan bagi pendekkomposisian data ke dalam bentuk yang paling efisien.
II.
PRAKTIKUM DAN PEMBAHASAN
1.
Kasus Faktur Pembelian Barang
PT.
Adiguna Komputer
Faktur Pembelian
Barang
Jln.
Siliwangi 300
Cijoho
– Kuningan
Kode Supplier : G01 Tanggal :
09/0306
Nama Supplier : Grafta Nomor :
201
Kode
|
Nama Barang
|
Stok
|
Harga
|
Jumlah
|
B01
|
DVD-RW
|
10
|
990.000
|
9.900.000
|
B02
|
HUB
|
10
|
455.000
|
4.550.000
|
Total Faktur 14.450.000
Jatuh Tempo Faktur : 12/03/06
PT.
Adiguna Komputer
Faktur Pembelian
Barang
Jln.
Siliwangi 300
Cijoho
– Kuningan
Kode Supplier : H02 Tanggal :
02/02/06
Nama Supplier : ACC Nomor :
199
Kode
|
Nama Barang
|
Stok
|
Harga
|
Jumlah
|
D01
|
TV - Combo
|
10
|
260.000
|
2.600.000
|
|
|
|
|
|
Total Faktur 2.600.000
Jatuh Tempo Faktur : 12/03/06
·
Bentuk Unnormalized
Caranya masukan semua field data yang ada
No. Faktur
|
Kode
Supplier
|
Nama
Supplier
|
Kode
Barang
|
Nama
Barang
|
Tanggal
|
Jatuh
Tempo
|
Stok
|
Harga
|
Jumlah
|
Total
|
199
|
H02
|
ACC
|
D01
|
TV-Combo
|
02/02/06
|
12/03/06
|
10
|
260.000
|
2.600.000
|
2.600.000
|
201
|
G01
|
Grafika
|
B01
|
DVD-RW
|
09/03/06
|
12/03/06
|
10
|
990.000
|
9.900.000
|
14.450.000
|
|
|
|
B02
|
HUB
|
09/03/06
|
12/03/06
|
10
|
455.000
|
4.550.000
|
|
Keterangan :
Masih ada record yang tidak lengkap maka tabel diatas harus diubah
menjadi bentuk normal 1 NF.
·
Bentuk 1 NF
No.
Faktur
|
Kode
Supplier
|
Nama
Supplier
|
Kode
Barang
|
Nama
Barang
|
Tanggal
|
Jatuh
Tempo
|
Stok
|
Harga
|
Jumlah
|
Total
|
199
|
H02
|
ACC
|
D01
|
TV-Combo
|
02/02/06
|
12/03/06
|
10
|
260.000
|
2.600.000
|
2.600.000
|
201
|
G01
|
Grafika
|
B01
|
DVD-RW
|
09/03/06
|
12/03/06
|
10
|
990.000
|
9.900.000
|
14.450.000
|
201
|
G01
|
Grafika
|
B02
|
HUB
|
09/03/06
|
12/03/06
|
10
|
455.000
|
4.550.000
|
|
Bentuk
normal ke satu diatas memiliki kelemahan yaitu :
1.
Proses Inserting
?
Tidak
dapat memsukan kode dan nama supplier saja tanpa ada transaksi pembelian
sehingga supplier baru dapat masuk jika ada transaksi penghapusan.
2.
Proses
Deleting
?
Bila
suatu record diatas dihapus, misal nomor faktur 199, maka akibatnya data supplier
H02 (ACC) ikut terhapus, padahal data supplier tersebut masih diperlukan.
3.
Proses
Updating
§ Kode dan nama supplier ditulis berulang-ulang,
bila suatu saat terjadi perubahan nama supplier maka harus mengganti disemua
record jika ada yang terlewat maka akan berakibat inkonsistensi data.
4.
Redudansi
§ Filed jumlah jumlah merupakan redudancy,
karena setiap kali harga dikalikan dengan stok akan menghasilkan jumlah jika
tidak dibuang maka mengakibatkan inkonsistensi data. Tidak konsisten dikasus
ini disebabkan karena bila ada perubahan harga, hanya data harga yang diubah
sedangkan data jumlah tidak, maka nilai jumlah tidak sama dengan stok dikalikan
harga.
Maka dengan melihat kelemahan itu bentuk
normal ke satu ini harus diubah kebentuk normal yang ke dua 2 NF.
·
Bentuk 2 NF
Pembentukan
normal kedua dengan cara mencari kunci-kunci field yang sifatnya unik. Dari
data tabel diatas dapat diambil kunci kandidat yaitu :
-
No
Faktur
-
Kode
Supplier
-
Kode
Barang
Dimana
setiap field bergantung penuh kepada Primary Key, makka bentuk normal kedua
sebagai berikut :
1.
Tabel
Supplier
Kode Supplier
|
Nama
Supplier
|
H02
|
ACC
|
G02
|
Grafika
|
2.
Tabel
Barang
Kode
Barang
|
Nama
Barang
|
D01
|
TV -
Combo
|
B01
|
DVD RW
|
B02
|
HUB
|
3.
Tabel
Nota
No
Faktur
|
Tanggal
|
Tempo
|
Stok
|
Harga
|
Total
|
Kode
Supplier
|
199
|
02/02/06
|
12/03/06
|
10
|
260.000
|
2.600.000
|
H02
|
201
|
09/03/06
|
12/03/06
|
10
|
990.000
|
9.900.000
|
G02
|
201
|
09/03/06
|
12/03/06
|
10
|
455.000
|
4.550.000
|
G02
|
# Kode Supplier
Nama Supplier
|
# Kode Barang
Nama Barang
|
# No Faktur
Tanggal
Tempo
Stok
Harga
Total
# Kode Supplier
# Kode Barang
|
Namun
permasalahan masih ada ! Yaitu pada Tabel NOTA.
§ Field stok dan harga tidak bergantung penuh
pada kunci Primary No Faktur tetapi bergantung fungsi pada kode barang. Hal ini
disebut dengan ketergantungan yang transitif dan harus dipisahkan dalam dua
tabel.
§ Masih terdapat redudancy yaitu setiap kali
suatu nota yang terdiri dari 5 macam barang yang dibeli maka 5 kali pula
dituliskan no faktur, tanggal, tempo dan total. Ini harus pula dipisahkan bila
terjadi penggandaan tulisan berulang-ulang.
·
Bentuk 3 NF
Bentuk 3
NF mempunyai syarat setiap tabel tidak mempunyai field yang bergantung
transitif, harus bergantung penuh pada kunci utama.
Maka
terbetuklah tabel sebagai berikut :
Tabel Supplier
Kode Supplier
|
Nama Supplier
|
H02
|
ACC
|
G02
|
Grafika
|
Tabel Barang
Kode Barang
|
Nama Barang
|
D01
|
TV – Combo
|
B01
|
DVD – RW
|
B02
|
HUB
|
Tabel Nota
No Faktur
|
Kode Supplier
|
Tanggal
|
Tempo
|
Harga
|
Total
|
199
|
H02
|
02/02/06
|
12/03/06
|
260.000
|
2.600.000
|
201
|
G02
|
09/03/06
|
12/03/06
|
990.000
|
14.450.000
|
Tabel Tansaksi
No Faktur
|
Kode Barang
|
Stok
|
Harga
|
199
|
D01
|
10
|
260.000
|
201
|
B01
|
10
|
990.000
|
201
|
B02
|
10
|
450.000
|
III.
PERTANYAAN DAN TUGAS PRAKTIKUM
Buatlah bentuk normalisasi dari dokumen
berikut ini :
Kartu pengobatan masyarakat
No Pasien : 1234/PO/IV/99 Tanggal
Pendaftaran : 1 Mei 1999
Data Pasien dari, NOPEN : 1000019999 Nama
Pasien : Bachtiar Jose
Alamat Pasien, Jalan : Kebin Jeruk No. 27 Kelurahan : Palmerah
Kecamatan : Kemanggisan Wilayah
: Jakarta Barat
Kode Pos : 11530 Telepon
: 5350999
Tgl Periksa
|
Kode Dokter
|
Nama Dokter
|
Kode Sakit
|
Diskripsi Sakit
|
Kode Obat
|
Nama Obat
|
Dosis
|
1/5/99
|
D01
|
Dr. Zurmaini
|
S11
|
Tropicana
|
B01
|
Sulfa
|
3dd2
|
|
|
|
|
|
B02
|
Anymiem
|
4dd1
|
4/7/99
|
D01
|
Dr. Zurmaini
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
4/4/99
|
D02
|
Dr. Harjono
|
S12
|
Ulcer Triombis
|
B04
|
Adrenalin
|
4dd2
|
7/8/99
|
D03
|
Dr. Mahendra
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
|
|
|
|
|
B02
|
Anymiem
|
4dd2
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
Penerima
Pasien,
TTD
(Agus)
Buatlah bentuk Unnormal Form, 1 NF, 2 NF, dan
3 NF.
·
Bentuk Unnormal
Dari Kartu Pengobatan diatas masukkan semua
field data yang ada :
No. Pasien
|
NOPEN
|
Nama Pasien
|
Tgl Pendaftaran
|
Alamat Pasien
|
|
1234/PO/IV/99
|
1000019999
|
Bachtiar Jose
|
1 Mei 1999
|
Jalan Kebon Jeruk No. 27, Kel. Palmerah,
Kec. Kemanggisan, Jakarta Barat
|
|
|
|
|
|
|
Row 1
|
|
|
|
|
|
|
|
|
|
|
|
Row 2
|
|
|
|
|
|
Row
3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Row
4
|
|
No. Telp.
|
Tgl Periksa
|
Kode Dokter
|
Nama Dokter
|
Kode Sakit
|
Deskripsi Sakit
|
Kode Obat
|
Nama Obat
|
Dosis
|
|
|
1/5/99
|
D01
|
Dr. Zurmaini
|
S11
|
Tropicana
|
B01
|
Sulfa
|
3dd2
|
Row
1
|
5350999
|
|
|
|
|
|
B02
|
Anymiem
|
4dd1
|
|
|
4/7/99
|
D01
|
Dr. Zurmaini
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
Row
2
|
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
Row
3
|
|
4/4/99
|
D02
|
Dr. Harjono
|
S12
|
Ulcer Triombis
|
B04
|
Adrenalin
|
4dd2
|
|
|
7/8/99
|
D04
|
Dr. Mahendra
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
|
|
|
|
|
|
|
B02
|
Anymiem
|
4dd1
|
Row
4
|
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
Keterangan :
Masih ada record yang tidak lengkap maka tabel diatas harus diubah
menjadi bentuk normal 1 NF.
·
Bentuk 1 NF
No. Pasien
|
NOPEN
|
Nama Pasien
|
Tgl Pendaftaran
|
Alamat Pasien
|
||
1234/PO/IV/99
|
1000019999
|
Bachtiar Jose
|
1 Mei 1999
|
Jalan Kebon Jeruk No. 27, Kel. Palmerah,
Kec. Kemanggisan, Jakarta Barat
|
||
Row 1
|
||||||
1234/PO/IV/99
|
1000019999
|
Bachtiar Jose
|
1 Mei 1999
|
Jalan Kebon Jeruk No. 27, Kel. Palmerah,
Kec. Kemanggisan, Jakarta Barat
|
||
|
Row 2
|
|||||
1234/PO/IV/99
|
1000019999
|
Bachtiar Jose
|
1 Mei 1999
|
Jalan Kebon Jeruk No. 27, Kel. Palmerah,
Kec. Kemanggisan, Jakarta Barat
|
Row
3
|
|
1234/PO/IV/99
|
1000019999
|
Bachtiar Jose
|
1 Mei 1999
|
Jalan Kebon Jeruk No. 27, Kel. Palmerah,
Kec. Kemanggisan, Jakarta Barat
|
||
|
||||||
|
Row
4
|
|
No. Telp.
|
Tgl Periksa
|
Kode Dokter
|
Nama Dokter
|
Kode Sakit
|
Deskripsi Sakit
|
Kode Obat
|
Nama Obat
|
Dosis
|
|
5350999
|
1/5/99
|
D01
|
Dr. Zurmaini
|
S11
|
Tropicana
|
B01
|
Sulfa
|
3dd2
|
Row
1
|
|
|
|
|
|
|
B02
|
Anymiem
|
4dd1
|
|
5350999
|
4/7/99
|
D01
|
Dr. Zurmaini
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
Row
2
|
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
Row
3
|
5350999
|
4/4/99
|
D02
|
Dr. Harjono
|
S12
|
Ulcer Triombis
|
B04
|
Adrenalin
|
4dd2
|
|
5350999
|
7/8/99
|
D04
|
Dr. Mahendra
|
S12
|
Ulcer Triombis
|
B01
|
Sulfa
|
3dd2
|
|
|
|
|
|
|
|
B02
|
Anymiem
|
4dd1
|
Row
4
|
|
|
|
|
|
|
B03
|
Supralin
|
3dd1
|
Bentuk
normal ke satu diatas memiliki kelemahan yaitu :
1. Proses Inserting
?
Tidak
dapat memsukan kode dan nama supplier saja tanpa ada transaksi pembelian
sehingga supplier baru dapat masuk jika ada transaksi penghapusan.
2. Proses Deleting
?
Bila
suatu record diatas dihapus, misal nomor faktur 199, maka akibatnya data
supplier H02 (ACC) ikut terhapus, padahal data supplier tersebut masih
diperlukan.
3. Proses Updating
§ Kode dan nama supplier ditulis berulang-ulang,
bila suatu saat terjadi perubahan nama supplier maka harus mengganti disemua
record jika ada yang terlewat maka akan berakibat inkonsistensi data.
4. Redudansi
§ Filed jumlah jumlah merupakan redudancy,
karena setiap kali harga dikalikan dengan stok akan menghasilkan jumlah jika
tidak dibuang maka mengakibatkan inkonsistensi data. Tidak konsisten dikasus
ini disebabkan karena bila ada perubahan harga, hanya data harga yang diubah sedangkan
data jumlah tidak, maka nilai jumlah tidak sama dengan stok dikalikan harga.
Maka dengan melihat kelemahan itu bentuk
normal ke satu ini harus diubah kebentuk normal yang ke dua 2 NF.
·
Bentuk 2 NF
Pembentukan
normal kedua dengan cara mencari kunci-kunci field yang sifatnya unik. Dari
data tabel diatas dapat diambil kunci kandidat yaitu :
-
No
Pasien
-
Kode
Dokter
-
NOPEN
-
Kode
Obat
-
Kode
Sakit
-
Tanggal
Periksa
Dimana
setiap field bergantung penuh kepada Primary Key, makka bentuk normal kedua
sebagai berikut :
1.
Tabel
Pasien
No
Pasien
|
Nama
Pasien
|
Alamat
|
No
Telepon
|
NOPEN
|
Tgl
Pendaftaran
|
1234/PO/IV/99
|
Bachtiar
Jose
|
Jalan
Kebon Jeruk No. 27, Kel. Palmerah, Kec. Kemanggisan, Jakarta Barat, Kode Pos
: 11530
|
5350999
|
1000019999
|
1 Mei
1999
|
2.
Tabel
Dokter
Kode
Dokter
|
Nama
Dokter
|
D01
|
Dr.
Zurmaini
|
D02
|
Dr.
Harjono
|
D04
|
Dr.
Mahendra
|
3.
Tabel
Obat
Kode
Obat
|
Nama
Obat
|
B01
|
Sulfa
|
B02
|
Anymiem
|
B03
|
Supralin
|
B04
|
Adrenalin
|
4.
Tabel
Sakit
Kode
Sakit
|
Deskripsi
Sakit
|
S11
|
Tropicana
|
S12
|
Ulcer
Triombis
|
5.
Tabel
Pemeriksaan
Tgl
Periksa
|
No
Pasien
|
Kode
Dokter
|
Kode
Sakit
|
Kode
Obat
|
Dosis
|
1/5/99
|
1234/PO/IV/99
|
D01
|
S11
|
B01
B02
|
3dd2
4dd1
|
4/7/99
|
1234/PO/IV/99
|
D01
|
S12
|
B01
B03
|
3dd2
3dd1
|
4/4/99
|
1234/PO/IV/99
|
D02
|
S12
|
B04
|
4dd2
|
7/8/99
|
1234/PO/IV/99
|
D04
|
S12
|
B01
B02
B03
|
3dd2
4dd2
3dd1
|
6.
Bentuk Relasi Antar Tabel Diatas :
Namun
permasalahan masih ada, yaitu pada table Obat.Untuk Nama Obat tidak bergantung
penuh pada pada Primary Key tetapi bergantung fungsi pada Tgl Periksa. Hal ini
disebut dengan ketergantungan yang transitif dan harus dipisahkan dalam dua
table.
·
Bentuk 3 NF
Bentuk 3
NF mempunyai syarat setiap tabel tidak mempunyai field yang bergantung
transitif, harus bergantung penuh pada kunci utama.
Maka terbetuklah tabel sebagai berikut :
Tabel Pasien
No
Pasien
|
Nama
Pasien
|
Alamat
|
No
Telepon
|
NOPEN
|
Tgl
Pendaftaran
|
1234/PO/IV/99
|
Bachtiar
Jose
|
Jalan
Kebon Jeruk No. 27, Kel. Palmerah, Kec. Kemanggisan, Jakarta Barat, Kode Pos
: 11530
|
5350999
|
1000019999
|
1 Mei
1999
|
Tabel Dokter
Tabel Sakit
Kode
Dokter
|
Nama
Dokter
|
|
Kode
Sakit
|
Deskripsi
Sakit
|
D01
|
Dr.
Zurmaini
|
|
S11
|
Tropicana
|
D02
|
Dr.
Harjono
|
|
S12
|
Ulcer
Triombis
|
D04
|
Dr.
Mahendra
|
|
Tabel Resep Obat
Tgl
Periksa
|
Kode Obat
|
Nama
Obat
|
Dosis
|
1/5/99
|
B01
|
Sulfa
|
3dd2
4dd1
|
4/7/99
|
B02
|
Anymiem
|
3dd2
3dd1
|
4/4/99
|
B03
|
Supralin
|
4dd2
|
7/8/99
|
B04
|
Adrenalin
|
3dd2
4dd2
3dd1
|
Tabel Sakit
Tgl
Periksa
|
No
Pasien
|
Kode
Dokter
|
Kode
Sakit
|
Kode
Obat
|
1/5/99
|
1234/PO/IV/99
|
D01
|
S11
|
B01
B02
|
4/7/99
|
1234/PO/IV/99
|
D01
|
S12
|
B01
B03
|
4/4/99
|
1234/PO/IV/99
|
D02
|
S12
|
B04
|
7/8/99
|
1234/PO/IV/99
|
D04
|
S12
|
B01
B02
B03
|
Praktikum di Laboratorium Komputer Universitas
Kuningan
Tabel Mahasiswa
NIM
|
Nama
|
Alamat
|
2012081127
|
Ricky Rudianto
|
Ciawi
|
2012081128
|
Ridwan Yusup
|
Lebakwangi
|
2012081109
|
Nandang Trihadi
|
Maleber
|
Tabel Mata Kuliah
Kode Mata Kuliah
|
Nama
Mata Kuliah
|
04TIFC20
|
Praktikum
Sistem dan Teknoligi Basis Data
|
Hubungan
antar tabel diatas :
NIM
|
Nama
|
Kode
Mata Kuliah
|
Nilai
|
2012081127
|
Ricky Rudianto
|
04TIFC20
|
A
|
2012081128
|
Ridwan Yusup
|
04TIFC20
|
A
|
2012081109
|
Nandang Trihadi
|
04TIFC20
|
A
|
IV.
KESIMPULAN
Normalisasi
mengharuskan relasi pada suatu basis data dalam bentuk normal. Bentuk normal
sendiri merupakan seperangkat aturan yang dikenakan dan harus dipenuhi oleh
relasi basis data pada setiap level normalisasi. Adapun level-level yang sering
digunakan pada normalisasi adalah Bentuk tidak Normal (Un Nomalisasi), Bentuk
Normal Pertama (1NF), Bentuk Normal Kedua (2NF), Bentuk Normal ketiga (3NF)
Bentuk Normal Boyce-Codd (BCNF), Bentuk Normal keempat (4NF), dan Bentuk Normal
kelima (5NF). Adapun istilah-istilah yang berada pada tahap Normalisasi yaitu
Anomali, Depedenci, dan Redudanci. Anomali
merupakan proses pada basis data yang memberikan efek samping yang diharapkan,
misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu data menjadi
hilang ketika data lain dihapus sedangkan Depedency
merupakan konsep yang mendasari normalisasi.
V.
DAFTAR PUSTAKA
No comments:
Post a Comment