Arsip Blog

Kategori

Total Pengunjung

Rudy Octavianto. Diberdayakan oleh Blogger.

About

Rudy Octavianto | FTI UKSW '12 Owner of chrisant movies and Afterschool Photography #GGMU
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.

Tujuan dari normalisasi
 Untuk menghilangkan kerangkapan 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

Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari
ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
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 :
  1. melalui pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu dengan yang lain.
  2. 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).



{ 2 komentar... read them below or Comment }