4
BAB II LANDASAN TEORI
Pada bab ini dijelaskan tentang konsep dasar-dasar pengetahuan dalam pembuatan aplikasi yang digunakan sebagai fasilitas penunjang peningkatan
kualitas layanan Perpustakaan Prodi Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2.1 Pengertian Basisdata Database
Basisdata, menurut Stephens dan Plew 2000, adalah mekanisme yang digunakan untuk menyimpan informasi atau data. Informasi adalah sesuatu yang
kita gunakan sehari-hari untuk berbagai alasan. Dengan basisdata, pengguna dapat menyimpan data secara terorganisir. Setelah data disimpan, informasi harus
mudah diambil. Kriteria dapat digunakan untuk mengambil informasi. Cara data disimpan dalam basisdata menentukan seberapa mudah mencari informasi
berdasarkan banyak criteria. Data pun harus mudah ditambahkan kedalam basisdata, dimodifikasi, dan dihapus [2].
Sekarang peran basisdata sangatlah menonjol. Pemrosesan basisdata menjadi perangkat andalan yang kehadirannya sangat diperlukan oleh berbagai institusi
dan perusahaan. Basisdata tidak hanya mempercepat pemerolehan informasi, tetapi juga dapat meningkatkan pelayanan kepada pelanggan [3]. Bagi universitas,
keuntungan seperti ini dapat meningkatkan daya saingnya terhadap universitas lain. Hal ini pulalah yang mendorong banyak universitas yang menggunakan
pemrosesan manual mulai beralih memanfaatkan basisdata.
5
2.2 Pendahuluan Sistem Informasi Perpustakaan Prodi Matematika
Dalam membangun sebuah Sistem Informasi perpustakaan berbasis web, database client-server perlu dilakukan perancangan struktur relasi data antar
entitas dengan menggunakan teknik normalisasi basisdata. Teknik ini berguna untuk menghindari terjadinya redudansi dan hilangnya integrasi antara entitas
yang saling berrelasi. Sebelum tabel direlasikan, maka tabel-tabel harus dinormalisasi terlebih dahulu.
2.3 Normalisasi
Istilah normalisasi berasal dari E. F. Codd, salah seorang perintis teknologi basisdata. Selain dipakai sebagai metode tersendiri untuk menciptakan struktur
tabel relasi dalam basisdata dengan tujuan untuk mengurangi kemubaziran data, normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-
tabel yang dihasilkan oleh metodologi lain. Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur
tabel yang kurang fleksibel atau mengurangi ketidakefisienan [3]. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk
normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basisdata dan harus dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi. Suatu relasi
dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. Misalnya, suatu relasi berada dalam bentuk normal pertama biasa
disebut 1NF jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris [3].
6
2.3.1 Bentuk Normal Pertama 1NF; first normal form
Bentuk normal pertama ini mengharuskan penghilangan dari atribut-atribut atau kelompok atribut yang berulang dari sebuah relasi. Contoh dari kelompok
atribut yang berulang dapat dilihat pada Gambar 2.1.
Gambar 2.1 Contoh Kelompok Atribut Berulang
Contoh 1 dan contoh 2 pada Gambar 2.1 bukan 1NF, karena adanya kelompok berulang pada contoh 1, dan nilai Null pada contoh 2. Contoh 3 juga
bermasalah, karena mengakibatkan error pada query.
contoh 1: reserve
no_reserve member_id
nama_member tgl_reserve
no_klasifikasi 1
2 106094003194 Zikri Ramadhan
10-11-2010 001.43
12-11-2010 001.45
3 106094003193 Yayan Adriansyah
12-11-2010 001.44
4 106094003192 Vivian E. Alami
03-12-2010 001.42
contoh 2:
reserve
no_ reserve
1 no_
reserve 2
member_id nama_member
tgl_reserve 1
tgl_reserve 2
no_ klasifikasi
1 no_
klasifikasi 2
1 2
106094003194 Zikri Ramadhan
10-11-2010 12-11-2010
001.43 001.45
3 106094003193
Yayan Adriansyah 12-11-2010
001.44 4
106094003192 Vivian E. Alami
03-12-2010 001.42
contoh 3: reserve
no_ reserve
member_id nama_member
tgl_ reserve
no_klasifikasi 1, 2
106094003194 Zikri Ramadhan 10-11-2010, 12-11-2010
001.43, 001.45 3
106094003193 Yayan Adriansyah 12-11-2010
001.44 4
106094003192 Vivian E. Alami 03-12-2010
001.42
7 Bentuk sebagaimana pada Gambar 2.1 perlu diubah menjadi relasi yang
diperlihatkan pada Gambar 2.2.
reserve no_
reserve member_id
nama_member tgl_
reserve no_klasifikasi
1 106094003194 Zikri Ramadhan
10-11-2010 001.43 2
106094003194 Zikri Ramadhan 12-11-2010 001.45
3 106094003193 Yayan Adriansyah
12-11-2010 001.44 4
106094003192 Vivian E. Alami 03-12-2010 001.42
Gambar 2.2 Contoh Bentuk Normal Pertama 1NF
Relasi yang memenuhi bentuk normal pertama umumnya memiliki berbagai masalah. Masalah yang timbul secara umum adalah disebabkan oleh adanya
kemubaziran. Perhatikan baris-baris dengan member_id sama dengan 106094003194 pada Gambar 2.2., nama_member merupakan contoh kemubaziran
yang dapat mengakibatkan ketidakkonsistenan, yakni bila ada perubahan data yang tidak lengkap terhadap data yang mubazir.
2.3.2 Bentuk Normal Kedua 2NF; second normal form
Sebuah rancangan basisdata relasional adalah dalam bentuk normal kedua jika rancangan tersebut sudah berada dalam bentuk normal pertama dan semua
atribut non kunci bergantung pada kunci primernya. Tujuan dari bentuk normal kedua adalah untuk menghilangkan suatu ketergantungan fungsional penuh.
Bentuk normal kedua mengharuskan seluruh atribut dalam sebuah tabel tergantung pada ekspresi kunci primer, bukan dengan bagian lain dari padanya.
Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal pertama ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut.
Proses dekomposisi dapat dilakukan dengan menggambarkan diagram dependensi
8 fungsional terlebih dahulu. Berdasarkan diagram ini, relasi dalam bentuk normal
pertama dipecah ke dalam sejumlah relasi [3]. Diagram dependensi fungsional untuk relasi di atas diperlihatkan pada
Gambar 2.3.
Gambar 2.3 Diagram Dependensi Fungsional
Diagram dependensi fungsional di atas menjelaskan bahwa :
tgl_reserve dan no_klasifikasi memiliki dependensi fungsional terhadap gabungan no_reserve dan member_id.
nama_member memiliki dependensi fungsional terhadap member_id.
Berdasarkan diagram dependensi fungsional tersebut, pendekomposisiannya menghasilkan dua buah relasi. Kedua relasi tersebut adalah sebagai berikut :
1. reserve no_reserve, member_id, tgl_reserve, no_klasifikasi
2. member member_id, nama_member
Pada kedua relasi di atas, tanda garis bawah digunakan untuk menyatakan kunci primer masing-masing relasi.
Proses dekomposisi relasi yang tergolong dalam bentuk normal pertama ke bentuk normal kedua seperti berikut:
Terdapat relasi reserve: reserveno_reserve, member_id, nama_member, tgl_reserve, no_klasifikasi
kunci primer no_reserve, member_id no_reserve member_id
tgl_reserve
no_klasifikasi no_reserve
nama_member member_id
9 reserve dapat digantikan dengan dua proyeksi reserve dan member.
reserve no_reserve, member_id, tgl_reserve, no_klasifikasi kunci primer no_reserve, member_id
kunci tamu member_id referensi member member member_id, nama_member
kunci primer member_id
Dengan pendekomposisian seperti di atas, isi kedua relasi tersebut akan berupa sebagaimana yang diperlihatkan pada Gambar 2.4.
reserve
no_ reserve
member_id tgl_
reserve no_klasifikasi
1 106094003194 10-11-2010 001.43
2 106094003194 12-11-2010 001.45
3 106094003193 12-11-2010 001.44
4 106094003192 03-12-2010 001.42
member
member_id
nama_member 106094003194 Zikri Ramadhan
106094003193 Yayan Adriansyah 106094003192 Vivian E. Alami
Gambar 2.4 Relasi-relasi hasil dekomposisi yang memenuhi bentuk normal
kedua
2.3.3 Bentuk Normal Ketiga 3NF; third normal form
Bentuk normal ketiga melibatkan penghilangan ketergantungan transitif, yaitu ketergantungan suatu atribut non-kunci terhadap artibut yang lain kecuali
kunci primer PK.
10 Contoh suatu relasi yang memenuhi bentuk normal kedua tetapi tidak
memenuhi bentuk normal ketiga dapat dilihat pada Gambar 2.5.
detail_peminjaman no_
peminjaman no_
klasifikasi member_id
nama_ member
tgl_ peminjaman
tgl_ hrskbl
1 001.42BRM 106094003194
Zikri Ramadhan
10-10-2010 17-10-2010
2 004CS
106094003192 Ulfah 10-10-2010
17-10-2010 3
5.434PCC 106094003192 Ulfah
12-10-2010 19-10-2010
Gambar 2.5 Relasi yang memenuhi bentuk normal kedua, tetapi tidak memenuhi
bentuk normal ketiga Pada contoh di atas, kunci primer relasi adalah no_peminjaman. Baik
member_id, nama_member, tgl_peminjaman, maupun tgl_hrskbl mempunyai dependensi fungsional terhadap kunci primer tersebut. Namun perlu diperhatikan
bahwa bila member_id bernilai sama, nama_member juga bernilai sama. Hal ini menunjukkan adanya suatu dependensi di antara kedua atribut tersebut. Adanya
dependensi nama_member terhadap member_id pada relasi ini menunjukkan bahwa nama_member tidak memiliki dependensi secara langsung terhadap kunci
primer. Dengan kata lain, nama_member memiliki dependensi transitif terhadap kunci primer.
Agar relasi pada Gambar 2.5 memenuhi bentuk normal ketiga, maka diperlukan langkah normalisasi dengan mengikuti pendekatan berikut:
Bila terdapat relasi detail_peminjaman seperti berikut: detail_peminjaman
no_peminjaman, no_klasifikasi,
member_id, nama_member, tgl_peminjaman, tgl_hrskbl
kunci primerno_peminjaman member_id
nama_member
11 maka relasi detail_peminjaman dapat digantikan dengan dua proyeksi
detail_peminjaman dan member, dengan bentuk sebagai berikut: detail_peminjaman
no_peminjaman, no_klasifikasi,
member_id, tgl_peminjaman, tgl_hrskbl
kunci primer no_klasifikasi, member_id kunci tamu member_id referensi member
member member_id, nama_member kunci primer member_id
Dengan menggunakan pendekatan di atas, maka relasi pada Gambar 2.5 dapat didekomposisikan menjadi dua relasi sebagaimana pada Gambar 2.6.
detail_peminjaman
no_ peminjaman
no_ klasifikasi
member_id tgl_
peminjaman tgl_
hrskbl 1
001.42BRM 106094003194 10-10-2010 17-10-2010 2
004CS 106094003192 10-10-2010
17-10-2010 3
5.434PCC 106094003192 12-10-2010
19-10-2010 member
member_id nama_member
106094003194 Zikri Ramadhan 106094003193 Yayan Adriansyah
106094003192 Vivian E. Alami
Gambar 2.6 Bentuk Normal Ketiga
2.3.4 Bentuk Normal Boyce-Codd BCNF
Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu determinan adalah kunci kandidat atribut yang bersifat
unik [3]. BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu
relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF,
12 karena bentuk normal ketigapun mungkin masih mengandung anomali sehingga
masih perlu dinormalisasi lebih lanjut. Contoh dari bentuk nomal BCNF adalah seperti yang diperlihatkan pada
Gambar 2.7.
katalog
no_ klasifikasi
no_ rak
judul id_
pengarang id_
penerbit id_
kategori id_
status 001.42BRM
1 Bisnis Research Methods
1 1
1 S1
004CS 1
Computer Science 17
11 1
S2 5.434PCC
2 PC Cloning
43 12
1 S1
Gambar 2.7 Bentuk Normal BCNF
2.4 ERD Entity Relationship Diagram
Penyusunan basisdata database selalu didahului dengan pekerjaan pemodelan data. ERD adalah suatu model jaringan yang menggunakan susunan
data yang disimpan dalam sistem secara abstrak. Model data E-R Entity Relationship didasarkan pada persepsi terhadap dunia nyata yang tersusun atas
kumpulan objek-objek dasar yang disebut entitas dan relasi. ERD pada sistem informasi ini adalah seperti terlihat pada Gambar 2.8.
pengarang
id_pengarang
nama_pengarang 1
Cooper Schindler 17
Brookshear 43
Handoyo penerbit
id_penerbit nama_penerbit
1 Mc Graw Hill
11 BejaminCummings
12 Elex Media Komputindo
kategori
id_kategori nama_kategori
1 Buku
2 Laporan PKL
3 Skripsi
status
id_status nama
S1 Tersedia
S2 Dipinjam
13
Gambar 2.8 Entity Relationship Diagram
Diagram hubungan entitas model E-R tidak menyatakan bagaimana memanfaatkan data, membuat data, menghapus data dan mengubah data. Elemen-
elemen ERD:
1. Entity Entitas
Entitas merupakan individu yang mewakili sesuatu yang nyata eksistensinya dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas
yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas entity set. Entitas menunjuk pada individu suatu objek, sedang himpunan
entitas menunjuk pada rumpun family dari individu tersebut [5].
14 2.
Relationship Relationship adalah hubungan alamiah yang terjadi antara entitas.
Contohnya: Entitas member dengan member_id = “106094003194” dan
nama_member = “Zikri Ramadhan” yang mempunyai relasi dengan Entitas
katalog dengan no_klasifikasi = “152-ZR” dan judul = “Basisdata”, sehingga
struktur data dari relasi ini bahwa mahasiswa tersebut meminjam buku pada suatu perpustakaan. Hubungan antara entitas akan menyangkut dua komponen yang
menyatakan jalinan ikatan yang terjadi, yaitu: derajat kardinalitas dan partisipasi hubungan.
3. Atribut
Atribut adalah keterangan khas dari suatu entitas. Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik dari entitas tersebut.
Pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data. Yang relevan untuk lebih diperhatikan dalam
pembuatan ERD adalah kedudukan atribut dalam entitas, mana atribut yang berfungsi sebagai primary key dan yang bukan atribut deskriptif. Biasanya
primary key ditandai dengan garis bawah didekat entitasnya, misalnya pada entitas katalog, atribut no_klasifikasi merupakan primary key, karena no_klasifikasi
merupakan pengidentifikasi entitas yang paling unik untuk semua entitas dalam himpunan entitas tersebut. Atribut-atribut lainnya, seperti no_rak, judul,
id_pengarang, id_penerbit, id_kategori, dan id_status merupakan atribut deskriptif.
15
2.5 Data Definition Language DDL