SKRIPSI
disusun oleh :
i
WEB BASED INFORMATION SYSTEM
A CASE STUDY IN PUBLIC LIBRARY
IN BULELENG REGANCY - BALI
FINAL ASSIGNMENT
by :
ii
iii
iv
v
HALAMAN PERSEMBAHAN
Om Swastiastu
vi
HALAMAN MOTTO
vii
ABSTRAK
Pada tugas akhir ini dibuat sistem informasi perpustakaan berbasis web studi
kasus pada perpustakaan daerah kabupaten buleleng-bali yang dibangun dengan
bahasa pemrograman PHP dan database mysql. Sistem informasi ini mampu
menangani beberapa proses seperti : sirkulasi buku, inventaris buku, pengelolaan
keanggotaan perpustakan serta dapat menyajikan beberapa laporan contohnya :
laporan peminjaman, laporan usulan buku, laporan inventaris dan laporan
keterlambatan pengembalian buku.
Setelah dilakukan uji coba sebanyak dua kali kepada pengelola perpustakaan
daerah kabupaten buleleng –bali dapat disimpulkan bahwa pencarian informasi buku
lebih hemat waktu dibandingkan dengan sistem lama(tradisional). Dan sistem
informasi ini dapat digunakan untuk menggantikan sistem lama dengan kondisi yang
sebenarnya.
viii
ABSTRACT
ix
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya Mahasiswa Universitas Sanata Dharma:
Nama : Ida Bagus Mahendra Yudha
NIM : 045314030
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul:
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,
mendistribusikannya secara terbatas, dan mempublikasikannya di internet atau media
lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun
memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 19 Desember 2009
Yang menyatakan
x
KATA PENGANTAR
mengucapkan Terima Kasih dan Ucap Syukur kepada Allah di Surga karena hanya
dengan berkat dan karunia-Nya sehingga penulis dapat menyelesaikan Tugas Akhir
yang berjudul ”Sistem Informasi Perpustakaan Berbasis Web Studi Kasus Pada
Tugas Akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Sains dan Teknologi Program Studi Teknik Informatika di Fakultas Sains
Penulis telah banyak mendapat bantuan dari berbagai pihak hingga tugas
akhir ini dapat terselesaikan dengan baik. Penulis juga ingin menyampaikna ucapan
1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan
2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan Program
3. Ibu Agnes Maria Polina, S.Kom., M.sc. selaku Dosen Pembimbing Tugas Akhir,
4. Bapak J.B. Budi Darmawan, S.T., M.Sc. dan bapak Alb. Agung Haditama, S.T.,
Informatika .
xi
6. Bapak Ida Bagus Manuaba, Ida Ayu Merdiani (orang tua penulis) yang selalu
7. Seluruh mahasiawa TI USD angkatan 2004 serta seluruh sahabat penulis yang
Akhir ini.
8. Serta semua pihak yang tidak dapat disebutkan satu per satu yang telah
Semoga kebaikan dan bantuan dari semua pihak diatas yang telah diberikan
kepada penulis, senantiasa mendapat berkah dan rahmat dari Tuhan Yang Maha Esa.
Akhir kata penulis menyadari bahwa Tugas Akhir ini masih jauh dari
sempurna, hal ini karenakan keterbatasan kemampuan dan pengetahuan dari penulis.
Oleh karena itu, penulis sangat mengharapkan saran dan kritik yang membangun dari
semua pihak sehingga Tugas Akhir ini akan menjadi lebih baik dan bermanfaat bagi
Penulis
xii
DAFTAR ISI
J U D U L ............................................................................................................. i
HALAMAN PERSETUJUAN …………………….…………………………… iii
HALAMAN PENGESAHAN ……………………….…………………………. iv
HALAMAN PERNYATAAN ………………………………………………….. v
HALAMAN PERSEMBAHAN ……………………………………………….. vi
HALAMAN MOTTO …………………………………………………………… vii
ABSTRAK ………………………………………………………………………. viii
ABSTRACT ………………………………………………………………………………. ix
LEMBAR PERNYATAN ................................................................................... x
KATA PENGANTAR ………………………………………………………….. xi
DAFTAR ISI ...................................................................................................... xiii
xiii
2.3.3.1 Use Case Diagram ........................................................................ 11
2.3.4 Pemodelan Proses ............................................................................... 12
2.3.4.1 Context Data Flow Diagram ........................................................ 12
2.3.4.2 Diagram Aliran Data (DAD / DFD) ............................................. 12
2.3.5 Desain Database ................................................................................. 13
2.3.5.1 Entity Relationship (E-R Diagram) .............................................. 13
2.3.5.2 Kardinalitas Relasi ........................................................................ 14
2.4 Internet ........................................................................................................ 15
2.4.1 WWW (World Wide Web) ....................................................................... 16
2.4.2 HTTP (HyperText Transfer Protocol) ................................................ 16
2.4.3 URL (Uniform Resource Locator)...................................................... 16
2.4.4 Browser ............................................................................................... 17
2.5 Pemrograman Web (Web Programing) ...................................................... 17
2.5.1 HTML (Hypertext Markup Language) ............................................... 17
2.5.2 PHP ..................................................................................................... 19
2.5.3 MySQL ............................................................................................... 20
2.6 Macromedia Dreamweaver......................................................................... 22
BAB III ANALISA dan PERANCANGAN SISTEM ......................................... 23
3.1 Analisa Sistem ............................................................................................ 23
3.1.1 Gambaran Umum Sistem Lama ......................................................... 23
3.1.1.1 Prosedur pendaftaran anggota perpustakaan ................................ 23
3.1.1.2 Prosedur Peminjaman buku .......................................................... 24
3.1.1.3 Prosedur Perpanjangan Peminjaman buku ................................... 25
3.1.1.4 Prosedur Pengembalian buku ...................................................... 26
3.1.1.5 Prosedur Inventarisasi buku.......................................................... 27
3.1.1.6 Prosedur Pemesanan Buku ........................................................... 28
3.1.2 Pendifinisian Sistem yang Diusulkan ................................................. 28
3.1.3.1 Sumber Daya Manusia ................................................................. 29
3.1.3.2 Perangkat Keras dan Perangkat Lunak ......................................... 31
3.1.3.3 Use Case Diagram ........................................................................ 32
3.1.4 Pemodelan Proses .............................................................................. 33
3.1.4.1 Data Flow Diagram (DFD) ............................................................ 33
3.1.4.2 Kamus Data ................................................................................... 42
3.1.5 Pemodelan Data ( ER Diagram ) .......................................................... 51
xiv
3.2 Perancangan Sistem .................................................................................... 52
3.2.1 Desain Basis Data ( Logical Design ) ................................................. 52
3.2.2 Desain Basis Data (Physical Desain) ...................................................... 53
3.3 Perancangan Antar Muka (interface) ...................................................... 58
3.3.1 Struktur Halaman Web ....................................................................... 58
3.3.2 Perancangan Halaman Web .................................................................. 61
BAB IV IMPLEMENTASI .................................................................................. 67
4.1 Penjelasan Logika Pemrogaman pada Web................................................ 67
4.1.1 Koneksi ke Basis Data(koneksi.php) .................................................. 67
4.1.2 Halaman Utama .................................................................................. 68
4.1.2.1 Halaman Utama Petugas (index.php) ........................................... 68
4.1.2.2 Halaman Utama Pengguna (index.php) ........................................ 71
4.1.3 Menu Admin (menu_admin.php) ......................................................... 71
4.1.4 Menu Petugas Pelayanan (menu_pelayanan.php) ................................ 81
4.1.5 Menu Petugas Pengolahan (menu_pengolahan.php) ............................ 98
4.1.6 Menu Anggota (menu_anggota.php) .................................................. 107
4.1.7 Menu Pengguna (index.php) .............................................................. 111
BAB V ANALISA HASIL IMPLEMENTASI .................................................. 120
5.1 Analisa Hasil Implementasi Program ....................................................... 120
5.1.1 Lingkungan Piranti Uji ..................................................................... 120
5.1.2 Perangkat Keras dan Perangkat Lunak yang Digunakan.................. 120
5.1.3 Analisa Pengujian Terhadap Pengguna Web.................................... 121
5.1.3.1 Analisa Pengujian Oleh Petugas Pengolahan ............................ 121
5.1.3.2 Analisa Pengujian Oleh Petugas Pelayanan ............................... 121
5.1.3.3 Analisa Pengujian Oleh Pengunjung Perpustakaan .................... 122
5.2 Kelebihan dan Kekurangan Program........................................................ 123
5.2.1 Kelebihan .......................................................................................... 123
5.2.2 Kekurangan ....................................................................................... 123
BAB VI PENUTUP ............................................................................................ 124
6.1 Kesimpulan ............................................................................................... 124
6.2 Saran ......................................................................................................... 124
DAFTAR TABEL ………………………………………………………….. xvi
DAFTAR GAMBAR ……………………………………………………….. xvii
DAFTAR PUSTAKA ......................................................................................... xx
xv
DAFTAR TABEL
xvi
TABEL GAMBAR
xvii
Gambar 4.3 Halaman Menu admin ....................................................................... 72
Gambar 4.4 Halaman Pengelolaan Petugas .......................................................... 73
Gambar 4.5 Halaman Edit Petugas ....................................................................... 74
Gambar 4.6 Halaman Tambah Data Petugas ...................................................... 76
Gambar 4.7 Halaman Pilihan Periode Laporan..................................................... 76
Gambar 4.8 Halaman Laporan Bulanan ................................................................ 77
Gambar 4.9 Halaman Tampil Laporan Bulanan Peminjam .................................. 77
Gambar 4.10 Halaman Tampil Laporan Bulanan Buku Dipinjam ..................... 81
Gambar 4.11 Halaman Menu Petugas Pelayanan ............................................... 82
Gambar 4.12 Halaman Pencarian Anggota ......................................................... 83
Gambar 4.13 Halaman Hasil Pencarian Anggota ............................................... 84
Gambar 4.14 Halaman Update Anggota ............................................................. 86
Gambar 4.15 Halaman Tampil Detil Anggota .................................................... 87
Gambar 4.16 Halaman Pesan .............................................................................. 89
Gambar 4.17 Halaman Update Akun Petugas..................................................... 89
Gambar 4.18 Halaman Inputan No Anggota....................................................... 91
Gambar 4.19 Halaman Pinjam Kembali ............................................................. 91
Gambar 4.20 Halaman Cek Pemesan Buku ......................................................... 95
Gambar 4.21 Halaman Laporan Keterlambatan Pengembalian ........................... 97
Gambar 4.22 Halaman Detil Laporan Keterlambatan Pengembalian .................. 98
Gambar 4.23 Halaman Menu Pegolahan ............................................................. 98
Gambar 4.24 Halaman Cari Buku ........................................................................ 99
Gambar 4.25 Halaman Tampil Buku ................................................................. 101
Gambar 4.26 Halaman Update Buku ................................................................. 101
Gambar 4.27 Halaman Tampil Detil Buku ........................................................ 102
Gambar 4.28 Halaman Tambah Buku................................................................ 102
Gambar 4.29 Halaman Tampil Kategori Buku .................................................. 104
Gambar 4.30 Halaman Laporan Susulan Buku .................................................. 105
Gambar 4.31 Halaman Laporan Inventaris Buku .............................................. 105
Gambar 4.32 Halaman Detil Laporan Inventaris Buku ..................................... 106
Gambar 4.33 Halaman Detil Laporan Inventaris per Kategori ......................... 106
Gambar 4.34 Halaman Cek Peminjaman Buku ................................................. 107
Gambar 4.35 Halaman Tampil Detil Buku ........................................................ 110
Gambar 4.36 Halaman Tampil Peminjam Buku ................................................ 110
Gambar 4.37 Halaman Pendaftaran Anggota..................................................... 112
xviii
Gambar 4.38 Halaman Konfirmasi Pendaftaran Anggota ................................ 114
Gambar 4.39 Halaman Buku Tamu ................................................................... 114
Gambar 4.40 Halaman Daftar Pengunjung ........................................................ 115
Gambar 4.41 Halaman Usulan Buku ................................................................. 118
Gambar 4.42 Halaman Daftar Usulan Buku ...................................................... 119
xix
1
BAB I
PENDAHULUAN
sumber informasi bagi masyarakat yang ada disekitarnya. Biaya yang diperlukan
bisa dikatakan gratis. Hal - hal tersebut yang menyebabkan tingkat kunjungan di
anggota dan lain sebagainya masih bersifat manual dan tradisional. Begitu juga
pencatatan manual sering kali terjadi akibat human error. Kerusakan pada media
penyimpanan kertas juga sering terjadi karena dimakan rayap, hilang, robek tanpa
sengaja dan lain sebagainya. Hal ini menyebabkan data yang terdapat didalamnya
1
2
mendatangi perpustakaan. Hal ini tentu akan menghabiskan waktu dan biaya yang
pengembalian buku.
pemesanan buku.
adalah :
1.4.1 Tujuan
Tujuan yang ingin dicapai dalam penyusunan tugas akhir ini adalah :
1.4.2 Manfaat
Manfaat yang ingin dicapai dalam penyusunan tugas akhir ini adalah :
a. Studi Pustaka
masing bidang tersebut, proses yang telah berjalan dan lain – lain,
perpustakaan.
1. Analisa Sistem
pemecahan masalah.
5
2. Desain Sistem
informasi ini.
3. Implementasi Sistem
sebagai berikut :
6
BAB I. PENDAHULUAN
Bab ini merupakan gambaran umum tentang tugas akhir ini yang
masalah, tujuan dan manfaat penelitian, dan metodologi yang digunakan dalam
pembangunan sistem.
Bab ini akan berisi uraian tentang teori-teori yang akan digunakan dalam
sistem informasi, pemrograman web, web server , database dan teori-teori lainnya
Bab ini akan membahas analisa dan rancangan dari sistem yang akan
Bab ini berisi tentang proses implementasi dari analisis dan desain sistem
Bab ini membahas tentang analisa hasil implementasi pada aplikasi sistem
informasi yang telah dibuat dan hasil analisa dari penerapan aplikasi pada sistem
Bab ini berisi Kesimpulan dan Saran untuk aplikasi yang telah dibuat agar
ada pengembangan yang lebih baik untuk masa yang akan datang.
7
BAB II
DASAR TEORI
II.1 Perpustakaan
tempat dimana didalamnya terdapat bahan yang disusun dengan sistem tertentu
(http://media.diknas.go.id/media/document/5361.pdf).
tempat belajar.
prosedur dan atau aturan yang diorganisasikan secara integral untuk mengolah
7
8
pengambilan keputusan(http://id.wikipedia.org/wiki/Sistem_informasi).
terbaik, barang siap dikirim, dan peralatan terotomasi yang digunakan para
• Discovery prototyping
berpusat pada proses yang digunakan untuk menganalisis sistem yang ada,
atau keduanya. Analisis terstruktur fokus pada aliran data melalui proses-
diusukan dalam sebuah sistem yang bersama dengan input, output dan file
Pada akhirnya model-model proses ini berperan sebagai cetak biru bagi
pengguna. Dua metode penemuan persyaratan ada dua macam yaitu teknik
situs
yang tepat.
• Teknik informasi
• Prototiping
• JAD
• RAD
2. desain database
berikut:
tunggal
12
Simbol aktor
2.2 berikut:
suatu sistem yang telah ada atau sistem baru yang akan
table 2.3:
penggunaan selanjutnya.
proses lainnya
Simbol berbeda.
relasi
garis bawah).
atribut.
Tabel 2. 4 Simbol ER
sebaliknya.
sebaliknya.
II.4 Internet
hubungan berbagai komputer dan berbagai tipe komputer yang membentuk sistem
jaringan yang mencakup seluruh dunia (jaringan global) dengan melalui jalur
menjadi dua, yaitu client dan server dengan menggunakan software khusus
Dalam cara kerja www ada dua hal yang terpenting yaitu software web
diikuti oleh web browser dalam meminta atau mengambil suatu dokumen
dan oleh web server dalam menyediakan dokumen yang diminta oleh
untuk mengakses protokol Html. Apabila kita menjelajah web dan pada
URL dapat diibaratkan suatu alamat, dimana alamat itu terdiri atas
Nama komputer (server) dimana informasi tersebut berada, dan Jalur atau
Prtokol_transfer://nama_host/path/nama_file
Contoh : http://www.balilila.com/seni/index.html
17
atau server komputer dimana informasi yang dicari berada. Seni adalah
jalur atau path dari informasi yang dicari. Index.html adalah nama file
II.4.4 Browser
internet. Jadi untuk mengakses web diperlukan suatu program yaitu web
browser.
sebuah halaman web bisa diubah secara dinamis, dengan demikian halaman web
tersebut menjadi lebih interaktif, tidak statis seperti halaman web yang ditulis
dengan Html murni. Web statis adalah web yang menampilkan atau berisi
informasi-informasi yang sifatnya statis atau tetap, sedangkan web dinamis adalah
web yang menampilkan informasi serta dapat berinteraksi atau melakukan kontak
dengan pengguna yang sifatnya dinamis. Biasanya bahasa untuk scripting adalah
bahasa pemrograman yang tak harus di compile dulu, tapi bisa dianalisis dan
dipakai untuk membuat sebuah halaman web yang tidak tergantung pada
18
tanda (tag) tertentu yang digunakan untuk menentukan tampilan suatu teks
dokumen. Secara umum dokumen Html dibagi dua yakni head dan body.
akan tampil di bagian atas layar browser saat dokumen dieksekusi dan
menampilkan teks, image link, dan semua yang ditampilkan dalam web
page.
<html>
<head>
<title>Judul Halaman</title>
</head>
<body>
</body>
</html>
19
II.5.2 PHP
Php dapat berjalan dalam web server yang berbeda dan dalam
sistem operasi yang berbeda pula. Php juga adalah bahasa server-side
scripting yang menyatu dengan Html untuk membuat halaman web yang
browser pengguna.
beberapa versi Unix, dan Php dapat dibangun sebagai modul pada web
server Apache dan sebagai binary yang dapat berjalan sebagai CGI. Php
dengan beberapa basis data antara lain Oracle, Sybase, MySQL, dBase,
dan tidak terkecuali semua yang ber-interface ODBC. Jika Php berada
<html>
<head>
20
<title>Skrip PHP</title>
</head>
<body>
<?php
?>
</body>
</html>
II.5.3 MySQL
Keunggulan MySQL:
lain-lain.
tetap/bervariasi.
www.mysql.com
disebuah server.
FROM nama_tabel
WHERE [kondisi]
VALUES (‘nilai1’,’nilai2’…’nilaiN’);
UPDATE nama_tabel
kolom2 = nilai_baru2,
kolomN = nilai_baruN
22
WHERE [kondisi];
WHERE [kondisi];
pemrograman dan manajemen situs web dengan tingkat fleksibilitas sangat tinggi.
tingkat lanjut (advance) untuk membuat situs web dengan cara menulis langsung
kode HTML pada tools pemrograman yang terintegrasi pada software ini atau
BAB III
23
24
petugas pelayanan.
kepada anggota.
kepada anggota.
27
pendaftaran.
pelayanan perpustakaan.
kabupaten Buleleng.
dengan baik.
31
web server (misalnya apache atau IIS), PHP dan Mysql. Sedangkan
b. Diagram Berjenjang
c. Overview Diagram
dalam DFD . Berikut kamus data dar DFD yang telah dibuat :
Alias :-
in.
Struktur data :-
Alias :-
Alias :-
1P.
pelayanan.
monitor.
44
halaman laporan.
No_dcc, Tanggal_pengembalian,
Pengarang, Penerbit.
Alias :-
anggota.
anggota .
anggota baru.
Penjamin, jabatan_penjamain,
Kategori_anggota.
Alias :-
Struktur data :-
Alias :-
Anggota.
anggota.
Struktur data :-
peminjaman, pengembalian,
penambahan data.
pengolahan.
perubahan data.
Struktur data :-
Alias :-
angota.
yang dipesan.
buku.
Struktur data :-
Alias :-
sebaliknya.
petugas.
jabatan.
Alias :-
pencarian buku.
Harga, Jenis_bahasa.
Alias :-
49
buku.
buku.
Alias :-
1.4.4p
buku.
Alias :-
buku.
Struktur data :-
Alias :-
transaksi.
buku.
logika antar entitas. Entitas yang terdapat dalam sistem ini adalah petugas,
anggota dan buku. Berikut ini adalah gambar ER diagram dari system ini :
pada gambar 3.11 menjadi logical deisgn yang dapat digambarkan dengan
relational model.
untuk bantuan pihak swasta dan nilai 3 untuk buku yang berasal
membeli).
Table 3.1 tabel buku
b. Tabel Buku
terdiri dari 4 nilai yaitu nilai 0 untuk buku yang sedang dipinjam,
nilai 1 untuk buku yang siap dipinjam serta nilai 2 untuk buku yang
c. Tabel Kategori
d. Tabel Petugas
e. Tabel Anggota
dengan masa watu satu tahun. Field Register bernilai 0 jika calon
f. Tabel Transaksi
g. Detil_transaksi
dikembalikan
transaksi pengembalian.
halaman utama untuk pengguna (anggota dan non anggota) dan halaman
melakukan log in terlebih dahulu pada halaman ini. Gambar 2.24 adalah
BAB IV
IMPLEMENTASI
Pada bab ini akan dibahas mengenai logika pemrograman yang ada di web
sourcecodenya :
<?php
$dbhost = "localhost"; /* Mysql Database Host */
$dbuname = "root";
$dbpass = ""; /* Mysql Password */
$dbname = "Perpustakaan"; /* Mysql Database Name */
sebagai server tempat menyimpan basis data. Pada bagian dbuname dan
login ke basis data. Pada bagian dbname diisi dengan nama basis data yang
67
68
muncul saat pertama kali mengakses web. Terdapat dua halaman utama
dalam web ini yaitu halaman utama untuk petugas dan halaman utama
//Pendaftaran session
if($cek['Nama'])
{
session_register("logjabatan","logusername","logpassword","logidpetugas");
$_SESSION['logjabatan']=$cek['Jabatan'];
$_SESSION['logusername']=$cek['Nama'];
$_SESSION['logpassword']=$cek['Password'];
$_SESSION['logidpetugas']=$cek['Id_petugas']; }
Data " dan inputan selain angka pada Id petugas akan menampilkan pesan
"Inputan ID Petugas harus bilangan numerik (angka)". Script sejenis ini akan
tersebut adalah :
Mysql.
session_unregister().
menu untuk non anggota seperti menu profil perpusda kab. Buleleng,
menu pendaftaran anggota , menu pencarian buku dan menu buku tamu.
dapat diakses setelah mendapatkan validasi dari proses login pada halaman
utama petugas(index.php).
72
kanan menu). Begitu juga jika memilih menu Laporan maka halaman yang
Laporan.php . Pada pemilihan menu Log Out halaman yang dituju adalah
halaman menu_admin.php .
<?php
include "../koneksi.php";
$strsql="select * from petugas where status_aktif='1'";
$cek=mysql_query($strsql) or die(mysql_error());
while($sql=mysql_fetch_array($cek)) {
?> <tr>
<td> <? echo $sql['Id_petugas'];?></td>
<td> <? echo $sql['Nama'];?></td>
<td> <? echo $sql['Jabatan'];?></td>
<td> <a
href="menu_admin.php?tampil=Frm_update_admin.php&Id_petugas=<?
echo $sql['Id_petugas'];?>"> Edit </a> <a
href="menu_admin.php?tampil=cek_hapus_petugas.php&Id_petugas=<?
echo $sql['Id_petugas'];?>"> Hapus </a></td>
</tr> <? } ?><p> <a
href="menu_admin.php?tampil=Frm_tambah_petugas.php"> Tambah
Petugas </a> </p>
Listing 4.4 tampil_petugas.php
mengambil data dari petugas yang aktif dan menampilkan data pada
kondisi tertentu .
terpenuhi.
selanjutnya.
if($HTTP_POST_VARS['pswd']){ $ubahpswd=md5($HTTP_POST_VARS[pswd]);
$strsql="update petugas set Id_petugas='$_REQUEST[no_id]',
Nama='$_REQUEST[username]', Password='$ubahpswd',
Jabatan='$_REQUEST[jabatan]' where Id_petugas='$_REQUEST[hide]'";
} elseif ( empty($HTTP_POST_VARS['pswd'])){ $strsql="update petugas set
Id_petugas='$_REQUEST[no_id]', Nama='$_REQUEST[username]',
Jabatan='$_REQUEST[jabatan]' where Id_petugas='$_REQUEST[hide]'"; }
include "../koneksi.php";
$query_admin=mysql_query($strsql) or die(mysql_error());
75
header("location:menu_admin.php?tampil=tampil_petugas.php");
Listing 4.5 cek_update_petugas.php
inputan password yang kosong tidak dilakukan set terhadap password dan
cek_hapus_petugas.php
include "../koneksi.php";
$strsql="upadate petugas set status_aktif=’0' where
Id_petugas='$_REQUEST[Id_petugas]'"; $query_admin=mysql_query($strsql) or
die(mysql_error());
echo "<meta http-equiv='refresh'content='0;
url=index_admin.php?tampil=tampil_petugas.php'>";
Listing 4.6 cek_hapus_petuga.php
karena data petugas memiliki relasi dengan table yang lain sehingga cukup
berdasarkan periode per bulan dan jenisnya. Terdapat dua jenis laporan :
$bulan[$i]=$tahun_1.'-'.$x.'-01';
$month[$i]=$x;
$x+=1; }
Listing 4.8 lap_bulan_peminjam.php
Dibagian atas script bisa kita lihat variabel awal yang digunakan
dipisah-pisah untuk mendapatkan nilai bulan dan tahun awal dari periode
79
laporan. Hal yang sama juga dilakukan untuk mendapatkan bulan dan
data. Elemen array pada variabel bulan dan month diisi satu persatu dengan
untuk mengambil data, salah satu syarat dalam query adalah tanggal
transaksi berada diantara nilai vaiabel bulan[$i] dan blna. Jadi pengambilan
data dilakukan perbulan sampai keluar dari kondisi perulangan. Hasil dari
halaman web.
<? session_start();
session_destroy();
?>
<meta http-equiv="refresh" content="0;<?php echo "url=../operator/index.php" ?>
Listing 4.11 logout.php
Sourcecode untuk log out pada halaman admin. Script yang sama
juga digunakan pasa setiap halaman log out, hanya terdapat perbedaan
anggota, penggantian akun petugas, backup data base serta melihat laporan
menu_pelayanan.php.
82
</label></td>
</tr>
<tr>
<td align="right"><label>
<input name="cari" type="submit" id="cari" value="Cari" />
</label></td>
<td><input type="reset" name="Reset" value="Batal" /></td>
</tr>
</table>
Listing 4.13 Frm_cari_anggota.php
operasi pada data anggota yaitu update data anggota, hapus data anggota
menjadi tidak aktif sehingga hak – hak sebagai anggota akan hilang.
href="menu_pelayanan.php?tampil=cek_hapus_anggota.php&No_anggota=<?php
echo $sql['No_anggota'];?>">Delete </a></td>
</tr><?php
}
}
?>
</table>
Listing 4.14 tampil_anggota.php
dapat merubah data anggota. Data anggota yang dapat dirubah adalah
tampil_detail_anggota.php.
87
</tr>
<tr>
<td align="right">Instansi : </td>
<td><label><?php echo $cek[Instansi] ;?> </label></td>
</tr>
<tr>
<td align="right">Penjamin : </td>
<td><label><?php echo $cek[Penjamin] ;?> </label></td>
</tr>
<tr>
<td align="right">Jabatan Penjamin : </td>
<td><label><?php echo $cek[Jabatan_penjamin] ;?> </label></td>
</tr>
<tr>
<td align="right">masa berlaku : </td>
<td><label><?php echo $cek[Masa_berlaku] ;?> </label></td>
</tr>
<tr>
<td align="right">Status : </td>
<td><label><?php echo $status ;?> </label></td>
</tr>
</table>
Listing 4.15 tampil_detail_anggota.php
// registrasi anggota
<?php
include "../koneksi.php";
?>
Listing 4.16 cek_register_anggota.php
cek_hapus_anggota.php.
include "../koneksi.php";
89
dihapus.
administrator.
password. Hal ini bertujuan untuk memastikan bahwa data yang diupdate
adalah data milik petugas itu sendiri. Pengecekan validasi tersebut terdapat
Bagian yang paling penting dari web ini adalah pada menu
Halaman ini menampilkan data anggota dan data buku yang sedang
adalah :
?>
<td width="86" align="right">Id Anggota : </td>
<td width="338"><label>
<?php echo $cek[No_anggota].'/'.$cek[Kategori_anggota].'/'.$cek[Tahun]; ?>
</label></td>
</tr>
<tr>
<td align="right">Nama : </td>
<td><label>
<?php echo $cek[Nama] ;?>
</label></td>
</tr>
<tr>
<td align="right">Alamat : </td>
<td><label>
<?php echo $cek[Alamat] ;?>
</label></td>
</tr>
</table>
<br>
</form>
<form id="form2" name="form1" method="post" action="">
<table width="545" height="56" border="0" cellpadding="3">
<p></p>
<b>Buku yang masih dipinjam </b>
<tr>
<td width="20" align="center" class="header">No</td>
<td width="84" align="center" class="header">No DCC</td>
<td width="101" align="center" class="header">Judul Buku </td>
<td width="91" align="center" class="header">Batas Waktu Pengembalian </td>
<td width="94" align="center" class="header">Keterlambatan (hari)</td>
<td width="91" align="center" class="header">Transaksi</td>
</tr>
<?php
include "../koneksi.php";
// query untuk mengambil data buku yang masih dipinjam oleh anggota tersebut.
93
$nomor=1;
$strsql1="select detil_transaksi.No_panggil, buku.Judul,
detil_transaksi.Status_transaksi, detil_transaksi.Batas_peminjaman,
transaksi.Tgl_transaksi from transaksi,detil_transaksi,buku where
(detil_transaksi.Status_transaksi='2' or detil_transaksi.Status_transaksi='3') and
transaksi.No_anggota='$_SESSION[log_no_anggota]' and
transaksi.No_transaksi=detil_transaksi.No_transaksi and
detil_transaksi.No_panggil=buku.No_panggil";
$sql1=mysql_query($strsql1) or die(mysql_error());
$jumpinjam=mysql_num_rows($sql1);
while($cek1=mysql_fetch_array($sql1)){
// melakukan perhitungan ketelambatan pengembalian
if($cek1['Batas_peminjaman']>date('Y-m-d')) {
$terlambat=0;
}
else {
$awal=$cek1['Batas_peminjaman'];
$akhir=date("Y-m-d");
$ex=explode("-",$awal);
$ex2=explode("-",$akhir);
$awal_tahun=$ex[0];
$awal_bulan=$ex[1];
$awal_hari=$ex[2];
$akhir_tahun=$ex2[0];
$akhir_bulan=$ex2[1];
$akhir_hari=$ex2[2];
$tgl_awal=mktime(0,0,0,$awal_bulan,$awal_hari,$awal_tahun);
$tgl_akhir=mktime(0,0,0,$akhir_bulan,$akhir_hari,$akhir_tahun);
$terlambat=($tgl_akhir-$tgl_awal) / 86400 ;
}
?>
<tr
// menampilkan data buku yang dipinjam
<td class="tampil_usulan"> <?php echo $nomor?></td>
<td class="tampil_usulan"><?php echo $cek1['No_panggil'];?></td>
<td class="tampil_usulan"><?php echo $cek1['Judul'];?></td>
<td class="tampil_usulan"><?php echo $cek1['Batas_peminjaman'];?></td>
<td class="tampil_usulan"><?php echo $terlambat;?></td>
<td class="tampil_usulan"> <?php if($cek1[Status_transaksi]==2) {?> <a
href="cek_perpanjang_pinjam.php?No_panggil=<?php echo
$cek1['No_panggil'];?>&No_anggota=<?php echo
$cek['No_anggota'];?>">perpanjang <?php } ?></a> <a
href="cek_kembali.php?No_panggil=<?php echo $cek1['No_panggil'];
?>&No_anggota=<?php echo $cek['No_anggota'];?>">kembali</a> </td>
</tr>
<?php $nomor ++;}
?>
</table>
<br>
</form>
<form method="post" action="<?php $PHP_SELF ?>">
<p><b>Peminjaman Baru</b></p>
94
<label></label>
<?php if($HTTP_POST_VARS[add]) {
if(!$HTTP_POST_VARS[no_panggil]) { echo " inputan kosong ,
silahkan isi No Panggil buku";
}elseif($HTTP_POST_VARS[no_panggil]) {
$strsql3="select * from buku where
No_panggil='$_REQUEST[no_panggil]'";
$sql3=mysql_query($strsql3) or die
(mysql_error());
$cek3=mysql_fetch_array($sql3);
if($cek3[No_panggil] and
$cek3[Status_buku]==1) {
session_register(log_no_panggil);
$_SESSION[log_no_panggil]=$HTTP_POST_VARS[no_panggil];
echo "<meta http-
equiv='refresh'content='0;
url=menu_pelayanan.php?tampil=cek_pemesan_buku.php&No_panggil=$HTTP_PO
ST_VARS[no_panggil]'>";
} if($cek3[No_panggil] and
$cek3[Status_buku]==0) {
echo "Buku Sedang Dipinjam";
} elseif(!$cek3[No_panggil]) {
echo "Buku tidak tersedia";
}
}
} else {
}
?>
Listing 4.19 Frm_pinjam_kembali.php
mengecek apakah buku dengan judul yang sama telah dipesan atau tidak.
Jika buku sudah dipesan oleh anggota tersebut maka secara otomatis
95
dengan peminjam buku. Jika judul buku yang dipinjam telah dipesan oleh
anggota lain dan buku yang tersedia lebih banyak dari pada pemesan maka
buku yang dipinjam telah dipesan oleh anggota lain dan jumlah pemesan
lebih banyak dari buku yang tersedia maka sistem akan menyerahkan
adalah :
<?php session_start();
if($_SESSION[logjabatan]!=Pelayanan) {
echo "<meta http-equiv='refresh'content='0; url=index.php'>";
}
?>
<link href="../Styleku2.css" rel="stylesheet" type="text/css" />
<b>Pemesan Buku</b>
<table width="492" border="0" cellpadding="3">
<tr>
<td width="102" class="header">Nama</td>
96
?>
<tr>
<td class="tampil_usulan"> <?php echo $cek['Nama']?></td>
<td class="tampil_usulan"> <?php echo $cek['Judul']?></td>
<td class="tampil_usulan"> <?php echo $cek['Tanggal_pesan']?></td>
</tr>
<?php
}
?>
</table>
<?php
if($pesan==1 and $Jumlah_pemesan>=$jumlah_tersedia) {
echo "<br><b>Jumlah koleksi buku :$cek3[jumlah_koleksi]<br> </b>";
echo "<b>Jumlah buku tersedia : $jumlah_tersedia <br><br></b>" ;
?> <a href="cek_pinjam.php?No_panggil=<?php echo
97
$HTTP_GET_VARS['No_panggil'];?>">Pinjamkan </a> <a
href="menu_pelayanan.php?tampil=Frm_pinjam_kembali.php ">Kembali </a><?php
} else if($pesan==1 and $Jumlah_pemesan<$jumlah_tersedia) {
echo "<meta http-equiv='refresh'content='0;
url=cek_pinjam.php?No_panggil=$HTTP_GET_VARS[No_panggil]'>";
} else if($pesan==0) {
echo "<meta http-equiv='refresh'content='0;
url=cek_pinjam.php?No_panggil=$HTTP_GET_VARS[No_panggil]'>";
}
?>
Listing 4.20 cek_pemesanan_buku.php
baris data buku yang susuai dengan buku yang dikembalikan. Konfirmasi
secara detil data peminjam dan buku yang belum dikembalikan melewati
mengirim surat ataupun sms. Hal ini dapat mengurangi resiko kehilangan
buku.
submenu pengolahan yaitu sub menu update akun yang digunakan untuk
99
melihat usulan buku dan submenu log out digunakan untuk keluar dari
pelayanan.
proses update buku untuk memilih data buku yang akan diupdate. Kata
kunci yang diiputkan minimal satu, bisa berdasarkan kode buku, judul
hasil pencarian lebih spesifik. Hasil dari pencarian buku akan ditampilkan
<?php
include "../koneksi.php";
$strsql="select * from buku where 1=1";
if($_REQUEST[kode_buku]) {
$strsql.=" and No_panggil like '%$_REQUEST[kode_buku]%'";
}if($_REQUEST[judul_buku]) {
$strsql.= " and Judul like '%$_REQUEST[judul_buku]%'";
}if($_REQUEST[pengarang]) {
$strsql.=" and Pengarang1 like
'%$_REQUEST[pengarang]%' or Pengarang2 like '%$_REQUEST[pengarang]%'";
}if($_REQUEST[penerbit]) {
$strsql.=" and Penerbit like '%$_REQUEST[penerbit]%'";
}
$cek=mysql_query($strsql) or die(mysql_error());
while($sql=mysql_fetch_array($cek)) {
?>
<tr>
<td height="42" align="center"><?php echo $sql['Kategori_buku'];?></td>
<td align="center"><?php echo $sql['No_panggil'];?></td>
<td align="center"><?php echo $sql['Judul'];?></td>
<td align="center"><?php echo $sql['Pengarang1'];?></td>
<td align="center"><?php echo $sql['Penerbit'];?></td>
<td align="center"><a
href="menu_pengolahan.php?tampil=Frm_update_buku.php&No_panggil=<?php
echo $sql['No_panggil'];?>"> update </a> <a
href="menu_pengolahan.php?tampil=tampil_detail_buku.php&No_panggil=<?php
echo $sql['No_panggil'];?>"> detail </a> </td>
</tr>
<?php }
?>
</table>
<?php }
?>
Listing 4.21 tampil_buku.php
tampil_buku.php.
101
tehadap data – data buku yang sudah terisi ataupun belum. Selain no
keberhasilan update data buku adalah ditampilkannya data buku yang telah
dengan judul yang sama akan memiliki data buku yang sama pula,
penambahan buku dengan judul yang sama dilakukan sekali saja. Sistem
berbeda untuk setiap buku tersebut berdasarkan dari inputan jumlah buku.
include "../koneksi.php";
if($_REQUEST[asal_buku]==3) {
$harga_buku=$_REQUEST['harga'];
} else {
$harga_buku=0;
}
for($i=1;$i<=$HTTP_POST_VARS['jumlah_buku']; $i++) {
if($HTTP_POST_VARS['jumlah_buku']==1) {
$kode_buku=$_REQUEST['no_panggil'];
} else {
$kode_buku=$_REQUEST['no_panggil'] . $i;
}
$tgl_daftar=date("Y-m-d");
$strsql="insert into buku(No_panggil,Kategori_buku, ISBN, Judul,
Pengarang1, Pengarang2, Asal_buku, Penterjemah, Editor, Penerbit, Edisi,
Tahun_terbit, Alamat_penerbit, Kolasi, Tgl_daftar, Harga, Jenis_bahasa,
Status_buku) VALUES('$kode_buku', '$_REQUEST[kategori]',
'$_REQUEST[kode_isbn]', '$_REQUEST[judul_buku]','$_REQUEST[pengarang1]',
'$_REQUEST[pengarang2]', '$_REQUEST[asal_buku]',
'$_REQUEST[penterjemah]', '$_REQUEST[editor]', '$_REQUEST[penerbit]',
'$_REQUEST[edisi]', '$_REQUEST[tahun_terbit]', '$_REQUEST[alamat_penerbit]',
'$_REQUEST[kolasi]', '$tgl_daftar', $harga_buku, '$_REQUEST[jenis_bahasa]',
'1')";
$sql=mysql_query($strsql) or die(mysql_error());
$no_reg=mysql_insert_id();
}
echo "<meta http-
equiv='refresh'content='0;url=menu_pengolahan.php?tampil=tampil_detail_buku.php
&No_registrasi=$no_reg>";
}
}
?>
Listing 4.22 Frm_tambah_buku.php
jumlah buku. Nilai no panggil akan berubah sesuai dengan nilai $i pada
looping, sebagai contoh jika nilai awal untuk no panggil adalah ‘657 Cho
a’ dan nilai jumlah buku adalah 3 maka pada proses insert yang pertama
no panggil akan bernilai ‘657 Cho a1’ dan pada proses insert yang kedua
nilanya akan berubah menjadi ‘657 Cho a2’ begitu seterusnya sampai
104
variabel insert karena sudah di set auto increment pada data base. Jadi nilai
(gambar 4.27).
kategori. Proses ini hampir sama dengan dengan proes update petugas oleh
pada bagian pengolahan yaitu laporan inventaris buku dan laporan usulan
Yang dimaksud buku tersedia adalah buku yang bisa dipinjam dan
sedang dipinjam (sirkulasi). Buku opname adalah buku yang tidak dapat
koleksi dan jumlah judul buku berdasarkan kategori buku. Untuk lebih
detailnya lagi akan ditampilkan data buku per-kategori pada gambar 4.33.
pengolahan.
107
Terdapat beberapa submenu dari halaman menu anggota ini yaitu update
buku yang sedang dipinjam oleh anggota dan buku yang sedang dipesan
pemesanan buku dilakukan dengan men klik link batal pada pemsanan
berikut :
<?php
include "../koneksi.php";
$ulang=1;
$strsql1="select detil_transaksi.Status_transaksi,
detil_transaksi.No_panggil,buku.Judul, detil_transaksi.Batas_peminjaman,
transaksi.Tgl_transaksi from transaksi,detil_transaksi,buku where
(detil_transaksi.Status_transaksi='2' or detil_transaksi.Status_transaksi='3')and
transaksi.No_anggota='$_SESSION[logidanggota]' and
transaksi.No_transaksi=detil_transaksi.No_transaksi and
detil_transaksi.No_panggil=buku.No_panggil";
//echo $strsql1;
$sql1=mysql_query($strsql1) or die(mysql_error());
$jumpinjam=mysql_num_rows($sql1);
while($cek1=mysql_fetch_array($sql1)){
if($cek1['Batas_peminjaman']>date('Y-m-d')) {
$terlambat=0;
}
else {
$awal=$cek1['Batas_peminjaman'];
$akhir=date('Y-m-d');
$ex=explode("-",$awal);
$ex2=explode("-",$akhir);
$awal_tahun=$ex[0];
$awal_bulan=$ex[1];
$awal_hari=$ex[2];
$akhir_tahun=$ex2[0];
$akhir_bulan=$ex2[1];
$akhir_hari=$ex2[2];
$tgl_awal=mktime(0,0,0,
$awal_bulan,$awal_hari,$awal_tahun);
$tgl_akhir=mktime(0,0,0,
$akhir_bulan,$akhir_hari,$akhir_tahun);
$terlambat=($tgl_akhir-$tgl_awal) / 86400 ;
}
?>
<tr>
<td height="" align="center" valign="top" class="tampil_usulan"><?php echo
$ulang ;$ulang=$ulang+1;?></td>
<td align="center" valign="top" class="tampil_usulan"><?php echo
$cek1['No_panggil'];?></td>
<td align="center" valign="top" class="tampil_usulan"><?php echo
$cek1['Judul'];?></td>
<br><br>
<form id="form2" name="form2" method="post" action="">
<b>Pemesanan Buku anda : </b>
<table width="392" border="0" cellpadding="3">
<tr>
<td class="header">Judul Buku</td>
<td class="header">Tanggal Pemesanan</td>
<td class="header">Operasi</td>
</tr>
<?php
$strsql2="select * from Pemesanan_buku where
No_anggota='$_SESSION[logidanggota]'";
$sql2=mysql_query($strsql2) or die (mysql_error());
while($cek2=mysql_fetch_array($sql2)) {
?>
<tr>
<td class="tampil_usulan"> <?php echo $cek2['Judul'];?></td>
<td class="tampil_usulan"> <?php echo $cek2['Tanggal_pesan'];?></td>
<td class="tampil_usulan"> <a
href="menu_anggota.php?tampil=cek_batal_pemesanan.php?&Judul=<?php echo
$cek2['Judul'];?>">Batalkan</a></td>
</tr>
<?php }
?>
Listing 4.23 Frm_peminjaman_buku.php
pengembalian buku.
informasi tambahan keterediaan buku , link detil peminjam buku dan link
tampil_detil_buku.php.
halaman tampil_peminjam_buku.php.
Pada halaman ini tedapat link pemesanan buku yang bisa dipilih
Frm_peminjaman_buku.php.
log out pada menu admin. Sub menu ini dipilih oleh anggota apabila ingin
halaman ini yang pertama kali tampil ketiga pengguna mengakes web
perpustaakan. Di profil juga dimuat visi dan misi serta program kerja
anggota dibagi menjadi 7 yaitu sd untuk siswa sekolah dasar, smp, sma,
mahasiswa, swasta untuk pekerja swasta, pns untuk pegawai negri dan
2. Kategori Mahasiswa :
3. Kategori Swasta :
4. Kategori PNS :
5. Kategori UMUM :
terletak pada informasi yang ditampilkan lebih sedikit dan tidak ada
tampil_buku_tamu.php
<b>
</b>
<?php
include"koneksi.php";
if($HTTP_GET_VARS['Nama']) {
$kalimat=$HTTP_GET_VARS['Nama'];
$kata=explode(" ",$kalimat);
116
$num=sizeof($kata)-1;
for($i=0; $i<=$num; $i++) {
if($i==$num) {
$namaku="$namaku$kata[$i]";
} else $namaku="$namaku$kata[$i]_";
}
} else {
$namaku=$HTTP_GET_VARS['nama_pengujung'];
$kata1=explode("_",$namaku);
$num=sizeof($kata1)-1;
for($i=0; $i<=$num; $i++) { if($i==$num) {
$passing_nama="$passing_nama$kata1[$i]";} else
$passing_nama="$passing_nama$kata1[$i] ";}
}
$no=1;
</p>
<tr>
</tr>
<tr>
</tr>
<?php } ?>
117
</table>
</form>
<?php
//untuk menampilkan pagging
$strsql1="select * from buku_tamu order by Tanggal desc";
$sql1=mysql_query($strsql1) or die(mysql_error());
$jumbaris=mysql_num_rows($sql1);
// untuk menghitung jumlah halaman
$total_halaman=ceil($jumbaris/$limit);
//link ke halaman sebelumnya
if(!empty($halaman) && $halaman!=1) {
$previous=$halaman-1;
echo"<a href=index.php?tampil=tampil_buku_tamu.php
&halaman=$previous&nama_pengujung=$namaku> Previous</a> -";
} else {
echo "Previous -";
}
for($i=1; $i<=$total_halaman; $i++) {
if($i != $halaman) {
echo"<a href=index.php?tampil=tampil_buku_tamu.php
&halaman=$i&nama_pengujung=$namaku> $i</a> -";
} else { echo "$i -"; }
}
?>
<br><br>
action="index.php?tampil=Frm_usulan_buku.php">
<label>
</label>
</form>
melakukan usulan buku dengan meng klik tombol tambah usulan dan
buku dapat dilakukan beberapa kali tanpa mengisi buku tamu lagi.
120
BAB V
Pada tahap ini, implementasi web telah diuji coba langsung sebanyak dua
kali pada jaringan intranet Perpustakaan dan Arsip Daerah Kabupaten Buleleng.
120
121
yang diperoleh sudah sesuai dengan data buku yang asli. Namun
proses inputan data buku dirasa memakan waktu karena entri data
yang ganda. Hal ini yang yang membuat penulis mengganti proses
entry data buku menjadi per judul. Pada pengujian yang kedua
sudah mencukupi.
Bagaimanapun juga pasti terdapat kelebihan dan kekurangan baik dalam hal
V.2.1 Kelebihan
mudah.
V.2.2 Kekurangan
BAB VI
PENUTUP
VI.1 Kesimpulan
sistem yang menangani barcode, kemaanan web masih rendah dan laporan
VI.2 Saran
124
DAFTAR PUSTAKA
Whitten, Jeffrey L., Bentley, Lonnie D., Ditman, KevinC., 2004. Metode Disain &
Analisis Sistem edisi 6. Andi Yogyakarta. Yogyakarta.
xx