Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Tujuan dari normalisasi itu sendiri antara lain untuk menghilangkan kerangkapan data, untuk mengurangi kompleksitas, dan untuk mempermudah pemodifikasian data. Normalisasi 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.
Setiawan (2015) mengungkapkan bahwa normalisasi adalah proses mendesain struktur Database dan teknik analisis data yang mengorganisasikan atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, serta fleksibel sehingga menghasilkan sebuah table yang normal. Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel – tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan data tidak konsisten atau membuat data hilang ketika data yang lain dihapus).
Normalisasi database biasanya difungsikan untuk memastikan bahwa database yang dibuat berkualitas sangat baik. Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga yang paling ketat (5NF). Biasanya hanya sampai pada tingkat 3-NF (Bentuk Normal Ketiga) , karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Selanjutnya merancang DAD dengan Program EasyCase yang disebut juga Diagram Alir Data (DAD) yang terdiri dari: Diagram Context (DAD Konteks Sistem), terkadang ada yang menyebut diagram konteks sebagai diagram level 0 sampai Diagram Level (level 0,1, 2, 3, dst), dapat digambarkan dengan program case tool disertai Kamus Aliran Data yang mendeskripsikan data yang mengalir dalam aliran data.
Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan:
- INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
- DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
- UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
- Untuk menghilangkan dan mengurangi redudansi data.
- Memastikan dependensi data (Data berada pada tabel yang tepat).
- Mengeliminasi adanya duplikasi informasi.
- Memudahkan pengubahan struktur tabel.
- Memperkecil pengaruh perubahan struktur database.
Proses Normalisasi antara lain:
- 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.
1) Bentuk Tidak Normal
Bentuk ini iyalah kumpulan data yang akan direkam, tidak ada keharusan mengikukti format tertentu, bisa saja data tidak lengkap atau terduplikasi (rangkap). Contoh pada Tabel Pelanggan Biaya sebagai berikut:
Tabel. Pelanggan Biaya
No_pelanggan | Nama | No_property | Almt_property | Tgl_pinjam | Tgl_selesai | Biaya | No_pemilik | Nama_pemilik |
---|---|---|---|---|---|---|---|---|
CR76 | Badi | PG4 | Jl.Aai/07, Jakarta | 1-Jul-93 | 31-Aug-95 | 350 | CO40 | Ewin |
PG16 | Jl. Huzai/12, Jakarta | 1-Sep-96 | 1-Sep-96 | 450 | CO93 | Durki | ||
CR56 | Sirajuddin | PG4 | Jl.Aai/07, Jakarta | 1-Sep-92 | 10-Jun-93 | 350 | CO40 | Ewin |
PG36 | Jl. Azhar /49, Jakarta | 10-Oct-93 | 1-Dec-94 | 375 | CO93 | Durki | ||
PG16 | Jl. Huzai/12, Jakarta | 1-jan-95 | 10-Aug-95 | 450 | CO93 | Durki |
2) Bentuk Normal Pertama (1NF)
Ciri-cirinya adalah Setiap data di bentuk dalam flat file dan Tidak ada set atribut yang berulang –ulang. Membentuk sebuah tabel menjadi Un-Normalized, dengan mencantumkan data yang ada pada semua field. Membentuk Normal Pertama (1 Normal First) dengan flat table yang memisahkan data pada field-field yang tepat bernilai atomik, dan yang melengkapi atribut/ field yg ada.
Syarat normal ke satu (1-NF) antara lain:
- Pada setiap data dibentuk dalam sebuah flat file, data dibentuk dalam satu demi satu record, nilai dari field itu berupa “atomic value”.
- Tidak ada set atribute yang berulang(duplikat).
- Ditentukannya primary key untuk tabel / relasi.
- Tiap atribut hanya memiliki satu pengertian.
Pada kasus ini kita akan memperoleh primary key yang bersifat composite key. Relasi Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya =(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai, Biaya,No_Pemilik, Nama_Pemilik). Berikut ditunjukkan pada Tabel berikut :
Tabel. Pelanggan Biaya
No_pelanggan | Nama | No_property | Almt_property | Tgl_pinjam | Tgl_selesai | Biaya | No_pemilik | Nama_pemilik |
---|---|---|---|---|---|---|---|---|
CR76 | Badi | PG4 | Jl.Aai/07, Jakarta | 1-Jul-93 | 31-Aug-95 | 350 | CO40 | Ewin |
CR76 | Badi | PG16 | Jl. Huzai/12, Jakarta | 1-Sep-96 | 1-Sep-96 | 450 | CO93 | Durki |
CR56 | Sirajuddin | PG4 | Jl.Aai/07, Jakarta | 1-Sep-92 | 10-Jun-93 | 350 | CO40 | Ewin |
CR56 | Sirajuddin | PG36 | Jl. Azhar /49, Jakarta | 10-Oct-93 | 1-Dec-94 | 375 | CO93 | Durki |
CR56 | Sirajuddin | PG16 | Jl. Huzai/12, Jakarta | 1-jan-95 | 10-Aug-95 | 450 | CO93 | Durki |
Bentuk normal kedua ini iyalah didasarinya atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan.
Syarat normal kedua (2-NF) sebagai berikut.
- Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang pertama.
- Atribute bukan Primary key (bukan kunci utama) haruslah memiliki ketergantungan fully functional dependency (fungsional sepenuhnya) pada primary key.
- Harus telah berbentuk normal pertama (1NF).
- Pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain.
No_pelanggan | Nomor property | Tgl_pinjam | Tgl_selesai |
---|---|---|---|
CR76 | PG4 | 1-Jul-93 | 31-Aug-95 |
CR76 | PG16 | 1-Sep-95 | 1-Sep-96 |
CR56 | PG416 | 1-Jan-95 | 10-Aug-95 |
CR56 | PG36 | 10-Oct-93 | 1-Dec-94 |
CR56 | PG4 | 1sEP-95 | 10-Jun-93 |
No_pelanggan | Nama | No_property | Almt_property | Biaya | No_pemilik | Nama_pemilik |
---|---|---|---|---|---|---|
CR76 | Badi | PG4 | Jl.Aai/07, Jakarta | 350 | CO40 | Ewin |
CR76 | Badi | PG16 | Jl. Huzai/12, Jakarta | 450 | CO93 | Durki |
CR56 | Sirajuddin | PG4 | Jl.Aai/07, Jakarta | 350 | CO40 | Ewin |
CR56 | Sirajuddin | PG36 | Jl. Azhar /49, Jakarta | 375 | CO93 | Durki |
CR56 | Sirajuddin | PG16 | Jl. Huzai/12, Jakarta | 450 | CO93 | Durki |
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari relasi 1-NF, namun relasi tersebut masih mendapat kemungkinan mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut:
- Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang kedua.
- Atribute bukan primary key harus tidak memiliki ketergantungan pada transitif, artinya suatu atribut bukan primary key itu tidak boleh memiliki ketergantungan fungsional (functional dependency) pada atribut yang bukan Primary key lain, seluruh atribut bukan primary key pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key yang di relasikan saja.
Tabel Contoh bentuk tabel N3
No_pelanggan | Nama | No_property | Almt_property | Biaya | No_pemilik | Nama_pemilik |
---|---|---|---|---|---|---|
CR76 | Badi | PG4 | Jl.Aai/07, Jakarta | 350 | CO40 | Ewin |
CR76 | Badi | PG16 | Jl. Huzai/12, Jakarta | 450 | CO93 | Durki |
CR56 | Sirajuddin | PG4 | Jl.Aai/07, Jakarta | 350 | CO40 | Ewin |
CR56 | Sirajuddin | PG36 | Jl. Azhar /49, Jakarta | 375 | CO93 | Durki |
CR56 | Sirajuddin | PG16 | Jl. Huzai/12, Jakarta | 450 | CO93 | Durki |
No_pemilik | Nama_pemilik |
---|---|
CO40 | Ewin |
CO93 | Durki |
CO40 | Ewin |
CO93 | Durki |
CO93 | Durki |
Menghilangkan Ketergantungan Multivalue
6) Bentuk Normal Keempat (4NF)
Syarat 4-NF iyalah:
- Bila dan hanya bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrivial.
- Multivalued dependency (MVD) dipakai dalam bentuk normal keempat ( 4NF ).
- Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak (one to many).
7) Bentuk Normal Kelima (5NF)
Dependensi gabungan mendasari bentuk pada normal kelima. Suatu relasi R (X,W,Z)dapat memenuhi dependensi gabungan dan jika gabungan dari proyeksi A, B, C dengan A, B, C merupakan sub sub himpunan dari atribut – atribut R. Dependensi gabungan di atas sesuai dengan notasi beikut :
- (A, B, C )
- dengan A = XY, B = YZ, C = ZX
Belajar Normalisasi Database 1NF, 2NF dan 3NF Bagian 1
Belajar Normalisasi Database 1NF, 2NF dan 3NF Bagian 2
Sumber:
http://www.gurupendidikan.com/pengertian-basis-data-dan-normalisasi-lengkap: Pengertian Basis Data dan Normalisasi Lengkap. Diakses pada 13 Juli 2016. Oleh: Setiawan Parta.
Tidak ada komentar:
Posting Komentar