Afterschool Photograph
On Senin, 08 April 2013
BAB 1
NORMALISASI
DATA
A. PengertianNormalisasi Data
Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Tujuan dari normalisasi
Untuk menghilangkan kerangkapan data
Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data
Untuk mengurangi kompleksitas
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.
B. Tahapan Normalisasi
Bentuk Tidak Normal
Menghilangkan perulangan group
Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari
ketergantungan fungsional
Menghilangkan anomali-anomali hasil dari
ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan Ketergantungan Multivalue
Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
Menghilangkan anomali-anomali yang tersisa
Menghilangkan anomali-anomali yang tersisa
Bentuk Normal Kelima
Petunjuk
normalisasi ini adalah bersifat komulatif. Untuk suatu database menjadi bentuk
normal kedua (2NF), pertama harus terpenuhi dahulu seluruh kriteria bentuk
normal kesatu (1NF).
Sebuah tabel
dikatakan baik (efisien) / normal jika memenuhi 3 kriteria sbb :
1. 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 nama
yang sama persis.
2. Terpeliharanya
ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak
melanggar Boyce – Codd Normal Form (akan dijelaskan kemudian)
C. Tujuan
Normalisasi Data
1.
Untuk Menghilangkan Kerangkapan Data
2.
Untuk Mengurangi Kompleksitas
3.
Untuk Mempermudah Pemodifikasian Data
D. 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.
BAB II
DENORMALISASI
DATA
A.
PENGERITAN
DENORMALISASI DATA
Denormalisasi database adalah pelanggaran aturan normalisasi atau
menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa
pengaksesan data pada database. Database yang telah normal disini dimaksudkan
database yang redundansi datanya minim sehingga data yang disimpan tidak
mengalami kerancuan dalam proses pengaksesan.
Apakah perbedaan normalisasi dan denormalisasi? perbedaan
normalisasi dan denormalisasi adalah terletak pada redundansi data dan
kompleksitas query. Pada redundansi data normalisasi lebih strik atau harus
dihilangkan sebisa mungkin sehingga mengakibatkan apabila kita akan mengakses
data dalam suatu database membutuhkan query yang kompleks. Berbeda dengan
denormalisasi, denormalisasi disini tidak terlalu memikirkan tentang data yang
redundan sehingga dalam mengakses data lebih cepat.
Mengapa
Denormalisasi begitu penting?
Apabila kita menilik lebih lanjut tentang proses pengaksesan yang
dilakukan database sewaktu data yang berada dalam suatu tabel ada 1000 baris
dengan 100 juta baris. Hal itu akan terasa sangat beda proses kita menunggu
untuk dapat melihat data. Itupun apabila kita mengaksesnya dari beberapa tabel
yang setiap tabel berisikan jutaan data dan kita hanya menginginkan sebagian
saja. Dari situ denormalisasi diperlukan, untuk menjaga kestabilan performa
suatu sistem.
Bagaimanakah cara melakukan denormalisasi? Kita dapat
melakukan denormalisasi dalam 2 jenis :
- melalui
pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu
dengan yang lain.
- melalui
pembuatan tabel baru.
Cara yang pertama dilakukan apabila data yang
didenormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data
apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data
yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu
atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.
contoh :
denormalisasi pertama : total sks yang telah diambil seorang mahasiswa. ini
dibentuk dari jumlah sks matakuliah yang pernah diambil.
denormalisasi kedua : pembuatan tabel jumlah kehadiran mahasiswa dalam satu
semester. data ini dibentuk dari penjumlahan data harian mahasiswa.
B.
BENTUK – BENTUK DENORMALISASI
- Atribut yang terderivasi (atribut turunan)
Atribut
yang nilainya bisa diperoleh dari nilai – nilai yang sudah ada pada atribut
lain
- Atribut yang berlebihan
1.
Atribut Terkodekan (encoded
attribute)
Atribut
yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya.
Contoh
: id_mk di tabel matakuliah yang didalamnya sudah terkandung data program
studi. Data origram studi ini sebenarnya tidak diperlukan lagi karena sudah ada
atribut prog_studi di tabelkuliah
Kode
kuliah SBD : ST022
|
|
2.
Atribut Gabungan (concatenated
attribute)
Atribut
dalam domain komposit
Contoh
: atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk / angkatan
dengan prigram studi dan no urut mahasiswa. Dengan demikian atribut ini
sebenarnya tidak atomik karena masih bisa dibagi lagi
NIM : 09.51.0062
Ket
: angkatan.jurusan.no urut
3.
Atribut Tumpang tindih
(overlapping attribute)
Atribut
dengan nilai yang tidak spenuhnya ekslusif
Contoh
:
Atribut
semester di tabel kuliah berisikan :
1.
: matakuliah ganjil
2.
: matakuliah genap
3.
: matakuliah ganjil dan genap
Nilai
3 mencakup semester genap dan ganjil sekaligus (jadi tidak ekslusif)
4.
Atribut Bermakna Ganda (Alternate
attribute)
Atribut
yang memiliki arti berbeda tergantung kelompok entitasnya
- Tabel Rekapitulasi (summary table)
Laporan
hasil rekapitulasi akan selalu merupakan hasil pengolahan datri semua tabel
yang ada, pengolahan tersebut meilbatkan banyak tabel sebhingga akan
membutuhkan waktu yang lama. Jika hal tersebut sering diakses dan diperlukan,
maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi
tersebut.
C. TAHAPAN DENORMALISASI
Databasedimaksudkanuntukproses
transaksi online(OLTP) biasanyalebihnormaldari
databasedimaksudkanuntukpengolahananalisis online(OLAP). AplikasiOLTPditandaidenganvolume tinggitransaksikecilsepertimemperbaruirekorpenjualandi
counterkasirsupermarket. Harapannyaadalahbahwasetiaptransaksiakanmeninggalkandatabasedalamkeadaankonsisten.
Sebaliknya, databasedimaksudkanuntukoperasiOLAPterutama"membacasebagianbesar"
database.AplikasiOLAPcenderunguntukmengambil
datahistoris yangtelahterakumulasiselamajangkawaktu yang panjang.Untuk databasetersebut, berlebihanatau"denormalized"
data dapatmemfasilitasiaplikasibisnisintelijen. Secarakhusus, tabeldimensidalamskemabintangseringmengandungdata
denormalized. Datadenormalizedatauberlebihanharushati-hatidikontrolselamaekstrak,
mengubah, beban(ETL) pengolahan,danpenggunatidakdiijinkanuntukmelihatdatasampaidalamkeadaankonsisten.
Alternatifdinormalisasidenganskemabintangadalahskemakepingansalju.Dalambanyakkasus, kebutuhanuntukdenormalizationtelahberkurangsebagaikomputerdanRDBMSperangkatlunaktelahmenjadilebihkuat,
tapikarenavolumedata yangumumnyameningkatseiringdengan
hardwaredankinerjaperangkatlunak, databaseOLAPseringkalimasihmenggunakanskemadenormalized.
Denormalizationjugadigunakanuntukmeningkatkankinerjapadakomputeryang lebihkecilsepertipadaperangkatcash-register dan mobilekomputerisasi, karenainidapatmenggunakandata untukmelihat-upsaja (lookup hargamisalnya). DenormalizationjugadapatdigunakanketikatidakadaRDBMSadauntukplatform(sepertiPalm), atautidakadaperubahan yangharusdibuatuntukdatadanresponcepatsangatpenting.
- Non-pertamaBentuk
normal (NF ² atau N1NF)
Denormalization adalah kata kebalikan dari normalisasi.
Dalam pengakuan bahwa denormalization dapat disengaja dan berguna, bentuk non-normal
pertama adalah definisi dari desain database yang tidak sesuai dengan bentuk normal
pertama, dengan memungkinkan "set dan set set menjadi atribut domain"
(Schek 1982). Bahasa yang digunakan untuk query dan memanipulasi data dalam model
harus diperluas sesuai untuk mendukung nilai-nilai tersebut.
Salah
satu cara untuk melihat hal ini adalah dengan mempertimbangkan nilai-nilai terstrukturs eperti menjadi jenis khusus nilai
(domain), dengan mereka sendiri domain-spesifik bahasa. Namun, apa yang
biasanya dimaksudd engan non-1NF model adalah pendekatan di mana model
relasional dan bahasa yang digunakan untuk query
itu diperluas dengan mekanisme umum untuk struktur tersebut, misalnya, model
relasional bersarang mendukung penggunaan hubungan sebagai domain nilai-nilai,
dengan menambahkan dua operator tambahan (sarangdanunnest) ke aljabar relasional
yang dapat membuat dan meratakan hubungan bersarang, masing-masing.
Bentuk
Pertama
Orang Favorite Colour
Bob Blue
Bob Red
Jane Green
Jane Yellow
Jane Red
Asumsikan
seseorang memiliki beberapa warna favorit. Jelas, warna favorit terdiri dari satu set
warna, dimodelkan oleh tabel yang diberikan. Untuk mengubah 1NF ke dalam tabel
² NF ("sarang” Operator) diperlukan sesuatu yang memperluas aljabar
relasional dari bentuk normal yang lebih tinggi. Menerapkan ("sarang"
operator) untuk tabel 1NF menghasilkan tabel berikut NF ²:
Non
Bentuk Pertama
Orang Favorite Colour
Bob Blue, Red
Jane
Green, Yellow,Red
Untuk mengubah ini kembali NF ² tabel menjadi 1NF suatu “perombakan”, Operator
diperlukan untuk memperluas aljabar relasional dari bentuk normal lebih tinggi.
Unnest, dalam hal ini, akan membuat "warna" ke dalam tabel sendiri.
Meskipun "perombakan" adalah invers matematika untuk "sarang", operator "sarang" tidak selalu kebalikan matematis "unnest". Kendala lain yang dibutuhkan adalah untuk operator untuk menjadi bijektif, yang ditutupi oleh Bentuk Normal partisi (PNF).
thanks :)
BalasHapusThank you!
BalasHapus