Sabtu, 24 November 2012

Basis Data Part7 (Dependency and Nomalisasi)

  • Functional Dependency(Ketergantungan funsional)  
=> merupakan suatu gambaran relational ataupun hubungan yang saling berkaitan antar atribut dalam suatu relasi.
notasi : A -> B
ket : A dan B merupakan atribut dari suatu tabel.

Functional Depedency dari tabel nilai :
1. NIM -> NamaMhs
    ket : untuk setiap NIM yang memiliki nilai yang sama maka nilai NamaMhs juga sama. jadi bisa dikatakan bahwa NIM=NamaMhs.

2. (MataKuliah, NIM) -> NilaiHuruf
    atribut NilaiHuruf  merupakan sebuah atribut yang mengikuti atribut MataKuliah dan NIM secara bersama-sama, dengan kata lain atrbut ini tergantung pada kedua atribut diatas yaitu MataKuliah dan NIM karena kedua atribut ini merupakan kuncinya(key).

macam-macam Dependency
1. Full Functional Dependency (ketergantungan penuh)
    yaitu merupakan suatu gabungan relasi A dan B dalam satu kesatuan.
contoh : NIM -> NilaiUTS (artinya NilaiUTS tergantung pada atribut NIM)

2. Partially Functional Dependency (ketergantungan parsial)
    contoh : (NIM,NamaMhs) -> NilaiUTS
ket : NilaiUTS tergantung pada NIM dan NamaMhs, akan tetapi pada ketergantungan parsial ini antara NIM dengan NamaMhs dapat di hilangkan salah satunya, bisa di pilih salah satu yang akan di jadikan keywordnya.

3. Transitve Functional Dependency
     yaitu merupakan salah satu functional dependency yang memliliki hubunan yang saling berkaitan antara relasi A,B dan C.
notasi : A->B dan B->C, sehingga untuk menghubunkan A dan C dibutuhkan atribut B.
contoh : Id_Pelanggan –> {Nama, Salesman, Area}
              Salesman –> Area

  • Normalisasi
merupakan sebuah caraatau teknik untuk menghasilkan sekumpulan relasi berdasarkan sifat-sifat yang diininkan.
ada beberapa langkah untuk normalisasi, antara lain :
1. 1NF
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Cara untuk 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 atribut 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.

Rabu, 14 November 2012

Basis Data Part6 (Query Language)

STRUCTURED QUERY LANGUAGE
Query Language atau yang lebih dikenal dengan nama SQL merupakan suatu bahasa yang digunakan untuk membuat sebuah database.
dalam SQL terdapat 2 jenis perintah, yaitu sebagai berikut :
1.  Data Devinition Language (DDL) yaitu merupakan suatu perintah SQL untuk mendefinisikan suatu struktur database. misalnya perintah
  • create => merupakan perintah dasar dalam pembuatan tabel
  • alter => merupakan suatu perintah untuk mengubah tabel
  • rename => digunakan untuk mengubah nama tabel
  • drop => digunakan untuk menghapus tabel
2. Data Manipulasi Language (DML) yaitu merupakan suatu perintah SQL yang digunakan untuk memanipulasi suatu pengolahan data dalam tabel. perintahnya antara lain : 
  • select => digunakan untuk memanggil data dalam sebuah tabel
  • insert => digunakan untuk memasukkan data kedalam abel
  • update => digunakan untuk mengubah nama dalam tabel
  • delete => untuk menghapus data dalam tabel
beberapa kelebihan SQL :
  1. dapat digunakan di server sehingga pengguna dapat menggunakannya di server
  2. aplikasinya mudah dimengerti oleh pengguna
  3. dapat di deain khususuntuk database oracle
prosedural language
yaitu user menginstruksikan pada sistem agar membentuk serangkaian operasi dalam mendapatkan informasi yang di inginkan.

Nonprosedural Language
yaitu user menginstruksikan informasi tanpa memberikan prosedur dalam memperoleh informasi yang diinginkan.

operasi yang dilakukan yaitu :
a. operasi unary yaitu merupakan suatu operasi yang dilakukan pada suatu relasi tertentu saja.
b. operasi binary yaitu suatu operasi yang memerlukan pasangan relasi

Projection
yaitu suatu operasi yang digunakan untuk memperoleh kolom tertentu dengan cara menyeleksi atribut dalam suatu relasi.

Selection
selection digunakan untuk membentuk sebuah relasi bbaru dengan cara memilih/menyeleksi record atribut dari suatu relasi

Basis Data Part5 (Transformasi Model Data)


Transformasi Dasar

  • merupakan relasi 1-1 yang menghubungkan 2 himpunan entitas yang dinyatakan dalam bentuk penambahan atribut-atribut relasi ke tabel yang mewakili salah satu dari dua himpunan entitas tersebut.
  • merupakan relasi dengan derajat relasi 1-N yang menggabungkan 2 himpunan yang akan direpresentasikan dalam pemberian atribut key dari himpunan entitas berderajat 1 ke tabel yang berderajat N. Atribut key dari himpunan entitas berderajat 1 dapat menjadi sebuah atribut tambahan bagi himpunan entitas berderajat N.
Agregasi
  • memberi gambaran tentang suatu himpunan relasi secara langsung yang akan menghubungkan suatu himpunan entitas dengan himpunan relasi
  • mensyaratkan adanya relasi lain
  • relasi terbentuk tidak karena adanya satu entitas saja tetapi karena adanya entitas lain.
