Studi Kasus Normalisasi pada Rumah Sakit
Dasar-dasar normalisasi
- Normal form (bentuk normal) adalah
suatu klas dari skema database relasi yang didefinisikan untuk memenuhi
tujuan dari tingginya integritas dan maintainability
- Kreasi dari suatu bentuk normal
disebut normalisasi
- Normalisasi dicapai dengan
penganalisaan ketergantungan diantara setiap individu attribut yang
diassosiasikan dengan relasinya
First normal form
- Suatu relasi ada dalam kondisi First
Normal Form (1NF) jika dan hanya jika semua domain yang tercakup terdiri
hanya atomic value, misalnya tidak ada pengulangan group (domain-domain)
dalam suatu tuple
- Keuntungan dari 1NF dibanding
Unnormalized relation (UNRs) adalah pada bentuk penyederhanaan
representasi dan kemudahan dalam pengembangan menggunakan suatu query
language
- Kekuranannnya adalah kebutuhan
terhadap duplikasi data
- Sebagian besar sistem relasi (tidak
semua) membutuhkan suatu relasi dalam bentuk 1NF
Second Normal Form
- Suatu superkey adalah suatu himpunan
dari satu atau lebih attribute, yang mana, dimana diambil secara khusus
yang memmungkinkan kita untuk mengidentifikasikan secara unik satu entitas
atau relasi
- Suatu Candidate key adalah suatu
subset dari attribut-attribut pada superkey yang juga merupakan superkey
dan tidak reducible ke superkey yang lain
- Suatu primary key dipilih dari
himpunan candidate key untuk digunakan pada suatu index untuk relasi yang
bersangkutan
- Kepemilikan dari satu atau beberapa
attribute yang dapat didefinisikan secara unik dari nilai satu atau
beberapa attribute disebut functional dependency
- Diberikan suatu relasi (R), suatu
himpunan (B) adalah functionally dependent pada himpunan attribut yang
lain(A) jika, pada satu waktu tertentu, setiap nilai A diassosiasikan
dengan satu nilai B, bentuk ini adalah suatu FD yang dinotasikan dengan A → B
• contohR : {paper-id,
inst-name, isnt-addr, editor-id, publ-id, auth-id, auth-name,auth-addr}Fds :
paper-id, auth-id → auth-namepaper-id,auth-id → auth-addrpaper-id, auth-id → inst-namepaper-id,
auth-id → inst-addrauth-id → auth-nameauth-id → auth-addrinst-name → inst-addrpaper-id → editor-idpaper-id → publ-idbentuk sederhanapaper-id, auth-id → auth-name, auth-addr, inst-name,
inst-addrauth-id → auth-name, auth-addrinst-name → inst-addr
paper-id → pub-id, editor-id
- Suatu relasi adalah dalam posisi second
normal form (2NF) jika dan hanya jika relasi tersebut juga dalam 1NF dan
setiap nonkey attribute tergantung penuh pada primary key-nya
- 2NF membutuhkan bahwa FD apapun
didalam relasi harus berisi semua komponen dari primary key sebagai
determinant, baik secara langsung atau transitif
- contoh, primary key adalah paper_id,
auth_id. Bagaimanapun, terdapat Fds yang lain (auth_Id → auth-name,
auth-addr, and paper-id → pub-id, editor-id) yang berisi satu
komponen dari primary key, tetapi tidak keduaduanya.
- Mengapa harus 2NF, pertimbangkan
keuntungan dari 1NF pada R. paper, pub-id dan editor-id dibuat duplikat.
Untuk setiap author dari paper. Jika editor dari publikasi untuk suatu
paper berubah, beberapa tuple harus pula di-update. Akhirnya, jika satu
paper di ambil, semua tupple yang diassosiasikan harus dihapus. Bentuk ini
akan memberikan efek samping pada penghapusan informasi yang
mengassosiasikan suatu auth-id dengan auth-name dan auth-addr.
- Suatu cara yang dapat dilakukan untuk
hal tersebut adalah dengan mentransformasikan relasi kedalam dua atau
beberapa relasi 2NF
contohR1 : paper-id,
auth-id → inst-name, inst-addrR2 : auth-id → auth-name, auth-addrR3 : paper-id → pub-id, editor-id
Third Normal Form
- Pada R1, inst_addr pasti diduplikat
untuk setiap kombinasi paper_author yang mejelaskan satu inst_name. Juga,
jika kita menghapus satu paper dari database, kita harus memberikan efek
samping penghapusan assosiasi antara inst_name dan inst_addr.
- Suatu relasi dalam Third Normal Form
(3NF) jika dan hanya jika relasi tersebut dalam 2NF dan setiap non key
attribute adalah nontransitive dependent pada primary key
Contoh :R11 : paper-id,
auth-id → inst-nameR12 : inst_name → inst_addrR2 : auth-id → auth-name, auth-addrR3 : paper-id → pub-id, editor-id
Boyce-Codd Normal Form
- Suatu Trivial FD adalah suatu bentuk
YZ → Z
- Suatu relasi R dalam kondisi
Boyce-Codd Normal Form (BCNF) jika untuk semua nontrivial FD X → A, X adalah
superkey
- BCNF adalah suatu bentuk yang lebih
kuat dari normalisasi ke tiga. 3NF equivalent dengan perkataan bahwauntuk
setiap nontrivial FD X → A, dimana X dan A merupakan simple
atau composite attribut, satu dari duakondisi harus dipenuhi.X adalah
superkey, atauA adalah prime attribute
- BCNF mengelimisasi kondisi kedua dari
3NF
Penerapan Bentuk Normalisasi
Proses perancangan database menggunakan metode
normalisasi dapat dimulai dari dokumen dasar yang pakai dalam sistem.
- Menuliskan
semua data yang akan direkam, bagian yang double tidak perlu dituliskan.
Terlihat record record yang tidak lengkap, sulit untuk membayangkan
bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut.
- Bentuklah
menjadi bentuk normal kesatu dengan memisah misahkan data pada field field
yang tepat dan benilai atomic, juga seluruh record harus lengkap adanya.
Bentuk file adalah flat file.
Dengan bentuk normal kesatu ini telah dapat dibuat satu file dengan 11
field yaitu nomor factur, kode supplier, nama supplier, kode barang, nama
barang, tanggal, jatuh tempo, quantitas, harga, jumlah, total satu factur.
- selanjutnya
Sebagai
contoh kita perhatian data pada suatu rumah sakit bedah yang telah tersusun
dalam bentuk laporan.
Tabel -2
Tabel 2
adalah suatu relasi yang tak normal. Perpotongan antara baris dan kolom ada
yang memiliki lebih dari satu nilai. Identifikasi unik (primary key) dari table
2 adalah NO PASIEN. Berdasankan nilai key ini kita tidak bisa memperoleh nilai
atribut yang unik, karena terjadi group pengulangan pada kolom-kolom
- NO DOKTER
- NAMA DOKTER
- TGL OPERASI
- JENIS OPERASI
Disain dengan group pengulangan seperti ini akan
banyak menimbulkan masalah dalam melakukan pemrosesan, yaitu diperlukan program
aplikasi yang sedikit kompleks, karena untuk kolom di mana terjadi group pengulangan
diperlukan penanganan khusus.
1NF
Untuk
mengatasi hal ini, kita transformasikan tabel pada table 2 menajdi tabel dengan
relasi bentuk normal pertama table 3. Identifikasi unik pada tabel ini adalah
NO PASIEN, NO DOKTER, TGL OPERASI. Dengan kata lain, jika kita mengetahui NO
PASIEN, NO DOKTER dan TGL OPERASI maka kita bisa memperoleh nilai unik dan
atribut-atnibut yang lainnya. Dalam hal ini dikatakan, semua atribut yang bukan
sebagai key secara bersama-sama bergantung penuh kepada identifikasi unik.
Identifikasi unik ini disebut sebagai primary key dari tabel 1NF.

