Wednesday, February 20, 2013

Contoh normalisasi dan denormalisasi data


 
1.Jelaskan pengertian normalisasi data!
2.Sebutkan dan jelaskan setiap tahapan dalam normalisasi data!
3.Berikan contoh penerapan normalisasi data!
4.Jelaskan pengertian denormalisasi data!
5.Sebutkan dan jelaskan setiap tahapan dalam denormalisasi data!
6.Berikan contoh penerapan denormalisasi data!
7.Jelaskan tentang Boyce-Codde method!
8.Sebutkan dan jelaskan setiap tahapan dalam Boyce-Codde!




1.       Normalisasi data adalah proses yang mendorong desain basis data secara efektif dengan mengelompokkan berbagai artibut data ke dalam berbagai tabel yang sesuai denga kondisi tertentu yang berhubungan dengan praktik terbaik dalam desain file basis data.

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible.
Normalisasi adalah suatu proses formal untuk menentukaan atribut-atribut yang seharusnya dikelompokkan secara bersama-sama dalam suatu relasi



2.Tahap tahap normalisasi database


Bentuk Tidak Normal
Bentuk ini  merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti  format  tertentu,  dapat  saja  data  tidak  lengkap  atau  terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
2.             Bentuk Normal Pertama (1 NF)
Pada tahap ini dilakukan penghilangan beberapa grup 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.             Tiap atribut hanya memiliki satu pengertian.
   Bentuk Normal Kedua (2NF)
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.
  FULL FUNCTIONAL DEPENDENCY (Ketergantungan Fungsional Sepenuhnya)
Suatu  ketergantungan  fungsional  A à B  adalah  ketergantungan  fungsional sepenuhnya, jika perpindahan beberapa atribut dari A menghasilkan tepat satu pasangan pada  atribut  B.  Suatu  ketergantungan  fungsional  A à B  adalah  ketergantungan fungsional sebagian, jika ada beberapa atribut yang dapat dihilangkan dari A sementara ketergantungan tersebut tetap berlaku /berfungsi.
Bentuk normal kedua memungkinkan suatu relasi memiliki composite key, yaitu relasi dengan primary key yang terdiri dari dua atau lebih atribyut. Suatu relasi yang memiliki sigle atribut untuk primary keynya secara otomatis pada akhirnya menjadi 2-NF.
 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  fungsionla sepenuhnya (fully functional dependency) pada kunci utama / primary key.
Dengan demikian untuk membentuk normal  kedua haruslah sudah ditentukan primary  keynya.  Primary  key  tersebut  haruslah  lebih  sederhana,  lebih  unik,  dapat mewakili atribute lain yang menjadi anggotanya, dan lebih sering digunakan pada tabel atau relasi tersebut.
                Bentuk Normal Ketiga (3NF)
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.
Transitive Dependency (ketergantungan transitif)
Suatu kondisi  dimana  A,  B,  dan C adalah atribut-atribut  dari  suatu relasi sedemikian sehingga A à B dan B à C,  maka A à C (C memiliki  ketergantungan transitif  terhadap  A  melalui  B),  dan  harus  dipastikan  bahwa  A  tidak  memiliki ketergantungan fungsional (functional dependent) terhadap B atau C).
ü   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 
Bentuk Normal Keempat (4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
               
                Bentuk Normal Kelima (5NF)
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


 3.            




















4.Denormalisasi merupakan proses yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk meningkatkan kinerja database.

Proses denormalisasi termasuk :
·          Mengkombinasikan tabel-tabel yang terpisah dengan join
·          Mereplikasi/menduplikat data pada table

perbedaan normalisasi dan denormalisasi adalah terletak pada redundansi data dan kompleksitas query.

5.Tahapan dalam Denormalisasi Data

a)            Atribut yang terderivasi (atribut turunan)
                      Atribut yang nilainya bisa diperoleh dari nilai-nilai yang sudah ada pada atribut lain.
b)            Atribut yang berlebihan
             Atribut terkodekan
                      Atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya
             Atribut Gabungan
                    Atribut dalam domain komposit.
             Atribut Tumpang-Tindih
                      Atribut dengan nilai yang tidak sepenuhnya ekslusif.
                             Atribut Bermakna Ganda
                                   Atribut yang memiliki arti berbeda tergantung kelompok entitasnya.

c)            Tabel rekapitulasi (summary table)
·         Laporan hasil rekapitulasi akan selalu merupakan hasil pengolahan dari semua tabel yang ada.
·         Pengolahan tersebut melibatkan banyak tabel sehingga akan membutuhkan waktu yang lama.
·         Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut.


6.Contoh Penerapan Denormalisasi Data.
Boyce-Codde Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.
Dalam Date (2004), didefinisikan bahwa sebuah relvar berada dalam BCNF bila dan hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi-sebelah kiri memiliki sebuah kunci kandidat sebagai determinannya. Contoh solusi untuk relvar SSP {S#, SNAME, P#, QTY}, menjadi proyeksi.
Dalam Hariyanto (2004), ketentuan BCNF tercapai apabila masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya. Contoh sebuah relasi sebelum berada dalam BCNF, Kehadiran {Dosen, Semester, Kuliah, Sesi, Kehadiran}. Diperoleh keterangan bahwa keterangan di atas dapat dideskripsikan bahwa Kuliah memiliki ketergantungan fungsional pada Dosen dan Semester; Dosen memiliki ketergantungan fungsional pada Kuliah dan Semester; Kehadiran memiliki ketergantungan fungsional pada Dosen, Semester dan Sesi; dan Kehadiran memiliki ketergantungan fungsional pada Kuliah, Semester dan Sesi. Dengan demikian, diperoleh hasil dekomposisi.
Dalam Philip (2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan hanya jika, setiap kunci kandidat adalah sebuah determinan. Contoh: ORDER (OrderNo, OrderDate, CustNo, PmtMethod, ItemNo, ItemName, UnitPrice, OrderQty).

7.Boyce-Codde Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.

8.Tahapan dalam Boyce-Codde.
1.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.
2.Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
3.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

No comments:

Post a Comment