1. Definisi Normalisasi
Normalisasi adalah suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara–cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data.
Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan–penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan data. Proses normalisasi akan menghasilkan relasi yang optimal, jika:
1. Memiliki struktur record yang mudah untuk dimengerti.
2. Memiliki struktur record yang sederhana dalam pemeliharaan.
3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai.
4. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
2. Memiliki struktur record yang sederhana dalam pemeliharaan.
3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai.
4. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
Dalam merancang basis data terdapat dua pendekatan yang sering dilakukan yaitu: 1) Model entity–relationship-diagram (ERD) yang telah dijelaskan dalam kegiatan belajar 3, 4, 5. dan 2) Menerapkan normalisasi terhadap struktur tabel yang telah diketahui.
Dalam pendekatan normalisasi, perancangan basis data bertitik tolak dari situasi nyata. Basis data telah memiliki item–item data yang siap ditempatkan dalam baris dan kolom pada tabel–tabel relasional. Demikian juga dengan sejumlah aturan tentang keterhubungan antara item–item data tersebut. Sementara pendekatan model data ER lebih tepat dilakukan jika yang diketahui baru prinsip sistem basis data secara keseluruhan.
Pada penerapannya dua pendekatan tersebut dilakukan secara bersama–sama. Untuk kepentingan evaluasi dan dokumentasi, hasil normalisasi diwujudkan dalam sebuah model data. Model data yang sudah jadi tersebut dapat dimodifikasi dengan pertimbangan tertentu. Selanjutnya diimplementasikan dalam bentuk sejumlah struktur tabel pada sebuah basis data. Struktur ini dapat diuji kembali dengan menerapkan aturan–aturan normalisasi, hingga akhirnya diperoleh sebuah struktur basis data yang benar–benar efektif dan efisien. Begitulah kedua pendekatan dapat saling memperkuat satu sama lain.
2. Bentuk-Bentuk Normalisasi
Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal yaitu: Pengulangan informasi dan Potensi inkonsistensi data pada operasi pengubahan. Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data, keenam bentuk tersebut adalah :
Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal yaitu: Pengulangan informasi dan Potensi inkonsistensi data pada operasi pengubahan. Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data, keenam bentuk tersebut adalah :
1. Bentuk Normal Tahap pertama (1 st Normal Form)
2. Bentuk Normal Tahap Kedua (2 nd Normal Form)
3. Bentuk Normal Tahap Ketiga (3 rd Normal Form)
4. Bentuk Normal Boyce - Code (BCNF)
5. Bentuk Normal Tahap Keempat (4 rd Normal Form)
6. Bentuk Normal Tahap Kelima (5 rd Normal Form)
2. Bentuk Normal Tahap Kedua (2 nd Normal Form)
3. Bentuk Normal Tahap Ketiga (3 rd Normal Form)
4. Bentuk Normal Boyce - Code (BCNF)
5. Bentuk Normal Tahap Keempat (4 rd Normal Form)
6. Bentuk Normal Tahap Kelima (5 rd Normal Form)
3. Proses-Proses Normalisasi data
Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini:
Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini:
1. Bentuk tidak normal (Unnormalized Form)
Bentuk tidak normal ini memiliki beberapa ciri-ciri, yaitu antara lain adalah :
Bentuk tidak normal ini memiliki beberapa ciri-ciri, yaitu antara lain adalah :
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 kedatangannya.
Tidak ada keharusan mengikuti suatu format tertentu
Dapat saja data tidak lengkap atau terduplikasi
Data dikumpulkan apa adanya sesuai dengan kedatangannya.
Beberapa contoh tabel yang tidak normal dijelaskan dalam tabel 8.1 dan tabel 8.2 dibawah ini.
Tabel 16. Tabel mahasiswa yang tidak normal
Tabel 17.Tabel mahasiswa (Nis, nama mahasiswa, hobi1,hobi2,hobi3) yang tidak normal
2. Bentuk Normal Tahap pertama (1 st Normal Form)
Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu:
Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu:
- Setiap data dibentuk dalam flat file (file data/ rata)
- Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi.
- Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue).
- Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama.
- Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata sehingga artinya lain.
Untuk dapat memenuhi aturan 1NF, maka contoh tabel 8.1 dan tabel 8.2 diatas dirubah atau dipecah (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti gambar berikut :
3. Bentuk Normal Tahap Kedua (2 nd Normal Form)
Bentuk normal kedua mempunyai beberapa persyaratan antara lain adalah :
Bentuk normal kedua mempunyai beberapa persyaratan antara lain adalah :
- Bentuk data telah memenuhi kriteria bentuk normal kesatu.
- Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
- Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
Sebagai contoh ditentukan sebuah tabel siswa sebagai berikut :
Tabel di atas telah memenuhi 1NF, namun belum memenuhi 2NF,
{NIS, Kode_Mapel} yang dianggap sebagai primary key sedangkan:
{NIS, Kode_Mapel} yang dianggap sebagai primary key sedangkan:
Tabel di atas perlu didekomposisi menjadi beberapa tabel untuk memenuhi syarat 2NF. Dekomposisi sesuai dengan functional dependencynya (FD) adalah sebagai berikut :
FD 1 : {NIS, Kode_Mapel} --> Nilai
FD 2 : NIS -->{Nama_siswa, Alamat}
FD 3 : Kode_mapel --> {Nama_mapel, Nama_guru}
FD 2 : NIS -->{Nama_siswa, Alamat}
FD 3 : Kode_mapel --> {Nama_mapel, Nama_guru}
Dari ketiga FD di atas, dekomposisi tabel menjadi sebagai berikut :
Tabel Nilai : (NIS, Kode_mapel, Nilai)
Tabel Siswa :(NIS, Nama_siswa, Alamat)
Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru)
Tabel Siswa :(NIS, Nama_siswa, Alamat)
Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru)
4. Bentuk Normal Tahap Ketiga (3 rd Normal Form)
Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri sebagai berikut:
1. Memenuhi bentuk 2 NF (normal kedua)
2. Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key.
3. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh
1. Memenuhi bentuk 2 NF (normal kedua)
2. Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key.
3. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh
Berikut ini adalah contoh relasi yang telah memenuhi bentuk 2 NF, tetapi belum memenuhi bentuk 3 NF :
Pada relasi di atas, masih terdapat atribut non primary key (yakni Alamat_kota dan Alamat_Prov) yang memiliki ketergantungan terhadap atribut non primary key yang lain, yaitu Kode_pos.
Kodepos --> {Alamat_kota, Alamat_prov}
Untuk memenuhi syarat 3NF, maka relasi tersebut harus didekomposisi
sebagai berikut :
sebagai berikut :
Siswa : (NIS, Nama_siswa, Alamat_jn, Kodepos)
Kodepos : (Kodepos, Alamat_kota, Alamat_prov)
Kodepos : (Kodepos, Alamat_kota, Alamat_prov)
5. Boyce Codd Normal Form (BCNF)
BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Karena dalam bentuk 3 NF masih memungkinkan terjadi anomali.
BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Karena dalam bentuk 3 NF masih memungkinkan terjadi anomali.
Sebuah tabel dikatakan memenuhi BCNF jika untuk semua ketergantungan fungsional dengan notasi X Y, maka X harus merupakan candidate key pada tabel tersebut. Jika tidak demikian, maka tabel tersebut harus didekomposisi berdasarkan ketergantungan fungsional yang ada, sedemikian hingga X menjadi candidat key dari tabel–tabel hasil dekomposisi. Contoh tabel yang tidak memenuhi BCNF adalah sebagai berikut :
Ditentukan suatu tabel A = (E, F, G, H, I) dan berlaku ketergantungan fungsional, sebagai berikut yaitu :
E, F --> G, H, I
F, G --> H, I
E, F --> G, H, I
F, G --> H, I
Tabel A tersebut tidak memenuhi BCNF karena ada pasangan key F, G yang bukan candiday key, sehingga F, G --> H, I. Sedangkan E, F adalah candidat key karena E, F --> G, H, I Karena terdapat 2 ketergantungan fungsional maka tabel A tidak memenuhi BCNF. Untuk memenuhi aturan BCNF maka tabel tersebut harus didekomposisikan menjadi:
A 1 = (E, F, G) dengan ketergantungan fungsional E, F --> G
A 2 = (F, G, H, I) dengan ketergantungan fungsional F, G --> H, I
A 2 = (F, G, H, I) dengan ketergantungan fungsional F, G --> H, I
Contoh lain untuk bentuk ini adalah tabel SEMINAR, dengan kunci primernya adalah no_peserta dan kode_seminar, dengan asumsi bahwa:
- Peserta dapat mengambil 1 atau 2 seminar.
- Setiap peserta dibimbing oleh salah satu dari 2 instruktur seminar.
- Setiap seminar membutuhkan 2 instruktur.
- Setiap instruktur boleh hanya membimbing 1 seminar saja.
Pada contoh relasi berikut, no_peserta dan kode_seminar menunjukkan seorang instruktur.
Tabel 18. Tabel seminar
Bentuk relasi SEMINAR adalah memenuhi bentuk normal ketiga (3NF), tetapi tidak BCNF karena Kode_seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada satu seminar. Kode_seminar bergantung fungsi pada satu atribut bukan superkey seperti yang disyaratkan oleh BCNF. Maka relasi SEMINAR harus didekomposisi menjadi dua relasi, yaitu relasi pengajar dan seminar_instruktur, seperti berikut ini :
Pengajar : (Nama_instruktur, Kode_seminar) dan
Seminar_instruktur : (No_peserta, Nama_instruktur)
Seminar_instruktur : (No_peserta, Nama_instruktur)
6. Bentuk Normal Tahap ke empat (4 th Normal Form)
Suatu tabel relasional dikatakan dalam bentuk normal keempat (4NF) jika memenuhi beberapa ketentuan sebagai berikut : Bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrivial. Multivalued dependency (MVD) dipakai dalam bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak (one tomany).
Suatu tabel relasional dikatakan dalam bentuk normal keempat (4NF) jika memenuhi beberapa ketentuan sebagai berikut : Bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrivial. Multivalued dependency (MVD) dipakai dalam bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak (one tomany).
Setiap atribut di dalamnya tidak mengalami ketergantungan pada banyak nilai atau dengan kalimat lain, bahwa semua atribut yang mengalami ketergantungan pada banyak nilai adalah bergantung secara fungsional (functionally dependency) Berikut ini adalah salah satu contoh tabel relasional yang belum memenuhi 4NF :
Tabel 19. contoh relasi yang belum memenuhi bentuk normal tahap 4
matakuliah tertentu dengan isi matakuliah yang bersangkutan. Contoh tabel dibawah ini menjelaskan dua dosen yang mengajar pengenalan komputer, yaitu Budi dan Sanjaya.
Tabel 20. Penyederhanaan relasi atau tabel 8.4
Adapun isi matakuliah Pengenalan Komputer adalah Dasar Komputer, Pengenalan Pengolahan Kata dan Pengenalan Lembaran Kerja. Relasi berikut ini memperlihatkan relasi yang telah dinormalisasikan berdasarkan relasi sebelumnya. Langkah selanjutnya adalah untuk memenuhi syarat bentuk normal tahap 4), maka relasi tersebut diatas dapat didekomposisi menjadi dua relasi sebagai berikut :
Matakuliah_dosen : (Matakuliah, Dosen)
Matakuliah_isi : (Matakuliah, Isi)
Matakuliah_dosen : (Matakuliah, Dosen)
Matakuliah_isi : (Matakuliah, Isi)
7. Bentuk Normal Tahap Kelima (5 th Normal Form)
Bentuk Normal 5NF dibangun berdasarkan konsep joint dependency sedangkan keempat bentuk sebelumnya dibangun berdasarkan functional dependency. Joint dependency menjelaskan bahwa apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil, tabel tersebut harus bisa digabungkan lagi (join) untuk membentuk tabel semula. Bentuk normal kelima ini sering disebut juga sebagai Projection Join Normal Form (PJNF).
Bentuk Normal 5NF dibangun berdasarkan konsep joint dependency sedangkan keempat bentuk sebelumnya dibangun berdasarkan functional dependency. Joint dependency menjelaskan bahwa apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil, tabel tersebut harus bisa digabungkan lagi (join) untuk membentuk tabel semula. Bentuk normal kelima ini sering disebut juga sebagai Projection Join Normal Form (PJNF).
Suatu tabel memenuhi bentuk normal 5 rd NF jika dan hanya jika Kerelasian antar data dalam relasi tersebut tidak dapat direkonstruksi dari struktur relasi yang memuat atribut yang lebih sedikit.
Sebagai contoh: terdapat hubungan dealer yaitu suatu perusahaan distributor kendaraan. Dalam hal ini distributor memiliki sejumlah produk kendaraan. Tabel relasional dibawah ini menjelaskan relasi tabel dealer, kendaraan dan distributor.
Tabel 21. Relasi Dealer Distributor dan kendaraan
Relasi tersebut telah memenuhi dependensi gabungan, Sehingga relasi tersebut dapat didekomposisi menjadi tiga buah relasi yaitu :
- Deal_Dist (Dealer_Distributor).
- Dist_Kend (Distributor_Kendaraan).
- Deal_Kend (Dealer_Kendaraan).
Gabungan ketiga relasi tersebut akan membentuk relasi Dealer-Distributor-Kendaraan (DDK) dan gabungan ketiganya. Kemungkinan proyeksi tabel relasional tersebut akan menghasilkan suatu relasi antara yang salah, namun ketiganya akan menghasilkan relasi sesuai aslinya.
Gambar dibawah ini menjelaskan tabel relasional Dealer-Distributor- Kendaraan (DDK)
Gambar 42. Tabel relasional Dealer-Distributor-Kendaraan (DDK)
Latihan / Tugas / Kasus
Sebuah Perusahaan PEC-TECH ingin membangun system informasi menggunakan basis data untuk pengelolaan barang. Informasi yang akan diperoleh adalah data stock barang keluar pada Warehouse PEC-TECH.
Sebuah Perusahaan PEC-TECH ingin membangun system informasi menggunakan basis data untuk pengelolaan barang. Informasi yang akan diperoleh adalah data stock barang keluar pada Warehouse PEC-TECH.
Sementara ini, pengelolaan data masih menggunakan Microsoft excel dengan contoh keluaran Laporan Barang Keluar dan Laporan Rekapitulasi Barang Keluar diperlihatkan dalam tabel dibawah ini.
Tabel Laporan barang keluar
Tabel Laporan Rekapitulasi Barang Keluar
Dengan menggunakan teknik normalisasi kerjakan langkah-langkah berikut:
- Buatlah tabel yang menjelaskan bentuk unnormal form (LK 7.1)
- Buatlah tabel yang menjelaskan Normalisasi Pertama (1NF/ First Normal Form) (LK 7.2)
- Buatlah tabel yang menjelaskan Normalisasi Ke Dua (2 NF /Second Normal Form) (LK 7.3)
- Jika memungkinkan buatlah tabel yang menjelaskan Normalisasi Ke Tiga (3 NF /Second Normal Form) (LK 7.4)
- Gambarkan Entity Relationship Diagram (LK 7.5)
- Gambarkan Diagram Relational Model (LK 7.6)
10 - Basis Data : RAGAM BENTUK TEKNIK NORMALISASI DATA
Reviewed by Argasoka Herbal
on
Rabu, Agustus 01, 2018
Rating:
Tidak ada komentar: