Friday, April 25, 2014




NORMALISASI

Adapun tinjauan pustaka dan referensi secara umum yang digunakan dalam menyelesaikan modul praktikum basis data ini diantaranya adalah sebagai berikut.
3.1       Tujuan Praktikum
Tujuan dalam penulisan praktikum basis data adalah sebagai berikut:
1.                  Memahami proses pembuatan ER diagram pada database.
2.                  Mengetahui dan memahami proses normalisasi dari tabel-tabel yang dibuat hingga level yang paling normal.
3.                  Memahami proses pembuatan relasi antar tabel (relationship) beserta primary key, foreign key dan tipe data dari masing-masing field dari tabel yang dibuat.

3.2       Tinjauan Pustaka
Teori yang mendasari materi yang dipaparkan pada modul pertama ialah teori-teori yang didapat dari berbagai sumber dan pustaka yang dipakai pada pembuatan laporan diantaranya adalah:
3.2.1    Entity Relationship Diagram
Entity Relationship Diagram atau ERD merupakan suatu model perancangan yang menjelaskan tentang data dalam basis data berdasarkan objek-objek data yang mempunyai hubungan antar relasi. Entity relationship diagram ini berfungsi untuk memodelkan struktur data dan hubungan antar data dengan menggunakan gambar perancangan berupa simbol.
3.2.1.1 Entitas
Entitas adalah individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Dapat berupa suatu elemen dari suatu lingkungan, suatu sumber daya atau sebuah transaksi yang memiliki arti penting bagi suatu model yang akan dibangun.


Gambar 3.1 Entitas

3.2.1.2 Atribut
Atribut merupakan deskripsi dari entitas atau dengan kata lain bagian dari entitas atau entity. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasi isi elemen satu dengan yang lainnya. Simbol atribut digambarkan dengan elips.

Gambar 3.2 Atribut

3.2.1.3 Relasi/Hubungan
Relasi / Hubungan merupakan hubungan antara sejumlah entitas atau entity yang saling terkait satu sama lainnya. Relasi atau hubungan sendiri disimbolkan seperti belah ketupat.

Gambar 3.3 Relasi/Hubungan
Adapun bentuk relasi / Hubungan yaitu :
1.         Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas misalkan A berhubungan paling banyak dengan satu entitas pada himpunan entitas misalkan B.
2.         Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
3.         Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan sebaliknya.

3.2.2    Normalisasi
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
1.                  Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
2.                  Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali. Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
1.                  Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
2.                  Meminimalkan resiko inkonsistensi data pada basis data.
3.                  Meminimalkan kemungkinan anomali pembaruan.
4.                  Memaksimalkan stabilitas struktur data.

3.2.2.1 Bentuk Normalisasi
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu  :
1.                  Bentuk UnNormalisasi
2.                  Bentuk Normal Pertama (1NF)
3.                  Bentuk Normal Kedua (2NF)
4.                  Bentuk Normal Ketiga (3NF)
3.2.2.2 Bentuk Normal Pertama (1NF)
Bentuk normal pertama dikenakan pada entity yang belum normal (Unnormalisasi Form). Bentuk tidak normal merupakan kumpulan data yang akan di rekam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).
Syarat :
1.                  Tidak ada set atribut yang berulang atau bernilai ganda.
2.                  Telah ditentukannya primary key untuk tabel atau relasi.
3.                  Tiap atribut hanya memiliki satu pengertian.
4.                  Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
3.2.2.3 Bentuk Normal Kedua (2NF)
            Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.
