Normalisasi Basis Data

1. Normalisasi Basis Data
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:
  1. INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
  2. DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
  3. UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
Adapun tujuan kita melakukan proses normalisasi database :
  1. Untuk menghilangkan dan mengurangi redudansi data.
  2. Memastikan dependensi data (Data berada pada tabel yang tepat).
  3. Mengeliminasi adanya duplikasi informasi.
  4. Memudahkan pengubahan struktur tabel.
  5. Memperkecil pengaruh perubahan struktur database.
2.Penerapan Normalisasi Basis Data
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.
Tahapan Normalisasi menurut Setiawan (2015) antara lain:
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
Untuk mentransformasikan tabel yang belum ternomalisasi di atas menjadi table yang memenuhi kriteria 1NF adalah kita harus merubah seluruh atribut yang multivalue menjadi atribut single value, dengan cara menghilangkan repeating group pada tabel diatas. Repeating Group (elemen data berulang) adalah (No_Property, Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik, Nama_Pemilik).

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.
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel 1) tersebut adalah menghilangkan elemen data yang berulang dengan data-data Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 2. kita dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang masih memiliki composite key (No_Pelanggan, No_Property).

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
3) Bentuk Normal Kedua (2NF)
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.
Adapun kita bisa melakukan Bentuk normal kedua (2NF) jika :
  • 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.
Tabel contoh bentuk tabel N2
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
4) Bentuk Normal Ketiga (3NF)
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.
Berikut contoh penerapan 3NF :
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
5) Bentuk Normal Boyce-Codd (BCNF)
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.
Share:

Tidak ada komentar:

Posting Komentar

Popular Posts

Featured Post

Praktikum Basis Data

Untuk mencapai kompetensi yang diinginkan, siswa (orang yang mempelajari basisdata) diharapkan bisa menyelesaikan beberapa materi praktikum ...

Blog Archive

Mengenai Saya

Foto saya
Cimahi, Jawa Barat, Indonesia

Recent Posts