advertisment

visitors

Selasa, 27 November 2012

FUNCTIONAL DEPENDENCY & NORMALIZATION

Functional Dependency
Functional Dependency (FD) merupakan ketergantungan yang terjadi antara atribut-atibut pada suatu entiti.
Notasi dari FD yaitu: A –> B, maksudnya yaitu atribut B tergantung pada atribut A.
Salah satu contohnya yaitu:

KodeMK –> NamaMK (artinya atribut NamaMK tergantung pada atribut KodeMK)
Macam-macam Dependency:

1. Full Dependency
Merupakan suatu ketergantungan dimana terdapat atribut A dan atribut B dalam satu relasi.
Contoh:
NIM –> Nilai (artinya yaitu Nilai tergantung pada atribut NIM)
dari contoh di atas Dapat disimpulkan bahwa 1 atribut menetukan pada 1 atribut
2. Partially Dependency
Yaitu suatu functional Dependency yang mana beberapa atribut pada A dapat dihilangkan tetapi ketergantunga terhadap atribut B masih dapat dipertahankan.
Contoh: NIM, nama –> idRuang (artinya idRuang tergantung pada NIM dan nama)
sehingga apabila nama dihilangkan, NIM masih terdapat ketergantungan dengan idRuang.
3. Transitive Dependency
Merupakan salah satu functional dependency dimana keterhubungan anatara A,B,C saling berkaitan. Transitive Dependency dapat dinotasikan A –> B dan B –> C, sehingga apabila kita ingin mengaitkan A –> C maka membutuhkan relasi dari B.
Contoh:
Id_Pelanggan –> {Nama, Salesman, Area}
Salesman –> Area

Normalisasi
Merupakan suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat yang diinginkan.
Hal-hal yang menjadi dasar acuan dalam proses normalisasi adalah tujuan pembentukan basis data, diantanya harus menghilangkan hal-hal berikut:
a. pengulangan informasi
b. potensi inkosistensi data pada operasi update
c. hindari atribut yang tidak perlu disimpan
d. tersembunyinya informasi tertentu.

Ada beberapa langkah normalisasi diantaranya yaitu: Bentuk 1NF, 2NF, 3NF,BCNF, 4NF dan 5NF.
Namun pada postingan kali ini saya hanya akan mencoba menjelaskan sampai langkah 3NF saja.

1. 1NF
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Cara unttuk UNF ke 1NF:
- Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalizied.
- Identifikasi grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut
- Hapus grup yang berulang dengan cara memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang atau dengan cara menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya  ke dalam relasi terpisah.

2. 2NF
Merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Langkah perubahan dari 1NF ke 2NF yaitu:
- Mengidentifikasi primary key untuk relasi 1NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

3. 3NF
Merupakan sebuah relasi dalam 1NF dan 2NF dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitive dependent pada primary key.
Langkah-langkah perubahan dari 2NF ke 3NF:
- Mengidentifikasi primary key dalam relasi 2NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

Kamis, 15 November 2012

QUERY LANGUAGE

*Query language 
      merupakan bahasa spesial yang dapat mengakses informasi atau perintah yang melibatkan data pada database.
Bahasa query dapat dikategorikan sebagai bahasa prosedural dan bahasa non prosedural.
>Bahasa prosedural merupakan suatu bahasa yang membuat suatu urutan instruksi. Misal : Aljabar Relasional
>Bahasa non prosedural merupakan suatu bahasa yang hanya mendeskripsikan informasi tanpa memberikan urutan informasi. Misal : Kalkulus relasional, dan Kalkulus relasional tupel.
*Aljabar relational 
           merupakan suatu bahasa query procedural yang memiliki satu atau dua masukkan dan menghasilkan sebuah keluaran dari operasi tersebut.
Ada dua operasi pada aljabar relasional yaitu :
>Operasi Dasar : Terdiri atas select, project, cross, union, intersection, subdifference, rename, cartesian product.
>Operasi Tambahan : Terdiri atas set intersection, tetha join, natural join division.
*Jenis-jenis operasi 
Unary    : merupakan suatu operasi yang hanya digunakan pada suatu relasi 
Binary   : merupakan suatu operasi yang memerlukan sepasang relasi.
*Selection
Merupakan suatu operasi untuk menyeleksi tupel-eupel yang memenuhi suatu predikat.
*Projection
Merupakan suatu operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu.
 

Kamis, 01 November 2012

TRANSFORMASI MODEL DATA

Model Data Relational terdiri dari Varian Entitas dan Agegrasi

*VARIAN ENTITAS
Mempunyai 2 varian entitas yaitu: Entitas kuat dan Entitas lemah

 
**Entitas kuat
Merupakan himpunan entitas yang dilibatkan dalam ERD.
Entitas kuat tidak memiliki himpunan entitas yang lainnya.

 ** Entitas lemah
Merupakan suatu entity yang keberadaannya tergantung dari keberadaan entity yang lain.
Entitas lemah tidak memiliki atribut yang dapat berfungsi sebagai key attribute.

Contoh Entitas Kuat dan Lemah :

*AGREGASI
 Adalah sebuah himpunan relasi yang menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD. Dalam agregasi, relasi tidak hanya terbentuk dari entitas namun juga dari unsur relasi lain yang berhubungan.
Contoh Agregasi : 

*Relasi dengan derajat relasi 1-N yang menghubungkan 2 buah himpunan entitas, juga akan direpresentasikan dalam bentuk pencatuman atribut key dari himpunan entitas berderajat 1 ke tabel yang mewakili himpunan entitas berderajat N.
*Atribut key dari himpunan entitas berderajat 1 menjadi atribut tambahan bagi himpunan entitas berderajat N.
*Relasi dengan derajat relasi N-N yang menghubungkan 2 buah himpunan entitas, diwujudkan dalalm bentuk tabel khusus yang memiliki field (tapatnya foreign key) yang berasal dari key–key dari himpunan Entitas yang dihubungkan.

*IMPLEMENTASI HIMPUNAN ENTITAS LEMAH DAN SUB ENTITAS

Pengunaan himpunan Entitas Lemah dan Sub Entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagaimana himpunan entitas kuat. Yang membedakannya hanya jika humpunan Entitas Kuat sudah dapat langsung memjadi sebuah tabel utuh walaupun tanpa melihat relasinya dengan himpunan entitas lain.

 Maka himpunan entitas lemah hanya dapat ditransformasikan menjadi sebuah tabel dengan menyertakan atribut key dari hasil implementasi himpunan entitas lemah.

*Implementasi Himpunan Lemah

*Implementasi Himpunan Entitas Lemah dan Sub Entitas