Lamporan Ke VII - Normalisasi

 Sekarang udah menginjak praktikum Ke 7 modulnya sih masih ke enam. berbeda dengan praktikum sebelumnya disini kita akan membahas tentang apa yang namanya normalisasi dan pentingnya apa sih normalisasi itu hehehe. kalau pengen tau silahkan baca di di bawah ini tujuan dari normalisasi 

A. Landasan Teori 

 ·         Pengertian Normalisasi
Menurut Janner Simarmata & Iman Peryudi (2005) ”Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu dalam merancang basisdata relasional”. Pada dasarnya, normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi dari tabel relasional (www.utexas.edu).
Teori normalisasi didasarkan pada konsep bentuk normal. Sebuah tabel relasional dikatakan berada pada bentuk norml tertentu jika tabel memenuhi himpunan batasan tertentu.

Normalisasi juga bisa diartikan merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

·         Konsep Dasar
Menurut Janner Simarmata & Iman Peryudi (2005) “Normalisasi adalah bagian perancang basisdata”. Tanpa normalisasi, system basisdata menjadi tidak akurat, lambat, tidak efisien, serta tidak memberikan data yang diharapkan (www.microsoft-accessolutions.co.uk).
Pada waktu menormalisasi basisdata, ada empat tujuan yang harus dicapai, yaitu :
Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya menangani bagian kecil sistem.
Meminimalkan jumlah data yang berulang dalam basisdata.
Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa melupakan integrasi data.
Mengatur data sedemikian rupa sehingga ketika memodifikasi data, anda hanya mengubah pada suatu tempat.
Perancangan basisdata terkadang menyebut keempat tujuan dengan istilah integrasi data, integritas referensial, dan pengaksesan data.

·         Tujuan Normalisasi
Tujuan normalisasi adalah membuat kumpulan tabel relasional yang bebas dari data berulang dan dapat memodifikasi secara benar dan konsisten. Ini berarti bahwa semua tabel pada basisdata relasional harus berada pada bentuk normal ketiga (3NF). Sebuah tabel relasional berada pada 3NF jika dan hanya jika semua kolom bukan kunci adalah (a) saling independen dan (b) sepenuhnya tergantung pada kunci utama. Saling independen berarti bahwa tidak ada kolom bukan kunci yang tergantung pada sembarang kombinasi kolom lainnya. Dua bentuk normal pertama adalah langkah antara untuk mencapai tujuan, yaitu mempunyai semua tabel dalam 3NF (Stephens and Plew, 2000).

·         Aturan Normalisasi
1.      Berikut adalah aturan-aturan normalisasi :
2.      Hilangkan kelompok berulang, buat tabel terpisah untuk setiap himpunan atribut yang berhubungan dan tentukan kunci utama pada masing-masing tabel.
3.      Hilangkan data berulang, jika sebuah atribut hanya tergantung pada sebagian kunci utama gabungan, pindahkan atribut ke tabel lain.
4.      Hilangkan kolom yang tidak tergantung pada kunci, jika atribut tidak tergantung pada kunci, pindahkan atribut ke tabel lain.
5.      Pisahkan relasi majemuk, tidak ada tabel yang bias mengandung dua atau lebi relasi 1:n atau n:m yang tidak berhubungan langsung.
6.      Pisahkan relasi majemuk yang berhubungan secara semantik, ada batasan pada informasi yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis.
7.      Bentuk normal optimal, sebuah model hanya dibatasi oleh fakta sederhana.
8.      Bentuk normal domain-key, sebuah model harus terbebas dari semua anomaly (www.datamodel.org).

1. BENTUK TIDAK NORMAL (UNNORMALIZED FORM)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikukti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.

Untuk mentransformasikan tabel yang belum ternomalisasi di atas menjadi tabel yang memenuhi kriteria 1NF adalah kita harus merubah seluruh atribut yang multivalue menjadi atribut single value, dengan cara menghilangkan repeating group pada tabel di atas.
Repeating Group (elemen data berulang) adalah (No_Property, Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik, Nama_Pemilik)

2. BENTUK NORMAL KE SATU (FIRST NORMAL FORM / 1 NF)
Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.
Syarat normal ke satu (1-NF) antara lain:
1.      setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
2.      tidak ada set atribute yang berulang atau bernilai ganda.
3.      telah ditentukannya primary key untuk tabel / relasi tersebut.
4.      tiapatribut hanya memiliki satu pengertian.
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel 9.3) tersebut adalah menghilangkan elemen data yang berulang dengan data-data Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 9.4. kita dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang masih memiliki composite key (No_Pelanggan, No_Property). Pada kasus ini kita akan memperoleh primary key yang bersifat composite key. Relasi Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya =(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai, Biaya,No_Pemilik, Nama_Pemilik)



3. BENTUK NORMAL KE DUA (SECOND NORMAL FORM / 2 NF)
Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.
Syarat normal kedua (2-NF) sebagai berikut.
1.      Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2.      Atribute bukan kunci (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional dependency) pada kunci utama / primary key.
Tabel  Tabel Pelanggan Biaya dalam bentuk normal kedua (2-NF)




4. BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
Misalkan kita akan melakukan update terhadap nama dari seorang Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita harus melakukan update terhadap dua baris dalam relasi Property_Pemilik (lihat Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya mengupdate satu baris saja, sementara baris yang lainnya tidak, maka data didalam database tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan transitif (transitive dependency). Kita harus menghilangkan ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF).
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1.      Bentuk data telah memenuhi kriteria bentuk normal kedua.
2.      Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu saja. Seluruh atribut non-primary key pada relasi Pelanggan dan Biaya di atas terlihat memiliki ketergantungan fungsional (functional dependency) terhadap primary key dari masing-masing tabel / relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif (transitive dependency), sehingga tabel tersebut telah memenuhi kriteria normal ketiga (3-NF).
Seluruh atribut non-primary key pada relasi Property_Pemilik di atas terlihat memiliki ketergantungan fungsional (functional dependency) terhadap primary key, kecuali Nama_Pemilik yang masih memiliki ketergantungan fungsional (functional dependency) terhadap No_Pemilik. Inilah contoh ketergantungan dari transitif (transitive dependency), yang terjadi ketika atribut non-primary key (Nama_Pemilik) bergantung secara fungsi terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik). Kita harus menghilangkan ketergantungan transitif (transitive dependency) tersebut dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel dengan format / bentuk sebagai berikut.
-           Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari atribut-atribut:
No_property â Alamat_Property, Biaya, No_Pemilik
{No_property sebagai primary key}
-          Dan relasi Pemilik yang terdiri dari atribut-atribut:
No_Pemilik â Nama_Pemilik
{No_Pemilik sebagai primary key}
Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk normal ketiga adalah
sebagai berikut:

Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

5. Boyce-Codd Normal Form (BCNF)
           BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal ketiga dan setiap atribut harus bergantung fungsi pada atribut superkey.
           
            BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF atau dapat juga dikatakan sebagai bentuk normal 3NF revisi.
            Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya, dimana suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF.

6. BENTUK NORMAL KE-EMPAT (4NF/FOURTH NORMAL FORM)
                       Relasi R dikatakan mempunyai bentuk 4NF, jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional.

7. BENTUK NORMAL KE-LIMA (5NF/FIFTH NORMAL FORM)
           
            Disebut juga PJNF (Projection Join Normal Form) dari 4NF dilakukan dengan menghilangkan ketergantungan join yang bukan merupakan kunci kandidat


B. Hasil Praktikum

Seperti yang di jelasin di atas buat praktikum kali ini agak aneh sama praktikum yang kemarin pasalnya disini kita gak makek prosgre atau mysql melainkan makek excel hehehehe
kata bapaknya sih biar lebih mudah ya pakek excel aja
ya sudah karena anik  murid yang baik jadi ya menurut aja wes ...
Dan ini hasilnya

Pasti bingung kan disuruh ngapain.!!! la kita disuruh buat unnormalisasi, 1 NF, 2NF, 3NF nya 4,5 NF gak usah

1. Bentu Unnormalisasi


2. Bentuk 1 NF
3. Bentuk 2 NF

Bagan ERDnya 

4. Bentuk 4 NF 

Bagan ERDnya 

nah sekarang buat tugas dirumahnya di suruh ngerjakan ini

soalnya sama di suruh  nyari unnormalisasinya, 1NF, 2NF dan 3 NF
yeee akhir nya selesai juga ini bentuk jawaban dari soal di atas fersi anik si hahaha
1. Unnormalisasi 

2. 1 NF
3. 2 NF
 ERDnya ...
4. 3 NF
Erdnya ...



Sebenarnya di laporan ini juga membahasa tentang 4NF dan 5NF namun anik selaku penulis kurang begitu menjelaskan karena 4NF dan 5NF ini di tujuan pada database yang sangat kompleks dan ketika di normalasisasi 3NF masih ada anomali. Sedangkan database kampus saja biasanya masih menggunakan 2NF untuk proses normalisasi.

C. Kesimpulan

Pembahasan tentang normalisasi seolah-olah mampu memberikan solusi yang tidak akan pernah mengakibatkan efek samping.
Jika tabel di normalisasi kita akan dengan mudah menambahkan field field yang kita inginkan 


Pada kenyataannya, normalisasi juga mengakibatkan beberapa efek samping yang tidak diharapkan, seperti masalah aturan baku dalam sistem database dan ketidakefisienan (inefisiensi) dalam menampilkan kembali data tersebut.

D. Kritik Dan Saran

Mungkin perlu penjelasan lagi untuk tabel yang lebih kompleks  contohnya database sebuah jaringan yang lebih besar dan penjelasan-penjelasan tentang bagaimana menormalisasi apakah harus pada 3 NF bolehkan berhenti di 2 NF. trus apa ada tabel yang gak bisa di normalisasi  ya ?

E. Daftar Pustaka

http://komparkompor.blogspot.com/p/normalisasi-1nf-2nf-3nf.html
http://slatuheru.mhs.uksw.edu/2013/04/normalisasi.html
http://informatika.web.id/normalisasi.htm
http://jewyner.wordpress.com/2013/03/05/92/

Comments

Popular posts from this blog

Memasukkan Gambar Pada Eclipse

Pengalaman KRS an yang pertama

Cara Skinning Bone Manual Dengan Blender