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 D001 D002 D003
Nama Dokter Neisya Najwa 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 R001 R002 R003
No Pasien P001 P002 P003
Nama Pasien Alex Andrey 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.