BAB I
TEHNIK
NORMALISASI
NORMALISASI
Proses normalisasi menyediakan cara
sistematis untuk meminimalkan terjadinya kerangkapan data diantara relasi dalan
perancangan logikal basis data. Normalisasi merupakan proses pengelompokan elemen data
menjadi tabel–tabel yang menunjuk-kan
entity dan relasinya.
Normalisasi
adalah proses pengelompokan atribute-atribute dari suatu relasi sehingga
membentuk WELL STRUCTURE RELATION.
Well
Structure Relation
Adalah sebuah relation yang jumlah kerangkapan
datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan
bagi user untuk melakukan INSERT, DELETE, dan
MODIFY terhadap baris-baris data pada relation tersebut, yang tidak
berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi
–operasi tersebut.
Contoh :
Terdapat sebuah
relation Course, dengan ketentuan sbb:
Ø Setiap
mahasiswa hanya boleh mengambil satu matakuliah saja.
Ø
Setiap matakuliah mempunyai uang kuliah yang standar
(tidak tergantung pada mahasiswa yang
mengambil matakuliah tsb.
RELATION COURSE
Relation di
atas merupakan sebuah relation yang sederhana dan terdiri dari 3 kolom/atribute
Bila diteliti secara seksama, maka
akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang
pada setiap mhs. Akibatnya besar kemungkinan terjadi Error atau inkonsistensi
data, bila dilakukan update terhadap relation tsb yang disebut dengan Anomali
ANOMALY Merupakan penyimpangan-penyimpangan atau
Error atau Inkonsistensi data yang terjadi pada saat dilakukan proses insert,
delete ataupun modify.
Terdapat 3 jenis Anomali :
1. Insertion Anomali
Error yang terjadi sebagai
akibat operasi insert record/tuple pada sebuah relation
contoh
:
Ada matakuliah baru (CS-600)
yang akan diajarkan, maka matakuliah tsb tidak bisa di insert ke dalam relation
tsb sampai ada mhs yang mengambil matakuliah tsb.
2. Delettion
Anomali
Error
yang terjadi sebagai akibat operasi delete record/tuple pada sebuah relation
Contoh
:
Mhs dengan student-id 92-425,
memutuskan untuk batal ikut kuliah CS-400, karena dia merupakan satu-satunya
peserta matakuliah tsb, maka bila record/tuple tsb didelete akan berakibat
hilangnya informasi bahwa mata-kuliah CS-400, biayanya 150
3. Update
Anomali
Error yang
terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari
operasi update record/tuple dari sebuah relation
Contoh
:
Bila biaya
kuliah untuk matakuliah CS-200 dinaikan dari 75 menjadi 100, maka harus
dilakukan beberapa kali modifikasi terhadap record-record, tuple-tuple mhs yang
mengambil matakuliah CS-200, agar data tetap konsisten
Berdasarkan teori normalisasi, relation
course dipecah menjadi 2 relation terpisah , sbb
BAB II
TEHNIK
NORMALISASI
(LANJUTAN )
Proses normalisasi adalah proses
pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan
relasinya. Pada proses normalisasi dilakukan pengujian pada beberapa kondisi
apakah ada kesulitan pada saat menambah/menyisipkan, menghapus, mengubah dan
mengakses pada suatu basis data. Bila terdapat kesulitan pada pengujian
tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata
lain perancangan basis data belum optimal.
Beberapa
konsep yang harus diketahui :
a. Field/ Atribut Kunci
b. Kebergantungan Fungsi
a) Field (Atribut) Kunci
Setiap file selalu terdapat kunci dari
file berupa field atau satu set field yang dapat mewakili record. Misalnya
Nomor Pokok Mahasiswa (NPM) merupakan kunci dari tabel mahasiswa suatu
Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut
maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan
atribut lainnya.
Nomor Pegawai (NIP) bagi data dosen,
NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain
sebagainya.
Jenis Atribut Pada Entitas
Atribut yang melekat pada suatu entitas
ada bermacam tipe seperti yang akan
dijelaskan sebagai berikut :
Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak
dapat lagi dipecah menjadi atribut
lain.
Contoh : Entitas mahasiswa mempunyai
atribut sederhana berupa NIM, Nama
Mahasiswa .
Atribut Komposit : atribut komposit merupakan atribut yang masih dapat dipecah
menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri.
Contoh : entitas mahasiswa mempunyai
atribut alamat. Alamat disini dapat
dipecah menjadi sub atribut seperti
nama_kota, kode_pos.
Atribut Bernilai Tunggal : yaitu atribut
yang hanya memiliki satu nilai untuk
setiap barisnya.
Contoh : entitas mahasiswa mempunyai
atribut NPM, Nama, Alamat isi data dari atribut ini hanya boleh diisi dengan 1
data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat.
Atribut Bernilai Jamak : yaitu atribut
yang boleh memiliki lebih dari satu nilai untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai
atribut Hobby isi data dari atribut ini boleh lebih dari 1 data. Mahasiswa
Roshita memiliki NPM 13402021 beralamat di Jalan Garuda 32 Yogyakarta memiliki
Hobby (Olah Raga, Nyanyi, Masak dan Nonton TV)
Atribut Harus Bernilai : yaitu atribut
yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti
ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian
dikosongi akan terjadi kesalahan.
Contoh : entitas mahasiswa mempunyai
atribut NPM dan Nama_Mahasiswa yang harus diisi datanya, sebab jika tidak diisi
akan terjadi kekacauan dalam basis data.
Atribut Bernilai Null : yaitu atribut
yang boleh tidak memiliki nilai data untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai
atribut Alamat, Hobby, Nama_Pacar yang boleh untuk tidak diisi tetapi kalau
diisi akan lebih baik.
Atribut Turunan : yaitu atribut
yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari
atribut lain yang berkaitan.
Contoh : entitas mahasiswa mempunyai
atribut IPK yang diperoleh dari pengolahan atribut Nilai pada tabel (entitas
Nilai) dengan kode NIM mahasiswa yang sama dan diproses sehingga menghasilkan
IPK untuk mahasiswa yang bersangkutan.
Super
Key
Yaitu himpunan dari
satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara unik
sebuah entitas dalam entitas set
Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau
satu set atribut yang mengidentifikasikan secara unik suatu kejadian spesifik
dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda
tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang
unik. Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut
sebagai composite key (kunci campuran atau gabungan).
Contoh :
File mahasiswa berisi :
· Nomor Pegawai
· No KTP
· Nama Pegawai
· Tempat Lahir
· Tanggal Lahir
· Alamat
· Kota
Kunci kandidat dalam file mahasiswa di
atas dapat dipilih sbb :
·
Nomor Pegawai
·
No KTP
· Nama (tidak dapat dipakai karena sering seseorang punya nama yang
sama dengan orang lain)
· Nama + Tanggal Lahir (mungkin bisa dipakai sebagai kunci karena
kemungkinan orang dengan nama yang sama dan tanggal lahir yang sama cukup
kecil)
· Nama + Tempat Lahir + Tanggal Lahir (dapat dipakai sebagai kunci)
· Alamat dan Kota
(bukan kunci)
Kunci Primer (Primery Key)
Primary key adalah satu atribut atau
satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu
kejadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu
entity.
Setiap kunci kandidat dapat menjadi
kunci primer tetapi sebaliknya sebaiknya dipilih satu saja yang dapat mewakili
secara menyeluruh terhadap entity yang ada.
Contoh :
·
No Pegawai (karena sifatnya yang unik
maka tidak mungkin pegawai mempunyai Nomor Pegawai yang sama).
·
No KTP (Bisa dipakai misalnya untuk
pegawai yang baru belum mendapatkan nomor pegawai maka bisa digunakan nomor KTP
untuk sementara sebagai kunci primer.
·
Kode_Kuliah (bisa dipakai untuk data
mata kuliah karena kode mata kuliah bersifat unik untuk tiap mata kuliah)
Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat
yang tidak dipakai sebagai kunci primer. Kunci alternatif ini sering digunakan
untuk kunci pengurutan misalnya dalam laporan.
Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut atau
satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke
induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer
induk yang direlasikan. Hubungan antara entity induk dengan anak adalah
hubungan satu lawan banyak (one to many relationship)
Contoh :
File Transaksi Gaji Bulanan
·
No Pegawai
·
No Bukti
·
Tanggal
·
Jumlah Gaji Kotor
·
Jumlah Potongan
·
Jumlah Gaji Bersih
·
Jumlah Pajak
ð
Kunci Tamu
* No Pegawai
(karena Gaji berhubungan dengan file Pegawai)
ð
Kunci Primer
* No Bukti
(karena unik dan mewakili entity)
ð
Kunci Kandidat
* No Pegawai + Nomor Bukti (Unik dan menunjukkan hubungan dengan
file
pegawai)
Dalam hubungan dua buah file yang punya
relationship banyak lawan banyak
maka terdapat 2 kunci tamu pada file
konektornya.
Contoh :
File Proyek berisi atribut
·
No Proyek
·
Tgl Mulai
·
Tgl Selesai
·
Anggaran
File Pegawai Berisi Atribut
·
No Pegawai
·
Nama
Hubungan antara file tersebut adalah
banyak lawan banyak yaitu satu
pegawai mengerjakan lebih dari 1 proyek
dan 1 proyek dikerjakan oleh
beberapa pegawai maka untuk menunjukkan
hubungan tersebut dipakai file
konektor yang berisi kunci tamu dari
kedua file.
File Proyek Pegawai berisi atribut :
·
No Proyek
·
No Pegawai
·
Jam Kerja
Maka pada file proyek pegawai terdapat
kunci tamu yaitu nomor proyek dan
no pegawai. Kedua atribut tersebut juga
merupakan kunci primer.
b)
Ketergantungan Kunci
Kebergantungan Fungsi didefinisikan
sebagai
Diberikan sebuah
relasi R, atribut Y dan R adalah bergantung fungsi pada atribut X dari R jika
dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y
dalam R (dalam setiap satu waktu).
File relasi pegawai atribut berisi :
·
No Pegawai
·
No KTP
·
Nama
·
Tempat Lahir
·
Tgl Lahir
·
Alamat’
·
Kota
Isi dari atribut nama bergantung pada
No Pegawai. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi
pada No Pegawai dan Nomor Pegawai menunjukkan secara fungsi nama. jika anda
mengetahui no pegawai maka anda dapat menentukan nama pegawai tersebut. Notasi
untuk kebergantungan fungsi ini adalah
No Pegawai à Nama atau
Nama = f(No Pegawai)
1. Ketergantungan Fungsional (Fungsional Dependent)
Keterkaitan antar hubungan antara 2 atribute pada sebuah
relasi. Dituliskan dengan cara : A ->
B, yang berarti :
Atribute B fungsionality Dependent
terhadap atribute A atau
Isi (value) atribute A
menentukan isi atribute B
Definisi dari functional dependent :
Diketahui sebuah relasi R, atribute Y dari R adalah FD
pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X
dalam R bersesuaian dengan tepat satu harga Y dalam R
2. Fully
Functinaly Dependent (FFD)
Suatu rinci data dikatakan fully functional dependent
pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci
data dan tidak functional dependent pada bagian lain dari kombinasi rinci data.
Definisi dari FDD:
Atribute Y pada relasi R adalah FFD pada atribute X pada
relasi R jika Y FD pada X tida FD pada himpunan bagian dari X
3. Ketergantungan
Partial
Sebagian dari kunci dapat digunakan sebagai kunci utama
4. Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi menjadi
kunci pada realasi lain
5. Determinan
Suatu atribute (field) atau gabungan atribute dimana
beberapa atribute lain bergantung sepenuhnya pada atribute tersebut
BAB III
MACAM-MACAM BENTUK NORMALISASI
LANGKAH - LANGKAH PEMBENTUKAN NORMALISASI:
1. Bentuk tidak normal (Unnormalized Form):
Bentuk ini
merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu
format tertentu. Dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan
apa adanya sesuai dengan saat menginput.
Contoh data :
Ket : PA =
Penasehat Akademik
Siswa yg punya nomor siswa, nama, dan PA mengikuti 3 mata pelajaran/kelas. Disini
ada perulangan kelas 3 kali ini bukan bentuk 1 NF
2. Bentuk Normal Ke Satu (1 NF/First Normal Form)
Suatu relasi 1NF jika dan
hanya jika sifat dari setiap relasi atributnya bersifat atomik.
Atom adalah zat terkecil yang
masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat
induknya.
Ciri-ciri
1 NF :
•
Setiap
data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record
nilai dari field berupa “atomic value
•
Tidak
ada set atribute yang berulang atau bernilai ganda
•
Tiap field
hanya satu pengertian
3. Bentuk Normal Ke Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai
syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute
bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key.
Sehingga utk membentuk normal kedua haruslah sudah ditentukan kunci-kunci
field. Kunci field haruslah unik dan dapat mewakili atribute lain yg menjadi anggotanya.
Misal :
Dari contoh relasi Siswa pada I NF terlihat bahwa
kunci utama/primary key adalah nomor siswa. Nama siswa dan pa bergantung fungsi
pada no_siswa, tetapi kode_kelas bukanlah fungsi dari siswa, maka file siswa
dipecah menjadi 2 relasi
Relasi Siswa
Dan
Relasi ambil_kelas
4. Bentuk Normal Ke Tiga (3 NF / Third Normal Form)
Untuk menjadi bentuk normal
ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribute bukan
primer tidak punya hubungan yg transitif. Dengan kata lain,setiap atribute
bukan kunci haruslah bergantung hanya pada primary key dan pada primary key
secara menyeluruh.
Contoh pada bentuk normal
kedua di atas termasuk juga bentuk normal ke tiga karena seluruh atribute yang
ada disitu bergantung penuh pada kunci primernya
5.
Boyce-Codd Normal Form ( BCNF)
BCNF mempunyai paksaan yg
lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam
bentuk normal kesatu dan setiap atribute harus bergantung fungsi pada atribute
superkey
Pada contoh di bawah ini
terdapat relasi seminar dengan ketentuan sbb :
kunci primer adalah
no_siswa+seminar.
a. Siswa boleh mengambil satu atau dua
seminar.
b. Setiap siswa dibimbing oleh salah satu
diantara 2 instruktur seminar tsb.
c. Setiap instruktur boleh hanya mengambil
satu seminar saja.
Pada contoh ini no_siswa dan
seminar menunjuk seorang
instruktur :
Relasi seminar
Bentuk
relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor
seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat
mengajar hanya pada satu seminar. Seminar bergantung fungsi pada satu atribute
bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi seminar haruslah
dipecah menjadi dua yaitu :
Relasi
pengajar
6.
Bentuk Normal Ke Empat (4 NF)
Relasi R
adalah bentuk 4 NF jika dan hanya jika
relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah
juga ketergantungan fungsional
7. Bentuk Normal Ke Lima (5 NF)
Disebut juga
PJNF (Projection Join Normal Form) dari 4 NF dilakukan dengan menghilangkan
ketergantungan join yang bukan merupakan kunci kandidat.
EFEK-EFEK
NORMALISASI
KASUS
PENERAPAN NORMALISASI
PT.
SANTA PURI FAKTUR PEMBELIAN BARANG
Jalan senopati 11
yogyakarta
Kode Suplier :
G01 Tanggal : 05/09/2000
Nama Suplier :
Gobel Nustra Nomor : 998
Jatuh tempo faktur : 09/09/2000
1. Step 1 bentuk unnormalized
- Step 2 bentuk 1 NF
- Step 3 bentuk 2 NF
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 : Kebon Jeruk No. 27 Kelurahan : Palmerah
Kecamatan :
Kemanggisan Wilayah : Jakarta Barat
Kode Pos :11530 Telepon : 5350999
Penerima Pasien
Ttd
(
Udin )
Buatlah bentuk un normal form, 1NF, 2NF dan 3NF
·
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
|
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.
Tidak ada komentar:
Posting Komentar