Jumat, 23 November 2012

Dependensi Video Pengajaran


Sabtu, 17 November 2012

Pengertian Basis Data



1.1. Basis Data
Basis data dan teknologinya telah memainkan peran penting seiring dengan pertumbuhan penggunaan komputer. Basis data telah digunakan pada hampir seluruh area dimana komputer digunakan, termasuk bisnis, teknik, kesehatan, hukum, pendidikan dan sebagainya.
Kata basis data dapat didefinisikan sebagai kumpulan data yang saling berhubungan. Sedangkan kata data dapat didefinisikan sebagai fakta yang direkam atau dicatat. Sebagai contoh adalah nama, nomor telepon, dan alamat dari orang-orang yang anda kenal. Anda mungkin telah merekam data ini pada buku alamat, atau anda dapat menyimpannya dalam disket, menggunakan komputer personal dan perangkat lunak.

1.1.1. Konsep Basis Data Relasional
Prinsip model relasional (relational model) pertama kali diperkenalkan oleh Dr. E.F Codd, pada bulan Juni 1970 dalam sebuah tulisannya yang berjudul “A Relational Model of Data for Large Shared Data Banks.” Dalam tulisan tersebut, Dr. Codd menjelaskan tentang model relasional untuk sistem basis data.
Model-model yang lebih populer digunakan pada saat itu adalah hierarchical dan network, atau bahkan simple flat file data stuctures. Relational Database Management Systems (RDBMS) segera menjadi sangat populer, terutama karena kemudahan penggunaannya dan fleksibilitas struktur datanya.
Selanjutnya, banyak vendor bermunculan untuk mendukung sistem ini diantaranya Oracle, dimana mendukung RDBMS dengan paket untuk keperluan membangun aplikasi dan produk-produk siap pakai, sebagai total solusi bagi keperluan pengembangan teknologi informasi.

1.1.2. Konsep Model Relasional
Konsep basis data model relasional memiliki beberapa definisi penting sebagai berikut:
  • Kumpulan objek atau relasi untuk menyimpan data
  • Kumpulan dari operator yang melakukan suatu aksi terhadap suatu relasi untuk menghasilkan relasi-relasi lain
  • Basis data relasional harus mendukung integritas data sehingga data tersebut harus akurat dan konsisten
1.1.3. Fungsi-fungsi Basis Data Relasional
Basis data relasional memiliki fungsi-fungsi kegunaan sebagai berikut:
  • Mengatur penyimpanan data
  • Mengontrol akses terhadap data
  • Mendukung proses menampilkan dan memanipulasi data
1.1.4. Istilah-istilah Basis Data Relasional
Beberapa istilah yang perlu kita pahami mengenai basis data relasional antara lain:
  • Tabel : Merupakan struktur penyimpanan dasar dari basis data relasional, terdiri dari satu atau lebih kolom (column) dan nol atau lebih baris (row).
  • Row (baris) : Baris merupakan kombinasi dari nilai-nilai kolom dalam tabel; sebagai contoh, informasi tentang suatu departemen pada tabel Departmen. Baris seringkali disebut dengan “record”.
  • Column (kolom) : Kolom menggambarkan jenis data pada tabel; sebagai contoh, nama departemen dalam tabel Departmen. Kolom di definisikan dengan nama kolom dan tipe data beserta panjang data tertentu.
  • Field : Field merupakan pertemuan antara baris dan kolom. Sebuah field dapat berisi data. Jika pada suatu field tidak terdapat data, maka field tersebut dikatakan memiliki nilai “null”.
  • Primary key : Primary key atau kunci utama merupakan kolom atau kumpulan kolom yang secara unik membedakan antara baris yang satu dengan lainnya; sebagai contoh adalah kode departemen. Kolom dengan kategori ini tidak boleh mengandung nilai “null”, dan nilainya harus unique (berbeda antara baris satu dengan lainnya).
  • Foreign key : Foreign key atau kunci tamu merupakan kolom atau kumpulan kolom yang mengacu ke primary key pada tabel yang sama atau tabel lain. Foreign key ini dibuat untuk memaksakan aturan-aturan relasi pada basis data. Nilai data dari foreign key harus sesuai dengan nilai data pada kolom dari tabel yang diacunya atau bernilai “null”.

