Senin, 02 Desember 2019

V-Class 2 sistem basis data


Pre Test
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. pada umumnya ada dua pendekatan tentang penggunaan normalisasi. Yang pertama adalah pendekatan 'bottom-up' dan yang kedua disebut pendekatan 'top-down'.



Pendekatan bottom-up dan top-down dalam menggunakan normalisasi dalam perancangan basis data

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.


Post Test

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
a)      Bentuk Tidak Normal
b)      Bentuk Normal Pertama (1NF) : Menghilangkan Perulangan Grup
c)      Bentuk Normal Kedua (2NF) : Menghilangkan Ketergantungan Parsial
d)      Bentuk Normal Ketiga (3NF) : Menghilangkan Ketergantungan Transitif
e)      Bentuk Normal Boyce-Code Form (BCNF) : Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
f)       Bentuk Normal Keempat (4NF) : Menghilangkan ketergantungan multivalue
g)      Bentuk Normal Kelima : Menghilangkan anomali-anomali yang tersisa 

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

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).
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.
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.
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"
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.

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).


Keterangan :
* Candidate Key

3.      Bentuk Normal Kedua
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).


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.




Tidak ada komentar:

Posting Komentar