Alat Bantu Perancangan Basis Data (Normalisasi) 2.1 Pengertian Normalisasi adalah suatu proses memperbaiki/membangun data dengan model data relasional dansecara 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”. 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 operasioperasiyang di berikan oleh pemakai. 2.2 Tujuan Dilakukan Normalisasi Adapun tujuan dilakukan normalisasi yaitu : 1) Database akan mudah untuk diakses dan dikelola, 2) Akan menghemat space/ruang dalam komputer karena update data yang disimpan dalam database dilakukan dengan operasi yang minimum dan menghindari reduncancy data, dan ini juga berarti menghemat ‘cost’. 3) Menghindari problem-problem update anomalies terhadap data yang disimpan dalam database sehingga terhindar dari inkonsistensi data. 4) Menghilangkan kerangkapan pada data/ redudansi. 5) Mengurangi kompleksitas. 6) Mempermudah pemodifikasian data. 7) Menghilangkan anomali data. 2.3 Functional Denpendensy Functional Dependency (FD) ialah suatu ketergantungan relasi yang terjadi antara atribut dlam tabel atau set entity dengan atribut lain. FD menggambarkan suatu relationship/ hubungan, batasan, keterkaitan diantara atribut dlam relasi. Basis data yang baik hanya terdapat 1 ketergantungan fungsional dalam 1 entity/label, disebut dengan Basis Data Normal. Simbol yang digunakan dalam FD adalah à , yang artinya secara fungsional menentukan. Notasi Dalam FD 1. Notasi FD: A => B Maksudnya yaitu A dan B adalah atribut dari suatu tabel. Jadi secara fungsional A menentukan B atau B tergantung dari A, jika dan hanya jika ada 2 basis data dengan nilai yag sama maka nilai B juga akan sama. 2. Notasi: A X=> B Artinya yaitu kebalikan dari notasi sebelumnya. Contoh: NamaKul Nrp NamaMhs NiHuruf Struktur Data 12345 Nuril Utami A Struktur Data 12346 Sekar Sari B Basis Data 12345 Nuril Utami B Basis Data 12346 Sekar Sari A Keterangan dari FD diatas: 1. Nrp => NamaMhs Karena untuk setiap nilai Nrp ynag sama, maka nilai NamaMhs juga akan sama. 2. {NamaKul, Nrp} => NiHuruf Karena atribut Nihuruf tergantng pada NamaKul dan Nrp secara bersamasama. Atau NamaKul & Nrp ynag sama, mka NiHuruf juga akan sama, sebab NamaKul dan Nrp merupakan key yang bersifat unik. 3. NamaKul X => Nrp 4. Nrp => NiHuruf 2.4 Jenis- jenis Dependency 1. Full functional Dependency Yaitu jika ada atribut A dan B dalam suatu relasi, dimana B memiliki keterantungan fungsional secara penuh terhadap A dan B bukan memiliki dependensi terhadap subset A. 2. Partially Dependency Yaitu jika terdapat beberapa atribut yang dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan dan B memiliki dependensi terhadap subset A. 3. Transitive Dependency Yaitu dimana A,B, C adalah atribut dari sebuah relasi A=> B dan B => C, jadi bisa dikatakan kalau C sebagai transitive dependency terhadap A melalui B. 2.5 Aturan-aturan dalam Ketergantungan Fungsional Jika A, B , C merupakan himpunan atribut pada sebuah relasi R, ada beberapa sifat yang disebut Axioma Amstrong (sifat-sifat untk normalisasi) , yaitu: * Aksioma Reflexity: Jika B merupakan bagian subset A, maka A => B. * Aksioma Augmentasi: Jika A => B, maka AC => BC. * Aksioma Transitifity: Jika A => B dan B => C, maka A =>C . Dari aturan-aturan diatas dapat dibuat aturan-aturan turunan sebagai berikut: Union : Jika A => B dan A => C, maka A => BC, Dekomposisi : Jika A =>BC , maka A => B dan A => C, Peseudo Transitifity : Jika A => B dan BC => D, maka AC => D, 2.6 Bentuk – bentuk Normalisasi Bentuk normal suatu relasi bisa sampai ke tingkat lima 5NF, yaitu 1NF – 2NF – 3NF/BCNF – 4NF – 5NF.Tetapi secara praktik dalam dunia nyata, relasi dalam suatu database sudah dibilang baik kalau sudah mencapai 3NF (bentuk normal ketiga). 1) Normal Form Data yang direkam dan dimasukkan secara mentah dalam suatu tabel pada bentuk ini sangat mungkin terjadi inkonsistensi dan anomali data.Pada bentuk ini ada beberapa ciri ciri yang penting, yang pertama adalah akan terjadi anomali dalam insert, update, dan delete. Hal ini menyebabkan beberapa fungsi DML dalam SQL tidak dapat berjalan dengan baik. Sebagai contoh jika ingin menghapus penerbit maka data judul buku akan ikut terhapus begitu juga jika ingin menghapus peminjam, maka data penerbit dan buku yang harusnya tidak terhapus akan ikut hilang. 2) Normal Form (1NF) Bentuk normal yang pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.Menghilangkan duplikasi kolom dari tabel yang sama.Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi. Contoh adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak bersinggungan dengan data buku atau data penerbit.Sehingga inkonsistensi data dapat mulai di jaga. 3) Second normal form (2NF) Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.Contoh di atas kita menggunakan tabel bantuan yaitu tabel transaksi, pada intinya bentu kedua ini adalah tidak boleh ada field yang berhubungan dengan field lainnya secara fungsional. Contoh Judul Buku tergantung dengan id_Buku sehingga dalam bentuk 2NF judul buku dapat di hilangkan karena telah memiliki tabel master tersendiri. 4) Third Normal Form (3NF) Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key.Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF adalah : A.Memenuhi semua persyaratan dari bentuk normal kedua. B.Menghapus kolom yang tidak tergantung pada primary key. 2.7 Kesimpulan Teknik normalisasi adalah proses pengelompokan data element menjadi tabel-tabel yang entitydan relasi. Proses pembentukan tabel normal penuh (normalisasi)bertujuan untuk: 1. Membuat sekecil mungkin terjadinya data rangkap 2. Menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap 3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut Proses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu: 1. Operasi penambahan (insert) 2. Operasi penghapusan (delete) 3. Operasi pengubahan (update) 4. Operasi pembacaan data Apabila terjadi kesulitan saat proses data maka tabel-tabel di pecahkan menjadi beberapa tabel yang merupakan hasil pengolompokan data berdasarkan entiti masing-masing.Syarat dalam melakukan normaliasi 1. Adanya field (attribute kunci) 2. Berdasarkan kepada ketergantungan fungsi