BAB I
PENDAHULUAN
1.1 Latar Belakang
Basis data dapat diumpamakan sama dengan lemari arsip data. Dengan adanya basis data kita jadi lebih gampang untuk menyampaikan informasi yang tersimpan dalam lemari arsip data.
Penyampaian informasi melalui basis data selalu dibuat sesimpel dan seringkas mungkin serta tidak menhilangkan informasi yang ingin disampaikan. Bentuk penyampai informasi seperti ini biasanya dilakukan pada sebuah bentuk tabel yang disebut tabel Universal.
Tabel universal menyampaikan semua informasi yang ada seringkas mungkin dan tanpa menhilangkan satupun informasi. Tetapi kita sering tidak melihat data atau informasi yang tertera pada tabel Universal.
Supaya kita dapat melihat informasi yang tertera pada tabel universal sehingga tidak ada data yang tidak terbaca atau data tertambah, yang bukan merupakan sebuah data yang tertera pada tabel universal. Maka kita lakukan dengan cara menormalisasi data tersebut.
1.2 Tujuan
a. Agar kita memiliki basis data yang kompak dan efesien dalam penggunaan ruang penyimpanan
b. Agar cepat dalam pengaksesan data
c. Agar mudah dalam pemanipulasian data
d. Agar tidak terjadi pengulanggan data
e. Agar tidak ada data yang tersembunyi
1.3 Landasan Teori
Dalam merancang basis data kita dapat melakukannya dengan dua cara yaitu:
a. Menerapkan Normalisasi
b. Lansung membuat model entity-Relationship(E-R)
Normalisai sendiri merupakan cara pendekatan lain dalam membangun desain lojik basis data relasional yang tidak secara lansung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan criteria standar untuk menghasilkan bentuk table yang normal. Namun demikian dalam pelaksanaannya desainlojik basis data relasional yag didasari baik leh prinsip normalisasi maupun yang didasari oleh transformasi secara berhati-hati dari model E-R ke bentuk fisik akan menghasilkan hasil yang mirip.
Dalam menormalisasi data kita memiliki beberapa tahap, diantaranya:
a. Kebergantungan Fungsional
b. Dekomposisi
c. Proses Normalisasi
a. Kebergantungan Fungsional
Kebergantungan Funsional berfungsi untuk :
• Menentukan satu nilai unik pada suatu atribut ditentukan oleh suatu nilai atribut lain
• Contohnya adalah : Seorang pegawai dengan IDPegawai mempunyai satu tglLahir dapat dipresentasikan dengan KF berikut:
• IDPegawai tglLahir
Keterangan:
Sisi kiri adalah determinan (penentu)
Nilai di determinan dapat menentukan hanya satu sisi kanan.
Nilai IDPegawai menentukan satu nilai tglLahir
Ada tiga jenis Kebergantungan Fungsional
1. Saling Bergantung
Contoh Kebergantungan Fungsional Saling Bergantung : Jika satu proyek mempunyai satu manager dan masing-masing manager hanya mengelola satu proyek, maka dapat dipresentasikan sebagai berikut:
Manager IDProyek
Idproyek manajer
Atau dapa disingkat
Manager IDProyek
2. Kebergantungan Lebih dari satu Atribut
Contoh Kebergantungan Fungsional lebih dari satu atribut. WaktuKeterlibatan pegawai disuatu proyek, ditentukan oleh IDPegawai dan IDProyek. Sehingga dapat dipresentasikan sebagai berikut:
IDPegawai, IDProyek waktuketerlibatan
3. Kebergantungan Funsional penuh
Kebergantungan Fungsional Penuh adalah dimana tidak ada atribut-atribut tak perlu yang berada disisi determinan (sisi kiri).
Contoh :
• IDPegawai tglLahir
• IDPegawai, nama tglLahir
Pada contoh yang kedua, nama tidak diperlukan untuk memperoleh tglLahir. IDPegawai telah mencukupi untuk memperoleh nilai tglLahir. Sehingga contoh yang pertama adalah Kebergantungan Fungsional Penuh dan contoh yang keduan bukan Kebergantunga Fungsional Penuh.
b. Dekomposisi
Dekomposisi yaitu melakukan pemilahan / pemisahan tabel menjadi beberapa tabel dengan mempertimbangkan KF yang telah didapat.
Dikomposisi dilakukan agar setiap tabel yang digunakan hanya memiliki satu KF saja.
Dekomposisi yang benar ( Lossless Dekompotition ) terjadi jika tabel hasil Dekomposisi digabungkan kembali dapat menghasilka tabel awal sebelum dikomposisi.
Contoh Dekomposisi:
Diberikan sebuah tabel ABC
Tabel ABC dikomposisi menjadi tabel AB, dan BC
c. Proses Normalisasi
Proses normalisasi dalam basis data adalah proses untuk memperoleh properti skema relasi yang bagus.
Keuntungan normalisasi :
Membuat sekecil mungkin terjadinya data rangkap
Menghindarkan adanya data yang tidak Konsisten bila dilakukan penghapusan atau penambahan data.
Menjamin bahwa key tabel secara tunggal sebagai determinan semua atribut.
Relasi (tabel) secara berurutatan diproses menjadi bentuk normal lebih tinggi yang memiliki redudansi lebih rendah.
Dalam proses menormalisasi data terdapat beragam tingkat bentuk normalisasi :
Bentuk Normal pertama (1NF)
Bentuk Normal Pertama ini dicapai bila tiap nilai atribut adalah tunggal ( bukan atribut turunan). Dan kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data rangkap.
Bentuk Normal kedua (2NF)
Bentuk Norma kedua ini bukan utama harus bergantung fungsional penuh pada kunci relasi. Dan relasi harus telah berbentuk normal pertama.
Bentuk Normal ketiga (3NF)
Pada Bentuk Normal ketiga ini relasi telah berbetuk normal kedua, relasi ini tidak boleh memuat kebergantungan fungsional diantara atribut bukan utama dan bentuk ketiga ini menghilangkan kebergantungan transitif.
BAB II
PEMBAHASAN
Tabel Univesal
Dengan melihat table Universal yang begitu rumitnya, kita coba untuk memperhatikan persamaan dan katidaksamaan data diantara baris baris data, juga dengan memahami hubungan alamiah antar baris baris kita dapat membentuk KF (Kebergantungan Fungsional).
Maka setelah mempelajari table kita dapat menentukan KF dari table tersebut yang meliputi meliputi:
NIM Nama_mhs Alamat_Mhs Tgl_Lahir.
Kode_Kul Nama_Kul SKS Semester waktu Tempat Nama_Dos
Nama_Dos Alamat_Dos
Nim Kode_kulIndeks_Nilai
Dengan berbekal pada 4 buah KF diatas maka table yang rumit diatas dapat kita dekomposisikan menjadi empat buah table yaitu:
a. Tabel Mahasiswa dengan atribut nim, nama_mhs, dan tgl_lahir
b. Tabel Kuliah dan atribut kode_kul, nam_kul, sks, semester, waktu , tempat dan nama_dos
c. Table Dosen dengan atribut nama_dos, dan alamat-dos
d. Table Nilai dengan atribut nim, kode_kul dan indeks_nilai
Dengan demikian, isi dari setiap tabelhasildekomposisi tersebut adalah:
Tabel Mahasiswa
Isi table ini memang tidak sama dengan isi table mahasiswa sebagaimana yang kita pelajari sebelumnya. Itulah konsekwensi dari table universal yang tidak mampu menyatakan adanya mahasiswa yang tidak mengambil mata kuliah apapun. Maka KF dari dari table ini menjadi:
NIMNama_mhs Alamat_Mhs Tgl_Lahir.
Dilihat dari KF diatas maka table ini telah memenuhi BCNF karena sisi kiri(x) harus merupakan SuperKey.
Jika karena suatu kebutuhan, Atribut alamat_mhs pada alamat mahasiswa kita pilah menjadi 3 atribut yaitu alamat_jalan (yang berisi nama jalan dan nomor rumah) nama_kota dan kode_pos maka table tersebut tidak memenuhi BCNF. Karena alamat jalan dan nama kota. Oleh karena itu maka table mahasiswa harus didekomposisi menjadi 2 table:
Tabel Mahasiswa
Table Kode Pos
Dekomposisi di atas merupakan dekomposisi yang aman buktinya jika kedua table tersebut kita gabungkan maka akan didapat bentuk aslinya
Bagaimana dengan table alamat,kita tahu bahwa Kode_Pos dapat diketahui dari alamat_jalan dan nama_kota tapi kita juga tahu bahwa dari nilai kode_pos kita juga dapat mengetahui nilai nama_kota dengan begitu table alamat akan mempunya 2 KF yaitu:
Alamat_jalan nama_kota Kode Pos
Kode_pos Nama-kota
Kode_Kul Nama_Kul SKS Semester waktu Tempat Nama_Dos
Jika dilihat dari kebergantungan fungsional yang ada maka terdapat atribut yang bernilai banyak atau lebih dari satu atribut seperti atribut waktu.
Agar table tersebut menjadi lebih sederhana maka solusinya dengan mendekompisisi table table tesebut seperti berikut:
Table Kuliah ( kode_kul,nama-kul,sks,semester,nama_dos)
Table jadwal ( kode_kul, waktu, Ruang)
Tabel Kuliah
Table Kuliah hasil dekomposisi table universal yang ditunjukan pada gambar di atas tidak memenuhi bentuk normal tahap pertama. Karens terdapat atribut waktu yang tergolong ke dalam atribut bernilai banyak.
Jika struktur tabel kuliah diubah atributnya menjadi tabel Jadwal dan tabel Dosen
kode_kul waktu, tempat
nama_dos alamat_dos, kota
Tabel Jadwal
Tabel Dosen
Dilihat dari KF diatas maka table ini telah memenuhi BCNF karena nama dosen merupakan SuperKey dari table diatas.
Tabel Nilai Mahasiswa
BAB III
PENUTUP
3.1 Kesimpulan
Normalisasinya
Table Mahasiswa
Tabel alamat mahasiswa
Table Kode pos
Table Kuliah
Table jadwal
Table alamat dosen
Table nilai
3.2 Saran
Carilah buku panduan yang banyak membahas tentang normlisasi data
Pembahasan masalah harus mengenai masalah dan tidak melantur
Olah lah data dengan baik dan teliti.