RSS

DEPEDENCY DAN NORMALISASI




Ø  Functional Dependency
          Functional Dependency, menjelaskan relationship antar atribut-atribut dalam relasi.
          Misalkan, jika A dan B adalah atribut dari suatu relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A --> B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. ( A dan B masing-masing dapat terdiri atas satu atau lebih atribut)
          Direpresentasikan dalam diagram :
                                                                A à B
                B tergantung secara fungsional terhadap A
          Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut disebelah kiri anak panah.

 Ø  Pengertian normalisasi
          Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise.
          Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik.
          Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form  (2NF) dan third normal form (3NF), dan Boyce–Codd normal form (BCNF).
Data redundancy
          Kerangkapan data dapat menyebabkan anomali
Ø  Proses Normalisasi
          Suatu teknik formal untuk menganalisa relasi berdasarkan primary key atau candidate key-nya dan functional dependency antar atribut.
          Dilakukan dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.
          Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.





Ø  Update Anomalies
          Relasi yang mengandung informasi yang redundan dapat diakibatkan oleh  update anomalies.
          Beberapa tipe dari update anomalies, diantaranya           :
        Insertion
        Deletion
        Modification
Ø  Unnormalized Form (UNF)
          Merupakan suatu table yang berisikan satu atau lebih group/data yang berulang.
          Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi (Contoh : Form) kedalam format tabel dengan baris dan kolom.
Ø  First Normal Form (1NF)
          Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Ø  UNF ke 1NF
        Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized.
        Identifikasikan groups yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut.
        Hapus group yang berulang dengan cara               :
          Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table), atau dengan cara
          Menggantikan data yang ada dengan copy  dari kunci atribut yang sesungguhnya kedalam relasi terpisah.
          Contoh sederhana DreamHome lease. Seorang klien bernama John Kay menyewa properti di Glasgow yang dimiliki oleh Tina Murphy. Dalam kasus ini diasumsikan seorang klien dapat menyewa sebuah properti hanya satu kali dan tidak dapat menyewa lebih dari satu pada saat yang bersamaan.
                          Sample data yang digunakan diambil dari 2 kontrak dari 2 klien yang berbeda yaitu John Kay dan Aline Stewart yang diubah kedalam bentuk tabel sbb, disebut dengan



Ø  Proses:
          Tentukan atribut kunci untuk tabel unnormalized ClientRental , yaitu clientNo.
          Tentukan group/kelompok yang berulang untuk setiap clientNo, yaitu  :
        Group berulang =            (properyNo, pAddress, rentStart, rentFinish, rent,  ownerNo, oName)
          Untuk mengubah tabel unnormalized menjadi 1NF, maka harus ditetapkan terdapat 1 nilai untuk setiap kolom dan baris. Dapat dicapai dengan memindahkan group yang berulang.

Sehingga menghasilkan 1NF sbb       :

          Kemudian tentukan candidate key untuk relasi ClientRental dalam bentuk Composite Key yaitu (clienNo, propertyNo), (clientNo, rentStart), dan (propertyNo, rentFinish).
          Ketiga kombinasi tadi dibandingkan dan dipilih (clientNo, propertyNo) sebagai primary key.
          Sehingga relasi ClientRental didefinisikan :
        ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent, ownerNo, oName)
Ø  Second Normal Form (2NF)
          Berdasarkan pada konsep full functional dependency, mengindikasikan bahwa, jika A dan B merupakan atribut dari sebuah relasi,  B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A.
          2NF – merupakan sebuah relasi dalam  1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Ø  1NF ke 2 NF
          Identifikasikan primary key untuk relasi 1NF.
          Identifikasikan functional dependency dalam relasi.
          Jika terdapat partial  dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh:
          Direpresentasikan functional dependency (fd1 – fd6) untuk relasi:
          ClientRental dengan (clientNo, propertyNo) sebagai primary key.
          Walaupun ClientRental memiliki 3 candidate key, tetapi yang diperhatikan hanya keterkaitan terhadap primary key saja, karena menggunakan definisi dari 2 NF yang berhubungan hanya dengan primary key dari relasi yang bersangkutan.
          Sedangkan candidate key yang lain akan dipergunakan pada saat definisi umum untuk 2NF.


          fd1         clientNo, propertyNo à rentStart, rentFinish                     (Primary Key)
          fd2         clientNo à cName                                                                          (Partial Dependency)
          fd3         propertyNo à pAddress, rent, ownerNo, oName            (Partial Dependency)
          fd4         ownerNo à oName                                                                       (Transitive Dependency)
          fd5         clientNo, rentStart à propertyNo, pAdrress,
          rentFinish, rent, ownerNo, oName                                          (Candidate Key)
