A. Dasar Teori
Proses Normalisasi merupakan proses pengelompokan data elemen menjadi tabel – tabel yang menunjukkan entity dan relasinya. Proses Normalisasi juga bisa diartikan sebagai proses untuk menciptakan suatu tabel (relasi) dalam basis data dengan tujuan untuk mengurangi kemubaziran.
Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan pada saat menambah/insert, menghapus/delete, mengubah/update, membaca/retrieve pada suatu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecahkan pada beberapa table lagi atau dengan kata lain perancangan berjumlah mendapat database yang optimal.
Pada normalisasi dikenal istilah anomali yang berarti masalah-masalah yang timbul dalam pembuatan tabel. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : ketidak konsistenan data, suatu data hilang pada saat dihapus, dll.
Sebelum mengenal lebih jauh mengenai normalisasi, ada beberapa konsep yang harus diketahui terlebih dahulu yaitu :
a. Atribut Tabel (Table Attribute)
Atribut yang sebenarnya identik dengan pemakaian istilah kolom data. Istilah atribut ini lebih umum digunakan dalam perancangan basis data, karena kata itu lebih impresif menunjukkan fungsinya sebagai pembentuk karakteristik yang melekat pada sebuah tabel.
Disamping penamaan yang unik berdasarkan fungsinya disetiap tabel, atribut – atribut itu dapat dibedakan berdasarkan sejumlah pengelompokan. Ada atribut yang dijadikan sebagai key dan yang lainnya disebut atribut deskriptif. Ada pula atribut yang tergolong atribut sederhana ataupun atribut komposit, dan sebagainya.
Key dan Atribut Deskriptif
Setiap file selalu terdapat kunci dari dari file berupa satu field atau satu set field yang dapat mewakili record. Misalnya nomor pegawai merupakan kunci dari tabel pegawai suatu perusahaan, setiap pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat, dan antribut lainnya mengenai seorang pegawai tersebut.
Ada tiga macam key yang dapat diterapkan pada suatu tabel, yaitu :
1. Superkey : merupakan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
2. Candidate Key : merupakan sekumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah candidate-key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi superkey yang lain.
3. Primary Key : merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas.
Atribut Deskriptif adalah atribut – atribut yang tidak menjadi key atau merupakan atribut yang merupakan anggota dari primary key.
b. Ketergantungan Fungsional (Functional Dependency)
Definisi dari functional dependency adalah :
Diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y dalam R (dalam setiap satu waktu)
Pada tabel relasi pegawai berisi atribut : No_Induk, No_KTP, Nama, Tempat_Lahir, Tanggal_Lahir, Alamat, Kota.
Isi dari atribut Nama bergantung pada Nomor_Induk. Jadi dapat dikatakan bahwa atribut Nama bergantung secara fungsi pada No_Induk dan No_Induk menunjukkan secara fungsi Nama. Jika anda mengetahui No_Induk pegawai. maka anda dapat menentukan Nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini adalah :
No_Induk → Nama
atau
Nama = f (No_Induk)
Tahapan Normalisasi
Contoh permasalahan dalam Normalisasi : terdapat suatu hasil kartu studi yang bersifat manual dan akan kita anilisis menggunakan teknik Normalisasi sebagai berikut :
A. Unnormalized Form
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangan.
Bentuk yang tidak normal dimaksudkan suatu kumpulan data yang akan diolah yang diperoleh dari format – format yang beraneka ragam, masih terdapat duplikasi, bisa saja tidak sempurna atau tidak lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen yang ada dilapangan atau manual dengan atribut bukan nilai sederhana.
B. 1st Normal Form (1NF)
Bentuk normal pertama mempunyai ciri – ciri yaitu setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record dan nilai dari field field berupa atomic value. Tidak ada set atribut yang berulang atau bernilai ganda.
Suatu tabel dianggap normal ke satu (1NF) jika :
♦ Tidak terdapat baris yang bernilai ganda atau duplikat.
♦ Masing – masing baris bernilai tunggal dan tidak bernilai null.
Langkah – langkah :
♦ Isikan setiap data bernilai tunggal dan tidak null
♦ Membuang perulangan data dalam satu baris dengan baris yang lain.
C. 2nd Normal Form (2NF)
Bentuk normal kedua (2NF) terpenuhi 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 at ribut tersebut menentukan harga dari atribut yang lain. Misalnya, nim → mhs_nama.
♦ Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain
♦ Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi
Langkah – langkah :
♦ Jika terdapat atribut yang bergantung terhadap atribut bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.
D. 3rd Normal Form (3NF)
Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key.
Bentuk normal ketiga (3NF) terpenuhi jika :
♦ Harus telah berbentuk normal kedua (2NF).
♦ Tidak terdapat anomali – anomali hasil dari ketergantungan transitif. Ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih atribut bukan kunci.
Langkah – langkah :
♦ Pastikan semua atribut non kunci bergantung penuh terhadap atribut kunci.
♦ Pisahkan menjadi tabel baru jika menemukan ketergantungan transitif dalam tabel tersebut.
E. Boyce-Codd Normal Form (BCNF)
Secara praktis tujuan analisis database cukup sampai pada 3NF, Akan tetapi dalam suatu kasus tertentu lebih baik bila dapat mencapat BCNF. Beberapa pemikir menyamakan antara 3NF dengan BCNF. BCNF mempunyai paksaan yang lebih kuat dari bentuk 3NF.
Bentuk normal BCNF terpenuhi jika :
♦ Masing-masing atribut utama bergantung fungsional penuh pada masing kunci dimana kunci tersebut bukan bagiannya.
♦ Setiap determinan atribut-atribut relasi adalah kunci relasi atau kandidat kunci.
♦ BCNF dapat memiliki lebih dari satu kunci.
♦ BCNF hampir sama dengan 3NF.
Langkah – langkah :
♦ Hilangkan dependensi pada bukan kunci kandidat.
F. 4th Normal Form (4NF) dan 5th Normal Form (5NF)
Penerapan aturan normalisasi sampai dengan tahap ketiga sebenarnya sudah sangat memadai untuk menghasilkan tabel – tabel yang berkualitas baik. Namun, dari sejumlah literatur dapat pula dijumpai adanya pembahasan tentang bentuk normal keempat (4NF) dan bentuk normal kelima (5NF). Bentuk normal keempat berkaitan dengan sifat ketergantungan banyak nilai (Multivalued Dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional. Sedangkan bentuk normal kelima berkenaan dengan ketergantungan relasi antar tabel (join dependency). Pembahasan kedua bentuk normal yang terakhir ini cukup kompleks, tetapi manfaatnya sendiri tidak begitu besar. Karena itu, pembahasannya diabaikan dari buku ini.
2. Hasil Praktikum
Buatlah normalisasi dari data berikut .
Sistem informasi toko serba_ada
1. Tahap Unnormalization
2. Tahap Bentuk Normal Pertama (1NF)
3. Tahap Bentuk Normal Kedua (2NF)
4. Tahap Bentuk Normal Ketiga (3NF)
3. Kesimpulan
Dari praktikum yang telah dilakukan, dapat diketahui bahwa normalisasi merupakan proses untuk menciptakan suatu tabel (relasi) dalam basis data dengan tujuan untuk mengurangi kemubaziran. Normalisasi terdiri dari beberapa tahapan yang terdiri dari Unnormalization, First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF), Boyce-Codd Normal Form (BCNF), Fourth Normal Form (4NF), dan Fifth Normal Form (5NF). 3NF biasanya bisa dikatakan sama dengan BCNF. Dalam penerapannya biasanya tahapan – tahapan normalisasi hanya sampai bentuk 3NF, karena dalam bentuk 3NF sudah bisa dikatakan mencukupi. Bentuk 4NF dan 5NF hanya dibutuhkan jika masih terdapat anomali – anomali pada bentuk sebelumnya.
Kritik dan Saran
Seharusnya perlu dijelaskan secara jelas mengenai normalisasi agar tidak bingung dalam pengerjaannya, dan asisten praktikum mungkin bisa membantu untuk menjelaskan dan dalam pengerjaan. Dan mungkin perlu dibahas untuk hasil normalisasi yang benar.
Manfaat
Dengan adanya postingan ini, diharapkan pembaca dapat memahami tentang normalisasi beserta tahapan – tahapannya.
DAFTAR PUSTAKA
Fathansyah. 2012. Basis Data. Bandung : Informatika
Kristanto, Harianto. 2002. Konsep dan Perancangan Database. Yogyakarta : Andi
Modul Praktikum Desain Basis Data BAB VI (Normalisasi)