Materi-Materi Dependensi ( Ketergantungan )


Merupakan konsep dasar normalisasi yang menjelaskan hubungan antar atribut, atau lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Fungsinya menjadi acuan dekomposisi data ke dalam bentuk yang lebih efisien.
Macamnya:
1. Dependensi fungsional
2. Dependensi fungsional penuh
3. Dependensi total
4. Dependensi Transitif

1.      Dependensi fungsional
Ketergantungan Fungsional (functional dependency) sering disingkat dengan KF, dapat dijelaskan dengan.
Jika sebua tabel T berisi minimal 2 buah atribut,yaitu A dan B, maka dapat dinyatakan dengan notasi;
A ==> B
Yang berarti, A secara fungsional menentukan B atau B secara fungsional bergantung A, jika dan hanya jika setiap kumpulan baris data (row) yang ada di tabel T, pasti ada dua baris data di tabel T dengan nilai A yang sama, maka nilai untuk B pasti juga sama.
Definisi secara formal untuk notasi diatas adalah;
Diberikan 2 baris data (row) R1 dan R2 dalam tabel T dimana A ==> B, jika R1(A)=R2(A), maka R1(B)=R2(B).
Contoh pada tabel Nilai terdapat data sebagai berikut:
 
Maka KF yang dapat diajukan berdasarkan intuisi dan fakta adalah :
a. NIM ==> NAMA_MHS
Yang berarti atribut NAMA_MHS hanya bergantung pada atribut NIM. Hal ini dapat ditunjukkan dengan fakta bahwa untuk setiap NIM yang sama maka pasti NAMA_MHS nya juga sama.
b. {Mata_Kuliah, NIM} ==> NILAI
Yang berarti bahwa atribut NILAI bergantung pada atribut Mata_Kuliah dan NIM secara bersama-sama. Fakta menunjukkan hanya mahasiswa (diwakilin dengan NIM) tertentu saja yang memiliki indeks nilai, karena memang sudah mengambil mata kuliah, maka untuk setiap Nama_Kuliah dan NIM yang samam maka NILAI nya juga sama karena (Nama_Kuliah, NIM) merupakan Keym (sehingga bersifat unik) untuk tabel tersebut.
Tanda { } biasa digunakan jika ada lebih dari satu atribut, baik sebelah kiri panah maupun sebelah kanannya.
Jadi secara ringkas dapat dijelaskan sebagai berikut;
Suatu atribut Y bergantung fungsi terhadap X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y
Notasi: X ==> Y
Bagian di kiri panah sering disebut determinan (penentu), dan sebelah kanan disebut dependen (tergantung).
Contoh yang lain :
                        { PEMBELI, BARANG } ==> JUMLAH
                        { PEMBELI, BARANG } ==> KOTA
                        { PEMBELI, BARANG } ==> { JUMLAH, KOTA }
Catatan : Bagian yang terletak di sebelah kiri panah biasa disebut penentu (determinan) dan bagian yang  yang terletak di sebelah kanan panah disebut yang tergantung (dependen). Tanda { } biasa digunakan kalau ada lebih dari satu atribut, baik pada penentu maupun yang tergantung.