fd6 properyNo, rentStart à clientNo, cName, rentFinish      (Candidate Key)




Ø  Proses:
          Pada saat identifikasi functional dependency yang ada, dimulai dengan memeriksa apakah terdapat partial dependency terhadap primary key. Atribut (cName) partially dependent  pada primary key, yaitu hanya atribut clientNo (fd2), atribut (pAddress, rent, ownerNo, oName) partially dependent pada primary key, yaitu hanya atribut propertyNo (fd3), atribut (rentStart dan rentFinish) fully dependent  pada seluruh primary key, yaitu clientNo dan propertyNo (fd1).
          Identifikasi partial dependency pada relasi ClientRental mengindikasikan bahwa relasi tersebut tidak termasuk dalam 2NF. Untuk mengubah relasi ClientRental kedalam 2NF diperlukan pembuatan relasi baru dimana seluruh atribut non-primary-key dihapus/digantikan dengan  atribut yang fully dependen.
Ø  bentuk 2NF menjadi

Ø  Hasil 2NF
          Karena setiap atribut non-primary-key bersifat fully dependent pada primary key dalam relasi, maka relasi-relasi diatas mempunyai bentuk           :
        Client                    (clientNo, cName)
        Rental                   (clientNo, propertyNo, rentStart,                                             rentFinish)
        PropertyOwner                (propertyNo, pAddress, rent, ownerNo, oName)



Ø  Third Normal Form (3NF)
          Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika  A à B dan B à C, maka C transitively dependent pada  A melalui  B.  (menegaskan bahwa A tidak functionally dependent pada  B atau C).
          3NF – Adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada  primary key.
Ø  2NF ke 3NF :
          Identifikasikan primary key dalam relasi  2NF.
          Identifikasikan functional dependency dalam relasi.
          Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh:
          Functional dependency yang ada dalam relasi Client, Rental dan PropertyOwner, yang dihasilkan dari contoh sebelumnya, sbb             :

Ø  Deskripsi::
          Seluruh atribut non-primary key yang terdapat pada relasi client dan Rental bersifat functionally dependent pada masing-masing primary key-nya dan tidak memiliki transitive dependency yang dibutuhkan dalam 3NF.
          fd yang diberi label tanda kutip (fd5’ dan fd6’) menandakan bahwa dependency yang terdapat didalamnya telah dibandingkan sebelumnya (bandingkan dgn fd1).
          Seluruh non-primary-key pada relasi PropertyOwner bersifat functionally dependen pada primary key-nya, terkecuali oName yang juga dependent pada ownerNo.
          Transitive dependency adalah jika suatu atribut dependent pada satu atau lebih non-primary-key.
          Untuk merubah relasi PropertyOwner kedalam bentuk 3NF, harus menghilangkan  transitive dependencies dengan membuat 2 relasi baru yaitu PropertyForRent dan Owner.
          Sehingga relasi yang baru tersebut mempunyai bentuk sbb         :
PropertyForRent      (propertyNo, pAddress, rent, ownerNo)
Owner(ownerNo, oName)





Ø  Definisi umum 2NF dan 3NF
Ø  Second normal form (2NF)
          Suatu relasi yang ada dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada candidate key.

Ø  Third normal form (3NF)
          Suatu relasi yang ada dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada candidate key.
Langkah-langkah Normalisasi:







   QUERY LANGUAGE
 
PENGERTIAN QUERY LANGUAGE

-Query adalah merupakan bahasa untuk melakukan manipulasi terhadap database, yang telah distandarkan dan lebih dikenal dengan nama Structured Query Language (SQL)
-Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.
 
Bahasa query dapat dikategorikan sebagai bahasa prosedural & bahasa non-prosedural
  • Bahasa procedural merupakan suatu bahasa yang membuat suatu urutan instruksi. Yang termasuk dalam bahasa procedural adalah aljabar relasional
  • Bahasa non-prosedural  merupakan suatu bahsa yang hanya mendeskripsikan informasi tanpa memberikan urutan informasi. Yang termasuk dalam bahasa non-prosedural adalah kalkulus relasional, dan kalkulus relasional tupel.


