Praktikum Desain Basis Data – BAB VI (Normalisasi)

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 :

kasus

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.

un

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.

1nf

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.

2nf

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.

3nf

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

soal

1. Tahap Unnormalization

UNN

2. Tahap Bentuk Normal Pertama (1NF)

11NF

3. Tahap Bentuk Normal Kedua (2NF)

22NF

4. Tahap Bentuk Normal Ketiga (3NF)

33NF

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)

http://blogging.co.id/normalisasi-database

Leave a comment