V-Class 2 Sistem Basis Data

V-CLASS 2

Pretest

1. Kapan Teknik Normalisasi digunakan dalam mengembangkan Database?

Pada dasarnya normalisasi merupakan teknik yang formal yang bisa digunakan di tahap manapun dalam perancangan sistem database. Namun pada umumnya ada dua pendekatan tentang penggunaan normalisasi. Yang pertama adalah pendekatan 'bottom-up' dan yang kedua disebut pendekatan 'top-down'. Coba perhatikan gambar ilustrasi di bawah ini:
ilustrasi
       Seperti bisa dilihat pada gambar di atas, pendekatan 1 (approach 1) menunjukkan kapan/dimana normalisasi digunakan sebagai teknik 'standalone' dalam perancangan basis data sementara pada pendekatan 2 (approach 2) menunjukkan kapan/dimana normaliasi bisa digunakan sebagai teknik validasi untuk mengecek struktur relasi-relasi yang dihasilkan dengan pendekatan top-down seperti ER modeling. Tidak perlu dipusingkan pendekatan mana yang digunakan, tujuan keduanya adalah sama yaitu menghasilkan relasi-relasi yang terdesain dengan baik yang memenuhi data requirements perusahaan.

     Gambar ilustrasi diatas juga menunjukkan contoh berbagai sumber data yang bisa digunakan untuk perancangan basis data. Meskipun spesifikasi users’ requirements adalah sumber data yang pada umumnya lebih diutamakan, tetapi mungkin juga untuk merancang basis data berdasarkan informasi yang diambil langsung dari sumber data lainnya seperti form-form atau report-report tradisional seperti yang dilustrasikan dalam posting tulisan tentang: “Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF”.

     Gambar di atas juga menunjukkan bahwa sumber data yang sama bisa juga digunakan untuk kedua pendekatan tersebut, namun demikian, meskipun hal itu secara prinsip betul, pada praktinya pendekatan yang diambil cenderung ditentukan oleh ukuran, batas, kompleksitas basis data yang digamnarkan dalam sumber data dan oleh preferensi dan keahlian dari si desainer basis data. Pilihan untuk menggunakan normalisasi sebagai teknik bottom-up (pendekatan 1) seringkali lebih terbatas yang disebabkan oleh tingkat detil yang ingin dikelola oleh si desainer basis data, tetapi keterbatasan semacam itu tidak akan terjadi ketika normalisasi digunakan sebagai teknik validasi (pendekatan 2) karena si desainer basis data hanya berfokus pada bagian dari basis data, misalnya suatu relasi tunggal, pada satu waktu. Jadi, tidak peduli berapa besar ukuran atau kompleksitas basis data, normalisasi bisa diterapkan dan tetap berguna.

Posttest

1. Jelaskan tahapan normalisasi!

TAHAPAN NORMALISASI : Tahapan Normalisasi dimulai dari tahap ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutannya : 1NF, 2NF, 3NF, BCNF, 4 NF, 5NF.
  • Bentuk Tidak Normal
  • Bentuk Normal Pertama (1NF) : Menghilangkan Perulangan Grup
  • Bentuk Normal Kedua (2NF) : Menghilangkan Ketergantungan Parsial
  • Bentuk Normal Ketiga (3NF) : Menghilangkan Ketergantungan Transitif
  • Bentuk Normal Boyce-Code Form (BCNF) : Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
  • Bentuk Normal Keempat (4NF) : Menghilangkan ketergantungan multivalue
  • Bentuk Normal Kelima : Menghilangkan anomali-anomali yang tersisa
FUNGSIONAL DEPENDENSI : misalkan kita pakai notasi A--> B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Sebagai contohnya, ada sebuah nota seperti pada gambar di bawah ini :
Form Nota Awal

1. Un-Normal Form

  • Berupa relasi umum, sesuai kenyataan
  • Mencerminkan item data nyata
  • Mencerminkan bagian dari suatu sistem
  • Belum dapat digunakan sebagai database
  • Bentuk Flat Table menggambarkan jumlah  atribut

Form UN-FORMAL
2. Bentuk Normal Tahap Pertama (1NF)
  • Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama.
  • Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).
Form 1NF
3. Bentuk Normal Tahap Kedua (2NF) 
  • Bentuk Normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional dependency pada primary key. 
  • Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key). 
  • Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan. 
Kita dapat urai lagi menjadi beberapa tabel baru, sebagai contoh saya bagi tiga tabel baru. Untuk penamaannya terserah kita. Misalkan kita dapat pecah dengan nama Tabel NTT, Tabel TAKP, dan Tabel SNJHS-J seperti pada gambar berikut :
Form NTT
Form TAKP
FormSNJHSJ
Dari ketiga tabel tersebut masih ada beberapa masalah yang muncul yakni masalah : 
  • Lose-Less Decomposition
  • Dependency Preservation. Coba kita lihat pada tabel SNJHS-J, atribut Jumlah serta Jumlah Harga masih juga samar-samar jadi permasalahan yang muncul adalah Transitive Dependency. Maka perlu dilakukan langkah normalisasi bentuk ketiga (3NF).
