Pages

Rabu, 06 Maret 2013


Pertemuan Keempat SBD (Normalisasi dan Denormalisasi Data)

Dipertemuan keempat (Normalisasi dan Denormalisasi Data) kami membahas beberapa materi seperti :



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 dalamBoyce-Codde!


    Pengertian Normalisasi Data.
  • Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
  • Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
  • Tujuan normalisasi data adalah untuk:
  1. Untuk menghilang kerangkapan data.
  2. Untuk mengurangi kompleksitas.
  3. Untuk mempermudah pemodifikasian data.
  • Proses normalisasi adalah sebagai berikut:
  1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
  2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
    Tahapan dalam Normalisasi Data.
  • Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.
  • Bentuk 1NF (First Normal Form)
  • Aturan :
  • Tidak adanya atribut multi-valueatribut komposit atau kombinasinya.
  • Mendefinisikan atribut kunci.
  • Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).

  • Bentuk 2NF (Second Normal Form)
  • Aturan :
  • Sudah memenuhi dalam bentuk normal kesatu (1NF).
  • Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci.
  • Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
  • Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi.

  • Bentuk 3NF (3th Normal Form)
  • Aturan :
  • Sudah berada dalam bentuk normal kedua (2NF).
  • Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya).

  • Bentuk 4NF (4th Normal Form)
  1. Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
  2. Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.
  • Bentuk 5NF (5th Normal Form)
  1. Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
  2. 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
    Contoh Penerapan Normalisasi Data.
  • Untuk mendapatkan hasil yang paling normal, maka proses normalisasi dimulai dari normal pertama. Field-field tabel di atas yang merupakan group berulang : NoPegawaiNamaPegawaiGolonganBesarGaji.
  • Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial.menjadikan field-field menjadi tergantung pada satu atau beberapa field.Karena yang dapat dijadikan kunci adalah NoProyek dan NoPegawai, maka langkah kemudian dicari field-field mana yang tergantung padaNoProyek dan mana yang tergantung pada NoPegawai.


  • Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya NoProyek menjelaskan NamaProyek dan NoPegawaimenjelaskan NamaPegawaiGolongan dan BesarGaji.
Tabel 1

 

      Tabel 2









  • Pada tabel diatas masih terdapat masalah, bahwa BesarGaji tergantung kepada Golongan nya. Padahal disini Golongan bukan merupakan field kunci. Artinya kita harus memisahkan field non-kunci Golongan danBesarGaji yang tadinya tergantung secara parsial kepada field kunciNoPegawai, untuk menghilangkan ketergantungan transitif.


    Pengertian Denormalisasi Data.
  • 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.
  • Pelanggaran terhadap Normalisasi, dan ditujukan demi pertimbangan performansiCara : mengendalikan redundansi untuk mengurangi perhitungan, kompleksitas perintah, & jumlah tabel yang di-Join.Konsekuensi :
  1. Kebutuhan tambahan ruang penyimpanan.
  2. Proses manipulasi data lebih lambat.
  • Denormalisasi adalah hal mendasar dalam membuat DATAWAREHOUSE
    Tahapan dalam Denormalisasi Data.
  • Derived Attribute (Atribut yg terderivasi).
  1. Nilai-nilai dari atribut ini diolah dari nilai-nilai yang sudah ada pada atribut yang lain (dari tabel yg sama atau tabel lain).
  2. Digunakan untuk menghindari proses yang berulang dan memakan waktu.
  • Atribut yang berlebihan.
  1. Atribut yang menyatakan lebih dari satu fakta.
  2. Melanggar First Normal Form, karena tidak memiliki domain nilai yang unik
  • Jenis :
      • Encoded attribute
      • Concatenated Attribute
      • Overlapping Attribute
      • Alternate Attribute
  • Summary Table (tabel rekapitulasi).
  1. Normalisasi  tabel-tabel Detail.
  2. Laporan berbentuk Summary (rekapitulasi) merupakan hasil pengolahan dari Kumpulan data Detail.
  3. Makin besar volume data dan makin banyak tabel yang ter-JOIN  makin lama waktu diperlukan.
  4. Solusi : simpan hasil pengolahan dalam tabel khusus.
    Contoh Penerapan Denormalisasi Data.
    Boyce-Codde Method.
  • 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).
    Tahapan dalam Boyce-Codde.
  • Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X  Y maka adalah super key.
  • Tabel tersebut harus di-dekomposisi berdasarkan functional dependencyyang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
  • 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.

Pertemuan Ketiga SBD (Konsep Entitas)



Dipertemuan Ketiga (Konsep Entitas) kami membahas :



1.       Jelaskan pengertian entitas dan berikan contoh!
2.       Jelaskan pengertian record/tuple dan berikan contoh!
3.       Jelaskan pengertian field/atribut dan berikan contoh!
4.       Sebutkan dan jelaskan setiap elemen dalam struktur entitas!
5.       Apakah relasi tiu?
6.       Sebutkan dan jelaskan , jenis relasi antar entitas!


1.      Pengertian Entitas dan Berikan Contohnya

Entitas adalah sesuatu yang memiliki keberadaan yang unik dan berbeda, walaupun tidak harus dalam bentuk fisik. Abstraksi, misalnya, biasanya dianggap juga sebagai suatu entitas. Dalam pengembangan sistem, entitas digunakan sebagai model yang menggambarkankomunikasi dan pemrosesan internal seperti misalnya membedakan dokumen dengan pemrosesan pesanan.