Penyimpangan
yang terjadi pada relasi bentuk normal ke pertama ini adalah sbb :Penyimpangan
penyisipanJika ada pasien baru yang akan dioperasi, tapi kita belum tahu siapa
dokternya dan kapan operasi dilakukan, maka kita tidak bisa menyisipkan data
tentang pasien tersebut berdasarkan primary key yang ada. Untuk menyisipkan
NAMA PASIEN dan ALAMAT PASIEN, kita hanya membutuhkan NO PASIEN sebagal key.
Jadi kita tidak bisa menyisipkan data sebelum diketahui dokter siapa dan kapan
operasi akan dilakukan. Jika kita plsahkan atribut NAMA PASIEN, ALAMAT PASIEN
bersama-sama dengan NO PASIEN, maka penyisipan data pasien baru bisa dilakukan.
Hal yang sama juga terjadi jika kita ingin menyisipkan dokter yang baru mulal
bekerja pada rumah sakit tersebut. Selama dokter baru tersebut belum pemah
melakukan operasi, maka kita tidak bisa menyisipkan data tentang dokter
tersebut ke dalam entiti. Hal ini bisa diatasi dengan memisahkan atribut NAMA
DOKTER bersama-sama dengan atribut NO DOKTER menjadi satu entiti
baru.Penyimpangan perubahanPasien yang merupakan langganan rumah sakit tersebut
yang beberapa kali dioperasi, seperti mlsalnya pasien dengan nama JOHN, setiap
kali dilakukan operasi, data-data tentang JOHN, yaitu NAMA dan ALAMAT akan
tercatat dalam satu rekord. Dalam contoh ini JOHN dioperasi sebanyak empat
kali, maka JOHN memiliki empat rekord. Jika suatu saat, misahiya JOHN dioperasi
untuk yang ke lima kalinya, sedangkan pada seat itu JOHN sudah pindah alamat.
Jadi alamat-alamat yang tercatat sebelumnya tidak berlaku lagi dan perlu
diperbaharui. karena alamat JOHN tercatat dibeberapa tempat, maka pembaharuan
juga harus dilakukan dibeberapa tempat. ini adalah contoh penyimpangan
perubaban yang muncul pada table dengan relasi bentuk pertama.Penyimpangan
perubahan ini bisa diatasi, jika atribut-atribut NAMA
PASIEN dan ALAMAT PASIEN tercatat hanya sekali untuk setiap pasien.
Hal ini bias dilakukan dengan menempatkan atribut NAMA PASIEN dan
AIAMAT PASIEN bersama-sarna dengan NO PASIEN dalam satu entiti
terpisah.Penyimpangan-penghapusan yang teijadi pada relasi bentuk
pertama ini adalah sebagai berikut: Penyimpangan penghapusanMisalnya ada pasien
yang dirawat meninggal dunia, misalnya pasien dengan nama BUD!. Ketika
data-data tentang BUDI dihapus, secara tidak sengaja kita juga kehilangan
data-data tentang dokter yang melakukan operasi terhadap BUDI, yaltu DR. A.
Kebetulan. DR. A melakukan operasi baru sekali, sehingga data-data tentang DR.
A tidak ada ditempat lain. Tentunya hal. ini tidak diinginkan karena data-data
tentang DR. A masih dlbutuhkan di rumahsakit tersebut.Penyimpangan penghapusan
seperti pada contoh ini, bisa diatasi dengan memisahkan data-data tentang
dokter menjadi satu entili terpisah, dengan demikian setiap ada pasien
yang meninggal dunia dan rekordnya Ingin dihapus, kita tidak akan kehilangan
data-data tentang dokter yang merawatnya.
Di samping penyimpangan di atas, pada relasi dengan bentuk normal pertama juga
terjadi penyimpangan-penyimpangan tempat penyunpanan (storage Anomaly), yaftu
pada kolom kolom NO PASIEN, NAMA PASIEN, ALAMAT PASIEN terdapat nilai yang
ditulis berulang-ulang, ini disebabkan karena pasien dengan NAMA dan ALAMAT
tersebut menjalani beberapa kali operasi. Hal yang sama juga terjadi pada kolom
NO DOKTER dan NAMA DOKTER yaitu
untuk dokter-dokter yang telah melakukan beberapa kali operasi. Penyimpangan
ini muncul karena ada atribut-atribut yang bergantung secara penuh kepada
bagian dari key. Seperti mlsa]nya NAMA PASIEN dan M4MAT PASIEN bergantung
secara penuh pada NO PASIEN, dan NO PASIEN adalah bagian dari key. Demikian
juga untuk atribut NAMA DOKTER yang bergantung secara penuh pad NO DOKTER yang
merupakan bagian dari key.
Untuk mengatasi penyimpangan.penyimpangan yang terjadi pada bentuk normal
pertama adalah pisahkan kolorn-kolom ditempat mana duplikasi data terjadi atau
bangun enilti baru yang terdiri dari atribut atribut yang bergantung secara
penuh pada bagian dari key, dengan keteutuan sebag benikut:
I. Key dari tabel baru adalah key dari group dupilkasi.2. Key dari tabel
asal adalah sebagai atribut pada tabel baru.3 Mungkin perlu menyertakan key
atau bagian dar key pada tabel asal
sebagai key pada tabel baru Group duplikasi pada pembahasan kita adalah NO
PASIEN, NAMA PASIEN ALAMAT PASIEN dan key dari group ini adalah No PASIEN

