definisi normalisasi

19
1 Matakuliah Matakuliah : Sistem Basisdata Sistem Basisdata Versi Versi : 1.0.0 1.0.0 Materi Materi : : Normalisasi Data (part 02) Normalisasi Data (part 02) Penyaji Penyaji : Zulkarnaen NS Zulkarnaen NS

Upload: kiet

Post on 24-Jan-2016

147 views

Category:

Documents


11 download

DESCRIPTION

Definisi Normalisasi. Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Definisi Normalisasi

11

MatakuliahMatakuliah :: Sistem BasisdataSistem Basisdata

VersiVersi :: 1.0.01.0.0

MateriMateri :: Normalisasi Data (part 02)Normalisasi Data (part 02)

PenyajiPenyaji :: Zulkarnaen NSZulkarnaen NS

Page 2: Definisi Normalisasi

22

Definisi NormalisasiNormalisasi 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.

1. Untuk menghilangkan kerangkapan data2. Untuk mengurangi kompleksitas3. Untuk mempermudah pemodifikasian data

Tujuan dari Normalisasi

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.

Proses Normalisasi

Page 3: Definisi Normalisasi

33

Normalisasi dengan Ketergantungan Fungsional Dalam perspektif Normalisasi, sebuah basis data dapat dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basis data tersebut juga telah berada dalam keadaan baik atau normal. Sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3 kriteria berikut:

1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisi-nya dijamin aman (Lossless-Join Decomposotion).

2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

3. 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 (3nd Normal Form/3NF).

Kriteria tersebut merupakan kriteria minimal untuk mendapatkan predikat efisien/normal bagi sebuah tabel.

Page 4: Definisi Normalisasi

44

Akan tetapi, dapat juga menerapkan kriteria-kriteria lain yang juga tercakup dalam kerangka normalisasi, walaupun bukan merupakan kriteria-kriteria utama, yang terdiri dari:

1. Bentuk Normal tahap Pertama (1nd Normal Form/1NF)2. Bentuk Normal tahap Kedua (2nd Normal Form/2NF)3. Bentuk Normal tahap Ketiga (3nd Normal Form/3NF)4. Bentuk Normal tahap Keempat (4nd Normal Form/4NF)5. Bentuk Normal tahap Kelima (5nd Normal Form/5NF)

Dekomposisi sendiri merupakan langkah yang paling sering ditempuh dalam proses Normalisasi, jika sebuah tabel tidak memenuhi Bentuk Normal tertentu.

Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan biasa disebut sebagai tabel Universal (universal/star table). Tabel Universal (Tabel Universal (Universal / Star TableUniversal / Star Table) sebuah tabel yang ) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan dan bukan merangkum semua kelompok data yang saling berhubungan dan bukan merupakan tabel yang baik.merupakan tabel yang baik.

Page 5: Definisi Normalisasi

55

Berikut contoh sebuah tabel universal yang merupakan rangkuman data mahasiswa, kuliah, dosen, nilai dan jadwal

Page 6: Definisi Normalisasi

66

Dari table universal tersebut, dengan memperhatikan kesamaan dan ketidak samaan data diantara baris-baris data juga dengan memahami hubungan alamiah antar data, kita dapat membentuk KF sebagai berikut:

Nim nama_mhsNim alamat_mhsNim tgl_lahirKode_kul nama_kulKode_kul sksKode_kul semesterKode_kul waktuKode_kul tempatKode_kul nama_dosNama_dos alamat_dosNim, kode_kul indeks_nilai

Jika kita memusatkan diri pada table universal tersebut, paling tidak ada 3 kelemahan mendasar yang dapat kita lihat, yaitu:1. Pengulangan informasi

Yang terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir yang dinyatakan berulang-ulang sesuai dengan data atribut nim, begitu juga dengan atribut nama_kul, tempat, waktu dan seterusnya.

Page 7: Definisi Normalisasi

77

