2.1 Pengertian Normalisasi
Definisi Normalisasi adalah suatu teknik
untuk mengorganisasi data ke dalam tabel-tabel
untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Normalisasi adalah suatu proses memperbaiki/membangun data dengan
model data relasional dan secara umum lebih tepat di koneksikan dengan data
model logical. Normalisasi adalah proses pengelompokan data ke dalam bentuk
tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka,
sehingga terwujud satu bentuk basis data yang mudah untuk di modifikasi.
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya.
Normalisasi
bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu
relasi sehingga membentuk “Well Stuructured Relation”.Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya.
Well Stuructured Relation adalah sebuah relasi yang kerangkapan datanya sedikit (Minimum Amount Of Redudancy), serta memberikan kemungkinan bagi pemakai untuk melakukan insert, Delete, Modify terhadap baris-baris data pada relasi tersebu,yang tidak berakibat terjadinya error atau inconsistency data yang disebabkan oleh operasi-operasiyang di berikan oleh pemakai.
2.2 Tujuan Normalisasi
1. ‰ Untuk menghilangkan kerangkapan
data.
2. ‰ Untuk mengurangi
kompleksitas.
3. ‰ Untuk mempermudah
pemodifikasian data.
2.3
Syarat perlunya normalisasi:
a) Fleksibilitas
Struktur
database harus menunjang semua cara untuk menampilan data, sehingga ketika user
menjalankan aplikasi dan meminta sesuatu dalam datbase, database harus dapat
berjlan memenuhi permintaan user.
b) Integritas
data
Semua
data dalam database yang berkaitan harus terhubung dalam suatu relationship.
Sehingga ketika suatu data berubah,maka semua data yang berkaitan dengan data
tersebut harus dapat berubah secara otomatis.
c) Efficiency
Pada
database, ukuran suatu database merupakan hal yang penting. Maka dalam
database, kita harus mengurangi redudansi data yang bisa menyebabkan ukuran
databse membengkak.
d) Menghindari
modification anomaly
Desain
database yang baik menyajikan suatu keyakinan bahwa ketika user melakukan
perubahan dalam database, maka tidak terjadi hal yang tidak diinginkan.
2.4 Proses Normalisasi
1.
Data diuraikan dalam bentuk
tabel, selanjutnya dianalisis berdasarkan
persyaratan tertentu ke beberapa tingkat.
2.
Apabila tabel yang diuji
belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi
beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
2.5
Tahapan Normalisasi
1. Bentuk normalisasi pertama (1NF)
Bentuk normal pertama
adalah suatu bentuk relasi dimana atribut bernilai panjang(multifalues attribute) telah dihilangkan sehingga kita akan
menjumpai nilai tunggal( mungkin saja nilai null) pada perpotongan setiap
baris. Bentuk normal pertama tidak membutuhkan informasi tambahan seperti
informasi ketergantungan fungsional. Bilangan bulat (Integer) umumnya sering diasumsikan atau mix.
Himpunan integer bisa dikatakan bukan nilai atau
milik jika padanya bisa dilakukan pembagian lebih lanjut menjadi unit-unit yang
lebih kecil. Misalnya, nilai NIM_Mahasiswa bisa dinyatakan sebagai bilangan
bulat (integer) namun bisanya bisa di
bagi-bagi menjadi digit-digit yang menunjukkan tahun masuk mahasiswa yang
bersangktan, jurusan serta nomor urutannya di suatu jurusan dalam suatu fakultas
tertentu. Dalam kasus ini nilai built
yang bersangkatan tidak atomis
Perancangan
Basis Data yang Buruk
Hal-hal yang mungkin
menjadi sumber kasalahan pada perancangan basis data yang buruk. Beberapa
karakteristk dari perancangan basis data yang
buruk yaitu:
1. Perulang-perulangan
informasi (redundansi).
2.
Ketidakkonsistanan data.
3. Ketidakmampuan
penguna atau program aplikasi untuk mendapatkan informasi yang dibutuhkan.
Tabel Denda Buku
(unnormal)
|
NIM
|
Kode
fakultas
|
Fakultas
|
Judul
buku
|
Jumlah
Denda
|
|
120213314478
|
1
|
Sastra
|
Bahasa indonesia
|
1000
|
|
|
|
|
Toefl
|
1500
|
|
|
|
|
Mandarin
|
3000
|
|
100213314485
|
4
|
Teknik
|
Konstuksi
|
4000
|
|
102311338899
|
5
|
Ekonomi
|
Manajemen keuangan
|
2500
|
Suatu
relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat
atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.
Pada tabel diatas tidak bersifat atomik NIM 120213314478 memiliki data lebih
dari satu yaitu dengan jumlah denda 1000, 1500, dan 3000.
Tabel Denda (1NF)
|
NIM
|
Kode
fakultas
|
Fakultas
|
Judul
buku
|
Jumlah
Denda
|
|
120213314478
|
3
|
Sastra
|
Bahasa indonesia
|
1000
|
|
120213314478
|
3
|
Sastra
|
Toefl
|
1500
|
|
120213314478
|
3
|
Sastra
|
Mandarin
|
3000
|
|
100213314485
|
1
|
Teknik
|
Konstuksi
|
4000
|
|
102311338899
|
2
|
Ekonomi
|
Manajemen keuangan
|
2500
|
Suatu
relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data
bersifat atomik yaitu setiap
irisan baris dan kolom hanya mempunyai
satu nilai data. Pada tabel diatas setiap irisan baris dan kolom hanya mempunyai satu nilai data misal dengan NIM
120213314478, kode fakultas 3, fakultas Sastra, judul buku Bahasa Indonesia
memiliki jumlah denda sebesar 1.000
Diagram
Ketergantungan Fungsional

