Bab 7. Normalisasi Data

8,869 views

Published on

Published in: Technology, Education
5 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total views
8,869
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
5
Likes
7
Embeds 0
No embeds

No notes for slide

Bab 7. Normalisasi Data

  1. 1. BAB 7 NORMALISASI DATA Tujuan Intruksional Khusus : Setelah mempelajari bagian ini, mahasiswa akan dapat: menjelaskan pengertian ketergantungan fungsional, menjelaskan konsep dasar normalisasi data, menjelaskan tahapan normalisasi data, membedakan bentuk-bentuk normalisasi data.Normalisasi data merupakan suatu proses untuk mendapatkan struktur tabel atau relasiyang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan kedalam struktur record. Anomali merupakan efek samping yang tidak diharapkan, yangditimbulkan dari suatu proses.Terdapat tiga macam anomali, ialah:a. Anomali Peremajaan, yang terjadi apabila dilakukan pengubahan data yang mengakibatkan pengubahan data lain yang tidak mempunyai hubungan secara logika.b. Anomali Penyisipan, yang terjadi apabila dilakukan penambahan atau penyisipan data yang mengakibatkan perlunya penambahan atau penyisipan data lain yang tidak mempunyai hubungan secara logika.c. Anomali Penghapusan, yang terjadi apabila dilakukan penghapusan data yang mengakibatkan hilangnya data lain yang tidak mempunyai hubungan secara logika.Sebagai contoh lihat relasi pada Gambar 7.1 berikut.Normalisasi Data 77
  2. 2. PERWALIAN NIM NAMA NODOSEN DOSEN 20001 MARLINA 131 DRA DINA MSC 20002 HARDIMIN 132 BADRUN SSI MSI 20003 KOMARUDIN 133 DRS AMINUDIN 20004 HUSNI 131 DRA DINA MSC 20005 DANY 131 DRA DINA MSC 20006 INDAH 132 BADRUN SSI MSI Gambar 7.1 Relasi PerwalianJika dosen dengan nama “DRA DINA MSC” telah menyelesaikan pendidikan S3,misalnya nama tersebut akan diubah menjadi “DRA DINA MSC PHD”. Maka data namadari dosen yang bersangkutan perlu di-update di semua baris yang ada nama tersebut.Dengan demikian update tidak cukup dilakukan sekali, akan tetapi tergantung padaberapa kali data yang akan di-update muncul pada relasi. Jika proses ini tidak dilakukanlengkap akan menyebabkan inkonsistensi data. Pada kondisi ini muncul yang disebut:anomali peremajaan.Masih dengan menggunakan relasi pada Gambar 7.1, jika ada dosen baru yang belummendapatkan tugas perwalian, maka untuk menyisipkan data baru tersebut akanmenyebabkan terdapatnya baris atau record dengan data tidak lengkap (data mahasiswaperwalian masih kosong). Kondisi ini yang disebut dengan: anomali penyisipan.Selanjutnya diandaikan mahasiswa dengan nama=”KOMARUDIN” telah lulus, dan datatersebut akan dihapus dari relasi yang ada. Penghapusan baris yang ditempati datatersebut, akan menyebabkan data dosen yang terkait dengan mahasiswa tersebut yaitu“DRS AMINUDIN” menjadi ikut terhapus. Hal ini disebabkan karena secara kebetulandosen tersebut hanya mempunyai satu mahasiswa di dalam perwaliannya. Hal ini yangdisebut dengan: anomali penghapusan.Anomali dapat dieliminasi dengan mengganti format dari relasi, seringkali denganmemecah relasi menjadi dua atau lebih relasi baru yang dibentuk dari relasi semula.Pengubahan tersebut dilakukan didalam suatu proses yang disebut dengan prosesnormalisasi. Untuk memahami proses normalisasi, perlu diketahui dua terminologi yangterkait ialah: ketergantungan fungsional (functional dependencies) dan kunci.Normalisasi Data 78
  3. 3. 7.1. Ketergantungan FungsionalSuatu ketergantungan fungsional ialah suatu relationship diantara atribut. Denganketergantungan fungsional, jika diberikan nilai suatu atribut maka akan dapat diperolehatau dicari nilai dari atribut lain. Atau secara lebih formal ketergantungan fungsionaldidefinisikan sebagai berikut: R suatu relasi, x dan y himpunan bagian dari himpunan atribut R. y mempunyai ketergantungan fungsional (KF) pada x, atau: xy jika dan hanya jika setiap nilai x di dalam R mempunyai asosiasi dengan tepat satu nilai y di dalam R. x disebut determinant, yaitu sebagai atribut penentu. y disebut dependent, yaitu sebagai atribut yang bergantung.Ketergantungan fungsional di atas dapat pula disajikan dengan menggunakan diagramketergantungan fungsional sebagaimana diberikan pada Gambar 7.2 berikut. x y Gambar 7.2 Diagram Ketergantungan FungsionalContoh:Jika diberikan relasi berikut: MHS (nim, nama, tgllahir, alamat, kodepos, kabupaten, propinsi)Dari relasi di atas, maka: nim  nama nim  tgllahir nim  alamat nim  kodepos nim  kabupatenNormalisasi Data 79
  4. 4. nim  propinsidan juga kodepos  kabupaten kodepos  propinsimerupakan contoh-contoh yang memenuhi ketentuan ketergantungan fungsional.Sedangkan tgllahir  alamattidak memenuhi ketentuan di dalam ketergantungan fungsional, karena pada kenyataan-nya dapat terjadi lebih dari satu orang dengan tgllahir yang sama.Ketergantungan fungsional yang lain:a. Ketergantungan fungsional, di mana antara dependent dan determinant saling tergantung. Contoh: fakultas  dekan dekan  fakultas maka fakultas ↔ dekanb. Ketergantungan fungsional dengan lebih dari satu determinant. Contoh: nim, tahun  dosenwali (dengan asumsi bahwa seorang mahasiswa dapat berganti dosen wali, misalnya karena dosen wali yang bersangkutan studi lanjut, dan sebagainya).c. Ketergantungan fungsional penuh, yaitu ketergantungan fungsional dengan determinant yang tidak mengandung atribut yang tidak diperlukan. Contoh: nama, nim  alamatNormalisasi Data 80
  5. 5. bukan disebut ketergantungan fungsional penuh, karena ketergantungan fungsional di atas cukup ditulis dengan: nim  alamat Bentuk terakhir di atas memenuhi bentuk ketergantungan fungsional penuh.Dua atau lebih atribut adalah mutually independent jika tidak ada yang mempunyaiketergantungan fungsional pada sembarang kombinasi yang lain, sehingga setiap atributdapat di-update secara bebas.7.2. Kunci (Key)Sebagaimana pernah dijelaskan kunci ialah suatu group dari satu atau lebih atribut yangmemberikan identifikasi unik pada suatu record atau baris dari relasi. Setiap relasimempunyai paling sedikit satu kunci. Seringkali kunci terdiri atas satu atribut.Secara umum, suatu kunci ialah suatu atribut atau group atribut yang secara fungsionalmenentukan atribut non-key. NILAI NIM KODEMTK NIL_HURUF 20001 MTK1 A 20001 MTK3 B 20002 MTK3 B 20003 MTK1 C 20003 MTK2 B 20004 MTK3 C 20005 MTK1 A 20006 MTK2 B 20006 MTK3 B Gambar 7.3 Relasi NilaiRelasi di dalam Gambar 7.1 mempunyai kunci berupa nim, karena dengan nim dapatdilakukan identifikasi unik untuk setiap record atau tuple yang ada dalam relasi tersebut.Sedangkan untuk relasi di dalam Gambar 7.3, nim tidak dapat digunakan sebagai keykarena dimungkinkan seorang mahasiswa mengambil lebih dari satu mata kuliah. Dengandemikian key untuk relasi NILAI tersebut ialah berupa group atribut yang terdiri atas duaatribut (nim + kodemtk). Nilai untuk seorang mahasiswa (dengan menggunakan pengenalNormalisasi Data 81
  6. 6. berupa nim), dapat ditemukan secara pasti dengan menggunakan key berupa (nim +kodemtk).Untuk membantu dalam menentukan key dari suatu relasi, perlu diketahui karakteristikdan atau batasan-batasan data dari relasi tersebut di dalam realitanya. Dengan demikiandapat ditentukan ketergantungan fungsional yang benar. Ketergantungan fungsionaltersebut dirumuskan bukan hanya dari satu atau dua baris data di dalam relasi yangdigunakan sebagai sampel, akan tetapi benar-benar sudah mengadopsi semua keadaandata yang ada.7.3. Bentuk NormalSuatu relasi dikatakan di dalam bentuk normal, jika memenuhi sejumlah kriteria tertentuyang sudah ditentukan.Macam bentuk normal suatu relasi ialah:a. Unnormalized (bentuk belum normal).b. Bentuk Normal Pertama (First Normal Form/1 NF).c. Bentuk Normal Kedua (Second Normal Form/2 NF).d. Bentuk Normal Ketiga (Third Normal Form/3 NF).e. Boyce/Codd Normal Form (BCNF).f. Bentuk Normal Keempat (Fourth Normal Form/4 NF).g. Bentuk Normal Kelima (Fifth Normal Form/5 NF).Proses normalisasi digunakan untuk pengubahan suatu relasi dari bentuk normal tertentuke sekumpulan relasi di dalam bentuk normal yang lebih diinginkan.Proses normalisasi hendaknya reversible, dan non-loss decomposition. Reversible yaitudapat dilakukannya pengambilan output dari suatu proses dan mengubahnya kembali keinput semula. Sedangkan non-loss decomposition yaitu tidak adanya informasi yanghilang selama proses normalisasi.7.3.1. UnnormalizedNormalisasi Data 82
  7. 7. Unnormalized ialah suatu relasi yang mengandung atribut dengan nilai non-atomic, danatau mempunyai group atribut berulang. Nilai atribut atomic ialah nilai suatu atribut yangtidak dapat dibagi menjadi komponen-komponen yang lebih kecil. Sehingga nilai atributcomposite dan nilai atribut multivalued tidak diijinkan disini.Berikut adalah contoh relasi yang mengandung atribut dengan nilai non-atomic, yangdisebabkan adanya atribut-atribut composite dan atribut multivalued. nama_jalan kota kode_pos KENDARAAN NOPOLISI PEMILIK ALAMAT WARNA H3003YA IR HARY D. JL MELATI 234,PATI,33890 MERAH H3004YB PAMUJI JL GARUDA V/2,TEGAL,33567 HITAM,PUTIH H3005YA NINA JL DELIMA X/54,DEMAK,33452 BIRU,BIRU MUDA Gambar 7.4 Atribut Composite dan MultivaluedAtribut alamat merupakan atribut composite, karena dengan melihat nilai atribut tersebutmaka atribut alamat dapat dipecah menjadi tiga atribut, yaitu: nama_jalan, kota, dankode_pos (lihat Gambar 7.4). Masing-masing atribut yang baru tersebut mempunyai nilaiyang atomic (tidak dapat dipecah lagi menjadi komponen yang lebih kecil). Atributwarna merupakan atribut mutivalued, karena isi didalamnya dapat tidak tunggal. Sebagaicontoh: (HITAM, PUTIH) dan (BIRU, BIRU MUDA).Misal diberikan suatu formulir dengan format sebagaimana diberikan pada Gambar 7.5.Karena pada kenyataannya seorang mahasiswa didalam satu semester dapat mengambillebih dari satu mata kuliah, maka data pengambilan mata kuliah dari seorang mahasiswadengan mahasiswa lainnya dapat berbeda-beda. Sebagai akibatnya jumlah baris data didalam relasi yang digunakan untuk menyimpan data pengambilan mata kuliah dapat tidaksama. Atau dikatakan terjadi group atribut berulang.Perhatikan isi data dari formulir isian rencana studi pada Gambar 7.5. Asumsi yangdigunakan ialah: • Setiap mahasiswa dapat mengambil lebih dari satu mata kuliah. • Setiap mata kuliah diampu oleh seorang dosen. • Setiap dosen hanya mengampu satu mata kuliah. • Setiap dosen menggunakan ruang yang sama dalam memberikan kuliahnya.Normalisasi Data 83
  8. 8. FORMULIR ISIAN RENCANA STUDI NAMA : AMIR NIM : 10 KODE MATA KULIAH DOSEN RUANG NILAI ----- ----------- ---------- ----- ----- MTK1 STATISTIK DRS JANUAR, MSI R101 B MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.5 Formulir Isian Rencana StudiKemudian data di atas, ditambah dengan data dari mahasiswa lain disimpan dalam bentukrelasi sebagai berikut: RENC_STUDI NIM NAMA KODEMTK MTK DOSEN RUANG NILAI MTK1, STATISTIK, DRS JANUAR MSI, R101, B, 10 AMIR MTK2 BHS INGGRIS DRA ANDINI R102 A MTK1, STATISTIK, DRS JANUAR MSI, R101, A, 11 PUTRI MTK4 FISIKA DRS HERY MSI R201 B 12 ANDI MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.6 Contoh Bentuk UnnormalizedRelasi pada Gambar 7.6 merupakan relasi dengan bentuk unnormalized, karena didalamnya terdapat group atribut berulang. Relasi pada Gambar 7.6 dapat disajikandengan menggunakan schema relasi sebagai berikut: RENC_STUDI(nim,nama,{kodemtk,mtk,dosen,ruang,nilai})Atribut-atribut yang ditulis di dalam tanda kurung dengan notasi {} merupakan groupatribut berulang.Dari relasi bentuk unnormalized di atas, terlihat:Normalisasi Data 84
  9. 9. • Berisi group atribut berulang, yaitu untuk atribut kodemtk, mtk, dosen, ruang dan nilai. • Mengandung data redundant, yaitu untuk atribut mtk, dosen, dan ruang. Hal ini disebabkan karena ketiga atribut tersebut isinya akan diketahui secara otomatis jika diketahuinya isi kodemtk (dengan asumsi setiap mata kuliah diampu oleh satu orang dosen dan diberikan di dalam ruang yang tidak berubah-ubah).Untuk menghilangkan group atribut berulang di atas, maka dilakukan proses normalisasiuntuk mendapatkan relasi yang memenuhi 1NF.7.3.2. Bentuk Normal Kesatu (1NF)Suatu relasi di dalam 1NF jika dan hanya jika semua domain yang mendasari hanya berisinilai scalar, dengan demikian tidak mengandung group berulang.Sebagai contoh lihat kembali relasi pada Gambar 7.6. Untuk menyusunnya menjadirelasi dalam 1NF, maka group berulang yang ada harus dihilangkan.Caranya ialah dengan menuliskan setiap pengambilan mata kuliah secara sendiri-sendiri,dan sebagai konsekwensinya maka jumlah tuple atau baris dari relasi pada Gambar 7.6menjadi bertambah. Sedangkan jumlah atributnya tidak mengalami perubahan. RENC_STUDI NIM NAMA KODEMTK MTK DOSEN UANG NILAI 10 AMIR MTK1 STATISTIK DRS JANUAR MSI R101 B 10 AMIR MTK2 BHS INGGRIS DRA ANDINI R102 A 11 PUTRI MTK1 STATISTIK DRS JANUAR MSI R101 A 11 PUTRI MTK4 FISIKA DRS HERY MSI R201 B 12 ANDI MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.7 Contoh Bentuk Normal KesatuDari bentuk 1NF di atas, maka: • Relasi hanya berisi nilai elementer (tunggal) pada interseksi setiap baris dan kolom, dan tidak mengandung group berulang.Normalisasi Data 85
  10. 10. • Masih menimbulkan anomali di dalam penyisipan, penghapusan, dan peremajaan data (lihat kembali penjelasan pada Sub Bab 7.1). • Sebagai kunci utama ialah (nim + kodemtk). • Atribut nilai bergantung penuh pada kunci utama (nim + kode_mtk). • Atribut yang lain bergantung parsial pada kunci utama.Dengan masih adanya anomali di dalam relasi pada Gambar 7.7, maka untukmenghilangkan anomali yang masih ada, relasi perlu ditingkatkan lagi bentuknya ke2NF.7.3.3. Bentuk Normal Kedua (2NF)Suatu relasi di dalam 2NF jika dan hanya jika: • Memenuhi 1NF • Setiap atribut bukan kunci bergantung penuh secara fungsional pada kunci utama.Atribut bukan kunci ialah atribut yang tidak membentuk bagian kunci utama.Contoh: Jika relasi pada Gambar 7.7 (sudah memenuhi 1NF), ditingkatkan normalisasi-nya kebentuk yang lebih tinggi (2NF), maka relasi tersebut perlu dipecah menjadi tigarelasi, misalnya diberi nama: MHS, KRS, dan TBL_MTK. MHS KRS NIM NAMA NIM KODEMTK NILAI 10 AMIR 10 MTK1 B 11 PUTRI 10 MTK2 A 12 ANDI 11 MTK1 A 11 MTK4 BNormalisasi Data 86
  11. 11. 12 MTK2 A TBL_MTK KODEMTK MTK DOSEN RUANG MTK1 STATISTIK DRA JANUAR MSI R101 MTK2 BHS INGGRIS DRA ANDINI R102 MTK4 FISIKA DRS HERY R201 MSI Gambar 7.8 Bentuk Normal Kedua (2NF)Ketiga relasi, yaitu: MHS, KRS, TBL_MTK sudah memenuhi 2NF karena sudah tidakmengandung ketergantungan parsial. Relasi TBL_MTK masih mengandung ketergan-tungan transitif, yaitu ruang mempunyai ketergantungan fungsional dengan kodemtk(sebagai kunci primer), dan sekaligus juga dengan atribut dosen (yang merupakan atributnon-key).7.3.4. Bentuk Normal Ketiga (3NF)Suatu relasi di dalam 3NF jika dan hanya jika: • Memenuhi 2NF • Setiap atribut bukan kunci tergantung non-transitive pada kunci utama.Atribut bukan kunci merupakan sembarang atribut yang tidak berpartisipasi di dalamkunci utama dari relasi terkait. Sedangkan ketergantungan transitive terjadi apabila satuatribut bukan kunci tergantung pada satu atau lebih atribut bukan kunci yang lain. Kunci Utama A BNormalisasi Data 87
  12. 12. Gambar 7.9 Ketergantungan TransitiveDari gambar di atas, B mempunyai ketergantungan fungsional pada Kunci Utama, danjuga pada A. Non-transitive memberikan implikasi tidak adanya saling ketergantungan.Contoh:Relasi di dalam Gambar 7.8 (yang masih mengandung ketergantungan transitive) akandiubah agar mempunyai bentuk normal yang lebih tinggi yaitu 3NF.Untuk itu maka relasi TBL_MTK dipecah menjadi dua, yaitu AMPU dan LOKASI,sehingga relasi yang dihasilkan ialah sebagai berikut. MHS KRS NIM NAMA NIM KODEMTK NILAI 10 AMIR 10 MTK1 B 11 PUTRI 10 MTK2 A 12 ANDI 11 MTK1 A 11 MTK4 B 12 MTK2 A AMPU LOKASI KODEMTK MTK DOSEN DOSEN RUANG MTK1 STATISTIK DRS JANUAR MSI DRS JANUAR MSI R101 MTK2 BHS INGGRIS DRA ANDINI DRA ANDINI R102 MTK4 FISIKA DRS HERY MSI DRS HERY MSI R104 Gambar 7.10 Bentuk Normal Ketiga (3NF)Dari relasi yang dihasilkan terakhir di atas, maka: • Tidak ada ketergantungan transitive. • Setiap atribut bukan kunci bergantung penuh pada kunci utama.Sampai dengan tahapan terakhir ini (3NF), diperoleh struktur relasi yang bebas darianomali.7.4. Bentuk-bentuk NormalRelasi di dalam bentuk normal ketiga (3NF) sudah cukup untuk banyak perancanganbasis data praktis. Akan tetapi 3NF tidak menjamin semua anomali telah dihilangkan(McFadden, 1988). Sehingga untuk menghilangkan anomali yang masih ada diperlukanNormalisasi Data 88
  13. 13. penambahan proses normalisasi yang lebih tinggi. Pada prakteknya sangat sedikit orangperlu memikirkan penormalisasian di atas bentuk normal ketiga (Whitehorn, 2003).Bentuk-bentuk normal yang lebih tinggi dari 3NF antara lain ialah:a. Boyce-Codd Normal Form (BCNF) Jika suatu relasi mempunyai lebih dari satu kunci kandidat yang overlapping, terdapat kemungkinan masih dijumpainya anomali (meskipun relasi sudah memenuhi 3NF). R. F. Boyce dan E. F. Codd mengusulkan pemecahannya dengan mengenalkan suatu bentuk normalisasi yang didefinisikan lebih kuat dari 3NF. Bentuk tersebut yang kemudian disebut dengan nama Boyce Codd Normal Form (BCNF). Suatu relasi di dalam BCNF jika dan hanya jika, hanya determinant yang menjadi kunci kandidat.b. Bentuk Normal Keempat Meskipun suatu relasi sudah memenuhi BCNF, terdapat kemungkinan relasi tersebut masih menghasilkan anomali peremajaan. Untuk menghilangkan anomali tersebut perlu dilakukan proses normalisasi untuk mendapatkan 4NF. Di dalam membentuk relasi menjadi 4NF, akan terkait dengan suatu bentuk hubungan antar atribut yang disebut dengan: Multi Valued Dependence (MVD). Ambil R suatu relasi, dan A, B, C merupakan bagian berubah-ubah dari R. B dikatakan multi dependent pada A, atau A  B jika dan hanya jika himpunan nilai B sesuai dengan pasangan (nilai A, nilai C) di dalam R, hanya bergantung pada nilai A dan bebas dari nilai C. Suatu relasi R di dalam 4NF jika dan hanya jika, kapan saja terdapat himpunan bagian A dan B dari atribut R sedemikian sehingga: MVD A  B memenuhi, maka semua atribut juga bergantung fungsional pada A.c. Bentuk Normal KelimaNormalisasi Data 89
  14. 14. Sebelum bicara tentang relasi dengan bentuk normal yang lebih tinggi dari 4NF, perlu dikenalkan dahulu tentang Joint-Dependency (JD). Joint Dependency (JD): Ambil R suatu relasi, dan A, B, .., Z himpunan bagian berubah-ubah dari himpunan atribut R. R memenuhi joint dependence, jika: * (A, B, .., Z) jika dan hanya jika R sama dengan joint dari projection dari A, B, ..., Z. Suatu relasi di dalam 5NF atau disebut dengan Projection-Joint Normal Form (PJ/NF) jika dan hanya jika setiap JD di dalam R dinyatakan tidak langsung oleh kandidat key dari R.Pembahasan lebih rinci mengenai BCNF, 4NF, dan 5NF dapat dilihat pada Date (1995),McFadden (1988), Kroenke (1990), dan Elmasri (1994).7.5. SOAL-SOAL LATIHAN1. Berikan alasan anda mengapa suata basis data harus berada pada kondisi normal !Normalisasi Data 90
  15. 15. 2. Kondisi apa saja yang harus dipenuhi, bahwa suatu basis data di katakan memenuhi normalisasi !3. Berikan alasan anda mengapa bentuk normal ke-4 (4NF) dan normal ke-5 (5NF) dalam prakteknya tidak dilakukan !4. Diberikan suatu data sebagai berikut :No Class Time Day Teacher Start Room Remark1 B.1I 17.00-18.30 Tuesday Ms. Avi 19/08/2004 A202 Run Thursday Ms. Oki2 B.5I 15.30-17.00 Tuesday Ms. Beta 20/08/2004 A302 Run Friday Ms. Susi3 B.1J 17.00-18.30 Monday Ms. Galuh 23/08/2004 A301 Run Thursday Ms. Avi4 B.2J 17.00-18.30 Tuesday Mr. Aris 24/08/2004 A102 Run Thursday Ms. Beta5 B.3J 15.30-17.00 Tuesday Mr. Aris 05/08/2004 A103 Run Thursday Ms. Oki6 B.2F 15.30-17.00 Monday Ms. Galuh 19/08/2004 A203 Run Thursday Mr. Hery7 B.1I 18.30-20.00 Wednesday Ms. Ria 04/08/2004 A203 Pending Friday Ms. Galuh Dari data yang diberikan di atas belum memenuhi kondisi normal, maka tentukanlah proses normalisasi untuk menghasilkan data yang memenuhi kondisi normal !Normalisasi Data 91

×