Tabel-4
Sedangkan
group duplikasi yang lain, yaitu NO DOKTER dan NAMA DOK. TER dipisahkan menjadi
tabel DOKTER, dengan key NO DOKTER. Tabel. nya terlihat pada table-5
Tabel-5
Sedangkan
entiti asal akan menjadi seperti benikut, kita sebut saja sebagal tabel MASTER.
Group duplikasi pada tabel yang klta bicanakan adalah NO PASIEN, NAMA PASIEN,
ALAMAT PASIEN. Bentuk tabel barn dengan nama PASIEN
Tabel-6
Hasil proses
normalisasi dan relasi normal bentuk pertama, yaltu pada table-4, table-5,Tabel-6
adálah relasi beniUk iormal kedua (2NF).
Untuk
melakukan pengecekan, apakah relasi dalam suatu tabel bukan merupakan bentuk
normal ke dua adalah jika primary key merupakan gabungan dan beberapa atnibut
dan ada atribut lain yang bergantung secara penuh pada salah satu atau bagian
dan primary key.
Setiap relasi bentuk normal ice dna makaju merupakan relasi bentuk normal
pertama. Sebaliknya, jika rebel bentuk normal pertama maka belum teutu
merupakan relasi bentuk normal ice dua. Tabel yang ditunjukkan pada Gambar XWJ
adalah relasi bentuk normal pertama, tapi bukan bentuk normal ke dna,
sedangkan pada Gambar XWA, Gambar XW.5 dan Gambar XIV4 adeh
relasi bentuk normal pertama dan juga relasi bentuk normal
kedua.Penyunpangan-penyimpangan yang teqadi pada relasi bentuk normal pertama
dapat diatasl dengan membanin entfti-entiti barn, yaltu entiti MASTER, entiti
PASIEN dan entiti DOKTER. Proses nornalisasi di aim menghasm relasi bentuk
normal kedua,. Relasi antara ketiga entiti dapat digambarkan sebagai benlkut
PASIEN < —— >> MASTER << ———- > DOKTER
yaita antara PASIEN dan MASTER satu-ke-banyak dan antara DOKTER dan MASTER
satu-ke-banyak.Jika kita ingin menyisipkan data-data tentang pasien baru, pada
relasi bentuk normal kedua kita melakukannya dengan menyisipkan data teisebut
ke entiti PASIEN. Demikian juga, jika data-data tentang dokter yang ingin
dimasukkannya, kita bisa menyisipkarmya pada entiti DOKTER. Untuk melakukan
perubahan.pembakan alamat pasien, kita tidak penlu lagi melakukan perubahan
dibeberapa tempat, tapi cukup mengadakan perubahan satu rekord pada entiti
PASIEN. Apabila ada rekord yang harus dihapus pada entiti MASTER, kita tidak
akan kehilangan data-data tentang dokter yang dihapus pada entiti MASTER,
karena semua data-data tentang dokter berada dalam entiti DOKTER.
Penyirnpangan..penyimpangan yang tenjadi pada relasi bentuk normal pertama
telah dapat diatasi dengan mentransformasikan menjadi relasi bentuk normal
kedua. Walaupun demikian, bukan berarti pada relasl bentuk normal kedua sudah
tidak ada lagi penyimpangan-penyimpangan tersebut. Berikut ini kita lihat
penyimpangan..penyimpg yang teijadi pada relasi bentuk normal kedua, perhatjkan
Garnbar XW.6. Penyimpangan penyisipan Kita tidak bisa menyisipkan
data-data tentang obat dan efek sarnpi. ngannya, kecuali jika obat tersebut
diberikan kepada pasien. Dengan kata lain, jika kita ingin menyisipican
data-data tentang obat, maka kita tenlebih dahulu hams membangun suatu relasi
dengan primary key pada entiti MASTER. Penyimpangan penghapusan Penyimpangan
penghapusan teijadi jika ada atribut bukan key yang bergantung penuh pada
atnibut yang juga bukan key. Path gambar XIV.6, atnibut EFEK SAMPINGAN
di samping bergantung path primary key, juga bergantung path atnbut OBAT YANG
DJBERJK yang bukan sebagai k. Jika misainya ada pasien yang dlbCdkan PENICILLIN
tapi efek sampin ya bukan DEMAM, maka EFEK SAMPINGAN liii harus dthapus atan
diperbahanihi. Jika PENICILLIN dengan EFEK SAMPINGAN DEMAM mlsalnya tercatat
hanya sekali, maka penghapusan ml akan mengiilangkan informasi teñtang
PENICILLIN dengan EFEK SAMPINGAN DEMAM. Hal ini mungkin tidak
diinginkan.Penyimpangan perubahan Jika EFEK SAMPINGAN yang dibicarakan dalam
kasus penyimpangan penhapusan munculdibeberapa tempat, maka perubahan harus
dilakukan dibeberapa tempat. Hal ini tentunya akan membutuhkan lebih banyak
waktu dibandingkan dengan melakukan perubahan hanya pada satu tempat
saja.Penyimpangan-penyimpangan yang terjadi pada relasi bentuk normal kedua
sebagai akibat dari kebergantungan atribut bukan key (EFEK SAMPINGAN) pada
atribut lain yang juga bukan sebagai key (OBAT YANG DIBERIKAN). Ketergantungan
semacam ini disebut ketergantungan transitif (transitive Dependency).Untuk
mengatasi ketergantungan transitif ini, pisahkan atribut-atribut bukan key yang
bergantung pada atribut lain yang juga bukan key. Dalam catoh ini, kita bangun
entiti baru, yaitu entiti OBAT dengan atribut-atribut OBAT YANG DIBERIKAN dan
EFEK SAMPINGAN. Entiti MASTER sekarang tampak pada table 7 dan entiti OBAT pada
table 8

Tabel-7
Proses
normalisasi yang dilakukan pada relasi bentuk normal kedua menghasilkan relasi
dengan bentuk normal ketiga.
Setiap
relasi bentuk normal ketiga maka juga merupakan relasi bentuk normal kedua.
Sebaliknya, jika relasi bentuk normal kedua maka belum tentu merupakan relasi
bentuk normal ketiga. Tabel yang ditunjukkan pada table 7 adalah relasi bentuk
normal ketiga dan juga relasi bentuk normal kedua.Penyimpangan-penyimpangan
yang terjadi pada relasi bentuk normal kedua, dapat diatasi dengan membangun
entiti baru yang terdiri dari atribut-atribut yang bergantung transitif, dan
proses normalisasinya menghasil relasi bentuk normal ketiga. Transforrnasi dan
relasi bentuk normal kedua ke relasi bentuk normal ketiga hampir sama dengan
transformasi dan bentuk normal pertama kebentuk normal kedua. Perbedaan
keduanya adaIah, tranformasi dari 1NF ke 2NF, berdasarkan relasi antara atribut
bukan key dengan atribut yang sebagai key sedangbn transformasi dari 2NF
ke 3NF, berdasarkan relasi antara atribut bukan key dengan atribut
lain yang juga bukan key.