Professional Documents
Culture Documents
Oleh:
ACHMAD ZANBA
105091002895
SKRIPSI
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Oleh :
Achmad Zanba
105091002895
ii
PENGEMBANGAN APLIKASI PERPUSTAKAAN FAKULTAS SAINS DAN
TEKNOLOGI BERBASIS ONLINE
(STUDI KASUS : PERPUSTAKAAN FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
ACHMAD ZANBA
105091002895
Menyetujui,
Pembimbing I, Pembimbing II,
Mengetahui,
Ketua Program Studi Teknik Informatika
iii
PENGEMBANGAN APLIKASI PERPUSTAKAAN FAKULTAS SAINS DAN
TEKNOLOGI BERBASIS ONLINE
(STUDI KASUS : PERPUSTAKAAN FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA)
Menyetujui,
Penguji 1 Penguji 2
Pembimbing 1 Pembimbing 2
Mengetahui,
iv
ABSTRAK
v
HALAMAN PERNYATAAN
LEMBAGA MANAPUN.
Achmad Zanba
105091002895
vi
KATA PENGANTAR
Dengan memanjatkan puji serta syukur kehadirat allah yang telah memberikan
rahmat serta karunia-nya, dan yang telah memberikan pengajaran kepada manusia
dengan perantara kalamnya. Karena hanya berkat bimbingan dan karunianya penulis
Hidayatullah Jakarta) ini dengan baik. Shalawat serta salam penulis sanjungkan
kepada nabi besar kita, nabi Muhammad SAW, keluarga serta sahabat beliau yang
Pada kesempatan ini pula, penulis ingin mengucapkan banyak terima kasih
kepada pihak yang telah banyak membantu hingga terselesaikannya pelaksanaan dan
penyusunan laporan penelitian Tugas Akhir ini, dan untuk itu penulis berkenan
1. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
vii
4. Victor Amrizal, M.Kom selaku dosen pembimbing II yang telah memberikan
Akhir kata tidak ada manusia yang sempurna. Begitu juga didalam penulisan
dan penyusunan laporan Tugas Akhir ini masih banyak terdapat kekurangan, namun
dengan segala kerendahan hati penulis sangat mengharapkan kritik serta saran yang
Harap penulis, semoga laporan ini dapat bermanfaat, khususnya bagi penulis
dan umumnya bagi para pembaca yang membutuhkannya. Amin ya. Robbal’alamiin.
Penulis
viii
LEMBAR PERSEMBAHAN
1. Abi (H. Mochamad Sholeh ”Alm”) dan Umi (Hj. Qomariyah ”Almh”) yang
Terima kasih atas segala pengorbanan, baik waktu, tenaga, biaya serta doanya.
2. Kakak (Eva, Iyoh, Dzohir, Adit, Masy’al, dan Hany) dan sepupu (Lina dan
perpustakaan FST.
4. Gank kucing Analis 124 : Uki, Bagja, Ozi yang telah memberi banyak
Mukhlis, Ery, Bayu, Khairin, Dianita, Ale, Rindy, Olia, Tasya, Randy, Adit,
Maulana, Novan, Didi, Firman. Dan teman-teman satu angkatan (2005) yang
6. Wahib, Hary (Goday), Shodiq, Mirza, Mas-I yang telah memberikan banyak
Dan semua pihak yang telah membantu pelaksanaan dan penyusunan skripsi ini yang
ix
DAFTAR ISI
BAB I PENDAHULUAN
1.1 Latar Belakang ........................................................................................ 1
1.2 Rumusan Masalah ................................................................................... 3
1.3 Batasan Masalah ...................................................................................... 4
1.4 Tujuan dan Manfaat Penelitian ................................................................ 4
1.4.1 Tujuan Penelitian ............................................................................ 4
1.4.2 Manfaat Penelitian .......................................................................... 4
1.5 Metodologi Penelitian ............................................................................. 5
1.5.1 Metode Pengumpulan Data ............................................................. 6
1.5.2 Metode Pengembangan Sistem ....................................................... 7
1.7 Sistematika Penulisan .............................................................................. 7
x
2.3 Konsep Dasar Informasi .......................................................................... 12
2.3.1 Definisi Data dan Informasi ............................................................ 12
2.4 Online Public Access Catalogue (OPAC) ................................................ 12
2.5 Teknologi Informasi untuk Perpustakaan ................................................. 13
2.6 Program Aplikasi .................................................................................... 14
2.7 Barcode ................................................................................................... 15
2.7.1 Pengertian Barcode ......................................................................... 15
2.7.2 Jenis-jenis Barcode ......................................................................... 16
2.7.3 Cara Kerja Barcode ......................................................................... 17
2.8 HTML ..................................................................................................... 17
2.9 PHP ........................................................................................................ 18
2.10 Apache .................................................................................................. 19
2.11 PHP MyAdmin ...................................................................................... 20
2.12 Web Server ............................................................................................ 21
2.13 Web Browser ......................................................................................... 21
2.14 Internet .................................................................................................. 22
2.15 MySQL ................................................................................................. 22
2.16 Tools Perancangan Sistem ..................................................................... 24
2.16.1 Data Flow Diagram (DFD) ......................................................... 24
2.16.2 Entity Relational Diagram (ERD) ............................................... 26
2.16.3 Normalisasi ................................................................................ 27
2.16.4 Flowchart ................................................................................... 29
2.16.5 State Transition Diagram ( STD) ................................................ 31
2.16.6 Data Dictionary (Kamus Data) ................................................... 31
2.17 Basis Data ............................................................................................. 32
2.18 Pemodelan Rapid Application Development (RAD) ............................... 33
2.19 Studi Sejenis .......................................................................................... 35
xi
BAB III METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data ...................................................................... 39
3.1.1 Observasi ........................................................................................ 39
3.1.2 Wawancara ..................................................................................... 39
3.1.3 Kuesioner ....................................................................................... 40
3.1.4 Studi Pustaka .................................................................................. 40
3.2 Metode Pengembangan Sistem ................................................................ 41
3.3 Minimum Perangkat Lunak ..................................................................... 46
xii
4.5 Construction ............................................................................................ 103
4.6 Deployment ............................................................................................. 148
BAB V PENUTUP
5.1 Kesimpulan ............................................................................................. 150
5.2 Saran ....................................................................................................... 151
xiii
DAFTAR TABEL
xiv
Tabel 4.24 Tabel User Msg ................................................................................. 83
Tabel 4.25 Tabel User Otoritas ............................................................................ 83
Tabel 4.26 Tabel Visitor ..................................................................................... 84
Tabel 4.27 Tabel Vw Cetak Buku By Asal .......................................................... 84
Tabel 4.28 Tabel Vw Cetak Buku By Lokasi ...................................................... 85
xv
DAFTAR GAMBAR
xvi
Gambar 4.23 Rancangan Tampilan Administrator Master “Edit/Copy/Add” .............. 90
Gambar 4.24 Rancangan Tampilan Administrator Master “Cetak Barcode” .............. 90
Gambar 4.25 Rancangan Tampilan Administrator Master “Cek Barcode” .................. 91
Gambar 4.26 Rancangan Tampilan Administrator Master “Cek Barcode Peminjam” .. 91
Gambar 4.27 Rancangan Tampilan Administrator File ”Program Studi” ................... 92
Gambar 4.28 Rancangan Tampilan Administrator File ”Lokasi” ................................ 92
Gambar 4.29 Rancangan Tampilan Administrator File ”Asal Pustaka” ....................... 93
Gambar 4.30 Rancangan Tampilan Administrator File ”Bahasa” ............................... 93
Gambar 4.31 Rancangan Tampilan Administrator File ”Kota” ................................... 94
Gambar 4.32 Rancangan Tampilan Administrator File ”Jenis” ................................... 94
Gambar 4.33 Rancangan Tampilan Administrator File ”Kategori” ............................. 95
Gambar 4.34 Rancangan Tampilan Administrator File ”Copy” .................................. 95
Gambar 4.35 Rancangan Tampilan Administrator File ”Keadaan” ............................. 96
Gambar 4.36 Rancangan Tampilan Administrator Anggota ”Anggota Baru” .............. 96
Gambar 4.37 Rancangan Tampilan Administrator File ”Edit Anggota” ...................... 97
Gambar 4.38 Rancangan Tampilan Administrator Anggota ”Bebas Pustaka” ............. 97
Gambar 4.39 Rancangan Tampilan Administrator Sirkulasi ”Sirkulasi” ..................... 98
Gambar 4.40 Rancangan Tampilan Administrator Laporan ”Buku Induk” .................. 98
Gambar 4.41 Rancangan Tampilan Administrator Laporan ”Koleksi Buku” ............... 99
Gambar 4.42 Rancangan Tampilan Administrator Laporan ”Anggota” ....................... 99
Gambar 4.43 Rancangan Tampilan Administrator Laporan ”Sirkulasi” ...................... 100
Gambar 4.44 Rancangan Tampilan Administrator Laporan ”Denda” .......................... 100
Gambar 4.45 Rancangan Tampilan Administrator Utilities ”Backup” ........................ 101
Gambar 4.46 Rancangan Tampilan Administrator Utilities ”My Account” ................. 101
Gambar 4.47 Rancangan Tampilan Administrator Utilities ”My Messages” ............... 102
Gambar 4.48 Rancangan Tampilan Administrator Utilities ”Help” ............................. 102
Gambar 4.49 Rancangan Tampilan Administrator Utilities ”About” ........................... 103
Gambar 4.50 Gambar Halaman Tampilan Awal ......................................................... 104
Gambar 4.51 Gambar Halaman Pendaftaran ............................................................... 105
Gambar 4.52 Gambar Halaman Data .......................................................................... 106
xvii
Gambar 4.53 Gambar Halaman Browse View DDC ................................................... 107
Gambar 4.54 Tampilan Halaman Unduh .................................................................... 108
Gambar 4.55 Gambar Halaman DDC ......................................................................... 109
Gambar 4.56 Gambar Halaman Tampilan DDC ......................................................... 110
Gambar 4.57 Gambar Halaman Pengunjung ............................................................... 111
Gambar 4.58 Gambar Halaman Statistik .................................................................... 112
Gambar 4.59 Gambar Halaman Statistik Per-Hari ...................................................... 113
Gambar 4.60 Gambar Halaman Statistik Per-Bulan .................................................... 113
Gambar 4.61 Gambar Halaman Statistik Per-Tahun ................................................... 113
Gambar 4.62 Gambar Halaman login administrator .................................................... 114
Gambar 4.63 Gambar Halaman ”Master Home” ......................................................... 115
Gambar 4.64 Gambar Halaman Master ”Buku Baru” ................................................. 116
Gambar 4.65 Gambar Halaman Master ”Edit/Copy/Add” .......................................... 117
Gambar 4.66 Gambar Halaman Master ”Cetak Barcode” ........................................... 118
Gambar 4.67 Gambar Halaman Master ”Cek Barcode” .............................................. 119
Gambar 4.68 Gambar Halaman Master ”Cek Barcode Peminjam” ............................. 120
Gambar 4.69 Gambar Halaman File ”Program Studi” ................................................ 121
Gambar 4.70 Gambar Halaman File ”Lokasi” ............................................................ 122
Gambar 4.71 Gambar Halaman File ”Asal Pustaka” ................................................... 123
Gambar 4.72 Gambar Halaman File ”Bahasa” ............................................................ 124
Gambar 4.73 Gambar Halaman File ”Kota” ............................................................... 125
Gambar 4.74 Gambar Halaman File ”Jenis” ............................................................... 126
Gambar 4.75 Gambar Halaman File ”Kategori” ........................................................ 127
Gambar 4.76 Gambar Halaman File ”Copy” ............................................................. 128
Gambar 4.77 Gambar Halaman File ”Keadaan” ........................................................ 129
Gambar 4.78 Gambar Halaman Anggota ”Anggota Baru” .......................................... 130
Gambar 4.79 Gambar Halaman Anggota ” Edit Anggota” .......................................... 131
Gambar 4.80 Gambar Halaman Anggota ”Cetak Kartu Anggota” ............................... 132
Gambar 4.81 Gambar Halaman Anggota ”Bebas Pustaka” ......................................... 133
Gambar 4.82 Gambar Halaman Sirkulasi ” Sirkulasi” ................................................ 134
xviii
Gambar 4.83 Gambar Halaman Sirkulasi ”Sirkulasi Peminjaman” ............................. 135
Gambar 4.84 Gambar Halaman Laporan ”Buku Induk” .............................................. 136
Gambar 4.85 Gambar Halaman Inventaris Laporan ”Buku Induk” ............................. 137
Gambar 4.86 Gambar Halaman Laporan ”Koleksi Buku” ........................................... 138
Gambar 4.87 Gambar Halaman Laporan ”Anggota” .................................................. 139
Gambar 4.88 Gambar Halaman Laporan ”Cetak Anggota” ......................................... 140
Gambar 4.89 Gambar Halaman Laporan ”Sirkulasi” .................................................. 141
Gambar 4.90 Gambar Halaman Laporan ”Denda” ...................................................... 142
Gambar 4.91 Gambar Halaman Utilities ”Backup” ..................................................... 143
Gambar 4.92 Gambar Halaman Utilities ”My Account” ............................................ 144
Gambar 4.93 Gambar Halaman Utilities ”My Messages” ........................................... 145
Gambar 4.94 Gambar Halaman Utilities ”Help” ........................................................ 146
Gambar 4.95 Gambar Halaman Utilities ”About” ....................................................... 147
xix
BAB I
PENDAHULUAN
memberikan informasi data koleksi buku oleh perpustakaan dalam bentuk aplikasi
perpustakaan digital. Perpustakaan Fakultas Sains dan Teknologi sampai saat ini
suatu aplikasi yang mampu menampilkan file dengan format file digital serta
dapat diakses dimana saja, dan kapan saja, salah satu solusi untuk penyebaran file
1
2
ialah perpustakaan yang memiliki koleksi buku dalam bentuk format digital dan
yang bisa diakses dengan komputer, perpustakaan digital ini berbasiskan online
dan menghasilkan informasi, internet adalah salah satu teknologi yang paling
tepat. Internet diakses dan dimanfaatkan untuk berbagai keperluan, oleh siapa
Kendala tersebut ialah informasi data koleksi buku dalam bentuk file digital bagi
perpustakaan untuk cetak langsung barcode kode data koleksi buku perpustakaan,
buku/buku induk perpustakaan, memanfaatkan file digital dan file cover, dan
Dengan adanya sistem baru yang bisa diakses dengan komputer, perpustakaan
digital ini berbasiskan online dengan menggunakan media jaringan global yaitu
dan koleksi data buku untuk mengunduh data file digital dengan pencarian
identitas buku, melihat resensi dari skripsi dan laporan pkl yang tersedia pada
informasi dengan baik. Ada beberapa hal yang harus diperhatikan dalam
memberikan informasi dengan cara memberikan data-data kepada user. Untuk itu
pemograman PHP versi 5.2.1 dan basis data MySQL versi 5.0.41
adalah:
a. Informasi data koleksi buku kepada mahasiswa dalam bentuk file digital
untuk di unduh
A. Bagi Pengguna
Teknologi.
B. Bagi Penulis
bahan yang dapat mendukung kebenaran materi uraian dan pembahasan. Oleh
meliputi:
hasil yang maksimal dan sesuai dengan permasalahan yang ada serta
A. Studi Pustaka
15415
7
C. Studi Sejenis
penulis lakukan.
yang penulis lakukan adalah dengan model proses RAD (Rapid Application
Development) yang ditemukan oleh James Martin pada tahun 1972 dan
memiliki lima tahapan yang penulis kutip dari buku Roger S. Pressman,
menjadi lima bab dan akan di perinci menjadi beberapa sub Bab yang saling
berikut:
BAB I PENDAHULUAN
sedang dibahas diperoleh dari tinjauan pustaka serta alat dan bahan
LANDASAN TEORI
1991:3-4). Kata dasar perpustakaan adalah pustaka. Dalam kamus umum bahasa
Indonesia, pustaka artinya kitab, buku. Tetapi dalam bahasa inggris, dikenal
dengan istilah library. Istilah ini berasal dari kata latin liber atau libri dalam arti
buku. Maka terbentuklah istilah librarius dalam artian tentang buku. Perpustakaan
adalah sebuah ruangan, bagian sebuah gedung, ataupun gedung itu sendiri yang
yang tersusun rapi, yang menyangkut tujuan, objek, fungsi perpustakaan, fungsi
metode, penyusunan teknik, dan teori yang digunakan dalam pemberian jasa
9
10
materi tercetak dan media noncetak dan sebagai media informasi dalam
abad ke-21.
suatu prosedur dan perencanaan yang baik. Prosedur dan perencanaan saja tidak
1. Mendefinisikan masalah
3. Merancang program
yang direkam, diklasifikasi, dan disimpan, tetapi tidak diolah untuk tujuan-
atau suara. Informasi adalah data yang sudah diolah sehingga didapatkan
informasi adalah pengolahan data dalam suatu bentuk yang lebih berguna
berbagai sarana temu kembali informasi seperti katalog kartu, katalog tercetak
berfungsi sebagai sarana penelusuran terminal, keuntungan lain dari OPAC dalam
bentuk web pengguna dapat mengetahui kesediaan informasi yang akan dicari
waktu, biaya, dan tenaga untuk memperoleh koleksi pustaka yang diperlukan,
perpustakaan menjadi luas, tidak saja untuk para staff dalam lingkungan sendiri
atau pengguna yang datang keperpustakaan tetapi juga untuk pengguna atau
dimiliki perpustakaan
2. Mengurangi biaya dan waktu yang diperlukan dan yang harus di keluarkan
Informasi ini mencakup 3 kategori yaitu: (1) Numerik, berupa angka; (2) Teks,
berupa tulisan; (3) Citra, berupa gambar (images), yang terkomputerisasi kepada
14
informasi berita
khusus untuk pengisian, pengubah serta pengambilan data. Program ini ada yang
15
sudah disediakan berserta dengan DBMS, tetapi ada juga yang harus dibuat
programmer untuk memasuki suatu sistem dan memakai layanan yang disediakan
2.7 Barcode
sebuah alat baca barcode atau lebih dikenal dengan Barcode Scanner. Kini
barcode tidak hanya bisa mewakili karakter angka saja tapi sudah meliputi
seluruh kode ASCII. Kebutuhan akan kombinasi kode yang lebih rumit
itulah yang kemudian melahirkan inovasi baru berupa kode matriks dua
dimensi (2D barcodes) yang berupa kombinasi kode matriks bujur sangkar.
2D Barcode ini diantaranya adalah PDF Code, QRCode, Matrix Code dan
Barcode yang kita kenal dan yang paling gampang kita ketahui
barcode khusus yang tidak akan bisa diduplikasi oleh perusahaan lain.
Simbologi yang dipakai di GS1 adalah Europe Article Number (EAN) yang
Bagi sebagian orang barcode hanyalah garis hitam putih biasa yang
tersebut salah. Karena Barcode itu terdiri dari beberapa simbologi atau jenis
yang satu sama lainnya berbeda baik jenis dan fungsinya. Berikut adalah
1. Code 128
2. Code 39
3. Interleaved 2 of 5 (ITF)
5. Extended Code 39
6. Code 93
7. Codabar
konsep digital, hanya ada 2 sinyal data yang dikenal dan bersifat boolean,
volt). Barcode menerapkan pada batang baris yang terdiri dari warna hitam
dan putih. Warna hitam mewakili bilangan 0 dan warna putih mewakili
yang dipancarkan oleh alat pembaca barcode, sedangkan warna putih akan
pada barcode memiliki ketebalan yang berbeda. Ketebalan inilah yang akan
menentukan waktu lintasan bagi titik sinar pembaca yang dipancarkan oleh
menentukan cahaya). Sisi-sisi batang barcode harus tegas dan lurus, serta
tidak ada lubang atau noda titik ditengah permukaannya. Sementara itu,
ukuran titik sinar pembaca juga tidak boleh melebihi celah antara batang
barcode. Saat ini, ukuran titik sinar yang umum digunakan adalah 4 kali titik
2.8 HTML
halaman hypertext (Hypertext Page) pada internet, dengan konsep hypertext page,
18
membaca suatu dokumen tidak harus melakukannya secara urut. Pada bulan
Dari struktur dokumen HTML mempunyai tiga buah tag utama yang
membentuk struktur dari dokumen tersebut. Ketiga buah tag tersebut adalah tag
HTML, HEAD, dan BODY. Tag HTML berfungsi untuk menyatakan sutau
dokumen HTML, dan tag BODY berfungsi untuk menyimpan informasi atau data
<html>
<head>
<!-Info halamanà
</head>
<body>
<!-Isi halamanà
</body>
</html>
2.9 PHP
Lerdorf pada tahun 1994. Awalnya, PHP digunakan untuk mencatat jumlah untuk
versi 1.0 secara gratis, kemudian menambah kemampuan PHP 1.0 dengan
meluncurkan PHP 2.0. PHP merupakan Software Open Source secara gratis serta
berbentuk scripting, sistem kerja program ini adalah sebagai interpreter bukan
code, sehingga dari bentuk source code akan diubah menjadi bentuk object code,
bentuk dari object code akan menghasilkan file yang lebih kecil dari file mentah
Untuk memulai PHP, user dapat memulainya dengan tanda <?php dan
harus diakhiri dengan tanda ?>. Selain itu, ada beberapa bentuk lagi yang dapat
digunakan dalam menuliskan kode PHP, yaitu: <? dan diakhiri ?>, <script
2.10 Apache
Web Server Apache berbasiskan open source mulai popular di internet sejak
web berbasis server. Ketika seorang programmer membuat PHP, apache akan
direktori khusus yang diatur oleh apache. Oleh karena itu semua script PHP yang
sebuah super user). Untuk menjalankan script MySQL anda perlu mengatur
penggunaan sistem bagi user yang akan menggunakan software ini, agar user
data dalam database MySQL untuk memudahkan pengguna, dibawah lisensi GPL
untuk menangani administrasi MySQL di World Wide Web seperti yang dituliskan
yang disimpan dalam bentuk file HTML (Hyper Text Markup Languange) yang
membuat website. Server semacam pemandu dimana harus mencari website dan
memberitahukan letak halaman yang harus diperlihatkan pada client yang sedang
berintraksi.
Lebih jauh lagi, web client dapat mengirimkan argument yang disertakan
keserver tersebut sebagian feature demikian sebuah server web dapat melayani
berbagai macam layanaan informasi. Server berisi informasi website dan program
sehingga client dapat melihat informasi dan mengontrol pada sembarang perintah
yang telah disertakan dalam web page tersebut, (Fathansyah, 2007: 202).
pengguna melakukan informasi web atau pun untuk melakukan transaksi via web,
berbagai data dan informasi pada WWW (Word Wide Web) seperti Internet
Explorer, Mozilla Firefox, Opera, Safari, dan Netscape. Cara kerja browser yaitu
dengan membaca dokumen HTML yang diambil dari web server melalui ISP
2.14 Internet
berita, hiburan, sedangkan bagi yang lainnya internet bisa berarti layanan online
unuk masalah pendidikan, serta bagi yang lainnya internet merupakan suatu
hampir sama dengan sistem telepon internasional yang mana setiap orang tidak
sehingga dapat bekerja seperti pada suatu jaringan yang besar (Sutanta, 2005:538)
2.15 MySQL
Public License) yang bersifat open source yang bisa menampung kapasitas data
MySQL merupakan turunan dari salah satu konsep utama dalam database
c. Memasukkan data
nama_kolom1 tipe_data([ukuran]),
nama_kolom2 tipe_data([ukuran]),…);
d. Memasukkan data
SHOW DATABASES;
h. Menghapus tabel
i. Fungsi aggregate
terperinci.
dengan input dan output data yang ditandai oleh panah masuk dan keluar
lebih rinci, contohnya, DFD level 1 berisi lima atau enam proses dengan
Simbol Kegunaan/Fungsi
menggunakan susunan data yang telah disimpan dari sistem untuk mudah
dimengerti oleh pengguna sistem (Kadir, 2009). ERD dapat digunakan pada
2.16.3 Normalisasi
bentuk tabel, relasi, atau file untuk menyatakan entitas dan hubungan,
sehingga tercapai dari satu bentuk database yang mudah untuk dimodifikasi
mengikuti format tertentu, dapat saja data tidak juga lengkap atau
setiap perpotongan baris dan kolom dalam relasi hanya berisi satu
bernilai ganda.
2.16.4 Flowchart
input/output
suatu program
proses
31
mewakili suatu tingkah laku dari suatu hubungan sistem pada suatu state
Simbol Arti
Perubahan Sistem
Keadaan 1
Kondisi dan Aksi
Kondisi
Aksi
Keadaan 1
Mulai
Akhir
sebuah data. Kamus data didalam Informasi digunakan secara luas untuk
32
menghubungkan query, kamus data ini akan diakses dalam suatu operasi
basis data sebelum suatu file data yang sesungguhnya diakses. Informasi
yang sering digunakan untuk menjelaskan sebuah data yaitu nama relasi,
nama file, struktur file, nama atribut, nama index, primary key dan foreign
key yang selalu diakses bersama operasi basis data. (Gehrke, 2000:365)
untuk memenuhi suatu proses atau pekerjaan tertentu, basis data hanyalah sebuah
objek yang pasif/mati karna ada pembuatnya ia tidak akan berguna, dan tidak ada
pengelolah/penggeraknya.
data dan pengelolanya) menghasilkan sebuah sistem. Secara umum sebuah sistem
basis data merupakan sistem yang terdiri atas kumpulan file (tabel) yang saling
berhubungan (dalam sebuah basis data pada sistem komputer) dan sekumpulan
data disimpan dan dipelihara. Disebabkan data sering sekali yang terlihat
33
Pengolahan basis data secara fisik tidak dilakukan oleh pemakai secara
yang menekankan dari siklus pengembangan yang sangat cepat. Model RAD ini
dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari). Model
34
a. Communication
b. Planning
pengembangan aplikasi.
c. Modelling
d. Construction
e. Deployment
Pada tahap ini, dilakukan integrasi dalam pengujian aplikasi yang telah
Dalam hal ini, penulis membaca dan memahami literatur ilmiah yang sejenis
dengan penulis guna menambah literatur penulis dalam penelitian yang akan
penulis lakukan. Adapun studi sejenis yang penulis sajikan adalah berupa uraian
Nama Judul
Tools Keterangan
Penulis Penulis
Penggunaan digital
Penggunaan
dengan Visual Basic 6.0 Life Cycle (SDLC) data. dengan laporan
koleksi buku.
Contruction,
Deployment
BAB III
METODOLOGI PENELITIAN
3.1.1 Observasi
pada bulan Januari 2011 s.d Maret 2011 seperti pada waktu kunjungan ke
Negeri Syarif Hidayatullah Jakarta (dapat dilihat BAB IV pada Subbab 4.1)
3.1.2 Wawancara
melakukan tanya jawab dengan bapak. Luthfie Irhashon. SIP selaku pihak
39
40
3.1.3 Kuesioner
ditanyakan.
yang ada di Fakultas Sains dan Teknologi yaitu pada bulan Januari 2011.
Dari hasil kuesioner yang penulis bagikan, dari 95% responden menjawab
Teknologi. (Hasil jawaban kuesioner dapat dilihat BAB IV sub bab 4.2.2).
sumber media cetak maupun elektronik yang dapat dijadikan acuan dari
pembahasan masalah.
pada media cetak. Adapun data-data buku dan pencarian melalui media
skripsi ini adalah dengan konsep OPAC ”Online Public Accsess Catalogue”
linear yang menekankan siklus pengembangan cepat (dapat dilihat pada BAB II
Subbab 2.17)
memberikan informasi sistem yang dapat memenuhi harapan dari para pengguna.
Pada saat RAD diimplementasikan, maka para pengguna bisa menjadi bagian dari
proses sistem dengan bertindak sebagai mengambil keputusan pada setiap tahapan
proses sistem. RAD bisa menghasilkan suatu sistem dengan cepat karena sistem
yang dikembangkan dapat memenuhi keinginan dari para pemakai sehingga dapat
sebagai berikut:
1) Analisis penguraian sistem yang saat ini sedang berjalan (dapat dibaca pada
b. Planning
kedalam serangkaian objek planning yang akan dikembangkan. Pada tahap ini,
perpustakaan Fakultas Sains dan Teknologi (dapat dibaca pada sub bab 4.3)
untuk dihasilkan yang terjadi pada pengembangan aplikasi, antar muka yang
2) Membuat Data Flow Diagram (Dapat dibaca pada sub bab 4.4.2)
3) Membuat Entity Relational Diagram (Dapat dibaca pada sub bab 4.4.3)
bab 4.4.6)
7) Merancang Data Dictionary Kamus Data (Dapat dibaca pada sub bab 4.4.7)
bab 4.4.8)
d. Contruction
terdiri dari web server Apache versi 2.5.2, phpMyAdmin versi 2.6.4, bahasa
pemprograman PHP versi 5.2.1 dan basis data MySQL Community versi 5.0.41.
e. Deployment
(dapat dibaca pada sub bab 4.5), serta melakukan pengarahan kepada pengguna
aplikasi perpustakaan Fakultas Sains dan Teknologi disebut juga sebagai tahap
2. Harddisk 20 GB
4. VGA on board
5. Monitor.
6. Keyboard.
7. Mouse.
8. Printer.
b. Browser
Mozilla Firefox.
Fakultas Sains dan Teknologi membangun sebuah perpustakaan yang handal dan
perpustakaan. Lokasi perpustakaan Fakultas Sains dan Teknologi berada di Jln. Ir.
H. Juanda No. 95, Kampus UIN, Gedung Fakultas Sains dan Teknologi, Lantai
07, Ciputat 15415. Dari hasil informasi tahun 2009 yang didapat penulis dari
teknologi yang update baik yang ter cetak maupun elektronik untuk
48
49
yang antar sesama institusi dalam lingkup lokal dan kerja sama antar
pengguna.
1. Visi
2. Misi
dengan semestinya
Djambiha
Staff. Admin
tugasnya.
2. Staff Admin
4.2 Communication
Salah satu sistem informasi berbasis komputer yang sudah ada pada
Dari hasil uraian sistem yang masih berjalan saat ini, dapat dianalisis
sebagai berikut:
perpustakaan cetak ulang dalam barcode kode dan copy data buku
yang rusak atau pun hilang karna sangat berbahaya untuk cetak
dalam data buku yang dicari tidak ada daftar view resensi buku dengan
buku dengan file digital untuk mahasiswa kedalam bentuk aplikasi berbasis
Hasil
No Pertanyaan
Ya Tidak
Apakah aplikasi perpustakaan Fakultas Sains dan
1 Teknologi sekarang ini sudah dapat membantu 0% 100%
dalam penyampaian data untuk mahasiswa?
Apakah informasi koleksi buku yang dihasilkan
2 dari aplikasi perpustakaan Fakultas Sains dan 5% 95%
Teknologi sudah memadai?
Setujukah anda Link Administrator di satukan
4 75% 25%
oleh User?
Setujukah anda adanya sebuah laporan grafik
5 85% 15%
untuk pengunjung?
Perlukah membuat sebuah sistem informasi
6 untuk memudahkan unduh data buku untuk 100% 0%
mahasiswa?
Perlukah pengembangan sistem aplikasi
7 95% 5%
perpustakaan Fakultas Sains dan Teknologi?
Perlukah mengganti tampilan visualisasi dari
8 aplikasi perpustakaan Fakultas Sains dan 25% 75%
Teknologi?
penyimpanan database.
5. Cetak ulang didalam barcode kode dan copy data buku yang rusak
1. Harddisk 20 GB
3. VGA on board
4. Monitor.
5. Keyboard.
6. Mouse.
56
b. Pengguna Aplikasi
4.3 Planning
dan Teknologi berbasis online. Adapun waktu yang diperlukan dalam penelitian
pengembangan aplikasi ini adalah dalam waktu sembilan minggu. Berikut ini
Communication
Planning
Modelling
Construction
Deployment
57
4.4 Modelling
perangkat lunak sebagai sebuah proses dengan input dan output data yang
1. Aliran data dari Admin ke Aplikasi berupa input data koleksi, input data
3. Aliran Data dari Mahasiswa ke Aplikasi berupa input data kartu anggota,
4. Aliran Data dari Aplikasi ke Mahasiswa berupa cetak kartu anggota dan
perpustakaan oleh admin, yaitu berupa input data koleksi, search koleksi
proses admin.
proses admin.
hubungan antar entitas. ERD dapat digunakan pada pemodelan dan metode
4.4.4 Normalisasi
dengan yang ada pada Entity Relational Diagram (ERD) untuk selanjutnya
1. Normalisasi Tahap I
atribut yang bernilai ganda dan membentuk sejumlah baris sehingga setiap
sel berisi satu nilai. Kemudian bagian yang kosong diisi dengan data yang
sesuai.
63
2. Normalisasi Tahap II
relasi harus sudah berada dalam bentuk normal pertama dan tidak
relasi harus sudah berada dalam bentuk normal kedua dan tidak
normalisasi ketiga.
65
4.4.5 Flowchart
Berikut ini adalah kamus data dari tabel yang ada di dalam aplikasi:
1. Tabel Anggota
2. Tabel Asal
3. Tabel Bahasa
4. Tabel Berlaku
5. Tabel Copy
6. Tabel Denda
7. Tabel Jenis
8. Tabel Kategori
9. Tabel Klasifikasi
baru
Barcode Peminjam”
92
4.4 Construction
Pada Tampilan Halaman Browse View DDC untuk melihat tampilan data
perpustakaan Fakultas Sains dan Teknologi dan untuk unduh file digital.
Pada Tampilan Halaman Master ”Home” untuk add a record untuk data
Pada Tampilan Halaman Master ”Buku Baru” untuk add a record untuk data
Pada Tampilan Halaman Master ”Cek Barcode Peminjam” untuk add a record
untuk Master Cek Barcode Peminjam perpustakaan Fakultas Sains dan Teknologi.
Pada Tampilan Halaman Master ”Cek Barcode” untuk add a record untuk
Pada Tampilan Halaman Master ”Cek Barcode Peminjam” untuk add a record
untuk Master Cek Barcode Peminjam perpustakaan Fakultas Sains dan Teknologi.
Pada Tampilan Halaman File ”Program Studi” untuk add a record untuk
Pada Tampilan Halaman File ”Lokasi” untuk add a record untuk Lokasi
Pada Tampilan Halaman File ”Asal Pustaka” untuk add a record untuk Asal
Pada Tampilan Halaman File ”Bahasa” untuk add a record untuk Bahasa
Pada Tampilan Halaman File ”Kota” untuk add a record untuk Kota
Pada Tampilan Halaman File ”Jenis” untuk add a record untuk Jenis
Pada Tampilan Halaman File ”Kategori” untuk add a record untuk Kategori
Pada Tampilan Halaman File ”Copy” untuk add a record untuk copy
Pada Tampilan Halaman Anggota ”Edit Anggota” untuk Upload Photo, Edit,
Delet, dan Cetak kartu anggota perpustakaan Fakultas Sains dan Teknologi.
Teknologi.
Pada Tampilan Halaman Anggota ”Bebas Pustaka” untuk ubah status anggota
Pada Tampilan Halaman Laporan ”Buku Induk” untuk melihat semua daftar
Pada Tampilan Halaman Laporan ”Koleksi Buku” untuk melihat semua daftar
Jakarta.
Pada halaman Tampilan Halaman Utilities ”My Account” untuk account info
Jakarta.
Teknologi Jakarta.
Jakarta.
4.5 Deployment
aplikasi perpustakaan fakultas sains dan teknologi, Berikut ini adalah hasil
1. Proses berhasil, pada saat input pendaftaran bagi mahasiswa yang ingin
memberikan format pdf dan doc (Dapat dilihat pada Gambar 4.51
1. Berhasil, memberikan browse pada hasil input data koleksi buku baru
difile cover dan file digital digunakan untuk menampilkan semua data
informasi koleksi buku perpustakaan dalam format pdf, dan doc (Dapat
terdapat file cover dan file digital digunakan untuk menampilkan semua
data informasi koleksi buku perpustakaan dalam format pdf dan doc
149
”Edit/Copy/Add”)
buku induk yang terdapat pada perpustakaan. (Dapat dilihat pada Gambar
Anggota”)
Anggota”)
BAB V
PENUTUP
5.1 Kesimpulan
perpustakaan kedalam bentuk file digital dengan hak akses informasi data
koleksi buku yang khusus dimiliki oleh perpustakaan Fakultas Sains dan
pada Gambar 4.52 dan Gambar Halaman Gambar 4.62 Gambar Halaman
Login Administrator)
150
151
5.2 Saran
Dari hasil kesimpulan yang penulis uraikan diatas mengenai penelitian yang
ini memiliki potensi untuk dikembangkan menjadi lebih baik oleh karena itu
1. Dapat mengatasi hak cipta yang selama ini menjadi kendala bagi
yang secara sukarela memberikan hasil karya nya ke dalam bentuk file
Gunadarma.
Ekowidodo, Bowo. 2009. Membuat Website Dengan ASP dan Microsoft Access.
Offset.
Ladjamuddin, Al-Bahra bin 2005. Analisis dan Desain Sistem Informasi. Jakarta :
Graha Ilmu.
Ladjamuddin, Al-Bahra bin 2004. Konsep sistem basis data dan implementasinya.
152
153
Andi.
Terbuka, Jakarta.
Suprianto, Dodit. 2008. Buku Pintar Pemrograman PHP. Bandung: OASE Media.
14:40:20 WIB)
LAMPIRAN-LAMPIRAN
HASIL WAWANCARA
BLACKBOX TESTING
HASIL KUESIONER
kuesioner ini adalah mahasiswa. Hasil jawaban kuesioner adalah sebagai berikut:
Hasil
No Pertanyaan
Ya Tidak
Apakah aplikasi perpustakaan fakultas sains dan
1 teknologi sekarang ini sudah dapat membantu 0% 100%
dalam penyampaian data untuk mahasiswa?
Apakah informasi koleksi buku yang dihasilkan
2 dari aplikasi perpustakaan fakultas sains dan 5% 95%
teknologi sudah memadai?
Setujukah anda Link Administrator disatukan
3 75% 25%
oleh User?
Setujukah anda adanya sebuah laporan grafik
4 85% 15%
statistik untuk pengunjung?
Perlukah membuat sebuah sistem informasi
5 untuk memudahkan download data buku untuk 100% 0%
mahasiswa?
Perlukah pengembangan sistem aplikasi
6 95% 5%
perpustakaan fakultas sains dan teknologi?
Perlukah mengganti tampilan visualisasi dari
7 aplikasi perpustakaan fakultas sains dan 25% 75%
teknologi?
aad_copy.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
$id = $_GET['id'];
$dbConn = connectDB();
?>
onkeyup="document.getElementById('cetakbarcode').setAttribut
e('href','barcode/cetak.php?code='+formulir.barcode.value);">
<a id="cetakbarcode" target="_blank"
href="barcode/cetak.php?code=" style="border: 1px solid
brown;"> print </a>
</td>
</tr><tr>
<td><b>no_induk</td>
<td><input type = "text"
name = "no_induk"
value = ""
size=40>
</td>
</tr><tr>
<td><b>copy_id</td>
<td><?php print fieldToList('copy','copy_id', '', '');?></td>
</tr><tr>
<td><b>lokasi_id</td>
<td><?php print fieldToList('lokasi','lokasi_id', '1', '');?></td>
</tr><tr>
<td><b>status_id</td>
<td><?php print fieldToList('status','status_id', '2', '');?></td>
</tr><tr>
<td><b>asal_id</td>
<td><?php print fieldToList('asal','asal', '', '');?></td>
</tr><tr>
<td><b>edisi</td>
<td><input type = "text"
name = "edisi"
value = ""
size=40>
</td>
</tr><tr>
<td><b>cetakan</td>
<td><input type = "text"
name = "cetakan"
value = ""
size=40>
</td>
</tr><tr>
<td><b>tahun</td>
<td><input type = "text"
name = "tahun"
value = ""
size=40>
</td>
</tr><tr>
<td><b>tglterima</td>
<td><input type = "text"
name = "tglterima"
value = ""
size=40>
</td>
</tr><tr>
<td colspan = 2>
<input type = "hidden"
name = "tableName"
value = "pustakabaru">
<input type = "submit"
value = "add record" class=button>
</td>
</tr>
</table>
</form>
<?php
include "include/footer.php";
?>
<script language="javascript">
</script>
aad_photo.php
<?php
include "include/config.php";
include "include/header.php";
$id = $_GET['id'];
?>
<?php
include "include/footer.php";
?>
aad_record.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
$tableName=$_GET['tableName'];
$dbConn = connectDB();
print tToAdd($tableName);
?>
aad_record_anggota.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
$dbConn = connectDB();
if($_POST[action]=="addanggota"){
print $query = "INSERT INTO anggota VALUES(
NULL,
'$_POST[barcode]',
'$_POST[nama]',
'$_POST[type_identitas]',
'$_POST[no_identitas]',
'$_POST[jenis_kelamin]',
'$_POST[tempat_lahir]',
'$_POST[tanggal_lahir]',
'$_POST[prodi_id]',
'$_POST[alamat]',
'$_POST[kota]',
'$_POST[propinsi_id]',
'$_POST[kode_pos]',
'$_POST[telepon]',
'$_POST[handphone]',
'$_POST[foto]',
'$_POST[tgl_daftar]')";
}
?>
</tr><tr>
<td><b>jenis_kelamin</b></td>
<td><input name="jenis_kelamin" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>tempat_lahir</b></td>
<td><input name="tempat_lahir" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>tanggal_lahir</b></td>
<td><input name="tanggal_lahir" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>prodi_id</b></td>
<td><select name="prodi_id">
<option value=""> -- select prodi --
</option>
<?
$query=mysql_query("SELECT * FROM prodi");
while($row=mysql_fetch_array($query)){
print "<option
value=\"$row[prodi_id]\">$row[nama_prodi]</option>\n";
}
?>
</select>
</td>
</tr><tr>
<td><b>alamat</b></td>
<td><textarea name="alamat" cols="20" rows="4"></textarea>
</td>
</tr><tr>
<td><b>kota</b></td>
</td>
</tr><tr>
<td><b>kode_pos</b></td>
<td><input name="kode_pos" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>telepon</b></td>
<td><input name="telepon" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>handphone</b></td>
<td><input name="handphone" value="" size="40" type="text">
</td>
</tr><tr>
<td><b>foto</b></td>
<td><input name="foto" value="" size="40" type="file">
</td>
</tr><tr>
<td><b>tgl_daftar</b></td>
<td><input name="tgl_daftar" value="" size="40" type="text">
</td>
</tr><tr>
<td colspan="2">
<input name="action" value="addanggota" type="hidden">
<input value="add record" class="button" type="submit">
</td>
</tr>
</tbody>
</table>
</form>
aad_record_pustaka.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
$dbConn = connectDB();
?>
<tr><td><b>Bahasa</td><td><?php print
fieldToList('bahasa','bahasa_id', '', '');?></td></tr>
<tr><td><b>ISBN</td><td><input type=text name=isbn
size=20></td></tr>
aad_record_select.php
<?php
include "include/config.php";
function connectDB(){
//connects to MySQL
global $dbHost, $dbUser, $dbPass, $dbName;
$dbConn = mysql_connect($dbHost, $dbUser, $dbPass)
or die(mysq_error());
$select = mysql_select_db($dbName)
or die(mysq_error());
return $dbConn;
} // end
include "include/header.select.php";
$tableName = $_GET['tableName'];
$fieldName = $_GET['fieldName'];
$from = $_GET['from'];
$dbConn = connectDB();
//given table name, generates HTML form to add an entry to
the
//table. Works like smartRToEdit in recognizing foreign keys
$output = "";
admin.php
<?php # $Id: index.php,v 1.12.2.3 2005/01/15 11:48:23 wspras Exp $
//----------------------------------------------------------------
// wistekom.com
//----------------------------------------------------------------
// Copyright (c) 2005 WSPRAS
//----------------------------------------------------------------
// This program is under the terms of the GENERAL PUBLIC LICENSE
(GPL)
// as published by the SOFTWARE FOUNDATION. The GPL is available
// through the world-wide-web at http://www.wspras.com
//----------------------------------------------------------------
// Authors: uinjkt.ac.id
define( '_VALID_SITE', 0 );
include_once("../core/base_form.frame.php");
$option = strtolower( strval( mesGetParam( $_GET, 'option', NULL )
) );
if ($option == "logout") {
$_secur->logout();
exit();
}
anggota.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/letter.php";
$page = $_GET['page'];
$tableName = "anggota";
$dbConn = connectDB();
$cari = $_GET['cari'];
$prefix = $_GET['prefix'];
$query = "SELECT
anggota_id,barcode,UPPER(nama),no_identitas,nama_prodi,".
"IF (status='1','Aktif','Non Aktif') FROM anggota ".
"LEFT JOIN berlaku ON anggota.barcode = barcodeanggota ".
"LEFT JOIN prodi ON anggota.prodi_id = prodi.prodi_id";
if (!empty($cari))
{
$query .= " WHERE nama LIKE '%$cari%'";
}
if (!empty($prefix))
{
$query .= " WHERE nama LIKE '$prefix%'";
}
include "include/paging.php";
$query .= " ORDER BY anggota_id DESC LIMIT $offset, $count";
include "include/header.php";
echo "
<form>
Search : <input type=text name=cari size=40>
<input type=submit value=\" Search \">
</form>
";
echo "
<script language=\"JavaScript\" type=\"text/javascript\">
<!--
function CheckAll() {
for (var i = 0; i < document.formulir.elements.length; i++) {
if(document.formulir.elements[i].type == 'checkbox'){
document.formulir.elements[i].checked
=!(document.formulir.elements[i].checked);
}
}
}
//-->
</script>
";
//echo $query;
echo "$katalog";
print "Total Record: <b>".total_record("anggota")."</b> record";
print $output;
print "<form action=printCard.php method=post name=formulir>";
print "<a href=\"#\" onclick=\"CheckAll();\">Check All</a>";
print "<table border=1>";
$result = safe_query($query);
$nomor = $offset + 1;
while ($row=mysql_fetch_row($result))
{
echo "<tr><td><input type=checkbox name=id[] value=$row[0]
style=\"border: 0px;\"></td>
<td>$nomor.</td><td>$row[1]</td>
<td><a
href=detailRecord.php?tableName=anggota&keyVal=$row[0]&keyName=ang
gota_id>$row[2]</a></td>
<td>$row[3]</td>
<td>$row[4]</td>
<td>$row[5]</td>
<td>
<a href=addPhoto.php?id=$row[1]>Upload Photo</a> |
<a
href=editRecord.php?tableName=anggota&keyVal=$row[0]&keyName=anggo
ta_id>edit</a> |
<a
href=deleteRecord.php?tableName=anggota&keyVal=$row[0]&keyName=ang
gota_id>delete</a> |
<a href=printCard.php?id=$row[0] target=_blank>Cetak (Tampak
Depan)</a>
</td></tr>";
echo "<tr><td colspan=8 height=1 style=\"border-bottom: 1px
solid #d8d8d8;\"></td></tr>";
$nomor++;
}
echo "<tr><td colspan=8 height=1 style=\"border-bottom: 1px solid
#d8d8d8;\">";
print "</table></form>";
print $output;
echo "<form action=printCardBack.php method=post>
Jumlah Kartu (belakang): <input type=text size=4 name=jml>
<input type=submit value=\" Cetak \"></form>";
include "include/footer.php";
?>
asal.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
echo "<a href=\"addRecord.php?tableName=asal\">Add New
Record</a>";
connectDB();
$sql = "SELECT asalID, asalName FROM asal";
select_to_table($sql);
include "include/footer.php";
?>
bahasa.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
echo $tableName= $_GET['tableName'];
$page= $_GET['page'];
$dbConn = connectDB();
print tToEdit($tableName);
print paging($tableName,$page);
include "include/footer.php";
?>
bar.php
<html>
<head>
<style>
* {
margin-top :0;
padding : 0;
}
#wrapper {
margin-top :0;
width : 190mm;
text-align : left;
display : block;
clear : both;
padding : 0;
}
.barcode {
float : left;
margin-left : 1mm;
margin-top : 1mm;
border:1px solid #000;
width:45mm;
height:15mm;
display : block;
font-family:Arial;
font-size:10px;
float : left;
text-align: center;
font-weight: normal;
padding: 1px;
}
</style>
</head>
<body>
<?php
include "include/config.php";
include "include/fungsi.php";
require("barcode/core.php");
$dbConn = connectDB();
function qt($s)
{
$query1 = "SELECT barcode FROM pustakabaru " .
"LEFT JOIN copy ON pustakabaru.copy_id =
copy.copy_id " .
"WHERE pustaka_id = '$s' ORDER BY copy.copy_id
ASC";
$res1 = mysql_query($query1);
$jml = 0;
while ($row1=mysql_fetch_row($res1))
{
$p_text="$row[0]";
$p_bcType= 1;
$p_xDim=1;
$p_charHeight=25;
$p_w2n =3;
$p_type = 1;
$p_label="N";
$p_invert="N";
$p_checkDigit="N";
$p_rotAngle=0;
$p_textEnc = rawurlencode($p_text);
$p_charGap = $p_xDim;
$dest =
"barcode/wrapper.php?p_bcType=$p_bcType&p_text=$p_textEnc" .
"&p_xDim=$p_xDim&p_w2n=$p_w2n&p_charGap=$p_charGap&p_invert=
$p_invert&p_charHeight=$p_charHeight" .
"&p_type=$p_type&p_label=$p_label&p_rotAngle=$p_rotAngle&p_c
heckDigit=$p_checkDigit"
$c .= "$row1[1] ($row1[2])<br> ";
$jml += 1;
}
//$c .= " <br>Jumlah Data : $jml";
return $c;
}
$query = "SELECT barcode,pustaka.pustaka_id FROM pustaka ".
"LEFT JOIN pustakabaru ON
pustaka.pustaka_id = pustakabaru.pustaka_id ";
$query .="ORDER BY kelas ASC LIMIT 0,50";
echo "<div id=wrapper>";
$res = safe_query($query);
$nomor = 1;
while ($row=mysql_fetch_row($res)) {
$p_text="$row[0]";
$p_bcType= 1;
$p_xDim=1;
$p_charHeight=25;
$p_w2n =3;
$p_type = 1;
$p_label="N";
$p_invert="N";
$p_checkDigit="N";
$p_rotAngle=0;
$p_textEnc = rawurlencode($p_text);
$p_charGap = $p_xDim;
$dest = "barcode/wrapper.php?p_bcType=$p_bcType&p_text=$p_textEnc"
"&p_xDim=$p_xDim&p_w2n=$p_w2n&p_charGap=$p_charGap&p_invert=
$p_invert&p_charHeight=$p_charHeight" .
"&p_type=$p_type&p_label=$p_label&p_rotAngle=$p_rotAngle&p_c
heckDigit=$p_checkDigit"
?>
<div class=barcode>
PERPUSTAKAAN FST
<IMG SRC="<? echo $dest;?>" ALT="<? echo strtoupper($p_text); ?>">
<?php
echo "$row[0]</div>\n";
//if ($nomor % 40 == 0) echo "<div style=\"page-break-after:
auto;\"></div>";
$nomor++;
}
echo "</div>";
?>
barcode.php
<?
require_once('boleto.class.php');
$new_code = new cd_barra('$code',0);
?>
batal_pinjam.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/header.php";
$id = $_GET['id'];
$idanggota = $_GET['idanggota'];
$dbConn = connectDB();
$sql = "DELETE FROM pinjam WHERE id='$id'";
$res = safe_query($sql);
redirect("daftarpinjaman.php?idanggota=$idanggota");
?>
bayar_denda.php
<?php
include "./include/config.php";
include "./include/fungsi.php";
$barcodeanggota = $_POST['barcodeanggota'];
$bayar = $_POST['bayar'];
if (empty($barcodeanggota)){
$halamanredirect = "sirkulasi.php";
redirect($halamanredirect);
exit;
}
$dbConn = connectDB();
$kalsql = "INSERT INTO denda (barcodeanggota,tanggal,bayar)
VALUES('$barcodeanggota',NOW(),'$bayar')";
$hksql = safe_query($kalsql);
$halamanredirect = "daftarpinjaman.php?idanggota=$barcodeanggota";
redirect($halamanredirect);
exit;
?>
bebas_pustaka.php
<?php
include "include/config.php";
include "include/fungsi.php";
include "include/letter.php";
$page = $_GET['page'];
$tableName = "anggota";
$dbConn = connectDB();
$cari = $_GET['cari'];
$prefix = $_GET['prefix'];
$query = "SELECT
anggota_id,barcode,UPPER(nama),no_identitas,nama_prodi,".
"IF (status='1','Aktif','Non Aktif'),IF
(status='1','0','1') FROM anggota ".
"LEFT JOIN berlaku ON anggota.barcode = barcodeanggota ".
"LEFT JOIN prodi ON anggota.prodi_id = prodi.prodi_id";
if (!empty($cari))
{
$query .= " WHERE nama LIKE '%$cari%'";
}
if (!empty($prefix))
{
$query .= " WHERE nama LIKE '$prefix%'";
}
include "include/paging.php";
$query .= " ORDER BY anggota_id DESC LIMIT $offset, $count";
include "include/header.php";
echo "
<form>
Search : <input type=text name=cari size=40>
<input type=submit value=\" Search \">
</form>
";
echo "
<script language=\"JavaScript\" type=\"text/javascript\">
<!--
function CheckAll() {
for (var i = 0; i < document.formulir.elements.length; i++) {
if(document.formulir.elements[i].type == 'checkbox'){
document.formulir.elements[i].checked
=!(document.formulir.elements[i].checked);
}
}
}
//-->
</script>
";
//echo $query;
echo "$katalog";
print "Total Record: <b>".total_record("anggota")."</b> record";
print $output;
print "<table border=1>";
$result = safe_query($query);
$nomor = $offset + 1;
while ($row=mysql_fetch_row($result))
{
echo "<tr>
<td>$nomor.</td><td>$row[1]</td>
<td><a
href=detailRecord.php?tableName=anggota&keyVal=$row[0]&keyName=ang
gota_id>$row[2]</a></td>
<td>$row[3]</td>
<td>$row[4]</td>
<td>$row[5]</td>
<td><a href=ProsesBebasPustaka.php?id=$row[1]&s=$row[6]
onclick=\"return confirm('Ubah Status $row[2]?')\">Ubah
Status</a></td></tr>";
echo "<tr><td colspan=8 height=1 style=\"border-bottom: 1px
solid #d8d8d8;\"></td></tr>";
$nomor++;
}
print "</table></form>";
print $output;
include "include/footer.php";
?>
belum_kembali.php
<?php
include "../include/headeradmin.php";
include "../include/mysqlconnect.php";
$urut = $_GET['urut'];
switch ($urut) {
case 1 : $orderby = "buku.judul"; break;
case 2 : $orderby = "anggota.nama"; break;
case 3 : $orderby = "pinjam.tanggal"; break;
}
$kalsql = "SELECT
buku.judul,buku.pengarang,anggota.id,anggota.nama,pinjam.tanggal
FROM buku,anggota,pinjam
WHERE ((buku.id=pinjam.idbuku) AND
(anggota.id=pinjam.idanggota) AND (pinjam.kembali='0'))
ORDER BY $orderby ASC";
$hksql = mysql_query($kalsql);
echo "
<b>Daftar Buku yang Sedang Dipinjam</b><br><br>
<table border=0 cellpadding=5 cellspacing=1 width=100%>
<tr>
<td bgcolor=#e0e0e0 align=center>Nomor</td>
<td bgcolor=#e0e0e0 align=center><a
href=\"belumkembali.php?urut=1\">Judul Buku</a></td>
<td bgcolor=#e0e0e0 align=center><a
href=\"belumkembali.php?urut=2\">Peminjam</a></td>
<td bgcolor=#e0e0e0 align=center><a
href=\"belumkembali.php?urut=3\">Tanggal</a></td>
</tr>
";
$nomor = 0;
while ($baris = mysql_fetch_row($hksql)) {
$nomor++;
echo "<tr><td bgcolor=f0f0f0 align=center width=80>$nomor</td>
<td bgcolor=f0f0f0><b>$baris[0]</b> $baris[1]</td>
<td bgcolor=f0f0f0 nowrap>$baris[2] : <a
href=\"daftarpinjaman.php?idanggota=$baris[2]\">$baris[3]</a></td>
<td bgcolor=f0f0f0 align=center
nowrap>$baris[4]</td></tr>\n";
}
echo "</table>\n";
include "../include/footer.php";
?>
boleto.class.php
<?php
class cd_barra {
var $file;
var $into;
var $cd_barras = array(
0=>"00110",
1=>"10001",
2=>"01001",
3=>"11000",
4=>"00101",
5=>"10100",
6=>"01100",
7=>"00011",
8=>"10010",
9=>"01010"
);
function cd_barra($value,$into=1) {
$lower = 1 ; $hight = 50;
$this->into = $into;
for($count1=9;$count1>=0;$count1--){
for($count2=9;$count2>=0;$count2--){
$count = ($count1 * 10) + $count2 ;
$text = "" ;
for($i=1;$i<6;$i++){
$text .= substr($this->cd_barras[$count1],($i-
1),1) . substr($this->cd_barras[$count2],($i-1),1);
}
$this->cd_barras[$count] = $text;
}
}
//$img =
imagecreate($lower*95+300,$hight+30);
$img = imagecreate(395,73);
$cl_black = imagecolorallocate($img, 0, 0, 0);
$cl_white = imagecolorallocate($img, 255, 255, 255);
/*
Criando o fundo para a imagem
It Creates the background to the image
*/
imagefilledrectangle($img, 0, 0, $lower*95+1000,
$hight+30, $cl_white);
/*
Iniciando o Código de Barras
It Begins the bar code
*/
imagefilledrectangle($img, 1,5,1,65,$cl_black);
imagefilledrectangle($img, 2,5,2,65,$cl_white);
imagefilledrectangle($img, 3,5,3,65,$cl_black);
imagefilledrectangle($img, 4,5,4,65,$cl_white);
/*
Varrendo o Código de Barras
Scaning the bar code
*/
$thin = 1 ;
if(substr_count(strtoupper($_SERVER['SERVER_SOFTWARE']),"WIN
32")){
//O tamanho para windows tem que ser 3
// For windows, the wide bar has = 3
$wide = 3;
} else {
$wide = 2.72;
}
$pos = 5 ;
$text = $value ;
if((strlen($text) % 2) <> 0){
$text = "0" . $text;
}
/*
Desenhando...
*/
while (strlen($text) > 0) {
$i = round($this->barra_left($text,2));
$text = $this->barra_right($text,strlen($text)-2);
$f = $this->cd_barras[$i];
for($i=1;$i<11;$i+=2){
if (substr($f,($i-1),1) == "0") {
$f1 = $thin ;
}else{
$f1 = $wide ;
}
/*
Imprimindo uma barra preta
Printing the black bar
*/
imagefilledrectangle($img, $pos,5,$pos-1+$f1,65,$cl_black)
;
$pos = $pos + $f1 ;
if (substr($f,$i,1) == "0") {
$f2 = $thin ;
}else{
$f2 = $wide ;
}
/*
Imprimindo uma barra branca
Printing the white bar
*/
imagefilledrectangle($img, $pos,5,$pos-1+$f2,65,$cl_white)
;
$pos = $pos + $f2 ;
}
}
/*
Fechando o Código de Barras
Closing the bar code
*/
imagefilledrectangle($img, $pos,5,$pos-
1+$wide,65,$cl_black);
$pos=$pos+$wide;
imagefilledrectangle($img, $pos,5,$pos-
1+$thin,65,$cl_white);
$pos=$pos+$thin;
imagefilledrectangle($img, $pos,5,$pos-
1+$thin,65,$cl_black);
$pos=$pos+$thin;
$this->put_img($img);
}
function barra_left($input,$comp){
return substr($input,0,$comp);
}
function barra_right($input,$comp){
return substr($input,strlen($input)-$comp,$comp);
}
/*
Método Para Colocar a imagem no Browser
Method to put the image
*/
function put_img($image,$file='test.gif'){
if($this->into){
imagegif($image,$this->file);
} else {
header("Content-type: image/gif");
imagegif($image);
}
imagedestroy($image);
}
}
?>
cek_barcode.php
<?php
class cd_barra {
var $file;
var $into;
//$img =
imagecreate($lower*95+300,$hight+30);
$img = imagecreate(395,73);
$cl_black = imagecolorallocate($img, 0, 0, 0);
$cl_white = imagecolorallocate($img, 255, 255, 255);
/*
Criando o fundo para a imagem
It Creates the background to the image
*/
imagefilledrectangle($img, 0, 0, $lower*95+1000,
$hight+30, $cl_white);
/*
Iniciando o Código de Barras
It Begins the bar code
*/
imagefilledrectangle($img, 1,5,1,65,$cl_black);
imagefilledrectangle($img, 2,5,2,65,$cl_white);
imagefilledrectangle($img, 3,5,3,65,$cl_black);
imagefilledrectangle($img, 4,5,4,65,$cl_white);
/*
Varrendo o Código de Barras
Scaning the bar code
*/
$thin = 1 ;
if(substr_count(strtoupper($_SERVER['SERVER_SOFTWARE']),"WIN
32")){
//O tamanho para windows tem que ser 3
// For windows, the wide bar has = 3
$wide = 3;
} else {
$wide = 2.72;
}
$pos = 5 ;
$text = $value ;
if((strlen($text) % 2) <> 0){
$text = "0" . $text;
}
/*
Desenhando...
*/
while (strlen($text) > 0) {
$i = round($this->barra_left($text,2));
$text = $this->barra_right($text,strlen($text)-2);
$f = $this->cd_barras[$i];
for($i=1;$i<11;$i+=2){
if (substr($f,($i-1),1) == "0") {
$f1 = $thin ;
}else{
$f1 = $wide ;
}
/*
Imprimindo uma barra preta
Printing the black bar
*/
imagefilledrectangle($img, $pos,5,$pos-1+$f1,65,$cl_black)
;
$pos = $pos + $f1 ;
if (substr($f,$i,1) == "0") {
$f2 = $thin ;
}else{
$f2 = $wide ;
}
/*
Imprimindo uma barra branca
Printing the white bar
*/
imagefilledrectangle($img, $pos,5,$pos-1+$f2,65,$cl_white)
;
$pos = $pos + $f2 ;
}
}
/*
Fechando o Código de Barras
Closing the bar code
*/
imagefilledrectangle($img, $pos,5,$pos-
1+$wide,65,$cl_black);
$pos=$pos+$wide;
imagefilledrectangle($img, $pos,5,$pos-
1+$thin,65,$cl_white);
$pos=$pos+$thin;
imagefilledrectangle($img, $pos,5,$pos-
1+$thin,65,$cl_black);
$pos=$pos+$thin;
$this->put_img($img);
}
function barra_left($input,$comp){
return substr($input,0,$comp);
}
function barra_right($input,$comp){
return substr($input,strlen($input)-$comp,$comp);
}
/*
Método Para Colocar a imagem no Browser
Method to put the image
*/
function put_img($image,$file='test.gif'){
if($this->into){
imagegif($image,$this->file);
} else {
header("Content-type: image/gif");
imagegif($image);
}
imagedestroy($image);
}
}
?>
process_upload_photo.php
<?php
include "include/config.php";
include "include/fungsi.php";
$upload_dir = "../photo/";
$id = $_POST['anggota_id'];
if (empty($id)) {
redirect("anggota.php");
exit();
}
$userfile = $_FILES['userfile']['tmp_name'];
$userfile_name = $_FILES['userfile']['name'];
$userfile_size = $_FILES['userfile']['size'];
$userfile_type = $_FILES['userfile']['type'];
$userfile_error = $_FILES['userfile']['error'];
if ($userfile_error > 0) {
switch ($userfile_error){
case 1: $err = "File exceed upload_max_filesize";
break;
case 2: $err = "File exceed max_filesize"; break;
case 3: $err = "The uploaded file was only partially
uploaded"; break;
case 4: $err = "No file was uploaded"; break;
}
redirect("addPhoto.php?id=$id&err=$err");
exit();
} else {
$upfile = "$upload_dir$userfile_name";
if (is_uploaded_file($userfile)) {
if (!copy($userfile,$upfile)) {
$err = "Could not move file to destination
directory";
redirect("addPhoto.php?id=$id&err=$err");
exit();
} else {
//echo "Possible file upload attack. Filename :
$userfile_name";
}
}
$dbConn = connectDB();
$sql = "UPDATE anggota SET
foto='$userfile_name',tgl_daftar=now() WHERE barcode = '$id'";
$res = safe_query($sql);
redirect("anggota.php");
exit();
}
?>
Perpanjang.php
<?php
include "./include/config.php";
include "./include/fungsi.php";
$barcodepustaka = $_GET['barcodepustaka'];
$barcodeanggota = $_GET['barcodeanggota'];
if (empty($barcodepustaka)){
$halamanredirect =
"daftarpinjaman.php?idanggota=$barcodeanggota";
redirect($halamanredirect);
exit;
}
if (empty($barcodepustaka) AND empty($barcodeanggota)){
redirect("sirkulasi.php");
exit;
}
$tanggalskr = date("Y-m-d");
$dbConn = connectDB();
if ($jumlahdata == 0) {
$halamanredirect =
"daftarpinjaman.php?idanggota=$barcodeanggota";
echo "<script>alert(\"Data Buku Belum Di-
entry\")</script>";
redirect($halamanredirect);
exit;
}
if ($jml == 1) {
$halamanredirect =
"daftarpinjaman.php?idanggota=$barcodeanggota";
echo "<script>alert(\"Buku Masih Dipinjam atau belum
dikembalikan\")</script>";
redirect($halamanredirect);
exit;
}
if ($jumlahdata == 1) {
$baris = mysql_fetch_row($res);
$id = $baris[0];
$tanggal = $baris[1];
$kalsql = "UPDATE pinjam SET kembali='1' WHERE id = '$id'";
$hksql = safe_query($kalsql);
$lamahari = lamaHari($tanggal,$tanggalskr);
$denda = 0;
//header("location:pinjam.php?barcodeanggota=$barcodeanggota
&barcodepustaka=$barcodepustaka");
} else {
$kalsql = "INSERT INTO pinjam
(barcodeanggota,barcodepustaka,tanggal) ".
"VALUES('$barcodeanggota','$barcodepustaka',NOW())";
$hksql = safe_query($kalsql);
$kalsql = "UPDATE pustakabaru SET status_id='1' WHERE
barcode = '$barcodepustaka'";
$hksql = safe_query($kalsql);
}
//$halamanredirect =
"daftarpinjaman.php?idanggota=$barcodeanggota"; // cadangan
//redirect($halamanredirect);
$halamanredirect =
"pinjam.php?barcodeanggota=$barcodeanggota&barcodepustaka=$barcode
pustaka";
redirect($halamanredirect);
exit;
?>