2. Bentuk normal kedua (2NF)
Semua
kebergantungan fungsional yang bersifat sebagian (Partial
Functional
dependency) telah dihilangkan. Suatu reaksi berada di bentuk
normal kedua (2NF) jika reaksi tersebut berada dalam bentuk normal pertama
(Semua nilai atribut bernilai atomik) dan setiap anomik bukan kunci bergantung
penuh ada kunci primer. Maka tidak ada atribut bukan kunci yang bergantung pada
sebagian (tepi tidak seluruhya) kunci primer. Relasi yang berada dalam bentuk
normal pertama akan menjadi bentuk normal kedua jika salah satu kondisi berikut
terpenuhi.
a.
Kunci primer hanya mengandung satu
atribut (seperti atribut NIP dalam relasi karyawan)
b.
Tidak ada atribut bukan kunci yang
muncul pada relasi (sehingga semua atribut
pada relasi adalah komponen dari kunci primer).
c.
Setiap atribut bukan kunci bergantung
penuh dengan himpunan / sekumpulan atribut pada kunci primer.
Tabel
NIM-1 (2NF)
|
NIM
|
Kode
Fakultas
|
Fakultas
|
|
120213314478
|
3
|
Sastra
|
|
100213314485
|
1
|
Teknik
|
|
102311338899
|
2
|
Ekonomi
|
Keterangan
Suatu relasi dikatakan sudah memenuhi
Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu,
dan atribut yang bukan key sudah tergantung penuh terhadap keynya.
3. Bentuk normal ketiga (3NF)
Semua tergantungan transitif (
transitife depenfency) telah dihilangkan. Relasi berada dalam bentuk normal
ketiga (3NF) jika berada dalam bentuk normal kedua dan tidak dijumpai ketergantungan
transif. Kebergantungan transif dalam suatu relasi adalah ketrbegantungan fungsional
antara dua atau lebih atribut bukan kunci
Tabel
Kirim-3 (3NF)
|
NIM
|
Judul
Buku
|
Jumlah
Denda
|
|
120213314478
|
Bahasa indonesia
|
1000
|
|
120213314478
|
Toefl
|
1500
|
|
120213314478
|
Mandarin
|
3000
|
|
100213314485
|
Konstuksi
|
4000
|
|
102311338899
|
Manajemen keuangan
|
2500
|
Tabel
NIM-2 (3NF)
|
NIM
|
Kode
Fakultas
|
|
100213314485
|
1
|
|
102311338899
|
2
|
|
120213314478
|
3
|
Tabel
NIM-3 (4NF)
|
Kode
Fakultas
|
Fakultas
|
|
1
|
Teknik
|
|
2
|
Ekonomi
|
|
3
|
Sastra
|
Suatu
relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah
memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung
transitif terhadap keynya.
4.
Bentuk normal Boyce-codd (BCNF)
Semua anormali yang
tersisa dari hasil penyempurnaan kebergantungan fungsional sebelumnya telah
dihilangkan. Ketika relasi memiliki lebih dari satu kandidat, anomaly-anomali
seperti yang kita bahas sebelumnya masih kita jumpai, meskipun relasi yang
bersangkutan sudah dalam bentuk normal yang ketiga (3NF).
|
NIM
|
Rumpun
MK
|
Pembimbing
|
IP
|
|
123
|
Fisika
|
Stephen Hawking
|
4.0
|
|
123
|
Pemrograman
|
Bill Gates
|
3.3
|
|
456
|
Kimia
|
Avogadro
|
3.2
|
|
789
|
Musik
|
Sebastian Bach
|
3.7
|
|
678
|
Fisika
|
Stephen Hawking
|
3.5
|
Kunci primer
untuk relasi Pembimbing_Mahasiswa adalah kunci omposit NIM dan
Rumpun_Matakuliah. Maka, atribut-atribut Pembimbing dan IP secara fungsional
bergantung pada kunci primer yang telah disebutkan. Gambar diatas merefleksikan
bahwa seorang mahasiswa dapat mengambil lebih dari satu rumpun mata kuliah,
dimana untuk setiap rumpun mata kuliah mahasiswa memilki satu pembimbing dan
satu nilai IP.
5.
Bentuk normalisasi keempat (4NF)
Semua ketergantungkan
bernilai telah banyak dihilangkan. Ketika relasi berada dalam BCNF, kita tidak
akan menemukan lagi anomali -anomali akibat kebergantungan fungsional.
Bagaimanapun juga, anomali-anomali masih mungkin ditemukan karena
keterbegantungan banyak nilai.
|
Matakuliah
|
Dosen
|
Buku
Teks
|
|
Manajemen
|
Adi Nugroho
Abu Bahri
Aang Darman
|
Drucker
Peters
|
|
Manajemen
Keuangan
|
Bernard Simamora
|
Jones
Chang
|
a) Tabel
matakuliah, dosen, dan buku teks.
PENAWARAN_MATAKULIAH
|
Matakuliah
|
Dosen
|
Buku
Teks
|
|
Manajemen
|
Adi Nugroho
|
Drucker
|
|
Manajemen
|
Adi Nugroho
|
Peters
|
|
Manajemen
|
Abu Bahri
|
Drucker
|
|
Manajemen
|
Abu Bahri
|
Peters
|
|
Manajemen
|
Aang Darmana
|
Drucker
|
|
Manajemen
|
Aang Darmana
|
Peters
|
|
Manajemen
Keuangan
|
Bernard Simamora
|
Jones
|
|
Manajemen
Keuangan
|
Bernard Simamora
|
Chang
|
b) Tabel
Relasi BCNF
DOSEN
|
Matakuliah
|
Dosen
|
|
Manajemen
|
Adi Nugroho
|
|
Manajemen
|
Abu Bahri
|
|
Manajemen
|
Aang Darmana
|
|
Manajemen Keuangan
|
Bernard Simamora
|
BUKU_TEKS
|
Matakuliah
|
Buku
Teks
|
|
Manajemen
|
Drucker
|
|
Manajemen
|
Peters
|
|
Manajemen
|
Jones
|
|
Manajemen Keuangan
|
Chang
|
c) Relasi
normal keempat (4NF)
Tabel-tabel
diatas merupakan contoh langkah-langkah untuk
menghilangkan ketergantungan banyak
nilai.
6.
Bentuk Normal kelima (5NF)
Menghilangkan
semua anomali-anomali yang tersisa. Bentuk normal 5NF terpenuhi jika tidak
dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg
lebih kecil. Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional
dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni
apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil,
harus bisa digabungkan lagi (join) untuk membentuk tabel semula.
Jika data
dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan
yang akan merugikan sistem secara keseluruhan yaitu
1.
INSERT Anomali: situasi
dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di
database.
2.
DELETE Anomali: Penghapusan
data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak
terhapus mungkin ikut terhapus.
3.
UPDATE Anomali: Situasi
dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data
yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
2.6
Organisasi Data
Organisasi data adalah teknik utuk
menyusun rekaman-rekaman dalam berkas pada tempat penyimpanan sekunder (Secondary strorage) secara fisik. Dalam
memilih pengorganisaian berkas pada basis data, kita perlu mempertimbangkan
faktor yaitu (Hariyanto: 2004):
1. Kecepatan
panggilan data yang diperlukan
2.
Tingginya kebutuhan pemrosesan data
masukan dan pemeliharaan transaksi.
3.
Efesiensi pengguna ruang penyimpanan.
4.
Perlindungan dari kehilangan data.
5.
Peminimalan kebutuhan pengorganisasian
ulang (reorganisasi).
6.
Pengangkomodasi pertumbuhan organisasi
dimasa yang akan datang.
7. Perlindungan
dari pengguna yang tidak berhak.
Organisasi data lebih canggih dapat
ditelusur sebagai kombiasi organisasi-organisasi file dasar, yaitu:
1. Organisasi
Pile
Pada pile data tidak dapat dianalisa
dikatagorikan atau diharuskan
memenuhi
definisi field atau ukuran field urutan record adalah kronolologis.
Rekord-rekord
berfariasi panjangnya dan elemen-elemen dapat tidak perlu serupa.
Organisasi
pile yaitu:
a. Biasanya
data ditumpuk-tumpuk secara kronologis
b. Tidak
ada ketkaitan antara ukuran file, record, dan blok
c. Elemen
data dapat berbeda-beda (berisi atribut dan nilai) data harus disimpan secara
lengkap.
2. Organisasi
Sequential data
Metode ini memberi dua perubahan
terhadap organisai pile yaitu:
1. Record-rekord
data diurut dalam satu sekuent spesifik
2. Atribut
atribut data dikataorikan. Record berisi semua nilai data atribut dengan urutan
dan posisi yang sama.
Deskripsi
bentuk:
1. Nama
atribut tidak perlu ditulis di tiap record.
2. Nama
atribut hanya muncul di bagian deskripsi file .
3. Rekord
tersusun berdasarkan urutan tertentu.
4. Setiap
record mempuyai data atribut dalam urutan yang sama.
3. Organisai
Index sequential file
Indeks
berisi kumpulan isian (entry).
Keseluruhan kapasitas indeks lebih kecil disbanding file data sehingga ruang
pencarian ruang (search) menjadi
lebih kecil. Indeks menjadi efektif ketika file sangat besar. Proses pencarian
pada indeks yang besar dapat dibantu dengan pengindeksan terhadap indeks.
Semakin tinggi level indeks semakin kecil kapasitasnya. Sifat rekursif
pengindeksan berulang yang dapat dilakukan sistem komputer membedakan dari
pengindeksan yang terdapat pada buku.
Terdapat
dua jenis indeks , yaitu:
a.
Statis
Indeks diciptakan saat
terorganisasi dan tidak berubah selama pembaharuan (uptodate). Rekord-rekord baru ditempatka ke overlow dan dikatakan dengan record sebelumya.
b.
Dinamis
Pada file berindeks dinamis,
pembaharuan dilakkan di file utama. Karena record-rekord harus dicari lewat
lewat indeks maka pengindekan harus dilakukan secara dinamis. Artinya: begitu
terjadi pembaharuan (insert, update,
delate) maka indeks pun diperbaharui mengikuti perubahan file utama.
4.
Organisasi Indexed file
Organisasi
File sekuen berindeks adalah pengorganisaian dimana rekaman-rekaman bisa
disimpan secara berurutan maupun tidak, dan indeks diciptakan sehingga
pengorgansasian maupun melakolsasi
rekaman secara individual. File sekuen berindeks hanya menyediakan satu indeks,
sementara pencarian informasi dapat dilakukan pada atribut-atribut lain selain
atribut kunci utama. Pada file berindeks yang digeneralisasi (generalized indexed file), dimungkinkan
mengindeks file dari satu cara. Indeks dibolehkan pada sembarang atribut bahkan
semua atribut.
Perubahan
terhadap file sekuen berindeks adalah:
1.
Semua konsep adalah jagar record.
2.
Konsep atribut utama tidak ada lagi.
3.
Tidak berurutan menurut indeks utama
yang perlu dikelola.
5.
Organisasi Hashed file
Pengaksesan
hash menggunakan suatu komputasi menghitung alamat untuk memperoleh record
tertentu. Terdapat dua komponen pada hash yaitu:
1.
Ruang penyimpanan yang diroganisasikan
menjadi m slot. Masing-masing slot
berkapasitas menyimpan satu record.
2.
Komputasi (perhitungan) terhadap t yang memberikan satu alamat slot dari
record yang diketahui kuncinya.
Pengaksesan
langsung berlangsung cepat tapi tidak fleksibel. Hashing mentransformasi kunci melalui algoritma komputasi untuk
mendapatkan alamat record. Pengaksesan hash
cepat karena tidak terdapat operasi antara. Kelemahan metodeini adalah memaksa
data ditempatkan mengikuti satu atribut kunci tunggal. Record-rekord pada hash menggunakan satu komputasi untuk
memberikan alamat record dari kunci.
6.
Organisasi Multiring file
Organisasi
berkas sekuen, sekuen berindeks dan hash
berurusan dengan masalah penemukan
record individu dengan cepat. Berkas cincin berorientasi pada pemrosesan yang
efisien terhadap subset
record-rekord. Subset itu didefinisasikan sebagai suatu kelompok record yang
berisi satu nilai berisi satu nilai bersama. Pendekatan cincin banyak digunakan
sistem basisdata. Subset-subset rekor secara eksplisit dirantai dengan
menggunakan pointer-pointer.
Rantai-rantai mendefinisikan urutan anggota-anggota subset.
Satu
record dapat menjadi anggota beberapa subset.
Tiap subset mempunyai record header yang merupakan asal rantai. Record
header berisi informas-informasi
mengenai record-rekord anggotanya. Record-rekord header untuk himpunan-himpunan subset
dapat dikait dengan satu rantai.
Pada
berkas cincin, semua record mempunyai stuktur serupa, tapi isi-isinya dan
ukurannya akan merupakan fungsi cincin-cincin dimana record itu menjadi
anggotanya. Berkas cincin dapat mempunyai sejumlah kategori record berbeda.
Rekord-reord tidak identik dalam formatnya dan keanggotaan cincin begitu juga
keanggotaan berkas harus diketahui sebelum pemrosesan.
Format record
1. Format rekor bergantung kombinasi tipe cincin
dimana record menjadi anggotanya
2.
Pasangan-pasangan atribut-nilai dapat
mengidentifikasi sendiri, seperti pada berkas pile. Rekord itu akan mempunyai identifier bertipe record.
3.
Record-rekord berjenis sama memiliki fieled-fieled yang sama.
4.
Fieled-fieled
pointer untuk mengaitkan record-rekord ke cincin-cincinya.
5. Fieled-fieled pointer dapat
berisi A (null)
Record header
1. Setiap
cincin memiliki hearder.
2. Header berfungsi
· Bisa
menjadi suatu titik masuk (entry point),
· Bisa
menjadi anggota cincin lain,
· Bisa
menjadi keduanya.
3. Jika
suatu cincin dimasuki untuk proses pencarian, maka titik masuk harus dicatat
untuk menandai akhir dari pencarian.
4. Menghilangkan
redudansi.
Manipulasi cincin
1. Pencariandengan
satu argument dapat dilakukan dengan mudah.
2.
Pencarian dengan kombinasi banyak
argumen, terhadap dua pendekatan
· Pencarian
pararel
· Pencarian
inisial (Bambang, 281:2004)
DAFTAR
PUSTAKA
Hariyanto, Bambang. 2004. Sistem Manajemen Basisdata. Bandung : Informatika Bandung.
Nugroho, A. 2006. Perancangan dan Implementasi sistem Basis Data. Yogyakarta: Andi.
Tidak ada komentar:
Posting Komentar