ALJABAR RELASIONAL

Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, dan cartesian product.
Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection, natural join, division dan theta join.
Ada dua operasi pada aljabar relasional yaitu operasi dasar dan operasi tambahan 
  • 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  : suatu operasi yang hanya digunakan pada suatu relasi
  • Binary  : suatu operasi yang memerlukan sepasang relasi

SELECTION
Selection merupakan suatu operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat.
PROJECTION
Projection merupakan sebuah operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu.

TRANSFORMASI MODEL DATA




Pertama dimulai dari model data Relational lanjut yang mempuyai dua jenis yaitu:
 
-Varian entitas yang terbagi juga antara Entitas Kuat dan Entitas Lemah  
  • Entitas kuat : *entitas tidak tergantung dari keberadaan entity lain
  • Entitas lemah: *entitas tergantung dari keberadaan entity lain dan tidak mempunyai atribut key
-Agrerasi
sekarang kita bahas tentang pengertian Entitas Kuat yaitu:
*Himpunan entitas yang dilibatkan dalam ERD merupakan entitas kuat
*Tidak memiliki ketergantungan dengan himpunan entitas lainnya
sedangkan Entitas Lemah adalah suatu entity yang mana keberadaannya tergantung dari keberadaan entity lain dan tidak memiliki atribut yang dapat berfungsi sebagai key attribute

Lanjut pada pengertian Agrerasi yang berarti:
*Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD
*Secara kronologi mensyaratkan telah adanya relasi lain
*Relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur relasi lain.

Masuk pembahasan inti materi kali ini yaitu Transformasi Model Data ke Basis Data Fisik
 
-Setiap himpunan entitas dijadikan tabel
- ERD direpresentasikan menjadi sebuah basis data secara fisik
- Komponen ERD (Himpunan entitas dan relasi) ditransformasikan menjadi tabel yang merupakan  komponen utama pembentuk basis data
-Atribut yang melekat pada masing-masing himpunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai
kemudian tentang implementasi Himpunan Entitas Lemah dan Sub Entitas seperti dibawah ini:
-Penggunaan himpunan entitas lemah dan Sub Entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagai mana himpunan entitas kuat
-Bedanya jika himpunan entitas kuat sudah dapat langsung menjadi sebuah tabel utuh/sempurna walaupun tanpa melihat elasinya dengan himpunan entitas lain.

TUGAS ERD



TUUUUUGGGGAAAAAAASSS!!!!!
Model Data Relasional
Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti relational algebra, dan relational calculus. Salah seorang pencetus awal dari basis data relasional adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika relasional terhadap model data relasional.

Pada prinsipnya model data relasional dapat di-representasikan dalam bentuk table (tabel) data, dimana:
satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya memiliki satu tipe record saja, setiap record adalah baris
setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom
jumlah tuple / field pada setiap record sama
setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk mengenali satu record.
RELATIONAL MODEL DATA TERMS

· RELASI
Dalam model relasional, relasi dapat direpresentasikan dengan sebuahtable sebagai struktur penyimpanan yang terdiri atas satu atau lebih kolom (column) dan baris (row).
· ATTRIBUT
Attribut merupakan kolom pada sebuah relasi yang melukiskan jenis data pada tabel; sebagai contoh atribut adalah NPM, Nama, dan Alamat pada tabel Mahasiswa. Kolom digambarkan dengan nama kolom dan tipe databeserta panjang data tertentu
· TUPPLE
Tupple adalah baris pada sebuah relasi (record) yang merupakan kombinasi dari nilai-nilai kolom dalam tabel; sebagai contoh, informasi tentang suatu departemen pada tabel Departmen.
· DOMAIN
Domain yaitu kumpulan nilai yang valid untuk satu atau lebih atribut yang terdapat dalam tabel relasi.
· DEGREE
Degree disebut juga derajat, dapat diartikan jumlah atribut dalam sebuah relasi (jumlah field)
· CARDINALITY
Jumlah tupel atau record dalam sebuah relasi.

BASIS DATA RELATIONAL

Database Relational bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.
Basis data relasional memiliki fungsi-fungsi kegunaan sebagai berikut:
Mengatur penyimpanan data
Mengontrol akses terhadap data
Mendukung proses menampilkan dan memanipulasi data
Istilah-istilah alternatif:
ER MODEL
RELATIONAL MODEL
DATABASE
TRADITIONAL PROGRAMER
entity
relation
table
File
Entity instance
tuple
row
Record
attribute
attribute
column
Field
identifier
key
key
Key(link)

RELATIONAL KEY

· Super key
Satu atau beberapa atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih guna membedakan antara 1 record dengan record lainnya).

· Candidate key
Atribut di dalam relasi yang biasanya mempunyai nilai unik  (super key dengan jumlah field yang paling sedikit)

· Primary key
Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi

· Alternate key
Candidate key yang tidak dipilih sebagai primary key

· Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa.

RELATIONAL INTEGRITY RULES

1.       Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut

2.       Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.

3.       Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.



KEUNTUNGAN DAN KELEBIHAN MODEL DATA RELATIONAL

· Keuntungan lain menggunakan model data relasional:
1. Model data rasional lebih luas. Nilai data dalam tabel tidak ada pembatasan dalam berbagai proses pencarian data.
2. Model data relasional memiliki latar belakang teori matematik. Hal ini akan memudahkan dalam pembentukan hubungan matematis sebagai dasar dalam prosedur pemrosesan data disamping pemrograman komputer.
3. Pengorganisasian model relasional mudah dipahami sangat sederhana.
4. Basis data yang sama biasanya dapat tampilkan lebih sedikit terjadi data
· Sedangkan kelemahannya adalah :
1. Lebih sulit dalam implementasinya terutama untuk data dala,m jumlah besar dan tingkat kompleksitasnya tinggi.
2. Proses pencarian informasinya lebih lambat.
Latihan 1 
 
Relation Key :

Entitas Account
Candidat Key : Account_number, balance
Primary Key : account_number
Alternate Key : balance
Foreign Key : -

Entitas Branch
Candidat Key : branch-name, branch-city, assets
Primary Key : branch-name
Alternate Key : branch-city, assets


Entitas Customer
Candidat Key : customer-name, customer-street, customer-city
Primary Key : customer-name
Alternate Key : customer-street, customer-city

Entitas Loan
Candidat Key : loan-number, amount
Primary Key : loan-numbe
Alternate Key : amount

Latihan 2
1.Tabel siswa,mapel,guru
Tabel Siswa



NIS
NAMA
ALAMAT
JENIS KELAMIN
5302411123
Baiti Kharisma Sari
Pekalongan
Perempuan
5302411037
Historiyani Hakiki
Purwodadi
Perempuan
5302411020
Yahyati Aulia
Purbalingga
Perempuan
5302411150
Aprilia Nur Faradina
Purwokerto
Perempuan
5302402069
Romadhon Hafid W.P
Jombang
Laki-Laki

Tabel Mapel
Kode mapel
Nama mapel
Nama Pengajar
MD0073
Matematika
Hafid Wijanarko
MD4597
Penjaskes
Syarifudin
MD3247
TIK
Badilhaq Emir
MD9811
B.indonesia
Any Nur Baya
MD7658
Fisika
Sari Kharisma

Tabel Guru
NIP
Nama Pengajar
Alamat
CP
13476897
Hafid Wijanarko
RiaU
856777258
17111275
Syarifudin
Palembang
876589540
15487990
Badilhaq Emir
Semarang
856738907
13264874
Any Nur Baya
Banten
879065777
18723996
Sari Kharisma
Riau
890786443



Tabel Nilai
NIS
Nama mapel
UTS
UAS
5302411123
Matematika
99
80
5302411150
Penjaskes
80
79
5302411020
TIK
81
88
5302411037
B.Indonesia
85
70
5302402069
Fisika
80
99



 3.       Atribut Kunci
Entity
Atribut
Siswa
NIS,Nama_siswa,alamat,jenis kelamin
Pelajaran
Kode mapel,Nama mapel,Nama pengajar
Guru
NIP,Nama pengajar,alamat,CP

Entity
Atribut
Siswa
NIS
Pelajaran
Kode_mapel
Guru
NIP
  
4.ERD






Copyright 2009 kuliah yuk yak yuk. All rights reserved.
Bread Machine Reviews | watch free movies online by Blogger Templates