Jumat, 23 November 2012
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.
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.
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.
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
Basis data relasional memiliki fungsi-fungsi kegunaan sebagai berikut:
- Mengatur penyimpanan data
- Mengontrol akses terhadap data
- Mendukung proses menampilkan dan memanipulasi data
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 :


05.05
Unknown