Selasa, 05 Januari 2010

NORMALISASI

NORMALISASI

1. Pengertian
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

2. Tujuan dari normalisasi
• Untuk menghilangkan kerangkapan data
• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data

3. 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
ebih sederhana sampai memenuhi bentuk yang optimal.

Sebuah tabel dikatakan baik (efisien) atau 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 sama persis.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).


• Tabel Universal
Tabel Universal (Universal / Star Table) à sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.


Functional Dependency
• Notasi: A à B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama


• Notasi: A à B atau A xà B
Adalah kebalikan dari notasi sebelumnya.



Functional Dependency dari tabel nilai
 Nrp à namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.
 {Namakul, nrp} à NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama, maka Ni Huruf juga sama, karena Namakul dan nrp merupakan key (bersifat unik).
 NamaKul à nrp
 Nrp à NiHuruf

4. 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



1. Ketergantungan Fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Misal, terdapat skema database Pemasok-barang : Pemasok (No-pem, Na-pem)
Tabel PEMASOK-BARANG
No-pem Na-pem
P01 Baharu
P02 Sinar
P03 Harapan

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem ---> Na-pem

6. Ketergantungan Fungsional Penuh

Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

7. Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z , maka X Z )
• Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
• Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.
• Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.
• Bentuk Normal Tahap Keempat (4th Normal Form /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 Tahap Keempat (5th Normal Form /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

NORMALISASI DATABASE

Pendahuluan perancangan Database :
 Tantangan dalam merancang database adalah bagaimana merancang sehingga database dapat memenuhi keperluan saat ini dan masa mendatang
 Perancangan Model Konseptual perlu dilakukan disamping perancangan model fisik
Proses perancangan basis data , dibagi menjadi 3 tahapan yaitu :
 Perancangan basis data secara konseptual, tahapan ini merupakan upaya untuk membuat model yang masih bersifat konsep..
 Perancangan basis data secara logis, merupakan tahapan untuk memetakan model konseptual kemodel basis data yang akan dipakai (modal relasional, hirarkis, atau jaringan). Perancangan ini tidak bergantung pada DBMS yang akan dipakai, itulah sebabnya perancangan basis data secara logis terkadang disebut pemetaan model data.
 Perancangan basis data secara fisis, merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal (yang spesifik terhadap DBMS yang dipakai ).

Pengembangan Sistem
Pengembangan system terdiri atas sederetan kegiatan yang dapat dikelompokan menjadi beberapa tahapan. Ada berbagai pembagian tahapan dalam pengembangan system yaitu :
 Metodologi yang disebut Waterfall atau air terjun yang membagi daur pengembangan system menjadi 6 tahapan : konsepsi, pendahuluan, analisis, perancangan, implementasi dan pengujian.
 McLeod mengemukakan 4 tahapan : perencanaan, analisis, perancangan dan implementasi.
 Fabbri dan Schwab membaginya menjadi 5 tahapan : studi kelayakan, rencana pendahuluan, analisis system, perancamgan system danimplementasi system.

Tahapan studi kelayakan
Tahapan ini merupakan identifikasi terhadap kebutuhan system baru, identifikasi tidak hanya didasarkan oleh kebutuhan-kebutuhan baru tetapi harus memperhatikan kebutuhan pada system yang sudah ada. Hasil tahapan ini berupa daftar kebutuhan, perkiraan biaya untuk membuat system baru dan juga solusi yang dikehendaki.

Tahapan rencana pendahuluan
Tahapan ini menentukan lingkup proyek atau system yang akan ditangani, hal ini digunakan untuk menentukan jadwal proyek. Biasanya dijabarkan dalam diagram aliran data (DAD). DAD menunjukan fungsi-fungsi dalam system, cara menggunakan informasi yang tersimpan dan pemindahan informasi antar fungsi didalam system.
Tahapan analisis system
Analis system sering berdialog dengan pengguna untuk memperoleh informasi detil kebutuhan pengguna. Kemudian hasil yang didapat dipakai sebagai bahan untuk menyusun DAD system baru. Untuk memperinci DAD, item-item yang terdapat pada aliran data dan juga yang terdapat pada penyimpanan data dijabarkan dalam bentuk kamus data. Kamus data adalah deskripsi formal mengenai seluruh elemen yang tercakup dalam DAD.

Tahapan perancangan system
Tahapan perancangan system dibagi menjadi 2 bagian :
1. Perancangan basis data, merupakan langkah untuk menentukan basis data yang diharapkan dapat mewakili seluruh kebutuhan pengguna berdasarkan kamus aliran data yang telah dibuat. Proses perancangan basis data diantaranya adalah perancangan basis data konseptual yang terdiri atas 3 langkah yaitu :
 Penentuan entitas pada basis data
 Pendefinisian hubungan antarentitas
 Penerjemahan hubungan kedalam entitas

Entitas/tipe entitas/kelas entitas menyatakan objek atau kejadian.
Atribut/properti adalah item data yang menjadi bagian dari suatu entitas.
Hubungan adalah asosiasi atau kaitan antara dua entitas.
Kekangan digunakan untuk melindungi integritas data.
Domain adalah himpunan nilai yang berlaku bagi suatu atribut .

Integritas referensial adalah aturan-aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berada dalam suatu basis data relasional untuk menjaga kekonsistensian data.tujuan integritas referensial adalah untuk menjamin agar elemen dalam suatu tabel yang menunjuk kesuatu pengenal unik pada suatu baris pada tabel lain benar-benar menunjuk kesuatu nilai yang benar-benar ada. Macamnya ada 3 yaitu :
1. penambahan
2. penghapusan
3. peremajaan (update)
1. Perancangan proses
Ada 3 hal yang perlu diperhatikan tentang entitas :
 Sebuah atribut bisa jadi merupakan suatu pengulangan(berisi sejumlah nilai, bukan hanya satu nilai)
 Sebuah atribut muncul pada beberapa entitas.
 Sebuah atribut barangkali sebuah karakteristik dari entitas atau atribut lain.
Selain diagram E-R, diagram lain yang sering dipakai adalah diagram struktur data yang menyerupai E-R. cirinya dengan adanya 2 panah identik. Setelah hubungan antar entitas diketahui maka akan diterjemahkan kedalam table, melalui 3 langkah :
1.. Penentuan kunci untuk entitas
2. Penerjemahan hubungan kedalam kunci tamu
3. Penormalisasian basis data
Penentuan kunci tidak sekedar metode untuk mengakses suatu baris tertentu tapi harus menjadi pengenal yang unik. Kunci terdiri dari beberapa macam, yaitu sebagai berikut :
Candidate Key
 Satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik dari sebuah entitas.
 Misalnya: File Karyawan (No Induk, Nama, Tempat Lahir, Tanggal Lahir, Alamat, Kota )
 Kunci Kandidat:
• No Induk, pasti unik
• Nama, sering dipakai sbg kunci pencarian tetapi tidak cocok utk key karena bisa ada nama yg sama
• Nama+Tanggal Lahir
• Nama+Tanggal Lahir+Tempat Lahir
• Alamat, Kota , tidak cocok untuk kunci

Primary Key
 Satu atribut atau satu set minimal atribut yg dapat mengidentifikasikan secara unik suatu kejadian spesifik dan dapat mewakili entitas
 Dipilih dari Candidate Key yang paling mewakili sebuah entitas secara unik
 Contoh: No Induk, karena unik tidak mungkin ada satu No Induk untuk lebih dari satu pegawai
Alternate Key (Kunci Alternatif)
Adalah kunci kandidat yang tidak dipakai sebagai primary key
Foreign Key (Kunci Tamu)
 Adalah satu (atau satu set) atribut yang melengkapi satu relationship yang menunjukkan ke induknya.
 Misalnya: File Transaksi Gaji (No Induk, Nomor Bukti, Tanggal, Gaji Kotor, Potongan, Gaji Bersih, Pajak)
• Foreign Key: No Induk
• Primary Key: Nomor Bukti
• Alternate Key: No Induk + Nomor Bukti
Teknik Normalisasi
 Proses normalisasi merupakan proses pengelompokkan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya sehingga membentuk struktur relasi yang baik (tanpa redudansi).
 Pada proses normalisasi selalu diuji pada bbrp kondisi, apakah ada kesulitan dalam:
• Add/insert data; delete data; update data; dan retrieve data;
• Jika ada problem maka relasi perlu dipisahkan
Bentuk Normalisasi
 Unnormalized Form
 1st Normal Form (1 NF)
 2nd Normal Form (2 NF)
 3rd Normal Form (3 NF)
 Boyce-Codd Normal Form (BCNF)
BENTUK-BENTUK NORMALISASI
Bentuk Tidak Normal (Unnormalized Form):
 merupakan kumpulan data yang akan direkam,
 tanpa format tertentu,
 bisa saja data tidak lengkap atau ada duplikasi
 Dikumpulkan apa adanya
Normal Pertama (1st Normal Form)
Aturan :
 Mendefinisikan atribut kunci
 Tidak adanya group berulang
 Semua atribut bukan kunci tergantung pada atribut kunci
Normalisasi Kedua (2nd Normal Form)
Aturan :
 Sudah memenuhi dalam bentuk normal kesatu
 Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
Normalisasi Ketiga (3rd Normal Form)
Aturan :
 Sudah berada dalam bentuk normal kedua
 Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
Normalisasi Keempat
 Dikenal dengan nama: Boyce-Codd Normal Form (BCNF)
 Relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut superkey
 Relatif jarang digunakan

Tahapan implementasi system
Tahapan implementasi system mencakup pengkodean program, pengujian program, pemasangan program dan pelatihan pada pengguna. Setelah tahap ini berakhir maka akan sampai pada tahapan penggunaan aplikasi oleh pengguna.

2 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  2. makasih infonya. lagi kepepet butuh normalisasi. ngomong-ngomong boleh kenalan ?

    BalasHapus