4. Bentuk Normal Tahap Ketiga (3NF)
  • Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya,
  • Untuk setiap Functional Dependency dengan notasi X-->A, maka :
X harus menjadi superkey pada tabel tersebut atau A merupakan bagian dari primary key pada tabel tersebut.

Coba kita lihat lagi tabel SNJHS-J, kita dapat memecah kembali tabel tersebut dengan membagi atribut Seri, Nama Barang, Harga, dan Satuan menjadu satu tabel. Untuk Tabel NTT dan Tabel TAKP sudah tidak ada masalah lagi. Jadi sampai bentuk ketiga ini kita sudah memiliki 4 tabel baru.
Dengan tambahan dari pemecahan tabel SNJHS-J menjadi SNHS dan SJJ. Seperti pada gambar di bawah ini :

Form SNHS
Form SJJ
5. Boyce-Code Normal Form (BCNF) 
  • Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap Functional Dependency terhadap setiap atribut atau gabungan atribut dalam bentuk : X --> Y maka X adalah Super Key.
  • Tabel tersebut harus di dekomposisi berdasarkan Functional Dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
  • Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF. Perbedaannya, untuk Functional Dependency X--> A, BCNF tidak membolehkan A sebagai bagian dari primary key.
6. Bentuk Normal Tahap Keempat (4NF) atau MVD dan PJNF 
  • Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
  • Untuk setiap multivalued attribute (MVD) juga harus merupakan Functional Dependency
7. Bentuk Normal Tahap Kelima (5NF) 
  • Bentuk normal 5NF terpenuhi jika memiliki sebuah loseloss decomposition menjadi tabel-tabel yang lebih kecil.
  • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan Functional Dependency, 5NF dibentuk berdasarkan konsep Join Dependence. Yakni apabila sebuah tabel telah di dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi untuk membentuk tabel semula.
8. Overnormalisasi 
Analisa Overnormalisasi diperlukan jika : 
  • Database ini digunakan untuk sistem multi user
  • Tabel-tabel yang sudah normal ini digabungkan dengan fungsi lain yang ada di lapangan, misalnya; untuk fungsi retur, untuk fungsi inventori, untuk fungsi sales order maupun order pembelian, untuk fungsi keamanan database, dan lain-lain.
2. Buat penggunaan Teknik Normalisasi untuk contoh kasus basis data "Perpustakaan".

Pada sebuah Perpustakaan buku "ISTANA BUKU" terdapat dokumen dasar yaitu dokumen masukan dan dokumen keluaran sebagai berikut :
  • Dokumen Masukkan
Form Kartu Anggota
Form Data User
Form Data Buku
  • Dokumen Keluaran
Form Struk Peminjaman
Form Struk Pengembalian



  • Normalisasi

1. Bentuk Tidak Normal (UNF)

Syarat :
Masukan semua atribut yang ada pada dokumen dasar (Dokumen Masukan dan Dokumen Keluaran) pada satu himpunan.
Langkah :
Masukan semua atribut yang ada pada dokumen masukan (Form Data Anggota, Form Data User dan Form Buku) dalam satu himpunan.

UNF

2. Bentuk Normal Pertama (1NF)

Syarat :
  • Tidak ada baris yang duplikat
  • Masing masing Cell atau Atribut bernilai tunggal
Langkah :
  • Hapus / Buang atribut yang duplikat (pada kotak merah) yang ada pada Bentuk Tidak Normal (UNF) menjadi Cell yang bernilai tunggal pada himpunan baru Normalisasi Bentuk Pertama (1NF).
  • Tentukan atribut yang akan dijadikan Candidate Key (Calon Kunci yang akan menjadi Kunci Utama).
1NF
Keterangan :
* Candidate Key
3. Bentuk Normal Kedua (2NF)
Syarat :
  • Sudah dalam bentuk Normal Pertama.
  • Semua atribut yang tidak termasuk dalam Primary Key memiliki ketergantungan fungsional pada Primary Key secara utuh.
Langkah :
Buat tabel baru dengan setiap himpunan yang saling ketergantungan secara fungsional antara atribut Primary Key dan atribut bukan kunci (atribut yang tidak memiliki kunci).
  
2NF
4. Bentuk Normal Ketiga (3NF)
Syarat :
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional.
Langkah :
  • Sudah dalam bentuk Normal Kedua
  • Pisahkan atribut yang merupakan atau menjadi atribut detail (tidak tergantung secara langsung kepada atribut Primary Key). Pisahkan atribut (pada kotak merah) dari himppunan / dari tabel asal pisahkan ke tabel baru.
3NF


Referensi :



Komentar