2. Potensi inkonsistensi data pada operasi pengubahanYang terjadi jika ada perubahan pada data nama_mhs, dimana perubahan ini harus dijalarkan keseluruh baris data pada table tersebut untuk nim yang sama. Jika perubahan ini tidak dilakukan, maka KF yang telah ditetapkan akan tergangu, karena kelak akan ada 2 row atau lebih dengan nim yang sama, tapi nama_mhs nya berbeda.

3. Tersembunyinya informasi tertentuTabel universal dibangun atas dasar keterkaitan antar item-item data. Karena itu table semacam ini tidak akan mampu menampilkan informasi tentang item-item data yang kebetulan belum memiliki keterkaitan dengan item data yang lain.Kelemahan-kelemahan tersebut mengiring kita untuk melakukan dekomposisi, yakni melakukan pemilihan table tersebut menjadi beberapa table dengan mempertimbangkan ketergantungan fungsional yang telah kita dapatkan, dekomposisi dilakukan agar setiap table yang kita gunakan hanya memiliki 1 (satu) KF saja , lebih tepatnya KF minimum

Page 8: Definisi Normalisasi

88

Lossless Join DecompositionDekomposisi merupakan upaya untuk mendapatkan table yang baik, tapi bila tidak berhati-hati upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang benar terjadi jika table-tabel hasil dekomposisi kita gabungkan kembali dapat menghasilkan table awal sebelum didekomposisi. Dekomposisi yang benar semacam ini disebut Lossless-Join Decomposition atau Lossless Decomposition (dapat di Indonesia-kan dengan istilah Dekomposisi Aman).

Berikut sebuah contoh yang menghasilkan dekomposisi yang tidak aman (Lossy-Join Decomposition). Misalnya ada sebuah table ABC, yang didefinisikan dengan 2 buah table KF yaitu AB dan BC.Kedua KF tersebut diperoleh dari pengamatan terhadap data yang kurang memadai atau karena asumsi yang kurang tepat.

A B C

A1 100 C1

A2 200 C2

A3 300 C3

A4 200 C4

Tabel ABC

Memang dengan isi seperti itu, pernyatan KF yang kedua BC tidak sepenuhnya tepat, karena pada row 2 dan row 4, dengan nilai untuk atribut B yang sama, nilai untuk atribut C nya berbeda.

Page 9: Definisi Normalisasi

99

Tapi yang ingin kita tekankan disini adalah adanya 2 buah KF itu, mendorong kita untuk medekomposisi table ABC menjadi 2 buah table, yaitu table AB dan Tabel BC sbb:

Tabel AB

A B

A1 100

A2 200

A3 300

A4 200

Tabel BC

Hasil gabungan table AB dan BC

B C

100 C1

200 C2

300 C3

200 C4

A B C

A1 100 C1

A2 200 C2

A2 200 C4

A3 300 C3

A4 200 C2

A4 200 C4

Jika table AB dan table BC digabungkan, hasilnya tidak menghasilkan table awal, sebelum dekomposisi, ini yang disebut dengan Lossy Join Decomposition

Page 10: Definisi Normalisasi

1010

Tapi bila table awal (table ABC) seperti berikut

Jika table ABC seperti diatas maka kedua KF dapat dibenarkan, jika dilakukan dekomposisi maka akan menghasilkan table sebagai berikut:

A4 200 C2

A B C

A1 100 C1

A2 200 C2

A3 300 C3

A4 200 C2

A B

A1 100

A2 200

A3 300

A4 200

B C

100 C1

200 C2

300 C3

Kesimpulaan“Karena itulah, KF pada suatu table harus kita tetapkan berdasarkan pengamatan yang teliti dan asumsi yang dapat dipertanggung jawabkan, agar kelak hasil dekomposisinya dapat dibenarkan”

Page 11: Definisi Normalisasi

1111

Dependency PreservationDependency preservation (dapat di Indonesia-kan sebagai Pemeliharaan Ketergantungan) merupakan kriteria yang harus dicapai untuk mendapatkan tabel dan basis data yang baik.