Entitas Dalam Informatika
Analisis Data, Informasi dan sinting Entitas
Sebuah database dapat dimodelkan sebagai sekumpulan entitas
Entitas (entity) adalah sebuah objek yang keberadaannya dapat dibedakan terhadap objek lain
Entitas dapat berupa orang, benda, tempat, kejadian, konsep
Contoh:
·         Orang: Mahasiswa, Dosen, Pemasok, Penjual
·         Benda: Mobil, Mesin, Ruangan
·         Tempat: Negara, Desa, Kampung
·         Kejadian: Penjualan, Registrasi
·         Konsep: Rekening, Kursus
Sebuah entitas memiliki sejumlah atribut
·         Contoh: mahasiswa memiliki nama dan alamat
Himpunan entitas adalah sekumpulan entitas yang berbagi atribut yang sama
·         Contoh: sekumpulan mahasiswa, dosen, atau perusahan.
Entitas adalah sesuatu yang ada dan dapat melaksanakan suatu kegiatan dan dapat berupa subyek hukum tersendiri.

  1. Pengertian Record/Tuple dan Contohnya

Record/Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang,
Record/Tuple (Tupel) merupakan suatu baris dari suatu relasi. Pada relasi PEGAWAI, setiap tupel mempunyai 5 nilai, masing-masing untuk setiap atribut NIP#, Nama, Alamat, Gaji dan KodeDiv.
Contoh:           
Record entry mahasiswa adalah kumpulan data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel database, record disebut juga baris.
nim, nama_m, tpt_lhr_m, tgl_lhr_m, alm_m an atribut lainnya dari seorang Mahasiswa dapat dihimpun dalam sebuah record / baris.
NPM, nama mahasiswa, alamat, kota, dll.

MODEL DATA RELASIONAL
Pada model relasional, basis data akan “disebar”  atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut baris data (row / record) dan lajur vertikal yang biasa disebut dengan kolom (column / field).

  Contoh Tabel dan keterhubungannya :
 
3. Pengertian Field/Atribut dan Contohnya
-          Field /attribute : Satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.
-          Atribut (field) adalah: elemen, data field, atau data item yang di gunakan untuk menerangkan suatu entribut dari entitas dan mempunyai harga tertentu, misalnya atribut dari entitas pegawai diterangkan oleh , nama, umur, alamat, dan pekerjaan.
-          Field   : merepresentasikan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record.
-          Field (medan) :data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh fieldyaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang.

Contoh: setiap file selalu terdapat kunci dari file berupa field atau suatu set field yang dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NRP) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya. Nomor Pegawai (NIP) bagi dosen, NIK untuk data Karyawan, Kode_Kuliah untuk data Mata Kuliah, dan lain sebagainya.

4   4. Elemen- Elemen Dalam Struktur Entitas

Diagram Hubungan Antara Entitas (Entity Relatioship Diagram)
ERD adalah suatu model jaringan yang menggunakan susunan data
yang disimpan dalam sistem secara abstrak. ERD merupakan model
jaringan data yang menekankan pada struktur–struktur dan relationship


data.



Elemen-eleman dari Diagram Hubungan Entitas antara lain :

Simbol hubungan entitas




A.    Kunci (Key) merupakan suatu atribut yang unik yang dapat digunakan untuk membedakan suatu entitas dengan entitas yang lainnya dalam suatu himpunan entitas. Macam kunci (key) yaitu
·         Primary Key (Kunci Primer)
Adalah satu atribut atau satu set minimal atribut yang tidak hanyamengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity.
·         Foreign Key (Kunci Tamu)
Merupakan sembarang atribut yang menunjuk kepada Primary Key pada tabel yang lain. Foreign Key terjadi pada suatu relasi yang memilikiCardinality one to many atau many to many.
  

15. Penertian Relasi



Relation (Relasi) merupakan sebuah tabel dengan kolom-kolom dan baris-baris. Pada model relasional, relasi digunakan untuk menyimpan informasi mengenai objek-objek yang direpresentasikan dalam sebuah basis data. Relasi ini digambarkan dalam bentuk tabel dua dimensi. Contohnya mengenai informasi pegawai-pegawai yang bekerja di perusahaan X direpresentasikan pada relasi PEGAWAI yang mengandung informasi nomor induk pegawai, nama, alamat, gaji dan kode divisi tempat pegawai bekerja.



                                       
7.   Jenis- Jenis Relasi Antar Entitas

One-to-many
Misalkan terdapat relasi antara tabel ibu dan tabel anak dengan nama relasi "mempunyai" dan relasinya one-to-many. Artinya satu record pada tabel ibu boleh berelasi (mempunyai) dengan banyak record pada tabel anak. Namun satu record pada tabel anak hanya boleh berelasi dengan satu record saja pada tabel ibu Gambar relasi one-to-many:  
One-to-one
Jika dua tabel berelasi one-to-one artinya setiap record di entitas pertama hanya akan berhubungan dengan satu record di entitas kedua begitu pula sebaliknya. Conrohnya relasi antara tabel pegawai dan alamat pegawai. Satu record pegawai hanya berhubungan dengan satu record alamat pegawai beitu pula sebaliknya. Entitas 3 merupakan atribut yang unik di entitas . Gambar relasi one-to-one: 

 


Many-to-many
Jika tabel satu berelasi dengan tabel dua dengan relasi any-to-many artinya ada banyak record di entitas satu dan entitas dua yang saling berhubungan satu sama lain. Contohnya relasi many-to-many antara tabel transaksi dan barang. Satu record transaksi bisa berhubungan dengan banyak record barang, begitu pula sebaliknya. Gambar relasi many-to-many: