Anda di halaman 1dari 37

STMIK AMIKOM YOGYAKARTA

PERMODELAN DATA

NORMALISASI

Donni Prabowo
@donnipra | donni.web.id | ANSI Pertemuan 19
Definisi Normalisasi

•  Suatu teknik untuk mengorganisasi data ke tabel-tabel untuk


memenuhi kebutuhan pemakai di dalam suatu organisasi.

•  Proses pengelompokan elemen data menjadi tabel yang


menunjukkan entity sekaligus relasinya.

www.amikom.ac.id
Pentingnya Normalisasi

•  Rancangan database dikatakan buruk jika :


–  Data yang sama tersimpan di beberapa tempat (file atau
record)
–  Ketidakmampuan untuk menghasilkan informasi tertentu
–  Terjadi kehilangan informasi
–  Terjadi adanya redudansi (pengulangan) atau duplikasi
data sehingga memboroskan ruang penyimpanan dan
menyulitkan saat proses updating data
–  Timbul adanya NULL VALUE

www.amikom.ac.id
Pentingnya Normalisasi

•  Kehilangan informasi bisa terjadi bila pada waktu merancang


database, kita melakukan proses dekomposisi yang keliru.
•  Tujuan normalisasi adalah menyempurnakan struktur tabel dengan :
–  Mengeliminasi adanya duplikasi informasi
–  Memudahkan pengubahan struktur tabel
–  Memperkecil pengaruh perubahan struktur database
–  dll
•  Bentuk normalisasi yang sering digunakan adalah 1NF, 2NF, 3NF
dan BCNF

www.amikom.ac.id
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
lebih sederhana sampai memenuhi bentuk yang optimal.

www.amikom.ac.id
Tahapan Normalisasi

www.amikom.ac.id
Bentuk-Bentuk Normalisasi

Bentuk Normalisasi Pertama (1NF)

•  Suatu tabel dikatakan dalam bentuk normal


pertama apabila:
–  Tidak ada baris data yang terduplikat atau berulang dalam tabel

–  Setiap cell memiliki nilai tunggal artinya tidak ada perulangan group
atau array

–  Data dalam kolom (atribut dan field) memiliki tipe data yang sejenis

www.amikom.ac.id
Catatan:

Persyaratan bahwa tidak terjadinya perulangan


baris data dalam tabel berarti bahwa tabel
memiliki kunci/key (walaupun kunci tersebut bisa
satu field bahkan jika dimungkinkan semua field).
Secara singkat 1NF bertujuan untuk
menghilangkan elemen data yang berulang.

www.amikom.ac.id
Bentuk-Bentuk Normalisasi

Bentuk Normalisasi Kedua (2NF)

•  Tabel dalam keadaan 2NF apabila tabel sudah dalam keadaan 1NF
dan semua atribut yang bukan kunci, bergantung pada semua
kunci dalam tabel. Dengan kata lain, 2NF bertujuan untuk
menghilangkan ketergantungan parsial.

www.amikom.ac.id
Bentuk-Bentuk Normalisasi

Bentuk Normalisasi Ketiga (3NF)

•  Tabel dalam keadaan 3NF apabila tabel dalam keadaan 2NF dan
dalam tabel tersebut tidak ada ketergantungan transitif. Artinya
sebuah field dapat menjadi atribut biasa pada suatu relasi tetapi
menjadi kunci pada relasi lain. Setiap atribut yang bukan kunci
haruslah bergantung hanya pada primary key.

www.amikom.ac.id
Bentuk-Bentuk Normalisasi

Bentuk Normalisasi Boyce-Codd (BCNF)


•  Tabel dalam keadaan 3NF dan setiap determinan merupakan kunci
kandidat. Determinan adalah suatu atribut/field atau gabungan
atribut di mana beberapa atribut lain bergantung pada atribut
tersebut. Pada tahap BCNF, kita harus menghilangkan kunci
kandidat yang bukan merupakan determinan.
Bentuk Normalisasi Keempat (4NF)
•  Tabel dalam keadaan BCNF dan tidak ada ketergantungan multi
value.

www.amikom.ac.id
Bentuk-Bentuk Normalisasi

Bentuk Normalisasi Kelima (5NF)

•  Tabel dalam keadaan 4NF dan setiap ketergantungan join dalam


tabel merupakan akibat dari kunci kandidat tabel.

Bentuk Normalisasi Domain-Key (DKNF)

•  Tabel dikatakan dalam keadaan DKNF jika setiap constraint tabel


merupakan akibat dari definisi kunci-kunci dan domain.

www.amikom.ac.id
Ketergantungan Fungsional
•  Ketergantungan fungsional terjadi jika suatu atribut B yang berelasi dengan
atribut A mempunyai nilai tepat satu pada atribut A. Sebagai contoh dalam
skema tabel dokter, terdapat atribut kode_dokter dan nama_dokter

Kode  Dokter Nama  Dokter


D001 Neisya
D002 Najwa
D003 Naufal

www.amikom.ac.id
Ketergantungan Transitif

•  Ketergantungan transitif terjadi jika terdapat atribut A, B, C yang saling


berhubungan, dimana atribut C mempunyai tepat satu nilai pada atribut B
dan atribut B mempunyai tepat satu nilai pada atribut A, sehingga secara
tidak langsung atribut C mempunyai tepat satu nilai pada atribut A. sebagai
contoh skema tabel pemeriksaan terdapat atribut no_pendaftaran,
no_pasien dan nama_pasien seperti pada tabel berikut :

No  Pendaftaran No  Pasien Nama  Pasien


R001 P001 Alex
R002 P002 Andrey
R003 P003 Lendra

www.amikom.ac.id
Contoh Kasus Normalisasi

www.amikom.ac.id
Normalisasi

Tabel di atas dalam bentuk tidak normal karena :


1.  Mempunyai bentuk non flat file karena data disimpan sesuai
dengan kedatangannya, sehingga tidak memiliki struktur yang
sama/tertentu, terjadi duplikasi atau tidak lengkap.
2.  Memuat set atribut berulang (non single value).
3.  Memuat atribut non atomic value.

Secara singkat 1NF bertujuan untuk menghilangkan elemen data


yang berulang.

www.amikom.ac.id
Bentuk Normalisasi Pertama (1NF)

•  Suatu tabel dikatakan dalam bentuk normal


pertama apabila setiap atribut bernilai tunggal
untuk setiap baris. Tabel berikut menunjukkan
data hasil normalisasi pertama,

www.amikom.ac.id
www.amikom.ac.id
Anomali atau Penyimpangan

•  Merupakan proses pada basis data yang memberikan efek samping


yang tidak diharapkan. Misalnya menyebabkan ketidakkonsistenan
data atau membuat sesuatu data menjadi hilang ketika data lain
dihapus

www.amikom.ac.id
Anomali atau Penyimpangan

Anomali pembaharuan/pemutakhiran (update anomaly)


•  Proses mengubah suatu nilai rinci data yang mengakibatkan perlunya
pengubahan pada nilai rinci data lain yang tidak mempunyai kerelasian
secara lojik.
•  Pada tabel di atas, apabila ternyata terjadi perubahan nama dokter, misal
untuk kode_dokter DR/0001 terjadi kesalahan penulisan nama dokter
sehingga namanya akan diperbaiki, misal menjadi Dr. Noval, maka nilai rinci
data nama_dokter harus di-update. Dalam contoh di atas perubahan harus
dilakukan 3 kali. Jika pasien yang ditangani Dr. Noval cukup banyak maka
update harus dilakukan secara berulang kali. Jika perubahan tidak
dilakukan secara menyeluruh atau ada data yang terlewatkan maka akan
timbul inkonsistensi data.

www.amikom.ac.id
Anomali atau Penyimpangan

Anomali penyisipan (insert anomaly)

•  Proses penyisipan suatu nilai rinci data yang mengakibatkan perlunya pengubahan pada nilai rinci data
lain yang tidak mempunyai kerelasian secara lojik.

•  Jika ada dokter baru yang masuk ke rumah sakit tersebut, tetapi belum pernah memeriksa pasien sama
sekali, maka penambahan data dokter tersebut tidak dapat dilakukan selama belum pernah memeriksa
pasien.

•  Jika ada dokter yang tidak praktek atau tidak memperoleh pasien atau tidak memeriksa pasien
manapun, maka data dokter tersebut tidak dapat diketahui selama belum pernah memeriksa pasien.

•  Jika ditemukan penyakit baru, tetapi belum ada pasien yang didiagnosa mengidap penyakit tersebut,
maka penambahan data penyakit tersebut tidak dapat dilakukan selama belum ada pasien yang
mengidap penyakit tersebut berobat di rumah sakit bersangkutan.

•  Jika ada obat baru yang masuk ke rumah sakit tersebut atau obat yang sebenarnya ada tetapi tidak
pernah digunakan atau tidak pernah dijadikan resep atau belum pernah dijadikan resep untuk pasien
sama sekali, maka penambahan data obat tersebut tidak dapat dilakukan selama belum pernah
dijadikan resep.

www.amikom.ac.id
Anomali atau Penyimpangan

Anomali penghapusan (delete anomaly)


•  Proses penghapusan suatu nilai rinci data yang mengakibatkan
hilangnya informasi rinci data lain yang tidak mempunyai kerelasian
secara lojik.
•  Misalnya data pada record ke-4 tidak akan digunakan lagi, sehingga
record ke-4 tersebut akan dihapus. Secara kebetulan pasien dari
Dr. Najwa hanya seorang saja yaitu Desy. Akibatnya seluruh rinci
data dalam record tersebut akan hilang dari basis data, termasuk
informasi tentang dokter bernama Dr. Najwa, nama penyakit, nama
obat dan lain-lain.

www.amikom.ac.id
Bentuk Normalisasi Kedua (2NF)

Suatu tabel dikatakan dalam bentuk normal kedua apabila :


•  Berada pada bentuk normal pertama
•  Semua atribut bukan kunci memiliki ketergantungan fungsional
terhadap kunci primer.
•  No_pendaftaran è no_pasien, nama_pasien,
alamat_pasien, tgl_pendaftaran, tgl_periksa
•  Kode_sakit è nama_penyakit
•  Kode_obat è nama_obat
•  Kode_dokter è nama_dokter
•  No_pendaftaran, kode_dokter, kode_sakit, kode_obat è dosis

www.amikom.ac.id
Diagram Ketergantungan

www.amikom.ac.id
Penjelasan

Diagram diatas menggambarkan ketergantungan fungsional (KF)


antara,

•  Kode_Dokter à Nama_Dokter
•  Kode_Sakit à Deskripsi_Sakit

•  Kode_Obat à Nama_Obat

Dan menggambarkan ketergantungan transitif (KT) antara,

•  No_Pendaftaran à No_Pasien à Nama_Pasien.

www.amikom.ac.id
Bentuk 2 NF

www.amikom.ac.id
Bentuk Normalisasi Ketiga (3NF)

•  Suatu tabel dikatakan dalam bentuk normal ketiga


apabila :
•  Berada pada bentuk normal kedua.
•  Setiap atribut bukan kunci bukan kunci tidak memiliki
ketergantungan transitif terhadap kunci primer.
•  No_pendaftaran è no_pasien, tgl_pendaftaran,
tgl_periksa
•  No_pasien è nama_pasien, alamat_pasien

www.amikom.ac.id
www.amikom.ac.id
STUDI KASUS
•  Merapat ke kelompok masing-masing.
•  Diskusikan NORMALISASI TABEL dari Judul
yang Anda Ambil
•  Tuliskan di selembar Kertas.

MARI KITA DISKUSIKAN


What the next?

•  Membahas Flowchart Sistem dan Antar Muka


•  Silahkan pelajari di rumah/kos terlebih dahulu.

www.amikom.ac.id
See You …
“No dream is too big, and no dreamer is
too small” - Turbo Movie.