BAB 2 LANDASAN TEORI
2.1 Basis Data 2.1.1 Pengertian Basis Data Menurut A. Hoffer (2009, p46), basis data adalah sebuah koleksi data yang terorganisasi secara logikal. Menurut Connolly dan Begg (2005, p15), basis data adalah kumpulan data yang berhubungan secara logikal dan sebuah gambaran dari data, yang didesain untuk mendapatkan informasi yang diperlukan oleh sebuah organisasi. Jadi, basis data adalah kumpulan data yang berhubungan secara logikal yang didesain untuk mendapatkan informasi yang diperlukan untuk sebuah organisasi.
2.1.2 Kelebihan dan Kekurangan Basis Data Menurut Whitten (2004, p519), kelebihan basis data adalah sebagai berikut: 1. Kemampuan untuk berbagi pemakaian data yang sama di banyak aplikasi dan sistem. 2. Keuntungan penyimpanan data dalam format yang fleksibel, lingkup basis data bahkan
dapat
dikembangkan
tanpa
mengubah
program-program
yang
menggunakan basis data tersebut. 3. Menyediakan skalabilitas superior, basis data dan sistem yang menggunakannya dapat ditingkatkan atau dikembangkan untuk menemukan kebutuhan-kebutuhan perubahan pada suatu organisasi. 8
9
sedangkan kekurangan basis data adalah sebagai berikut : 1. Lebih kompleks dan membutuhkan perangkat lunak khusus yang disebut DBMS. 2. Membutuhkan investasi yang cukup besar karena biaya pengembangan basis data cukup tinggi. 3. Meningkatnya vulnerabilitas yang melekat pada penggunaan data yang berbagi pakai, oleh karena itu backup dan recovery serta keamanan dan privasi menjadi isu penting pada basis data.
2.2 Sistem Manajemen Basis Data atau Database Management System (DBMS) 2.2.1 Pengertian DBMS Menurut Connolly dan Begg (2005, p16), DBMS adalah sebuah perangkat lunak yang mengizinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.
2.2.2 Fasilitas DBMS Menurut Connolly dan Begg (2005, p16), beberapa fasilitas yang disediakan dalam DBMS adalah sebagai berikut : 1. DBMS memungkinkan pengguna untuk menentukan suatu basis data, biasanya menggunakan Data Definition Language (DDL). DDL mengizinkan pengguna untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam database. 2. DBMS memungkinkan pengguna untuk melakukan insert, update, delete, dan retrieve terhadap data-data yang ada di dalam database melalui Data
10
Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language. 3. DBMS menyediakan kontrol terhadap pengaksesan suatu database, misalnya sebuah sistem keamanan yang tidak berkepentingan mengakses database.
2.2.3 Komponen DBMS Komponen-komponen dalam lingkungan DBMS adalah sebagai berikut: 1. Perangkat keras (hardware) DBMS dan aplikasi memerlukan hardware untuk dijalankan. Hardware yang diperlukan dapat berkisar dari sebuah personal komputer, mainframe, sampai pada sebuah jaringan dari komputer. Beberapa hardware bergantung pada kebutuhan organisasi dan DBMS yang digunakan. 2. Perangkat lunak (software) Komponen software terdiri dari software DBMS itu sendiri dan program aplikasi bersama dengan sistem operasi, software jaringan jika DBMS menggunakan jaringan. 3. Data Merupakan komponen DBMS yang paling penting. Data berfungsi sebagai jembatan antara komponen mesin dan manusia. 4. Prosedur Merupakan instruksi dan aturan yang memerintah perancangan dan penggunakan database. Penggunaan sistem dan petugas yang mengatur database memerlukan dokumentasi prosedur bagaimana untuk menggunakan dan menjalankan sistem. Intruksi tersebut seperti:
11
a. Bagaimana log in ke dalam DBMS. b. Bagaimana menggunakan fasilitas DBMS tertentu. c. Memulai dan menghentikan DBMS. d. Bagaimana menangani kesalahan hardware dan software tertentu. 5. Manusia Merupakan komponen terakhir yang terlibat dengan sistem. Komponenkomponen manusia terdiri dari : a. Database Administrator : Menyediakan dukungan teknis untuk implementasi keputusan tersebut, dan bertanggung jawab atas keseluruhan kendali sistem pada tingkat teknis. b. Database Designer : Pada bagian ini terdiri dari tipe perancang yaitu: i. Logical database designer : Berhubungan dengan mengidentifikasi data, relasi antar data, constraints pada data yang di simpan di database. ii. Phisical database designer : menentukan bagaimana logical database design dicapai secara fisik. c. Pemrogram Aplikasi : Bertanggungjawab untuk membuat aplikasi database dengan menggunakan bahasa pemrograman yang ada. d. End User: Siapapun yang berinteraksi dengan sistem secara online atau tidak melalui komputer atau jaringan.
Gambar 2.1 Komponen DBMS Environment
12
2.2.4 Fungsi DBMS Menurut Connolly dan Begg (2005, p48), fungsi DBMS adalah sebagai berikut: a. Penyimpanan, Pengambilan, dan Pembaruan data Sebuah DBMS harus melengkapi pengguna dengan kemampuan untuk menyimpan, mengambil, dan menperbarui data dalam database. b. Katalog User-Accesible Sebuah DBMS harus memberikan katalog yang menyimpan deskripsi tentang data item dan dapat diakses oleh pengguna. c. Mendukung Transaksi Sebuah DBMS harus memberikan mekanisme yang akan memastikan bahwa semua kegiatan update yang dilakukan sesuai dengan transaksi yang terjadi atau tidak ada kegiatan update yang dibuat bagi transaksi tersebut. d. Layanan Kendali Konkurensi Sebuah DBMS harus memberikan mekanisme untuk memastikan bahwa database di-update dengan benar ketika banyak pengguna meng-update database secara bersama-sama. e. Layanan Pemulihan Sebuah DBMS harus memberikan mekanisme untuk memulihkan database disaat database dirusak dengan cara apapun. Kerusakan database dapat diakibatkan karena kerusakan sistem, kesalahan media, dan kesalahan software atau hardware yang disebabkan karena adanya kesalahan selama proses transaksi dan penyelesaian transaksi yang tidak lengkap.
13
f. Layanan Authorisasi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa hanya pengguna yang berotoritas dapat mengakses database. g. Mendukung Bagi Komunikasi Data Sebuah DBMS harus mampu berintegrasi dengan software komunikasi. h. Layanan Integritas Sebuah DBMS harus dilengkapi sebuah arti untuk memastikan bahwa data di dalam database dan perubahan pada data mengikuti aturan tertentu. i. Layanan Peningkatan Keterbebasan Data Keterbatasan data merupakan metode mengubah pola data dari isi data tersebut dan cara menyimpannya, sehingga perubahan tersebut tidak menyebabkan suatu program aplikasi ditulis kembali. j. Layanan Utilitas Sebuah DBMS harus menyediakan seperangkat layanan utilitas. Program utilitas membantu DBA mengelola database secara efektif. Beberapa utilitas bekerja pada tingkat eksternal, dan konsekuensinya dapat dibuat oleh DBA, yang lainnya bekerja pada tingkat internal dan dapat disediakan hanya dengan vendor DBMS. Contoh dari utilitas tersebut antara lain: i. Fasilitas impor, untuk me-load database dari flat file, dan fasilitas ekspor, untuk me-unload database dari flat file. ii. Fasilitas pemantauan, untuk memantau penggunaan dan operasi database. iii. Program analisa statistik, untuk memeriksa performa dan penggunaan statistik. iv. Fasilitas penyusunan index, untuk menyusun kembali index dan overflow mereka.
14
v. Penempatan dan pengumpulan sampah, untuk menghilangkan record yang dihapus secara fisik dari alat penyimpanan, untuk menggabungkan ruang yang terlepas, dan untuk menempatkan kembali record tersebut dimana ia dibutuhkan.
2.2.5 Kelebihan DBMS Kelebihan dari sistem manajemen basis data (DBMS) adalah sebagai berikut : 1. Pengawasan data terhadap redudansi data Pendekatan basis data berusaha untuk menghilangkan redudansi dengan mengintegrasikan file-file supaya salinan dari data yang sama tidak disimpan. Bagaimanapun database tidak menghapus semua data redudan, tetapi mengawasi jumlah redudansi pada database. 2. Konsistensi data Dengan menghilangkan atau mengontrol redundansi, maka akan mengurangi ketidakkonsistenan yang terjadi. Jika data disimpan sekali dalam database, perubahan-perubahan terhadap nilai dilakukan sekali, dan nilai baru segera disediakan ke semua user. 3. Lebih banyak informasi dari data yang sama Dengan pengintegrasian data operasional, ini memungkinkan organisasi untuk memperoleh informasi tambahan dari data yang sama. 4. Data dipakai bersama-sama Secara khusus, file yang dimiliki oleh orang-orang atau departemen yang menggunakannya. Di sisi lain, database dimiliki keseluruhan organisasi dan
15
dapat bersama-sama menggunakannya. Dengan cara ini, para pemakai berbagi lebih banyak data. 5. Meningkatkan integritas data Integritas basis data menunjuk pada validitas dan konsistensi data yang tersimpan. Integritas umumnya dinyatakan dalam aturan-aturan yang konsisten. 6. Meningkatkan keamanan Keamanan database merupakan perlindungan database dari pengguna yang tidak berwenang. Hal ini dilakukan dengan membentuk username dan password untuk mengidentifikasi pengguna yang berwenang menggunakan database. 7. Pelaksanaan Standarisasi Masing-masing pemakai atau departemen mempunyai kebutuhan yang mungkin adalah tidak sesuai dengan kebutuhan pemakai yang lain. Sejak database dikendalikan dibawah DBA, DBA dapat membuat keputusan tentang desain dan penggunaan operasional database yang menyediakan penggunaan sumber daya organisasi yang terbaik secara keseluruhan. 8. Perbandingan skala ekonomi Kombinasi semua data ke dalam satu database, dan menciptakan satu set aplikasi yang bekerja pada sumber data, dapat mengakibatkan biaya. Dalam hal ini, anggaran yang akan secara normal dialokasikan untuk masing-masing departemen utnuk pengembangan dan pemeliharaan tentang sistem basis data yang dapat dikombinasikan, mungkin menghasilkan total biaya yang lebih rendah, untuk mendorong kearah suatu skala ekonomi.
16
9. Meningkatkan kemampuan akses terhadap data dan kemampuan respon Menyediakan suatu sistem dengan potensi kemampuannya lebih baik. 10. Meningkatkan produktifitas DBMS
menyediakan
banyak
fungsi
standar
sehingga
memungkinkan
programmer berkonsentrasi pada fungsionalitas spesifik yang dibutuhkan oleh pengguna tanpa harus memikirkan tentang rincian implementasi level bawah. Hal ini menghasilkan peningkatan produktivitas programmer dan mengurangi waktu pengembangan. 11. Meningkatkan pemeliharaan data melalui data yang mandiri DBMS memisahkan deskripsi data dari aplikasi, dengan membuat aplikasi tahan terhadap perubahan data (data independence). 12. Meningkatkan konkurensi Dalam beberapa file berbasis sistem, jika dua atau lebih user diizinkan untuk mengakses file yang sama secara bersamaan, ada kemungkinan bahwa akses akan saling mengganggu, yang mengakibatkan hilangnya informasi atau bahkan hilangnya integritas. 13. Meningkatkan pelayanan backup dan recovery Untuk melindungi data dari kegagalan sistem komputer atau program aplikasi. Pencegahannya dengan dilakukan backup terhadap data secara teratur. Apabila setelah dilakukan backup terjadi kegagalan, DBMS menyediakan fasilitas untuk meminimalkan jumlah pemrosesan yang hilang.
17
2.2.6 Kekurangan DBMS Kekurangan dari sistem manajemen basis data (DBMS) adalah sebagai berikut: 1. Kompleksitas Ketentuan dari sebuah fungsionalitas yang baik menjadikan DBMS sebuah perangkat lunak yang sangat kompleks. 2. Ukuran Fungsionalitas yang kompleks menjadikan DBMS sebuah perangkat lunak yang membutuhkan media penyimpanan yang sangat besar dan jumlah memori yang besar untuk menjalankan DBMS secara efisien. 3. Biaya untuk DBMS Biaya untuk suatu DBMS bervariasi tergantung pada lingkungan dan fungsionalitas yang diberikan. Selain itu juga dibutuhkan biaya perawatan. 4. Biaya untuk hardware tambahan Keperluan media penyimpanan untuk DBMS dan database membutuhkan pembelian tambahan media penyimpanan. 5. Biaya untuk konversi Biaya untuk mengubah aplikasi DBMS yang telah ada ke aplikasi DBMS baru. Selain itu juga meliputi biaya pelatihan pegawai untuk menggunakan sistem yang baru. 6. Performance DBMS ditulis secara umum, untuk memenuhi banyak aplikasi dibandingkan hanya satu aplikasi. 7. Dampak kegagalan yang tinggi
18
Sejak semua para pemakai dan aplikasi bersandar pada ketersediaan DBMS, kegagalan komponen tertentu dapat membawa operasi berhenti.
2.3 Database Language Menurut Connolly dan Begg (2005, p39), data sub-language terdiri dari dua bagian : Data Definition Language (DDL) dan Data Manipulation Language (DML). Kebanyakan data sub-language menyediakan perintah atau command yang dapat diinput secara langsung dari suatu terminal.
2.3.1 Data Definition Languange (DDL) Menurut Connolly dan Begg (2005, p40), DDL adalah suatu bahasa yang memungkinkan DBA atau penggguna untuk menggambarkan dan memberi nama entity, atribut, dan relasi yang diperlukan untuk aplikasi. Beberapa tahapan dari DDL, yaitu : 1. Create table Untuk membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom. 2. Alter table Untuk menambah atau membuat kolom dan constraint. 3. Drop table Untuk membuang atau menghapus tabel beserta semua data yang ada didalamnya. 4. Create index Untuk membuat index pada suatu table.
19
5. Drop index Untuk membuang atau menghapus index yang dibuat sebelumnya.
2.3.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2005, p40), DML adalah suatu bahasa yang memungkinkan pengguna untuk memberitahukan sistem, data apa saja yang diperlukan dan bagaimana memperoleh data tersebut. Menurut Silbershatz (2006, p9), DML adalah bahasa yang memungkinkan pengguna untuk mengakses atau memanipulasi data yang digunakan oleh model data yang sesuai. Menurut Whitten (2004, p525), DML adalah bahasa DBMS yang digunakan untuk membuat, membaca, memperbarui, dan menghapus record-record. Jadi, DML adalah suatu bahasa yang digunakan untuk mengakses atau memanipulasi data. Menurut Connolly dan Begg (2005, p41), operasi untuk manipulasi data biasanya meliputi : a. Penambahan data baru kedalam basis data. b. Modifikasi dari data yang disimpan ke dalam basis data. c. Pengambilan data yang disimpan ke dalam basis data. d. Penghapusan data dari basis data. Salah satu fungsi utama dari DBMS untuk mendukung data manipulation language dimana pengguna bisa membuat statement yang dapat menyebabkan manipulasi data terjadi. Manipulasi data dapat diaplikasi pada tingkat eksternal,
20
konseptual, dan internal. Akan tetapi pada tingkat internal harus mendefinisikan prosedur low level yang kompleks yang memungkinkan pengaksesan data yang efisien. Sebaliknya, pada tingkat yang lebih tinggi lebih ditekankan kepada kemudahan dalam penggunaan usaha-usaha yang diarahkan pada efisiensi interaksi pengguna dengan sistem.
2.4 Siklus Hidup Pengembangan Basis Data Untuk mengembangkan basis data, diperlukan tahapan-tahapan terstruktur yang harus diikuti. Tahapan tersebut dinamakan siklus hidup basis data (database application lifecycle). Menurut Connolly dan Begg (2005, p284), basis data dianalisis dan dirancang dalam tahapan-tahapan berikut ini :
21
Gambar 2.2 Database Application Lifecycle (sumber : Connolly dan Begg 2005, p284)
22
Menurut Connolly dan Begg (2005, p285), tahapan aktivitas sistem yang berhubungan dengan database application lifecycle, antara lain : 1. Perencanaan Basis Data ( Database Planning ) Perencanaan basis data atau database planning adalah perencanaan bagaimana tahapan-tahapan dari siklus hidup basis data dapat direalisasikan dengan cara yang efisien dan efektif (Connolly dan Begg 2005, p285). 2. Definisi Sistem (System Definition) Definisi sistem atau system definition bertujuan untuk mendeskripsikan batasan dan ruang lingkup aplikasi basis data serta user view. User view menjelaskan tentang apa saja yang dibutuhkan system basis data dilihat dari sudut padang seseorang dalam perannya di pekerjaannya seperti seorang manager atau supervisor. (Connolly dan Begg 2005, p286) 3. Pengumpulan Kebutuhan dan Analisis (Requirements Collection and Analysis) Analisis dan pengumpulan kebutuhan merupakan proses mengumpulkan dan menganalisis informasi tentang organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan user terhadap sistem yang baru (Connolly dan Begg 2005, p288). Menurut Connolly dan Begg (2005, p288) terdapat tiga pendekatan utama untuk pengaturan kebutuhan aplikasi basis data dengan multiple user view, yakni : a. Pendekatan Centralized Kebutuhan – kebutuhan untuk setiap user view digabung dalam suatu kumpulan kebutuhan tungggal untuk aplikasi basis data baru.
23
b. Pendekatan View Integration Kebutuhan-kebutuhan untuk setiap user view digunakan untuk membangun model data terpisah untuk merepresentasikan pengguna itu sendiri. c. Kombinasi antara Centralized dan View Integration Ada banyak cara untuk mengumpulkan informasi pada suatu proses resmi dalam menggunakan teknik-teknik sperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan – kebutuhannya yang dinamakan fact finding. 4. Perancangan Basis Data (Database Design ) Desain basis data adalah proses membuat desain yang akan mendukung operasional dan tujuan perusahaan. (Connolly dan Begg 2005, p291). 5. Pemilihan DBMS ( DBMS Selection ) Seleksi DBMS adalah kegiatan pemilihan DBMS yang akan digunakan dalam pembuatan basis data. Pemilihan DBMS yang tepat sangat mendukung aplikasi basis data. Tahap- tahap pemilihan DBMS : 1. Menentukan istilah referensi studi 2. Membuat daftar sementara dua atau tiga produk 3. Mengevaluasi produk Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS yaitu : a. Data Definition meliputi pemberian primary key, spesifikasi foreign key, keberadaan tipe data, spesifikasi domain, control integritas, mekanisme view, kamus data dan kebebasan data.
24
b. Physical Definition meliputi keberadaan struktur file, pemeliharaan struktur file, mengurangi reorganisasi, pemberian indeks, variable penjang field/ record, kompresi data, encryption routines, kebutuhan memori, kebutuhan penyimpanan. c. Accessibility meliputi query language, compliant, interface ke 3GLs, multiuser, security, access control dan authorization mechanism. d. Transaction handling meliputi backup dan recovery routines, stategi resolusi deadlock, kemajuan model transaksi, parallel query processing. e. Utilities meliputi performance measuring, tuning, fasilitas load/unload, user usage monitoring, database administration support. f.
Development meliputi 4GL/5GL tools, case tools, kemampuan windows, prosedur penyimpanan, triggers, rules, web development tools.
4. Merekomendasikan Pilihan dan Memproduksi Laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 6. Perancangan Aplikasi ( Desain Aplikasi ) Desain aplikasi merupakan perancangan user interface dan perancangan program aplikasi yang menggunakan dan melakukan proses terhadap basis data. Desain basis data dan aplikasi dilakukan secara paralel (Connolly dan Begg 2005, p299). Ada dua aspek dari desain aplikasi yaitu : a. Perancangan Transaksi ( Transaction Design ) Transaksi adalah rangkaian aksi yang dilakukan oleh seorang user atau program aplikasi yang mengakses atau mengubah isi dari basis data. Terdapat tiga transaksi :
25
I. Retrieval Transactions, digunakan untuk mendapatkan kembali data untuk ditampilkan dilayar atau dalam laporan. II. Update Transaction, digunakan untuk menambah data, menghapus data lama, atau memodifikasikan data yang ada dalam basis data. III. Mixed Transaction, melibatkan retrieval dan update (perubahaan) data atau kombinasi antara keduanya. b. Perancangan antar muka ( User Interface Design ) Sebelum mengimplementasikan suatu form atau laporan, yang pertama kali harus dilakukan adalah merancang desain layout. 7. Prototipe ( Prototyping ) Prototyping adalah proses membangun model kerja dari aplikasi basis data yang memperbolehkan perancang atau user untuk mengevaluasi hasil akhir dari sistem. Tujuan dari prototype aplikasi basis data adalah untuk memungkinkan user mengidentifikasikan keistimewaan sistem atau kekurangannya. Tahapan ini bersifat optional. (Connolly dan Begg 2005, p304) 8.
Implementasi ( Implementation ) Implementation merupakan realisasi fisik dari basis data dan desain aplikasi yang dirancang sebelumnya (Connolly dan Begg 2005, p304).
9.
Perubahan dan Pengambilan Data ( Data conversion and loading ) Data conversion and loading merupakan tahap pemindahan data yang ada kedalam basis data yang baru dan mengkonversikan aplikasi yang ada agar dapat menggunakan basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan yang lama (Connolly dan Begg 2005, p305).
10. Pengetesan ( Testing )
26
Testing adalah suatu proses eksekusi program aplikasi dengan tujuan menemukan kesalahan dengan skenario tes yang direncanakan dan data sesungguhnya (Connolly dan Begg 2005, p305). 11. Perawatan Operasional ( Operational Maintenance ) Operational maintenance merupakan proses pengawasan dan pemeliharaan sistem setelah instalasi (Connolly dan Begg 2005, p306). Menurut Connolly dan Begg (2005, p306), pada tahapan ini dilibatkan beberapa aktivitas yaitu : a. Memantau kinerja sistem. Apabila performa sistem berada dibawah level yang seharusnya, maka dibutuhkan reorganisasi basis data. b. Memelihara dan meng-upgrade sistem basis data saat dibutuhkan.
2.5 Perancangan Basis Data Menurut Conolly dan Begg (2005, p437), proses perancangan basis data terbagi menjadi tiga tahap utama yaitu perancangan basis data konseptual, logikal, dan fisikal.
2.5.1 Perancangan Basis Data Konseptual Proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang bersifat independen dari keseluruhan aspek fisik. Model data tersebut merupakan sumber informasi untuk fase desain logikal.
27
Langkah-langkah dalam perancangan model data konseptual: a. Mengidentifikasikan entity types b. Mengidentifikasikan relationship types c. Mengidentifikasikan
dan
mengasosiasikan
atribut
dengan
entitas
atau
relationship types d. Menentukan atribut domain e. Menentukan atribut candidate key dan primary key f. Mempertimbangkan konsep pemodelan tingkat lanjut (langkah opsional) g. Memeriksa redudansi pada model h. Validasi model konseptual terhadap user transaction i. Review model data konseptual dengan user
2.5.2 Perancangan Basis Data Logikal Proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang berdasarkan model data tertentu, namun independen terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kembali ke dalam model data logikal. Langkah-langkah dalam perancangan model data logikal : a. Menurunkan (derive) relasi untuk model data logikal b. Menvalidasi relasi-relasi menggunakan normalisasi c. Menvalidasi relasi-relasi terhadap user transaction d. Memeriksa batasan-batasan integritas e. Review model data logikal dengan user
28
f. Menggabungkan model data logikal kedalam model global (langkah optional) g. Memeriksa untuk perkembangan dimasa yang akan datang
2.5.3 Perancangan Basis Data Fisikal Proses
yang
menghasilkan
deskripsi
implementasi
basis
data
pada
penyimpanan sekunder. menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Langkah-langkah dalam perancangan model data fisikal: a. Menerjemahkan model data logikal untuk target DBMS I. Merancang base relations II. Merancang representasi dari derived data III. Merancang batasan-batasan umum b. Merancang organisasi file dan index I. Menganalisis transaksi II. Memilih organisasi file III. Memilih index IV. Memperkirakan kebutuhan ruang penyimpanan c. Merancang user views d. Merancang mekanisme keamanan e. Mempertimbangkan pengenalan redundancy terkontrol f. Memantau sistem operasional
29
2.6 ERD (Entity Relationship Diagram) Menurut Connolly dan Begg (2005, p342), entity relationship diagram adalah ilustrasi dari entitas-entitas dalam bisnis dan relationship antar entitas. ERD memisahkan antara informasi yang dibutuhkan dalam bisnis dari aktivitas-aktivitas yang dilakukan dalam bisnis. Tujuan utama dari penggambaran ERD adalah untuk menunjukkan struktur objek data (entity) dan hubungan (relationship) yang ada pada objek tersebut. ERD berguna bagi sistem, karena ERD memperlihatkan hubungan antara data store pada data flow diagram (DFD).
2.6.1 Tipe entity Entity atau entitas adalah konsep dasar dalam pemodelan basis data berupa individu yang mewakili suatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Connolly dan Begg 2005, p343). Contohnya adalah barang, customer, supplier, dan lain-lain. Entitas memiliki himpunan yang biasa dikenal dengan himpunan entitas. Himpunan entitas adalah sekumpulan entitas sejenis dan berada dalam ruang lingkup yang sama. Simbol :
Gambar 2.3 Entity Type Pegawai dan Cabang
30
2.6.2 Tipe relationship Relationship menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda (Connolly dan Begg 2005, p346). Relationship tidak mempunyai keberadaan fisik kecuali yang mewarisi dari hubungan entitas tersebut. Simbol :
Gambar 2.4 Simbol Relationship 2.6.3 Atribut Atribut merupakan sifat-sifat (properti) dari sebuah entitas atau tipe relationship. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut (Connolly dan Begg 2005, p350). Atribut dapat diklasifikasikan sebagai berikut : a. Simple attribute Simple attribute adalah attribute yang terdiri atas satu komponen tunggal dengan keberadaaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Contohnya adalah position dan salary. b. Composite attribute Composite attribute adalah attribute yang terdiri dari beberapa komponen dimana masing-masing komponen memiliki keberadaan yang independen. Contohnya adalah attribute alamat yang terdiri dari nama jalan, kota, dan kode pos. c. Single – valued attribute
31
Single – valued attribute adalah attribute yang mempunyai nilai tunggal untuk setiap kejadian. Contohnya adalah entitas branch memiliki
satu nilai untuk
attribute branchNo untuk setiap kejadian. d. Multi – valued attribute Multi – valued attribute adalah attribute yang mempunyai beberapa nilai untuk setiap kejadian. Contohnya adalah entitas branch memiliki beberapa nilai attribute telpNo untuk setiap kejadian. e. Derived attribute Derived attribute adalah attribute yang memiliki nilai yang dihasilkan dari satu atau beberapa attribute lainnya dan tidak harus berasal dari satu entitas. Contohnya adalah lama pinjam dihasilkan dari perhitungan tanggal kembali dikurangi tanggal peminjaman.
2.6.4 Key Menurut Connolly dan Begg (2005, p352), jenis-jenis key adalah sebagai berikut : a. Candidate key Candidate key adalah jumlah minimal atribut – atribut yang dapat mengidenfikasikan setiap kejadian atau record pada setiap tipe entitas secara unik. b. Primary key Primary key adalah candidate key yang dipilih untuk mengidentifikasikan setiap kejadian atau record dari suatu entitas secara unik. Pemilihan primary key
32
didasarkan pada panjang attribute, jumlah minimal attribute yang diperlukan dan keunikannya. c. Composite key Composite key adalah candidate key yang terdiri dari dua atau lebih atribut.
2.6.5 Strong dan Weak entity Menurut Connolly dan Begg (2005, p354), strong entity adalah tipe entity yang keberadaannya tidak bergantung pada entity lainnya. Weak entity adalah tipe entity yang keberadaannya bergantung pada tipe entity lain.
2.6.6 Structural Constraint Batasan utama pada relationship disebut multiplicity, yaitu jumlah atau range dari kejadian yang mungkin terjadi pada suatu entitas yang terhubungan ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Hubungan yang paling umum adalah binary relationship yang terdiri atas : 1.
One to one (1:1)
Gambar 2.5 Binary Relationship one to one (1:1) (Sumber : Connolly dan Begg 2005, p358)
33
2.
One to many (1: *)
Gambar 2.6 Binary Relationship one to many ( 1:*) (Sumber : Connolly dan Begg 2005, p358)
3.
Many to many (* : *)
Gambar 2.7 Binary Relationship many to many (*:*) (Sumber : Connolly dan Begg 2005, p360)
2.7 Normalisasi Menurut Connolly dan Begg (2005, p388), normalisasi adalah suatu teknik yang menghasilkan satu set relasi dengan property yang diinginkan dan memberikan kebutuhan data organisasi. Beberapa bentuk proses normalisasi menurut Connolly dan Begg (2005, p403412) dapat dijelaskan sebagai berikut : 1. Unnormalized form (UNF) UNF merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. 2. First Normal Form (1NF)
34
1NF merupakan sebuah relasi dimana setiap baris dan kolom berisikan satu atau hanya satu nilai. Proses UNF ke 1NF : 1. Tentukan satu atau kumpulan atribut sebagai kunci untuk tabel unnormalized. 2. Identifikasikan grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut. 3. Hapus grup yang berulang dengan cara : i. masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang. ii. menggantikan data yang ada dengan menulis ulang dari kunci atribut yang sesungguhnya kedalam relasi terpisah. 3. Second Normal Form (2NF) 2NF merupakan sebuah relasi dalam 1NF dan setiap atribut non primary key bersifat fully functionally dependent (konsep dimana A dan B merupakan atribut dari sebuah relasi, B dikatakan fully dependent terhadap A jika B functionally dependent terhadap A tetapi tidak pada proper subset dari A) pada primary key. Proses 1NF ke 2NF : 1. Identifikasikan primary key untuk relasi 1NF 2. Indentifikasikan functional dependencies dalam relasi 3. Jika terdapat partial dependencies terhadap primary key, maka hapus dengan menempatkan dalam relasi yang baru bersama dengan salinan determinannya. 4. Third Normal Form (3NF) 3NF adalah sebuah relasi dalam 1NF dan 2NF dimana tidak terdapat atribut non primary key yang bersifat transitively dependent pada primary key. Proses 2NF ke 3NF : 1. Identifikasikan primary key untuk relasi 2NF
35
2. Identifikasikan functional dependencies dalam relasi Jika terdapat transitive dependencies terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
2.8 Waterfall Model Menurut Sommerville (2011,p29), Waterfall Model merupakan dasar dari aktivitas proses yang terdiri dari spesifikasi, pengembangan, validasi, evolusi dan semua direpresentasikan dalam tahapan proses yang terpisah seperti spesifikasi kebutuhan, perancangan perangkat lunak, implementasi, pengujian, dan sebagainya. Tahapan dari Waterfall Model merefleksikan pokok-pokok dari aktivitas pengembangan: 1. Requirements Analysis and Definition Layanan yang diberikan oleh sistem, batasan sistem, dan tujuan ditetapkan setelah melakukan konsultasi dengan pengguna sistem. Semua didefinisikan secara rinci dan dibuat sebagai spesifikasi dari sistem. 2. System and Software Design Proses perancangan sistem menyediakan kebutuhan hardware atau software dengan menyediakan arsitektur dari keseluruhan sistem. Perancangan sistem melibatkan pengidentifikasian dan penjelasan dari abstraksi sistem dan hubungannya. 3. Implementation and Unit Testing
36
Pada tahap ini, perancangan sistem direalisasikan menjadi sebuah program atau unit program. Pengujian unit melibatkan verifikasi untuk memastikan apakah setiap unit memenuhi spesifikasi sistem. 4. Integration and System Testing Setiap unit program dan program-program yang sudah ada diintegrasikan dan diuji sebagai satu keutuhan sistem untuk memastikan apakah kebutuhan sistem sudah terpenuhi. Setelah melakukan pengujian, sistem baru disebarkan ke pengguna. 5. Operation and Maintenance Dilakukan instalasi terhadap sistem dan digunakan dalam prakteknya. Maintenance melibatkan koreksi terhadap error yang tidak ditemukan pada tahap sebelumnya, memperbaiki implementasi dari unit sistem dan meningkatkan layanan yang diberikan oleh sistem sebagai kebutuhan baru yang ditemukan.
Gambar 2.8 Waterfall Model 2.9 DFD (Data Flow Diagram) Menurut Whitten (2004, p344), DFD adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan
37
yang dilakukan oleh sistem. Di dalam diagram aliran data terdapat level yang bertujuan untuk menghindari aliran data yang rumit dan kompleks. Level dimulai dengan tingkatan tertinggi kemudian diuraikan ke dalam bentuk yang lebih rinci. Tingkatan tersebut terdiri dari: a. Diagram konteks (Context Diagram) Memperlihatkan karakteristik suatu sistem. b. Diagram nol Menggambarkan proses – proses utama yang ada pada suatu sistem. c. Diagram rinci Merupakan proses rinci dari suatu sistem yang terdapat pada tingkatan sebelumnya. Komponen DFD :
Gambar 2.9 Komponen DFD 2.10 Diagram Alir (Flowchart) Menurut Hall (2011, p50), sistem flowchart adalah representasi grafik dari relasi fisik diantara elemen - elemen sistem. Elemen - elemen tersebut termasuk
38
departemen organisasi, aktifitas manual, program komputer, hard - copy, soft - copy. Sebagai representasi dari sebuah program, flowchart maupun algoritma dapat menjadi alat bantu untuk memudahkan perancangan alur urutan logika suatu program, memudahkan pelacakan sumber kesalahan program, dan alat untuk menerangkan logika program. Simbol - simbol Flowchart : Gambar 2.10 Simbol Flowchart Gambar
Simbol
Keterangan
Titik Terminasi
Awal atau akhir program
Input / output
Input atau output data
Proses
Pelaksanaan tugas fungsi
Keputusan
Penyeleksian kondisi
Garis Alir
Menunjukkan arus proses
2.11 STD (State Transition Diagram) Menurut Whitten (2004, p636), State Transition Diagram (STD) adalah diagram yang digunakan untuk menggambarkan urutan dan variasi screen yang terjadi selama satu sesi pengguna. a.
Screen
Gambar 2.11 Simbol Screen
39
b.
Aliran Kontrol Aliran kontrol menggerakkan kejadian yang akan menyebabkan screen menjadi aktif atau menerima fokus. Sebuah anak panah terpisah, masing-masing memiliki nama, digambar untuk setiap arah karena tindakan yang berbeda akan menggerakkan aliran kontrol dari dan ke screen yang ada.
Gambar 2.12 Simbol Aliran Kontrol Berikut ini adalah contoh state transition diagram
Gambar 2.13 Contoh STD
2.12 Interaksi Manusia dan Komputer (IMK) 2.12.1 Pengertian IMK Interaksi manusia dan computer (IMK) atau Human Computer Intercation adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena – fenomena besar yang berhubungan dengannya (definisi oleh ACM SIGCHI).
40
2.12.2 Delapan Aturan Emas IMK Dalam merancang tampilan suatu aplikasi ada beberapa hal yang butuh diperhatikan. Shneiderman (2010, p74), mengemukakan ada delapan aturan yang harus diperhatikan dalam perancangan layar tatap muka pengguna atau disebut dengan Eight Golden Rules of Interface Design. Aturan – aturan tersebut antara lain : a. Berusaha keras untuk konsisten Berusaha untuk konsisten dalam aksi- aksi pada situasi tertentu, yaitu konsisten dalam penggunaan warna, bahasa, tata letak, tulisan, simbol, dan sebagainya. b. Menyediakan usability universal Menyediakan shotcut yang universal, yang sudah biasa digunakan, jangan membuat shotcut yang tidak dimengerti orang banyak. c. Memberikan umpan balik yang informatif Dalam setiap aksi dilakukan pengguna, maka harus ada umpan balik yang sesuai dengan aksi tersebut sehingga pengguna untuk mengerti sistem aplikasi tersebut, seperti memberikan pesan apabila user melakukan suatu kesalahan. d. Merancang dialog untuk menghasilkan keadaan akhir (sukses, selesai) Adanya keadaan akhir yang menandakan selesainya suatu kegiatan yang diberitahukan kepada pengguna melalui umpan balik, seperti memberikan tampilan atau jendela dialog bertanda user sudah mengakhiri pemakaian aplikasi. e. Memberikan penanganan kesalahan yang sederhana Merancang sistem yang memungkinkan pengguna untuk tidak melakukan kesalahan fatal. f. Mengizinkan pembalikan aksi dengan mudah
41
Memberikan kebebasan kepada pengguna untuk mendapatkan bergerak kemana saja dimana bila terjadi kesalahan maka pengguna dapat kembali tanpa harus khawatir akan rusaknya hal yang sedang dikerjakan. g. Mendukung pusat kendali internal Dengan adanya pengaturan internal, maka pengguna dapat menggunakan sistem sesuai kebutuhan. Misalnya, adanya perbedaan hak akses antara anggota dengan bukan anggota pada aplikasi tersebut. h. Mengurangi beban ingatan jangka pendek Kemampuan manusia utnuk memproses informasi dalam jangka waktu pendek memiliki keterbatasan, sehingga perlu dirancang tampilan yang sederhana dan efektif , agar tidak membebani ingatan manusia terlalu berat.
2.13 Internet Menurut Martina (2002, p1), internet adalah jaringan komputer global yang memakai sejumlah protokol. Internet dipakai hampir setiap bidang kehidupan sehingga menjadi sesuatu yang sangat dibutuhkan saat ini.
2.14 Web Menurut Eaglestone dan Ridley (2001, p24), Web adalah salah satu dari aplikasi pada internet yang melibatkan banyak komputer dengan menggunakan internet sebagai penghubungnya.
42
Web dijalankan dengan program pada server dan menerima respon dari klien. Dari hubungan tersebut, maka komputer menjadi web server, yaitu komputer yang menyediakan informasi dan dapat diakses melalui web oleh komputer klien.
2.15 Istilah berhubungan dengan internet dan web 2.15.1 Browser Menurut Eaglestone dan Ridley (2001, p198), browser digunakan untuk menampilkan dokumen dari web dan melanjutkan link dimana link menghubungkan bagian-bagian dari dokumen ataupun untuk berpindah dari satu bagian dokumen ke dokumen yang lain.
2.15.2 WWW (World Wide Web) Menurut Fathansyah (2004, p325), WWW adalah sistem informasi terdistribusi yang berbasis hypertext. Dokumen – dokumen yang dikelola dalam web biasa beraneka jenis (pengolahan kata, lembar kerja, tabel basis data, presentasi, hypertext dan lain-lain).
2.15.3 HTTP (Hypertext Transfer Protocol) Menurut Fathansyah (2004, p327), HTTP adalah layanan yang sangat bagus, dalam hal pentransferan dokumen yang mudah dan penyediaan fasilitas enkripsi untuk keamanan. Nama dokumen dalam URL bisa juga mengidentifikasi program tertentu yang dapat dieksekusi untuk menghasilkan dokumen HTML. Ketika server HTTP menerima permintaan untuk dokumen tersebut, ia akan mengeksekusi
43
program pembentuk dokumen, dan mengirimkan kembali dokumen HTML yang telah dihasilkan ke client.
2.15.4 HTML (Hypertext Markup Language) Menurut Fathansyah (2004, p327), HTML adalah bahasa tampilan hypertext untuk kebutuhan umum.
HTML juga
menyediakan fitur – fitur untuk
mengakomodasi pemasukan data. Sebagai contoh, sebuah dokumen HTML dapat mengatur bagaimana sebuah form harus ditampilkan. Program tampilan HTML memungkinkan user untuk mengisikan data ke dalam fomulir tersebut. Tampilan layar aktual, fomulir spesifik yang bisa diisi dan menu yang bisa dipilih, kesemuanya dikendalikan oleh dokumen HTML. Akan tetapi , tidak ada koneksi terus menerus antara client dan server, server tidak memiliki histori atas interaksinya dengan client, dan semua status informasi harus disimpan di client dan dikirim ke server setiap kali keduanya berkomunikasi. Hal ini merupakan salah satu kelemahan dari HTML. Namun dengan mengabaikan kelemahan ini, HTML merupakan salah satu bukti tentang pentingnya sistem informasi terdistribusi di masa depan.
2.16 PHP Menurut Suprianto (2008, p17), php tergolong sebagai perangkat lunak open source yang diatur dalam aturan general purpose licences. Pemograman PHP sangat cocok dikembangkan dalam lingkungan web, Karena PHP bisa dilekatkan pada script HTML atau sebaliknya. PHP dikhususkan untuk pengembangan web dinamis. Maksudnya, PHP mampu menghasilkan website secara terus menerus hasilnya bisa berubah-ubah sesuai dengan pola yang diberikan.
44
PHP juga tergolong juga sebagai bahasa pemograman yang berbasis server. Ini berarti bahwa semua script PHP diletakkan di server dan diterjemahkan oleh web server terlebih dahulu, kemudian hasil terjemahan itu dikirim ke browser client.
2.17 MY SQL MySQL adalah sistem manajemen database yang sering digunakan bersama PHP. Namun demikian, Microsoft Acces, database oracle, d-Base dan system manajemen database lainnya juga didukung oleh PHP (http://anneahira.com/xamppadalah.htm). MY SQL berfungsi untuk mematikan dan menghidupkan layanan database server my sql. Namun, pada kondisi normal, kondisinya tidak perlu diubah. Hal yang perlu diperhatikan pada menu my sql adalah submenu my sql console. Pada submenu tersebut berguna sebagai editor saat memberikan perintah- perintah query database my sql.
2.18 Perpustakaaan 2.18.1 Pengertian Perpustakaan Menurut Supriyanto (2010, p7), perpustakaan adalah sebagai unit kerja yang tugas, fungsi, visi dan misi tertentu, bila di tinjau dari sudut filosofi dan organisasi. Atas dasar tersebut perpustakaan dapat dikatakan sebagai unit pendukung serta wahana sumber informasi dan sekaligus sebagai unit deposit informasi dari suatu lembaga atau perusahaan induknya.
45
2.18.2 Fungsi Perpustakaan Fungsi perpustakaan dari masa ke masa mungkin saja mengalami perubahan dan perkembangan, namun pada dasarnya fungsi perpustakaan dapat dijabarkan sebagai berikut : 1. Fungsi Edukatif Perpustakaan berfungsi sebagai tempat untuk belajar secara mandiri, di situ pengguna dapat mencari bahan – bahan yang dibutuhkan untuk menambah ilmu dan wawasan. 2. Fungsi Informatif Perpustakaan mempunyai fungsi informatif, artinya informasi yang dibutuhkan oleh pengguna dapat dicari di perpustakaan. 3. Fungsi Penelitian Perpustakaan mempunyai fungsi penelitian, artinya sumber – sumber informasi yang ada di dalam perpustaaan tersebut dapat digunakan sebagai bahan rujukan untuk melakukan penelitian. 4. Fungsi Kultural Perpustakaan mempunyai fungsi kultural artinya perpustakaan memiliki dan menyediakan bahan pustaka baik trcetak maupun elektronik yang menyajikan kebudayaan daerah, kebudayaan suatu bangsa ataupun kebudayaan antar bangsa. 5. Fungsi Rekreasi Perpustakaan mempunyai fungsi rekreasi artinya, pengguna dapat mencari koleksi yang bersifat populer dan menghibur.
46
2.18.3 Jenis Perpustakaan Adapun jenis-jenis perpustakaan yang ada dewasa ini adalah sebagai berikut: 1. Perpustakaan Nasional Perpustakaan nasional adalah perpustakaan yang didirikan oleh suatu negara (biasanya di satu negara hanya ada satu) yang mempunyai fungsi utama untuk menyimpan semua bahan pustaka tercetak, terekam, serta multimedia yang diterbitkan oleh negara tersebut dan / atau mengenai negara tersebut. Contoh : Perpustakaan Nasional Republik Indonesia. 2. Perpustakaan Umum Perpustakaan umum adalah jenis perpustakaan yang didirikan oleh masyarakat umum dan dibiayai oleh masyarakat itu sendiri baik secara langsung (swadaya) maupun tidak langsung seperti pajak. Contoh : perpustakaan umum pemerintah kabupaten / kota, Badan atau Kantor Perpustakaan Provinsi yang berkedudukan di ibukota provinsi, perpustakaan umum tingkat kecamatan, dan perpustakaan umum tingkat desa. 3. Perpustakaan Khusus Perpustakaan khusus merupakan perpustakaan yang berada pada suatu instasi atau lembaga tertentu, baik instasi pemerintah maupun swasta. Tujuan didirikannya adalah mendukung instasinya dengan cara menyediakan informasi bagi pegawai dilingkungan instasi tersebut guna memelighara dan meningkatkan pengetahuan pegawai yang bersangkutan. Contoh : Perpustakaan Sekretariat Negara di Jalan Merdeka Barat, Jakarta ; Perpustakaan Penelitian Perkebunan, di Jalan Taman Kencana, Bogor ; Perpustakaan Sekretariat ASEAN di Jakarta.
47
4. Perpustakaan Sekolah Perpustakaan sekolah merupakan salah satu sarana dan fasilitas penyelenggaraan pendidikan sehingga setiap sekolah semestinya memiliki perpustakaan. Perpustakaan sekolah berada pada lingkungan sekolah dan sepenuhnya dikelola oleh sekolah yang bersangkutan. Tugas pokok dari perpustakaan sekolah adalah menunjang proses belajar mengajar disekolah dengan cara menyediakan bahan bacaan yang sesuai dengan kurikulum sekolah dan ilmu pengetahuan tambahan lain sehingga proses belajar mengajar disekolah tersebut dapat berjalan lancar dan baik. Contoh: Perpustakaan Sekolah SMP-SMA St. Kristoforus. 5. Perpustakaan Perguruan Tinggi Perpustakaan Perguruan Tinggi adalah perpustakaan yang berada di lingkungan perguruan tinggi, universitas, sekolah tinggi, akademi dan pendidikan tinggi lainnya, yang pada hakikatnya merupakan bagian integral dari sesuatu perguruan tingginya. Perpustakaan ini dikelola oleh perguruan tinggi sebagian dari induknya. Tujuan diselenggarakan ini adalah untuk menunjang terlaksananya pendidikan, penelitian dan pengabdian masyarakat, melalui pelayanan informasi, yang meliputi : pengumpulan, pengolahan, pemanfaatan, penyebar luasan, dan pelestarian informasi. Contoh : Perpustakaan Institut Pertanian Bogor.
2.18.4 Pelayanan Perpustakaan Sebagai mana layaknya perpustakaan lain, perpustakaan member layanan pembaca, jasa referensi dan jasa sirkulasi bahan pustaka. Jasa- jasa tersebut terutama untuk pengguna dari luar.
48
a. Sistem layanan bahan pustaka Sistem layanan bahan pustaka dapat dilaksanakan dengan sistem layanan terbuka atau sistem layanan tertutup. b. Peminjaman Layanan peminjaman merupakan kegiatan pencatatan bahan pustaka yang di pinjam oleh pengguna. c. Pengembalian Pengembalian adalah kegiatan pencatatan bahan pustaka yang dikembalikan oleh pengguna. d. Pemberian Sanksi Apabila pengguna yang meminjam bahan pustaka melakukan pelanggaran, perpustakaan dapat memberikan sanksi kepada peminjam.