Ketika melakukan perubahan data, maka harus dapat dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi tidak terpenuhi tetapi dalam upaya untuk memelihara KF yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien.

Jika ditinjau pada table universal yang telah digambarkan sebelumnya, sudah jelas sangat rapuh didalam memenuhi kriteria dependency preservation. Kalaupun ingin dipaksakan (agar KF yang ada tetap dapat terjaga pada saat ada perubahan yang terjadi), maka upaya pemeliharaan KF tersebut akan berlangsung tidak efisien

Katakanlah ada perubahan data Alamat untuk mahasiswa dengan nim=980001, maka perubahan ini harus juga dijalarkan/dilakukan pada atribut alamat_mhs disemua row yang nilai atribut nim_nya berharga 980001

Page 12: Definisi Normalisasi

1212

ContohKatakanlah table Mahasiswa dan table Nilai hasil dekomposisi menghasilkan atribut sebagai berikut:

Tabel NilaiNama_kul, Nim, Nama_mhs, Indeks_nilai

Dengan 2 KF yaitu Nama_kul, Nim Indeks_nilaiNim Nama_mhs

Tabel MahasiswaNim, Nama_mhs, Alamat_mhs, Tgl_lahir

Jika pada table mahasiswa terjadi perubahan data pada atribut alamat_mhs atau pada atribut tgl_lahir, maka perubahan ini tidak perlu dilakukan/dijalarkan pada table nilai, karena pada table ini atribut-atribut tersebut tidak dilibatkan.

Tapi jika perubahan terjadi pada atribut nama_mhs pada table mahasiswa, maka perubahan tersebut harus juga dilakukan/dijalarkan ke table nilai, Karena atribut tersebut dilibatkan pada table nilai

Page 13: Definisi Normalisasi

1313

Jika penjalaran ini hanya dilakukan pada satu baris (row) pertama pada table nilai dengan nilai nim yang sama, dengan nilai nim di table mahasiswa yang nama_mhs-nya diubah tersebut, maka KF nimnama_mhs tidak terpenuhi lagi.Jika demikian perubahan tersebut harus dijalarkan kesemua baris data dengan nilai nim yang sama/sesuai, masalahnya penjalaran perubahan ini tidak efisien dan seharusnya dihindari.

Solusinya agar dependency preservation terpenuhi adalah meniadakan/melepaskan atribut nama_mhs dari table nilai, sehingga table nilai menjadiNim Nama_kul Indeks_nilai

Page 14: Definisi Normalisasi

1414

Normalisasi Bentuk Normal ke Satu (1NF)

Syarat:1. Tidak ada set atribut yang berulang atau bernilai ganda (atomik

value).2. Tiap atribut yang dapat memiiki banyak nilai sebenarnya

menggambarkan entitas atau relasi yang terpisah (multivalue).

Bentuk Normal ke Dua (2NF)Syarat:1. Bentuk data telah memenuhi kriteria bentuk normal ke satu. 2. Atribut bukan kunci(non-key attribute) haruslah memiliki

ketergantungan fungsional sepenuhnya pada primary key.

Bentuk Normal ke Dua (3NF)Syarat:1. Bentuk data telah memenuhi kriteria bentuk normal ke dua.2. Atribut bukan kunci (non-key attribute) tidak boleh memiliki

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

Page 15: Definisi Normalisasi

1515

Contoh Normalisasi

Diberikan data Nilai Mahasiswa seperti di bawah ini:

Page 16: Definisi Normalisasi

1616

Bentuk Normal ke Satu (1NF)

Bentuk Normal ke Dua (2NF)

Belum memenuhi kriteria 2NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.

Page 17: Definisi Normalisasi

1717

Bentuk Normal ke Tiga (3NF)

Page 18: Definisi Normalisasi

1818

Dari normalisasi data nilai mahasiswa tersebut maka akan didapat 4 tabel yaitu: Mahasiswa, Matakuliah, Nilai dan Bobot

Mahasiswa

Matakuliah

Bobot

Nilai

Page 19: Definisi Normalisasi

Selesai