Implementasi Himpunan Entitas Lemah dan Sub Entitas
  • diimplementasikan dalam bentuk tabel seperti himpunan entitas kuat
  • entitas kuat dapat langsung menjadikan sebuah tabel yang utuh tanpa melihat relasinya dengan entitas yang lain, sedangkan himpunan entitas lemah hanya dapat ditransformasikan menjadi sebuah tabel yang menyertakan atribut key-nya dari hasil implementasinya.
Entitas Kuat
entitas kuat merupakan suatu himpunan entitas yang dilibatkan dalam ERD, entitas ini tidak memiliki ketergantungan  dengan himpunan entitas lainnya.

Entitas Lemah
entitas lemah yaitu merupakan suatu entitas yang keberadaannya tergantung pada entitas lain. entitas ini tidak memiliki atribut kunci(key attribute).

Selasa, 02 Oktober 2012

Basis Data Part4 (Model Data Relational)

Pada suatu basis data, Model Data Relational yaitu merupakan kumpulan tabel yang memiliki dua dimensi dengan masing-masing relasi tersusun atas tuple dan atribut.

>> tabel
 merupakan suatu model data yang meletakkan data dalam bentuk relasi. masing-masing tabel memiliki struktur yang hampir sama dengan ER database.

>>Istilah-istilah pada Relational Data Model Terms, yaitu :
  1. relasi => merupakan sebuah tabel yang terdiri dari kolom dan baris
  2. attribute => kolom yang ada pada suatu relasi.
  3. tuple => kumpulan suatu elemen baris yang saling berkaitan, digunakan untuk memberikan informasi yang berhubungan dengan entitas secara lengkap.
  4. domain => semua kemungkinan nilai yang dapat di berikan kepada attribute.
  5. degree => merupakan jumlah atribut dalam relasi.
  6. cardinality => merupakan jumlah tuple dalam relasi.
>>  Relasi
relasi menunjukkan adanya suatu hubungan antara entitas yang berbeda. setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut.

>> kunci attribute dari Relasi
  1. Candidate Key => yaitu attribute yang digunakan untuk membedakan antara baris satu dengan lainnya.
  2. Primary Key => digunakan untuk mengidentifikasi tuple yang unik pada relasi
  3. Alternate Key => candidate key yang tidak menjadi primary key.
  4. Foreign Key => yaitu suatu attribute yang merujuk ke primary key relasi lain.
>> Batasan-Batasan Integritas
yaitu suatu batasan yang diberikan kepada suatu relasi yang ditetapkan pada saan schema didefinisikan.

>> Relational Integrity Rules
  1. Null => merupakan nilai pada suatu attribut yang tidak diketahui. konstanta pada null digunakan untuk mengisi attribute yang nilainya belum siap.
  2. Entity Integrity => tidak ada komponen primary yang bernilai null.
  3. Referential Integrity => garis yang menghubungkan tabel satu dengan yang lainnya.


1.      Entitas Account
Candidat key   : account_number dan balance
Primary Key    : account_number
Alternate Key  : balance

2.      Entitas Customer
Candidat Key  : customer_name, customer_city,customer _street
Primary Key    : customer_name
Alternate Key  : customer_city,customer_street

3.      Entitas Branch
Candidat key   :branch_name,branch_city,assets
 Primay Key      : branch_name
Alternate key  :branch_city,assets

4.      Entitas loan
Candidat Key   : loan_number,amount
 Primary Key    : loan_number
Alternate Key  : amount


Latihan 2
     Buat tabel-tabel dan keterhubungannya :
Siswa, Pelajaran, Guru dengan minimal masing-masing tabel mempunyai 5 record/tuple/baris.


tabel siswa

NIM
Nama_mahasiswa
Tanggal_lahir
Jenis_kelamin
5302411034
Nina Riani
17-12-1995
perempuan
5302411001
Mei Rizqiana
12-05-1993
perempuan
5302411002
Fipin
10-10-1992
perempuan
5302411026
Sigit Purnomo
09-10-1992
Laki-laki
5302411042
Indra perdana
13-04-1993
Laki-laki

tabel pelajaran
                                        
Kd_mk
Nama_makul
Dosen_pengampu
Alamat_dosen
MDU001
Matematika
Tika
Jl.Bahagia
MDK003
Pend. Pancasila
Vida
Jl.Harapan
MDK005
Bahasa Indonesia
Sava
Jl.Sosial
MDK007
Bahasa Inggris
Tati
Jl.Mangkang
MDU004
Kimia
Dika
Jl.Sejahtera

tabel guru

NIP
Nama_dosen
No.telp
Alamat_dosen
300786995
Tika
081789374892
Jl.Bahagia
300786983
Vida
089677838999
Jl.Harapan
300786988
Sava
092828329299
Jl.Sosial
300786909
Tati
738292001099
Jl.Mangkang
300786912
Dika
673892302800
Jl.Sejahtera

    
tabel keterhubungan :
NIM
Kd_mk
UTS
NILAI AKHIR
5302411034
MDU001
76
90
5302411001
MDK003
79
79
5302411002
MDK005
90
93
5302411026
MDK007
85
95
5302411042
MDU004
90
79

atribut yang ada :
Atribut key
Siswa : NIM,Nama_mahasiswa,Tanggal_lahir,jenis_kelamin
Pelajaran : Kd_mk,Nama_makul,Dosen_pengampu,Alamat_dosen
Guru : NIP,Nama_dosen,No_telp,Alamat_dosen

Primary key
Siswa : NIM
Pelajaran : Kd_mk
Guru : NIP

ERD