my creation

ketika koding adalah takdir

Pages

Monday, November 26, 2012

dependensi-normalisasi


 
DEPENDENCY

Dependency secara harfiah jika diartikan adalah ketergantungan, sedangkan normalisasi adalah menormalkan.

Macam Dependency
  • Ketergantungan Fungsional (Functional Dependent)
Suatu bentuk ketergantungan yang menggambarkan hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi. Dimana atribut tersebut dapat menentukan atribut lain.

Notasi :  A -> B
Dimana artinya : attribute A secara fungsional menetukan attribute B

Contoh nyata :
NIM -> Nama MHS 
: attribute NIM  menentukan attribute Nama MHS, dimana setiap NIM yang sama juga akan menentukan nama yang sama pula, satu NIM satu Nama MHS.

  • Ketergantungan Penuh (Full Dependency)
Suatu bentuk ketergantungan yang menunjukkan suatu ketergantungan penuh dari relasi A dan B dimana :
ü  B bergantung penuh pada A
ü  B bukan depedensi dari subset A
ü  Suatu ketergantungan hanya mengacu pada satu attribute saja
Contoh :
NIM
Nama
IPk
idRuang
5302411051
Santi H
3.6
302
5302411052
Dino K
3.12
609
5302411053
Wafa F
3.34
110

NIM -> idRuang, merupakan Full Dependency karena idRuang dapat ditentukan hanya dengan menyebutkan NIM
  • Ketergatungan Parsial (Partially Dependency)
Suatu bentuk ketergantungan dimana  A memiliki kombinasi subset-subset dan ketika salah satunya dihilangkan, maka ketergantungan masih tetap dipertahankan.
NIM
Nama
IPk
idRuang
5302411051
Santi H
3.6
302
5302411052
Dino K
3.12
609
5302411053
Wafa F
3.34
110


Contoh :
NIM,nama -> idRuang
dimana jika nama dihilangkan maka ketergantunga antara dua attribute tertap ada.
·         Ketergantungan Transitif (Transitive Dependency)
Suatu bentuk kondisi ketergantungan dimana  A,B,C adalah attribute sebuah relasi, dengan ketentuan Aà B dan BàC.
C kemudian dikatakan sebagai transitif D terhadap A melalui B.

Contoh :
NIP
Nama
Jabatan
Gaji/jt
KdCab
AlmtCab
001
Agus Dwi
QC
3,5
012
Semarang
002
Bambang B
CS
1,2
123
Jogjakarta
003
Rahmawati
SV
4,0
034
Surabaya

NIP ->  {Nama, Jabatan, Gaji, KdCab, AlmtCab}
kdCab ->   AlmtCab
artinya : alamat cabang ditentukan oleh NIP melalui kdCab

NORMALISASI

Normalisasi merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity dapat dihilangkan.
Normalisasi digunakan untuk :
  • Mengoptimalisasi struktur-struktur tabel
  • Meningkatkan kecepatan
  • Menghilangkan pemasukan data yang sama
  • Lebih efisien dalam penggunaan media penyimpanan
  • Mengurangi redudansi
  •  Menghindari anomaly
  • Peningkatan integritas data

Langkah-langkah Normalisasi
  1. Bentuk tidak normal
  2. 1NF : Menghilangkan attribute bernilai ganda
  3. 2 NF : Menghilangkan depedensi parsial
  4. 3NF : Menghilangkan depedensi transitif
  5. BCNF : Menghilangkan ketergantungan yang penentunya bukan kunci kandidat
  6. 4NF : Mengilangkan lebih dari 1 depedensi yang bernilai ganda
  7. 5NF : Mengatasi depedensi ganda

Tuesday, November 13, 2012

Query Language

Query Language 
(Bahasa yang meminta perintah dengan melibatkan data)

Relational Queries Language (RQL) :
ERD --> Model data Relational --> Query language

Relational Queries Language  diawali dengan pembuatan ERD yang kemudian diubah menjadi model data relational berupa table informasi terbatas kemudian diterjemahkan ke Query Language.

Bahasa Query Language
  • Bahasa Prosedural
Bahasa yang identik dengan aljabar  relational, berupa operasi dasar seperti select* dan beberapa operasi tambahan.
  • Bahasa non Prosedural
Bahasa yang identik dengan kalkulus relational, yaitu mendeskripsikan informasi tanpa memberi instruksi.


Query Unary
Yaitu query selection yang digunakan pada relasi binary,

Contoh1 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’   v   tempat_lahir=’bogor’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta atau bogor.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’

Contoh2 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’  ^  jenis_kelamin=’pria’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta dan berjenis kelamin pria.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’ and jenis_kelamin=’pria’
Dalam contoh diatas terdapat tanda “v”, dan ada juga tanda “^” , perbedaan kedua tanda tersebut adalah :

^ = berarti mengharuskan
v = bisa dipilih salah satu