Pengertian Basisdata Database Pendahuluan Sistem Informasi Perpustakaan Prodi Matematika ERD Entity Relationship Diagram

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