1.      Dependensi Fungsional Penuh
Definisi dari dependensi fungsional penuh adalah Suatu atribut Y mempunyai dependensi fungsional penuh terhadap atribut X jika :
Y mempunyai dependensi fungsional terhadap X,
Y tidak memiliki dependensi terhadap bagian dari X
Contoh pada tabel Pelanggan dengan dengan atribut sebgai berikut :
Pelanggan (Kode_PLG, Nama, Kota, No_FAX)
Maka Dependensi fungsional penuh dapat dijelaskan sebagai berikut;
1. {Kode_PLG, Kota} ==> No_FAX
2. Kode_PLG ==> No_FAX
Kondisi 1: No_FAX bergantung pada {Kode_PLG, Kota} dan juga pada
Kondisi 2: bergantung pada Kode_PLG, yang merupakan bagian dari kondisi 1, maka No_FAX tidak mempunyai dependensi fungsional sepenuhnya terhadap {Kode_PLG, Kota}. Dengan kata lain, No_FAX hanya mempunyai dependensi penuh terhadap Kode_PLG.
Dari beberapa literatur mengatakan bahwa dependensi fungsional penuh merupakan dependensi fungsional yang tidak dapat dibagi lagi (irreducible dependent).
Catatan : Berkaitan dengan hal ini terdapat istilah irreducible dependent atau dependensi yang tak dapat dibagi lagi. Istilah ini identik dengan dependensi fungsional sepenuhnya (full functional dependent) atau terkadang hanya disebut dependensi sepenuhnya (fully dependent).
2.      Dependensi Total
Definisi dari dependensi fungsional total adalah Suatu atribut Y mempunyai dependensi Total terhadap atribut X jika;
Y mempunyai dependensi fungsional terhadap X,
X tidak memiliki dependensi terhadap bagian dari Y
Dinyatakan dengan                      
Notasi: X ↔ Y

Contoh pada tabel Mahasiswa :



Maka dependensi totalnya adalah
NIM NAMA_MHS
Dengan asumsi tidak ada nilai data pada NAMA_MHS yang sama.

1.      Dependensi Transitif
Definisi dari dependensi Transitif adalah Suatu atribut Z mempunyai dependensi transitif terhadap atribut X jika;
Y mempunyai dependensi fungsional terhasap X,
Z juga mempunyai dependensi fungsional terhasap Y
Contoh :
a.       Tabel Jadwal

Maka dependensi transitifnya adalah
Kuliah ==> {RUANG, WAKTU}
RUANG ==> GEDUNG
Maka terlihat Kuliah à RUANGà GEDUNG, dengan demikian atribut GEDUNG memiliki dependensi transitif terhadap atribut Kuliah.


Normalization dengan Functional Dependency
Suatu basis data dikategorikan baik (efisien) atau normal jika memenuhi criteria minimal berikut;
1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless    Join Decomposotion).
Contoh terdapat tabel dengan KF yaitu A ==> B dan B ==> C;
 


Dekomposisinya yang aman adalah;
 
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency
Preservation).
3. Tidak melanggar aturan Boice-Code Normal Form (BCNF)
Suatu tabel/relasi dikatakan dalam bentuk normal BCNF jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik).
4. Jika tidak terpenuhi BCNF paling tidak tabel tersebut tidak melanggar Bentuk
Normal tahap Ketiga.
Diagram Dependensi Fungsional (Diagram DF)
Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda panah. Seperti contoh diatas dapat digambarkan diagram DF sebagai berikut :

Dekomposisi
Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Contoh : Terdapat suatu relasi awal sebagai berikut :


Nim
Nama
Program Studi
95001
Andi
Ekonomi
95002
Vira
Teknik
95003
Andi
Fisika

Akan dibentuk kedalam dekomposisi tak hilang menjadi :
Nim
Nama

Nim
Program Studi
95001
Andi

95001
Ekonomi
95002
Vira

95002
Teknik
95003
Andi

95003
Fisika

Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi. Setelah proses dekomposisi tak hilang hasilnya adalah sama 95001 adalah ANDI dan 95001 program studi Ekonomi. Contoh dekomposisi hilang adalah
Nim
Nama

Nama
Program Studi
95001
Andi

Andi
Ekonomi
95002
Vira

Vira
Teknik
95003
Andi

Andi
Fisika

95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?


Contoh diagram DF :
KULIAH ==>{ RUANG, WAKTU }
RUANG  ==> TEMPAT
Digambarkan :









 
Design by Sesi Chrishandayani | Bloggerized by chrissesi - JEPARA | Information System