Senin, 23 November 2020

Normalisasi

    Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan. Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data relasional yang mengelompokkan atribut dari suatu tabel sehingga membentuk struktur tabel yang normal. Adapun kriteria tabel dikatakan normal adalah ketika tidak ada kerangkapan data (redudansi data). 

Tujuan dari normalisasi 

  • Untuk menghilangkan kerangkapan data sehingga meminimumkan pemakaian storage yang dipakai oleh base relations (file) 
  • Untuk mengurangi kompleksitas 
  • Untuk mempermudah pemodifikasian data

Proses Normalisasi

    Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat, apabila tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

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.

  1. Bentuk Tidak Normal
  2. Bentuk Normal Pertama (1NF) : Menghilangkan Perulangan Grup
  3. Bentuk Normal Kedua (2NF) : Menghilangkan Ketergantungan Parsial
  4. Bentuk Normal Ketiga (3NF) : Menghilangkan Ketergantungan Transitif
  5. Bentuk Normal Boyce-Code Form (BCNF) : Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
  6. Bentuk Normal Keempat (4NF) : Menghilangkan ketergantungan multivalue
  7. Bentuk Normal Kelima : Menghilangkan anomali-anomali yang tersisa

Tabel Universal

    Sebuah Tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang terbaik. Contoh :



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.  

Contoh Tabel Nilai :


Bentuk - bentuk Normal

1. 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).
Contoh :

Misal data mahasiswa :

Tabel tersebut tidak memenuhi syarat 1NF.


2. 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.
Contoh : 

Tabel berikut memenuhi1NF tapi tidak termasuk 2NF :


Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan :
{Mhs_nrp, mk_kode} - mhs_nama
{Mhs_nrp, mk_kode}/ - mhs_alamat
{Mhs_nrp, mk_kode}/ - mk_nama
{Mhs_nrp, mk_kode}/ - mk_sks
{Mhs_nrp, mk_kode}/ - mihuruf

Tabel diatas perlu didekomposis menjadi beberapa tabel yg memenuhi syarat 2NF.


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


Boyce-Codd Normal Form (BCNF)

    Sebuah relasi dalam bentuk Boyce-Codd Normal Form (BCNF) jika dan hanya jika setiap determinan adalah candidate key. Boyce-Codd Normal Form adalah tipe khusus dari bentuk normal ketiga. Sebuah relasi dalam BCNF adalah juga bentuk dalam 3NF, tetapi relasi dalam 3NF mungkin tidak dalam BCNF.


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

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

Studi Kasus Normalisasi

1NF

2NF


3NF









Kamis, 19 November 2020

ANOMALI DAN REDUDANSI


Anomali

Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan, misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus. 


Macam-macam anomali :
1. Anomali Peremajaan/Edit/Update
        Anomali ini terjadi apabila terjadi pengubahan terhadap sejumlah data yang mubazir, tetapi tidak seluruhnya di ubah. Contoh:


Jika terjadi penambahan ruangan maka penyisipan tidak dapat dilakukan mengingat tidak ada / belum ada perkuliahan yang menggunakan ruang tersebut.


2. Anomali Penyisipan/insert

        Anomali penyisipan terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen tersebut justru menjadi kunci. Contoh: 


Jika Bahagia pindah ke Semarang tapi pada record ke 4 Bahagia tetap di Palembang sehingga terdapat 2 fakta lokasi yang berbeda. Maka dari itu pengubahan yang hanya dilakukan pada data pertama(data pemasok Bahagia pada realsi pemasok ada 2 buah ) yang akan menyebabkan ketidakkonsistenan data.


3. Anomali Penghapusan/delete
        Anomali penghapusan terjadi sekiranya sesuatu baris (tuple) yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang akan hilang. contoh :


Putri tidak mendaftar. Sehingga harus dihapus. Maka data kursus jepang dengan biaya 175000 juga akan dihapus. 


Redudansi

Munculnya data yang berulang kali pada suatu tabel/relasi yang semestinya tidak diperlukan. Kerangkap data dapat terjadi 
  1. Kerangkap data dalam satu file
  2. Kerangkap data dalam beberapa file