Syarat :           
1.                  Bentuk data telah memenuhi kriteria bentuk normal ke satu.
2.                  Atribut bukan kunci (non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key
3.2.2.4 Bentuk Normal Ketiga (3NF)
            Bentuk normal ketiga menghilangkan kebergantungan transitif.
Syarat :           
1.                  Bentuk data telah memenuhi kriteria bentuk normal ke dua.
2.                  Atribut bukan kunci (non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

3.3       Pembahasan dan Analisa
            Pembahasan dan analisa meliputi Entity Relasionship Diagram (ERD), normalisasi tabel dan relasi antar tabel yang telah di normalisasi.



3.3.1    Entity Relasionship Diagram Rental CD
   Pada diagram ini terdapat komponen-komponen seperti entity, atribut, dan relasi. Pada ERD Rental CD ini terdapat entity yaitu: tb_member, tb_staff, tb_cd, tb_jenis_cd, tb_judul, tb_peminjaman, tb_detail_peminjaman. Setiap entity memiliki beberapa attribute seperti :
1.                  Pada entity tb_member memiliki atribut yaitu : id_member, nama, jenis_kelamin, alamat, telp.
2.                  Pada entity tb_staff memiliki atribut yaitu : id_staff, nama_staff, jenis_kelamin, agama, alamat, telp.
3.                  Pada entity tb_cd memiliki atribut yaitu : id_cd, id_jenis.
4.                  Pada entity tb_jenis_cd memiliki atribut yaitu : id_jenis, id_judul, judul.
5.                  Pada entity tb_peminjaman memiliki atribut yaitu : id_peminjaman, id_staff, id_cd, jumlah, tgl_peminjaman.
6.                  Pada entity tb_detail_peminjaman memiliki atribut yaitu : id_detail, id_peminjaman, tgl_kembali, biaya.
             Pada ERD Gambar 3.4 staff akan melayani member dan member akan meminjam CD. Setelah itu akan dicatat pada tb_peminjaman dan akan diperjelas pada tb_detail_peminjaman.

Gambar 3.4 Entity Relationship Diagram Rental CD
3.3.2    Normalisasi Tabel
Pada tabel dibawah ini merupakan tabel proses normalisasi database rental Cd dari 1NF sampai 3NF.
Suatu relasi dikatakan sudah memenuhi bentuk normal kesatu (1NF) bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data. Pada Tabel 3. tidak terjadi perubahan tabel, namun hanya merubah dan menghilangkan perulangan group.
Tabel 3.1 1NF
id_detail
id_member
id_staff
id_cd
jumlah
tgl_peminjaman
tgl_kembali
biaya

















Suatu relasi dikatakan sudah memenuhi bentuk normal kedua bila relasi tersebut sudah memenuhi bentuk normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya. Pada Tabel 3.2 merupakan tabel dalam bentuk 2NF.
Tabel 3.2 2NF
id_member
id_staff
id_cd
jumlah
tgl_peminjaman











id_detail
tgl_kembali
biaya






Suatu relasi dikatakan sudah memenuhi bentuk normal ketiga bila relasi tersebut sudah memenuhi bentuk normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya. Pada Tabel 3.3 Sudah sudah terbentuk masing – masing tabel dengan keynya.
Tabel 3.3 3NF
id_member
nama
jenis_kelamin
alamat
telp











id_staff
nama_staff
jenis_kelamin
agama
alamat
telp













id_cd
id_jenis
  




id_jenis
id_judul
judul







id_judul
judul






id_peminjaman
id_member
id_staff
id_cd
jumlah
tgl_peminjaman













id_detail
id_peminjaman
tgl_kembali
biaya









3.3.3    Relasi antar Tabel
Pada Gambar 3.5 menjelaskan relasi pada database rental CD. Pada tabel tb_member, atribut id_member merupakan primary key (PK)  yang direlasikan ke tabel tb_peminjaman sehingga id_pegawai pada tabel tb_peminjaman akan menjadi foreign key (FK). Selanjutnya pada tabel tb_staff, atribut id_staff merupakan primary key (PK) yang direlasikan ke tabel tb_peminjaman sehingga atribut id_staff pada tabel tb_peminjaman akan menjadi foreign key (FK). Pada tabel tb_cd, atribut id_cd merupakan primary key (PK) yang direlasikan ke tabel tb_peminjaman sehingga atribut id_cd pada tabel tb_peminjaman akan menjadi foreign key (FK). Pada tabel tb_jenis_cd, atribut id_jenis merupakan primary key (PK) yang direlasikan ke tabel tb_cd sehingga atribut id_jenis pada tabel tb_cd akan menjadi foreign key (FK). Pada tabel tb_judul, atribut id_judul merupakan primary key (PK) yang direlasikan ke tabel tb_jenis_cd sehingga atribut id_judul pada tabel tb_jenis_cd akan menjadi foreign key (FK). Kemudian pada tabel tb_peminjaman, atribut id_peminjaman merupakan primary key (PK) yang direlasikan ke tabel tb_detail_peminjaman sehingga atribut id_peminjaman pada tabel tb_detail_peminjaman akan menjadi foreign key (FK).


Gambar 3.5p Relasi antar Tabel

3.4       Simpulan
Kesimpulan yang dapat diambil dari pembahasan mengenai Entity Relasionship Diagram (ERD), normalisasi tabel, dan relasi antar tabel yaitu:
1.                  Melakukan perancangan Entity Relasionship Diagram untuk menentukan hubungan antar relasi dan memodelkan struktur datadatabe serta menghubungankan antar data dengan menggunakan gambar perancangan berupa symbol persegi panjang, belah ketupat, oval, dan garis.
2.                  Melakukan normalisasi untuk mengurangi redundansi (perulangan) data, meningkatkan stabilitas database, dan juga menyederhanakan data menjadi yang paling normal atau paling sederhana.
3.                  Melakukan relasi antar tabel untuk menghubungkan primary key dan foreign key dan juga memberikan tipe dan panjang data.