Resume Pertemuan 9 dan 10 (Perancangan Basis Data) - Normalisasi
Assalamualaikum semua,apa kabar? Kembali lagi bersama saya Pratiwi Bagus Nanindah wkwk. gimana dimasa pandemic ini? Jangan lupa pake masker dan selalu bawa handsanitizer ya. Semoga corona ini cepat berlalu ya aamiin.
Jadi Blog saya kali ini saya akan menulis Blog tentang resume materi pertemuan 9 dan 10 Analisis dan Perancangan Basis Data dengan topik bahasan :
· Anomali
1. Anomali penambahan (Insert Anomaly)
2. Anomali pengubahan (Update Anomaly)
3. Anomali penghapusan (Delete Anomaly)
· Normalisasi
1. Tujuan Normalisasi
2. Proses Normalisasi
3. Mengapa dilakukan Normalisasi
4. Tahapan Normalisasi
5. Bentuk-bentuk Normalisasi
Anomali
Anomali adalah masalah yang timbul pada tebel pada saat akan dimanipulasi. Efek samping atau akibat anomali , misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus.
Jenis-jenis Anomali :
1. Anomali penambahan (Insert Anomaly)
Anomali penyisipan terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen tersebut diperlukan untuk proses penambahan. Contoh: Jika barang ditambah Facial Wash yang akan di masukkan,maka barang tersebut tidak dapat disisipkan ke dalam relasi sampai ada supplier yang mengambil jenis barang tersebut.
2. Anomali pengubahan (Update Anomaly)
Anomali ini terjadi apabila terjadi pengubahan terhadap sejumlah data yang duplikasi, tetapi tidak seluruhnya di ubah. Contoh: Jika Supplier Nanda berpindah ke kota lain, misalnya Sekadau. Dan pengubahan hanya dilakukan pada data pertama (ada 2 buah data Supplier Nanda), maka hasilnya sebagai berikut:
Terlihat ada ketidak konsistenan. Fakta pertama menyatakan bahwa Supplier Nanda berlokasi di Sekadau, tetapi fakta kedua menyatakan di Sintang.
3. Anomali penghapusan (Delete Anomaly)
Anomali penghapusan terjadi Ketika sesuatu baris (tuple) yang tidak terpakai dihapus dan sebagai akibatnya terdapat data lain yang akan hilang. Contoh : Jika supplier Lala membatalkan atau tidak jadi mengambil barang tersebut,maka akan menyebabkan hilangnya informasi tentangbarang dengan kode 202 yaitu toner.
Normalisasi
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga sebagian besar ambiguity bisa dihilangkan dan membentuk struktur relasi yang baik (tanpa redudansi). Resudansi adalah munculnya data yang berulang kali pada suatu table/relasi yang seharusnya tidak diperlukan. Kerangkapan data dapat terjadi dalam satu file dan dalam beberapa file.
Tujuan Normalisasi
· Untuk menghilang kerangkapan data
· Untuk mengurangi kompleksitas(kerumitan)
· Untuk mempermudah pemodifikasian data
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.
Mengapa dilakukan normalisasi ?
· Optimalisasi struktur-struktur table
· Meningkatkan kecepatan
· Menghilangkan pemasukan data yang sama
· Lebih efisien dalam penggunaan media penyimpanan
· Mengurangi redundansi
· Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies).
· Integritas data yang ditingkatkan
Tahapan Normalisasi
Tahapan Normalisasi dimulai dari tahap paling ringan (1NF) hingga yang paling ketat (5NF). Biasanya hanya sampai tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik
1. Bentuk Tidak Normal : Menghilangkan perulangan group.
2. Bentuk Norma Pertama(1NF) : Menghilangkan ketergantungan Sebagian.
3. Bentuk Norma Kedua (2NF) : Menghilangkan ketergantungan Transitif.
4. Bentuk Norma Ketiga (3NF) : Menghilangka anomali-anomali hasil dari ketergantungan fungsional.
5. Bentuk Boyce-Codd (BCNF) : Menghilangkan ketergantungan Multivalue.
6. Bentuk Norma Keempat (4NF) : Menghilangkan Ketergantungan anomali-anomali yang tersisa.
7. Bentuk Norma Kelima (5NF)
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
· Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
· Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
· Tidak melanggar Boyce-Code Normal Form (BCNF)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
Tabel Universal
Tabel Universal (Universal / Star Table) merupakan sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik. Misalnya :
Functional Dependency
· Notasi : A -> B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
· Notasi : A x-> B
Adalah kebalikan dari notasi sebelumnya.
· Contoh tabel nilai :
Functional Dependency dari tabel nilai :
· NIS -> Nama_Siswa
Karena untuk setiap nilai NIS yang sama, maka nilai Nama_Siswa juga sama.
· {Nama_Mapel, NIS} -> Nilai_Huruf
Karena atribut Nilai_Huruf tergantung pada Nama_Mapel dan NIS secara bersama-sama. Dalam arti lain, untuk Nama_Mapel dan NIS yang sama, maka Nilai_Huruf juga sama, karena Nama_Mapel dan NIS merupakan key (bersifat unik).
· Nama_Mapel x-> NIS
· NIS x-> Nilai_Huruf
Contoh FD 1
Andaikan ada tabel :
· NILAI (NIM, Nm-mk, Semester, Nilai).
· Atribut kunci : NIM, Nm-mk, Semester.
Maka Functional Dependency
· NIM, Nm-mk, Semester -> Nilai
Bentuk-Bentuk Normal
1. Bentuk Normal ke Satu (1NF)
Syarat:
o Tidak adanya atribut multi-value, atribut komposit atau kombinasinya.
o Telah ditentukannya primary key untuk tabel atau relasi.
o Tiap atribut hanya memiliki satu pengertian.
o Tiap atribut yang dapat memiliki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
o Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).
2. Bentuk Normal ke Dua (2NF)
Syarat:
o Bentuk data telah memenuhi kriteria bentuk normal ke satu.
o Atribut bukan kunci (non - key atribut) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
o Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
o Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi.
3. Bentuk Normal ke Tiga (3NF)
Syarat:
o Bentuk data telah memenuhi kriteria ke dua.
o Tidak boleh terdapat ketergantungan transitif terhadap kunci utama atau primary key.
4. Boyce-Codd Normal Form (BCNF)
Syarat:
o Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk : X -> Y maka X adalah super key.
o Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
o Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF. Perbedaannya, untuk functional dependency X -> A, BCNF tidak membolehkan A sebagai bagian dari primary key
5. Bentuk Normal ke Empat (4NF)
Syarat:
o Bila dan hanya bila telah berada dalam bentuk BCNF dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
o Untuk setiap multivalued attribute (MVD) juga harus merupakan functional dependencies.
6. Bentuk Normal ke Lima (5NF)
Syarat:
o Semua anomali (kesalahan data) yang tertinggal telah dihilangkan.
o Bentuk normal 5NF terpenuhi jika tidak dapat memiliki lossless decomposition menjadi tabel-tabel yang lebih kecil.
o Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependencies, 5NF dibentuk berdasarkan konsep join dependencies. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula.
Studi Kasus Normalisai
Untuk mendapatkan hasil yang paling normal , maka proses normalisasi dimulai dari normal pertama.Field-field di atas yang merupakan group berulang : Kode_Barang,Nama_Barang,Harga,qty.
Normalisasi Pertama(1NF):
Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial. Menjadikan field-field menjadi tergantung pada satu atau beberapa field. Karena yang dapat dijadikan kunci adalah Kode_Faktur dan Kode_Barang, maka langkah kemudian dicari field-field mana yang tergantung pada Kode_Faktur dan mana yang tergantung pada Kode_barang.
Inti dari normalisasi 1NF adalah tidak boleh ada grouping data ataupun duplikasi data. Sekarang lanjut pada tahap normalisasi 2NF.
Normalisasi Kedua(2NF):
Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya Kode_Barang menjelaskan Nama_Barang dan Harga sedangkan Kode_Faktur dan Kode_Barang menjelaskan tanggal ,qty.
Setelah dinormalisasi 2NF, tabelnya terpecah menjadi 2. Sekarang lanjut pada tahap normalisasi 3NF.
Normalisasi Ketiga(3NF):
Pada tabel di atas masih terdapat masalah, bahwa pada atribut qty tidak bergantung langsung pada primary key kode_faktur melainkan bergantung pada kolom kode_barang. Jadi setelah dinormalisasi 3NF akan menghasilkan tabel berikut:
Komentar
Posting Komentar