Kamis, 05 November 2020

Pada pertemuan sebelumnya sudah membahas materi tentang Relasional Basis Data sekarang lanjut dengan Materi Transformasi.

Transformasi 

Merupakan perubahan dari suatu bentuk kebentuk yang lain. Komponen ERD (Entity Relationship Diagram) ditransformasikan dalam bentuk tabel yang merupakan komponen utama pembentukan basis data. Atribut yang terdapad pada masing-masing entitas akan dinyatakan sebagai field atau kolom dari tabel yang sesuai.

Aturan umum dalam pemetaan model data (level konseptual dalam abstraksi data) yang
digambarkan dengan Diagram E-R menjadi basis data fisik (level fisik dalam abstraksi datal yaitu:
1. Setiap himpunan entitas diimplementasikan kedalam bentuk tabel. Contohnya :



2. Relasi dengan derajat relasi 1:1 (satu ke satu) yang menghubungkan dua buah himpunan entitas akan direpresentasikan dalam bentuk penambahan/penyetaraan atribut-atribut relasi ke tabel yang mewakili ialah satu dari kedua himpunan entitas. Contohnya : 


3. Relasi dengan derajat relasi 1:N (satu ke banyak) yang menghubungkan dua buah entitas akan direpresentasikan dalam bentuk pehimpunan dalam bentuk pemberian/pencantuman atribut key dari himpunan entitas pertama (yang berderajat 1) ke tabel yang mewakili himpunan entitas kedua (yang berderajat N). Atribut key dari himpunan entitas pertama ini menjadi atribut tambahan bagi himpunan entitas kedua. Contohnya :


4. Relasi dengan derajat relasi N:N/N:M (banyak ke banyak) yang menghubungkan dua buah himpunan entitas akan direpresentasikan dalam bentuk tabel khusus yang memiliki field yaitu foreign key yang berasalah dari primary key dari entitas-entitas yang dihubungkannya. Contohnya :



Tranformasi entitas lemah

Himpunan entitas lemah tidak dapat berdiri sendiri tanpa entitas kuat. Dalam mentransformasikan entitas kuat dan lemah dari ERD kedalam bentuk basis data fisikakan sama-sama membentuk tabelNamun yang membedakan adalah entitas kuat dapat ditransformasikan dalam bentuktabel menggunakan atribut key yang bertindak sebagai primary key dan atribut lainnyapada entitas kuat tersebut. Sedangkan entitas lemah hanya dapat ditransformasikankedalam tabel dengan menyetarakan primary key dari entitas kuat dan atribut darientitas lemah itu sendiri.
Contohnya : 


Tranformasi Relasi Tunggal

Transformasi relasi tunggal adalah transformasi yang dilakukan dari/ke entitas yang sama tergantung dari derajat relasinya.
Contoh 
1. Relasi 1:N 


2. Relasi N:M




Transformasi Relasi Multi Entitas

Secara umum,relasi multientitas yang menghubungkan lebih dari dua himpunan entitas (N himpunanentitas, dimana N>2) akan diimplementasikan sebagai sebuah tabel khusus(tentu saja, setiap himpunan entitas yang terlibat dalam relasi juga akan direpresentasikan dalam tabel-tabel terpisah). Namun jika pada relasi yang menghubungkan Nbuah himpunan entitas kita dapat memastikan bahwa Derajat Relasi parsial diantara (N-1) buah himpunan entitas dengan suatu himpunan entitas (misalnyaX) adalah satu-ke-banyak, maka relasi tadi tidak perlu diwujudkan sebagai sebuah tabel khusus dan atribut-atributnya cukup dilekatkan pada himpunan entitas X tersebut.
Contoh : 




Implementasi Relasi Ganda

Implementasi ditinjau pada masing-masing tanpa terikat satu sama lain berdasarkan derajat relasi masing-masing relasi tersebut. 
contoh : 



Implementasi Agregasi

Contoh : 



Implementasi Spesialisasi dan Generalisasi

Contoh : 


HASIL BELAJAR MANDIRI 

Transformasi adalah aturan umum dalam pemetaan model data yang digambarkan dalam ERD menjadi basis data fisik 
Contoh : 








Senin, 19 Oktober 2020

Resume Perancangan Basis Data (Entity Relationship)

 

Basis Data Relasional

Basis data relasional adalah database digital yang berdasarkan model relasional data, seperti yang diusulkan oleh E. F. Codd pada tahun 1970. Sistem perangkat lunak yang digunakan untuk memelihara database relasional adalah RDBMS (Relational Database Management System). Banyak sistem database relasional memiliki pilihan untuk menggunakan SQL (Structured Query Language) untuk memelihara database.

ERD adalah model hubungan antar entitas. Secara, ada 2 ERD yang akan dijelaskan disini, yaitu versi Chen dan versi Martin.

ERD versi Chen, memiliki ketentuan komponen sebagai berikut :
  • Relationship digambarkan sebagai diamond.
  • Entity digambarkan sebagai kotak.
  • Attribute digambarkan sebagai oval.
  • Jenis relation ditulis pada garis dengan menambahkan tulisan yang menggambarkan keterhubungan (M,N) dan kardinalitas (0,3).
  • Hubungan antar entity bisa dibagi menjadi one-to-one, one-to-many, many-to-many.

ERD versi Martin, memiliki ketentuan komponen sebagai berikut :
  • Relationship digambarkan dengan garis, dengan menambahkan keterhubungannya (0,1,*).
  • Hubungan antar entity digambarkan dengan 1, <, dan 0.
  • Hubungan antar entity dibagi menjadi tepat satu (||), nol atau satu (0 |), lebih dari satu (<), nol atau lebih (0 <), dan satu atau lebih (| <).

Derajat relationship di ERD, dibagi berdasarkan berapa jumlah entity yang terhubung, yaitu Unary (satu), Binary (dua), dan Ternary (tiga).

Enhanced E-R berarti model data tingkat tinggi atau konseptual yang menggabungkan ekstensi ke model hubungan antar entitas asli, yang digunakan dalam database. Dikembangkan untuk mencerminkan secara akurat sifat dan kendala yang ditemukan dalam database yang lebih kompleks, seperti GIS (Geographic Information Systems). Dibagi menjadi dua class, yaitu superclass dan subclass. Contoh superclass adalah mobil dan truk, dengan contoh subclass adalah atribut spesifik dari mobil atau truk itu (misalnya truk tipe angkut). Proses pembuatan hubungan superclass dan subclass, dapat dilakukan dengan cara generalisasi (dari subclass di generalisasikan menjadi superclass), spesialisasi (dari superclass di spesialisasikan menjadi subclass), dan agregasi (penggabungan entitas yang terkait menjadi entitas yang lebih tinggi).

Batasan relasi memiliki dua tipe, total (entitas yang sangat bergantung pada keberadaan entitas lain), dan sebagian (entitas yang tidak bergantung pada keberadaan entitas lain).

Langkah pembuatan ERD :
  • Identifikasi dan tetapkan seluruh himpunan entitas.
  • Tentukan atribut key dari himpunan entitas.
  • Identifikasi dan tetapkan seluruh himpunan relasi diantara himpunan entitas yang ada (serta foreign key jika ada).
  • Tentukan derajat dan kardinality rasio setiap relasi.
  • Lengkapi himpunan relasi dengan atribut bukan kunci.
  • Teliti dan tentukan apakah ERD masih memerlukan generalisasi, spesialisasi, agregasi, dan batasan relasi.
  • Menggunakan konvensi penamaan (menggambarkan makna, bersifat nama tunggal, gunakan huruf kapital untuk entitas, relasi dan awal kata atribut, gunakan kata benda untuk nama entitas, dan kata kerja untuk nama relasi).
Referensi : Materi PBD Entity Relationship di E-learning
 
Tugas Kuis ERD : MAHASISWA MEMINJAM BUKU
Tugas Skema Basis Data Relasional : Relasional Perpustakaan

Normalisasi

     Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan. Normalisasi merupakan seb...