Sistem informasi perpustakaan berbasis web : studi kasus LSM YIS (Yayasan Insan Sembada).

(1)

i

SISTEM INFORMASI PERPUSTAKAAN BERBASIS WEB

STUDI KASUS LSM YIS (YAYASAN INSAN SEMBADA)

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Informatika

Oleh:

Andreas Ananto Adhy Nugroho NIM : 065314072

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(2)

ii

LIBRARYINFORMATIONSYSTEMBASE on WEB

CASE STUDY:NGOsYayasan Insan Sembada

A Thesis

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree

in Informatics Engineering

By:

Andreas Ananto Adhy Nugroho Student Number : 065314072

INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCEAND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA


(3)

(4)

(5)

v

PERNYATAAN KEASLIAN KARYA

Dengan ini saya menyatakan bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 31 Mei 2013 Penulis,


(6)

vi

HALAMAN PERSEMBAHAN

Skripsi ini saya persembahkan untuk:

Tuhan YME

, atas semua dinamika dan penyertaanNya yang terjadi selama pengerjaan skripsi.

Kedua Orang Tua, om-tante, budhe-pakdhe, eyang, dan semua


(7)

vii

ABSTRAKSI

Sebagai lembaga yang bergerak dalam bidang pengembangan masyarakat, LSM YIS (Yayasan Insan Sembada) memiliki banyak sumber referensi yang berupa buku yang berada di perpustakaan.Perpustakaan YIS telah didukung dengan sebuah Sistem Informasi Perpustakaan.Sekalipun demikian, Sistem Informasi Perpustakaan yang ada pada saat ini ternyata memiliki beberapa kekurangan yang dikeluhkan oleh administrator. Kekurangan tersebut antara lain adalah kode buku yang tidak unik dimana dua buku atau lebih memiliki kode yang sama serta tidak adanya fitur untuk membuat laporan data buku yang sudah terekam di dalam koleksi sehingga administrator harus membuat laporan secara manual.

Berlatar belakang permasalahan tersebut maka dibangunlah sebuah sistem informasi baru bagi perputakaan YIS yang dapat memenuhi kebutuhan administrator. Sistem informasi baru ini dikembangkan dengan menggunakan database MySQL server dan bahasa pemrograman PHP dengan framework CodeIgniter.

Hasil akhir yang diperoleh adalah sebuah sistem informasi perpustakaan berbasis web yang berjalan menggunakan intranet pada lingkungan YIS yang memiliki kemampuan untuk mengolah data keanggotaan, data koleksi buku, data sirkulasi buku dan usulan penambahan koleksi buku. Sistem ini juga memiliki beberapa fitur baru bagi administrator yaitu pencetakan laporan data koleksi buku dan data sirkulasi buku dalam format lembar kerja (spreadsheet).


(8)

viii

ABSTRACT

YIS (Yayasan Insan Sembada) is a non-government organization which is engaged in community development. YIS has a library which is supported with an information system. However, the library information system of YIS still has several shortcomings. The shortcomings include the code of the book which is considered not unique that there are two or more books have the same codes. In addition, there is no feature to generate reports regarding books that have been recorded in the collection so that the administrator has to generate reports manually.

Due to those the problems, the writer built a new library information system to meet the needs of the administrator. The new information system was developed using MySQL database and PHP programming language with CodeIgniter framework.

The final result is a web-based library information system which runs on YIS intranet environment. The system has abilities to process membership data, collection data, circulation data, as well as suggestions to add collections. The system also has some new features for administrator to print reports regarding collections and circulations in spreadsheet format.


(9)

ix

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Andreas Ananto Adhy Nugroho

NIM : 065314072

Demi mengembangkan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma, karya ilmiah saya yang berjudul:

SISTEM INFORMASI PERPUSTAKAAN BERBASIS WEB STUDI KASUS LSM YIS (YAYASAN INSAN SEMBADA)

Beserta perangkat yang diperlukan (bila ada). Dengan demikan 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 meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantukan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta

Pada tanggal : 30 Mei 2013 Yang menyatakan


(10)

x

KATA PENGANTAR

Puji dan Syukur saya panjatkan kepada Tuhan Yang Maha Esa atas berkat dan pendampinganNya, sehingga saya dapat meyelesaikan tugas akhir ini.

Pada kesempatan ini saya ingin mengucapkan terimakasih yang sebesar-besarnya kepada pihak-pihak yang telah membantu saya dalam menyelesaikan tugas akhir ini.Ucapan terimakasih ini saya sampaikan antara lain kepada:

1. Ibu P.H Prima Rosa,S.Si., M.Sc, sebagai Dosen Pembimbing Tugas Akhir. 2. Bapak Alb. Agung Hadhiatma, S.T, M.T, sebagai Dosen Pembimbing

Akademik Teknik Informatika Angkatan 2006.

3. Bapak JB. Budi Darmawan, S.T, M.Sc, danIbu A.M. Polina S.Kom., M.Sc., selaku Dosen Penguji Pendadaran skripsi saya, terimakasih atas saran dalam memperbaiki skripsi ini.

4. Ibu Ridowati Gunawan, Bu Tatik, seluruh dosen, karyawan sekretariat dan laboran FST, terimakasih atas bimbingan dan motivasinya selama belajar di TI.

5. Kedua Orang Tua, om-tante, budhe-pakdhe, eyang,dan seluruh keluarga yang telah membantu doa dan mendukung secara materiil dan inmateriil selama ini. Aku sayang kalian semua.

6. Antonius Doni O, yang telah memberi masukkan, membantu, mengajarkan semua materi yang berkaitan tentang penulisan skripsi ini. Makasi banyak “Mas Brooo…”


(11)

xi

7. Teman-teman USD TI ’06 : Ajeng, Iyus, Anjar, Andri, Lik Narto, Lugas, Tulus, Bimo, Widiyo, dan semua-muanya makasi atas support, dinamika dan persahabatan selama ini.

8. Teman-teman Andromeda Outbond : Mas Lucky, Mas Juja, Mas Fani, Dedek, Cak Nif, ferdy dan semuanya. Terimakasih atas semua ilmu baru yang diterima selama ini dan motivasinya untuk menyelesaikan skripsi ini. 9. Big Family of Frappio Coffee House & Ice Cream: Mas Nobu, Mas Bagas,

Mas Hildi, Mas ecko, Mas Juja (lagi), semua angkatan Barista khususnya angkatan 7 BBB(Bukan Barista Biasa), Marketing, Purchasing, dan semua-muanya.

10. Untuk semuanya Teman-teman Stako, Jagoan, Kote-Kote okonomiyaki fam, Distric Coffee Factory tempat mengerjakan skripsi ini, my little heroes, Tyas, Ayumi, Atma, Darwin, Sabrina, Niluh Ayu, Amor.

11. Semua pihak membantu baik langsung maupun tidak langsung yang tidak dapat saya sebutkan satu per satu.

Saya masih menyadari banyak kekurangan dalam laporan ini. Saran dan kritik selalu saya harapkan dari para pembaca untuk perbaikan-perbaikan di masa yang akan datang. Akhir kata, saya mengharapkan tulisan ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.

Yogyakarta, 30 Mei 2013


(12)

xii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN ... vi

ABSTRAKSI... vii

ABSTRACT... viii

LEMBAR PERNYATAAN PERSETUJUAN ... ix

KATA PENGANTAR... x

DAFTAR ISI... xii

DAFTAR TABEL ... xviii

DAFTAR GAMBAR... xx

DAFTAR LISTING PROGRAM ... xxiii

BAB IPENDAHULUAN... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Tujuan... 2

1.4. Batasan Masalah... 2

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan... 5

BAB IILANDASAN TEORI ... 6

2.1. Sistem Informasi BerbasisWEB... 6


(13)

xiii

2.2.1. Use Case Diagram... 6

2.3. Pemodelan Proses... 8

2.4. Pemodelan Data... 12

2.4.1. Conceptual Design... 12

2.4.2. Logical Design... 14

2.4.3. Physical Design... 14

2.5. HTML (Hypertext Markup Language)... 14

2.6. PHP (Page Hipertext Preposesor)... 15

2.7. Code Igniter... 16

2.8. MySQL... 18

BAB IIIANALISA DAN PERANCANGAN SISTEM... 20

3.1. Analisa Sistem ... 20

3.1.1. Gambaran Umum Sistem Lama ... 20

3.1.2. Gambaran Umum Sistem yang Dikembangkan ... 23

3.1.3. Analisa Kebutuhan Sistem ... 23

3.1.4. Use Case Diagram... 25

3.1.4.1. Use Case... 26

3.1.4.1.1. Use Case PackageKelola Data Anggota ... 27

3.1.4.1.2. Use Case PackageKelola Data Buku... 27

3.1.4.1.3. Use Case PackageKelola Jabatan... 28

3.1.4.1.4. Use Case PakcageKelola Sub Kategori buku... 28

3.1.4.1.5. Use Case PakcagePeminjaman... 29

3.1.4.1.6. Use Case PakcageKelola Usulan Buku... 29

3.1.4.1.7. Use Case PakcageKelola Penerbit ... 30


(14)

xiv

3.1.4.1.9. Use Case PakcageKelola Pengembalian ... 31

3.1.5. Proses Pemodelan ... 32

3.1.5.1. Diagram Konteks ... 32

3.1.5.2. Diagram Berjenjang... 33

3.1.5.3. Data Flow Diagram(DFD) ... 34

3.1.5.3.1. DFD Level 1 ... 34

3.1.5.3.2. DFD Level 2 proses 1.2 ... 35

3.1.5.3.3. DFD Level 2 proses 1.3 ... 35

3.1.5.3.4. DFD Level 2 proses 1.4 ... 36

3.1.5.3.5. DFD Level 2 proses 1.5 ... 36

3.1.5.3.6. DFD Level 2 proses 1.6 ... 37

3.1.5.3.7. DFD Level 2 proses 1.7 ... 37

3.1.5.3.8. DFD Level 2 proses 1.8 ... 38

3.1.5.3.9. DFD Level 2 proses 1.9 ... 38

3.1.5.3.10. DFD Level 2 proses 1.10 ... 39

3.2. Perancangan Sistem... 39

3.2.1. Perancangan Sistem Database... 39

3.2.1.1. Entity-Relationship Diagram(Conceptual Design) ... 40

3.2.1.2. Logical Database Design(Relational Model) ... 41

3.2.1.3. Physical Database Design(Relational Model) ... 42

3.2.1.3.1. Tabel Anggota... 42

3.2.1.3.2. Tabel Jabatan ... 42

3.2.1.3.3. Tabel Buku... 42

3.2.1.3.4. Tabelcopy_buku... 43


(15)

xv

3.2.1.3.6. Tabel sub_kategori... 43

3.2.1.3.7. Tabel Peminjaman ... 43

3.2.1.3.7.1. Tabel Peminjaman ... 44

3.2.1.3.7.2. Tabel detail_peminjam ... 44

3.2.1.3.8. Tabel Pengarang ... 44

3.2.1.3.9. Tabel detail_pengarang... 44

3.2.1.3.10. Tabel Penerbit ... 45

3.2.1.3.11. Tabel Usulan buku ... 45

3.2.2. Desain User Interface... 45

3.2.2.1. Rancangan Halaman Utama Pengguna... 46

3.2.2.2. Rancangan Halaman Usulan Buku Pengguna ... 46

3.2.2.3. Rancangan HalamanLogin... 47

3.2.2.4. Rancangan Halaman Utama Administrator ... 47

3.2.2.5. Rancangan Halaman Data Anggota... 48

3.2.2.6. Rancangan Halaman Jabatan ... 49

3.2.2.7. Rancangan Halaman SubKategori Buku ... 49

3.2.2.8. Rancangan Halaman Data Buku ... 50

3.2.2.10. Rancangan Halaman Peminjaman Buku... 51

3.2.2.11. Rancangan Halaman Pengembalian Buku ... 52

3.2.2.12. Rancangan Halaman Laporan Pengembalian Buku... 52

3.2.2.13. Rancangan Halaman Laporan Data Buku... 53

3.2.2.14. Rancangan Halaman Penerbit ... 53

3.2.2.15. Rancangan Halaman Pengarang ... 54

BAB IV IMPLEMENTASI SISTEM ... 55


(16)

xvi

4.2. Perangkat Kebutuhan Sistem... 55

4.2.1. Perangkat Keras (hardware) ... 55

4.2.2. Perangkat Lunak (software) ... 56

4.3. ImplementasiDatabase... 56

4.4. Implementasi Antarmuka ... 61

4.4.1. Halaman Pengguna... 61

4.4.1.1. Halaman Utama Pengguna... 61

4.4.1.2. Halaman Usulan Buku ... 62

4.4.1.3. HalamanLogin... 63

4.4.2. Halaman Administrator... 66

4.4.2.1. Halaman Utama Administrator... 66

4.4.2.2. Halaman Setting Jabatan... 67

4.4.2.3. Halaman Setting Anggota... 69

4.4.2.4. Halaman Setting Buku ... 76

4.4.2.5. Halaman Penerbit... 80

4.4.2.6. Halaman Pengarang ... 81

4.4.2.7. Halaman Sub Kategori Buku ... 82

4.4.2.8. Halaman Data Usulan Buku ... 86

4.4.2.9. Halaman Sirkulasi Buku ... 86

4.4.2.10. Halaman Pengembalian Buku... 87

4.4.2.11. Halaman Cetak Data Peminjam... 90

4.4.2.12. Halaman Cetak Data Buku ... 92

BAB VANALISA IMPLEMENTASI SISTEM... 94

5.1. Analisa Hasil Perangkat Lunak ... 94


(17)

xvii

5.1.1.1. Hasil dan Pembahasan ... 95

5.1.2. Analisa terhadap administrator ... 99

5.1.2.1. Hasil dan Pembahasan ... 99

5.2. Kelebihan dan Kekurangan Sistem ... 100

5.2.1. Kelebihan Sistem ... 100

5.2.2. Kekurangan Sistem ... 101

BAB VIPENUTUP ... 102

6.1. Kesimpulan... 102

6.2. Saran ... 102

DAFTAR PUSTAKA ... 104


(18)

xviii

DAFTAR TABEL

Tabel 3.1 Identifikasi pelaku sistem ... 24

Tabel 3.2 Tabel Anggota... 42

Tabel 3.3 Tabel Bagian ... 42

Tabel 3.4 Tabel Buku... 43

Tabel 3.5 Tabelcopy_buku... 43

Tabel 3.6 Tabel kategori_buku ... 43

Tabel 3.7 Tabel sub_kategori ... 43

Tabel 3.8 Tabel Peminjaman ... 43

Tabel 3.9 Tabel Peminjaman ... 44

Tabel 3.10 Tabel detail_peminjam ... 44

Tabel 3.11 Tabel Pengarang... 44

Tabel 3.12 Tabel detail_pengarang ... 44

Tabel 3.13 Tabel Penerbit ... 45

Tabel 3.14 Tabel Usulan buku ... 45

Tabel 4.1 Tabel persentase tampilan antarmuka pada Sistem Informasi mudah dimengerti ... 95

Tabel 4.2 Tabel persentase tampilan antarmuka pada Sistem Informasi tersusun rapi dan menarik ... 95

Tabel 4.3 Tabel presentase instruksi atau petunjuk pada Sistem Informasi terbaca dengan baik... 96

Tabel 4.4 Tabel persentase fitur-fitur pada Sistem Informasi berfungsi dengan baik... 96

Tabel 4.5 Tabel persentase fungsi menu pada Sistem Informasi ini berjalan dengan baik... 97


(19)

xix

Tabel 4.6 Tabel persentase Sistem Informasi ini mempermudah Anda

mencari buku yang dikehendaki ... 97 Tabel 4.7 Tabel persentase Sistem Informasi ini memberikan keterangan lengkap tentang buku yang dikehendaki ... 98 Tabel 4.8 Tabel persentase Sistem Informasi ini membantu pengguna ... 98 Tabel 4.9 Tabel hasil kuisioner administrator ... 100


(20)

xx

DAFTAR GAMBAR

Gambar 2.1 SimbolUse Case... 7

Gambar 2.2 Simbolactor... 7

Gambar 2.3 SimbolEntity... 9

Gambar 2.4 Simbol Aliran Data ... 9

Gambar 2.5 Simbol Proses ... 9

Gambar 2.6 Simbol Tempat Penyimpanan Data ... 10

Gambar 2.7Entityyang dilarang... 10

Gambar 2.8 Relasi antaraentitydengandata storeyang dilarang ... 10

Gambar 2.9 Contoh penulisanentitydengan simbol nomor 2 ... 11

Gambar 2.10 Contoh beberapa struktur data... 11

Gambar 2.11 Notasi ERD El Masri ... 13

Gambar 3.1 Proses Bisnis Peminjaman Buku... 21

Gambar 3.2 Proses Bisnis Pengembalian Buku ... 22

Gambar 3.4Use Case PackageKelola Data Anggota ... 27

Gambar 3.5Use Case PackageKelola Data Buku ... 27

Gambar 3.6Use Case PackageKelola Data Bagian... 28

Gambar 3.7Use Case PackageKelola SubKategori buku ... 28

Gambar 3.8Use Case PackagePeminjaman ... 29

Gambar 3.9Use Case PackagePengusulan Buku ... 29

Gambar 3.10Use Case PackageKelola Penerbit ... 30

Gambar 3.11Use Case PackageKelola Pengarang ... 30

Gambar 3.12Use Case PackagePengembalian... 31


(21)

xxi

Gambar 3.17 DFD Level 2 proses 1.3... 35

Gambar 3.18 DFD Level 2 proses 1.4... 36

Gambar 3.19 DFD Level 2 proses 1.5... 36

Gambar 3.20 DFD Level 2 proses 1.6... 37

Gambar 3.21 DFD Level 2 proses 1.7... 37

Gambar 3.22 DFD Level 2 proses 1.8... 38

Gambar 3.23 DFD Level 2 proses 1.9... 38

Gambar 3.25ER-Diagram... 40

Gambar 3.26Logical Design... 41

Gambar 3.27 Halaman Pengguna... 46

Gambar 3.28 Halaman Usulan Buku Pengguna ... 46

Gambar 3.29 HalamanLogin... 47

Gambar 3.30 Halaman Administrator... 47

Gambar 3.32 Halaman Jabatan... 49

Gambar 3.33 Halaman SubKategori Buku ... 49

Gambar 3.35 Halaman Usulan Buku ... 51

Gambar 3.36 Halaman Peminjaman Buku ... 51

Gambar 3.37 Halaman Pengembalian Buku ... 52

Gambar 3.38 Halaman Laporan Pengembalian Buku ... 52

Gambar 3.39 Halaman Laporan Data Buku ... 53

Gambar 3.40 Halaman Penerbit... 53

Gambar 3.41 Halaman Pengarang ... 54

Gambar 4.1Databaseyis_perpus... 57

Gambar 4.2 Halaman Utama Pengguna ... 61


(22)

xxii

Gambar 4.4 Halaman Usulan Buku ... 62 Gambar 4.5 HalamanLogin... 63 Gambar 4.6 Halaman Utama Administrator ... 66 Gambar 4.7 HalamanSettingJabatan ... 67 Gambar 4.8 Halaman Setting Anggota ... 69 Gambar 4.9 Halaman Peringatan Simpan Anggota ... 76 Gambar 4.10 HalamanSettingBuku... 76 Gambar 4.11 Halaman Peringatan BerhasilUpdateBuku ... 80 Gambar 4.12 Halaman Penerbit... 81 Gambar 4.13 Halaman Pengarang ... 82 Gambar 4.14 Halaman Sub Kategori Buku ... 83 Gambar 4.15 Halaman Pencarian Sub Kategori Buku ... 85 Gambar 4.16 Halaman Data Usulan Buku ... 86 Gambar 4.17 Halaman Data Sirkulasi Buku... 87 Gambar 4.18 Halaman Pengembalian Buku ... 87 Gambar 4.19 Halaman Hasil Pengembalian Buku ... 90 Gambar 4.20 Halaman Cetak Data Peminjam Buku ... 91 Gambar 4.21 Laporan Cetak Data Peminjaman Buku... 92 Gambar 4.22 Halaman Cetak Data Buku... 92


(23)

xxiii

DAFTAR LISTING PROGRAM

Listing Program 4.1Controller home.php ... 64 Listing Program 4.2 Modelhome.php... 65 Listing Program 4.3Ajax home.js... 66 Listing Program 4.4Controller SettingJabatan.php ... 68 Listing Program 4.5 Model Jabatan.php ... 69 Listing Program 4.6Controlleranggota.php ... 73 Listing Program 4.7 Model anggota.php ... 74 Listing Program 4.8ajaxanggota.js... 75 Listing Program 4.9Controller settingbuku.php... 78 Listing Program 4.10 Model buku.php ... 79 Listing Program 4.11Ajaxsettingbuku.js ... 80 Listing Program 4.12Controller settingsubkategori.php ... 84 Listing Program 4.13 Modelsettingsubkategori.php... 84 Listing Program 4.14Ajaxsubkategori.js ... 85 Listing Program 4.15Controllerpeminjaman.php ... 89 Listing Program 4.16 Model peminjaman.php ... 89 Listing Program 4.17 Modelcopy_buku.php ... 89 Listing Program 4.18Ajaxpeminjaman.js ... 90 Listing Program 4.19Controller SearchPeminjaman.php ... 91 Listing Program 4.20AjaxSettingPeminjaman.js ... 92


(24)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Yayasan Insan Sembada (YIS) adalah Lembaga Swadaya Masyarakat (LSM) yang bergerak dibidang pengembangan masyarakat.LSM yang telah berdiri sejak tahun 1974 ini mengembangkan program-program yang mencakup hal tentang kesehatan masyarakat, perbaikan ekonomi, pelatihan, dan manajemen konflik.

Banyaknya proyek yang dilakukan oleh YIS rupanya menuntut banyaknya referensi yang digunakan untuk mendukung berbagai proyek yang dilaksanakan.Referensi yang digunakan salah satunya adalah buku, sehingga YIS mempunyai perpustakaan untuk mengelola buku-buku tersebut.Dalam perkembangannya, YIS mulai untuk memanfaatkan teknologi informasi yang ada pada saat ini untuk mengelola buku-buku yang ada.Salah satu pemanfaatan teknologi informasi secara internal yang telah ada pada lembaga tersebut yaitu Sistem Informasi Perpustakaan, sehingga buku-buku dapat terekam dengan baik.

Dalam perkembangannya, Sistem Informasi Perpustakaan yang ada pada saat ini ternyata terdapat beberapa kekurangan yang dikeluhkan oleh administrator perpustakaan YIS. Kekurangan tersebut antara lain kode buku yang tidak unik, sehingga 2 atau lebih buku yang berbeda bisa mempunyai kode buku yang sama. Tidak adanya fitur untuk membuat laporan pengarsipan buku apa saja yang sudah terekam dalamkoleksi perpustakaan, sehingga administrator menggunakan proses


(25)

pencatatan buku secara manual jika ia harus membuat laporan, dan melakukan pengembanganinterfacesistem informasi tersebut.

Melihat dari permasalahan tersebut, penulis tertarik untuk mengembangkan Sistem Informasi Perpustakaan yang menyediakan informasi dan fasilitas untuk menangani masalah tersebut.

1.2. Rumusan Masalah

Rumusan masalah yang timbul pada tugas akhir ini adalah bagaimana mengembangkan Sistem Informasi Perpustakaan berbasis WEB sesuai kebutuhan lembaga, sehingga dapat digunakan untuk:

1. Perbaikan sistem (data buku, kategori buku, sirkulasi buku, dan anggota).

2. Membuat dan mencetak laporan data buku.

1.3. Tujuan

Tujuan dari tugas akhir ini adalah mengembangkan Sistem Informasi Perpustakaan berbasisWEByang sesuai dengan kebutuhan lembaga.

1.4. Batasan Masalah

Adapun batasan dari sistem yang dibuat adalah sebagai berikut :

1. Informasi yang disajikan adalah informasi dalam bahasa Indonesia. 2. Sistem ini dibuat berdasarkan hal-hal yang diminta oleh pihak


(26)

3. Program dibangun dengan menggunakan PHP dan untuk basis data menggunakanMySQL Application.

1.5. Metodologi Penelitian

Metode penelitian yang digunakan dalam pembuatan Tugas Akhir ini dengan tahap-tahap sebagai berikut :

1. Identifikasi sistem

a. Observasi Sistem Informasi Perpustakaan yang telah berjalan. b. Wawancara terhadap pegawai yang berkepentingan

menjalankan sistem. 2. Studi Literatur

Mempelajari semua ilmu dan teori yang berkaitan dengan pembangunan Sistem ini.

3. Metode pengembangan sistem secara tersruktur dengan Model Waterfall.ModelWaterfallini terbagi menjadi beberapa fase yaitu :

a. Fase Analisis Kebutuhan (Requirements)

Analisis kebutuhan dimulai karena adanya permintaan terhadap sistem yang baru. Tujuan dari analisis kebutuhan ini adalah untuk menentukan tentang apa yang akan dikerjakan oleh sistem yang diusulkan. Pada tahap ini dibuat pendefinisian dan pemodelan sistem dalam bentuk use case diagram, dan dilakukan kegiatan pengumpulan data-data yang berhubungan dengan sistem yang akan dibangun.


(27)

b. Fase Perancangan (Design Phase)

Membuat desain data flow diagram (DFD), entity relational diagram (ERD), desain tabel-tabel basis data, dan antar muka sistem.

c. Fase Implementasi (Implementation Phase)

Mengimplementasikan hasil desain dan rancangan sistem kedalam bentuk program.

d. Fase Pengujian (Testing Phase)

Pada fase pengujian ini dilakukan pengujian oleh developer, apakah hasil sudah sesuai dengan perancangan, serta mencari segala kesalahan yang masih terjadi dalam sistem.

4. Ujicoba terhadapuser

Setelah sistem selesai dibangun, maka tahap selanjutnya adalah melakukan uji coba sistem terhadap user, yaitu pegawai lembaga YIS. Hal ini dimaksudkan agar sistem dapat berjalan sesuai dengan yang diharapkan.


(28)

1.6. Sistematika Penulisan Bab I : PENDAHULUAN

Menjelaskan mengenai latar belakang pemilihan topik tugas akhir, rumusan masalah, tujuan, batasan masalah, metode penelitian serta sistematika penulisan yang digunakan.

Bab II : LANDASAN TEORI

Pada bab ini menjelaskan dasar teori yang digunakan dalam mendukung penulisan tugas akhir.

Bab III :ANALISA DAN PERANCANGAN SISTEM

Menganalisa sistem lama dan sistem yang akan dibuat beserta dengan desain sistem yang akan dibuat.

Bab IV : IMPLEMENTASI SISTEM

Membahas implementasi sistem yang dibuat dari desain diubah ke dalam bentuk bahasa pemrograman.

Bab V :ANALISA IMPLEMENTASI SISTEM

Menganalisa hasil dari sistem yang dibuat.Menjabarkan kekurangan dan kelebihan sistem.

Bab VI : PENUTUP


(29)

6

BAB II

LANDASAN TEORI

2.

2.1. Sistem Informasi BerbasisWEB

Sistem berbasis web adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat managerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan dengan interaksi secara langsung dan beroperasi pada sebuah browser aplikasi dan teknologi internet.

2.2. Pemodelan Terstruktur

Pemodelan terstruktur merupakan alat-alat (tools) dan teknik-teknik (techniques) yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang strukturnya didefinisikan dengan baik dan jelas. Pemodelan terstruktur ini memiliki beberapa pemodelan yaitupemodelan pengguna sistem (Use Case Diagram), pemodelan proses (Data Flow Diagram), dan pemodelan data (Entity Relationship Diagram).

2.2.1. Use Case Diagram

Use casediagram adalah sebuah diagram yang menggambarkan interaksi antara sistem dan eksternal sistem dan user. Use case merupakan bagian dari keseluruhan sistem secara fungsional.


(30)

Digambarkan secara grafis dengan ellips horisontal dengan use case tertera diatas, dibawah atau didalamellips.

Gambar 2.1 SimbolUse Case

Actor merupakan segala sesuatu yang perlu berinteraksi dengan sistem untuk mendapatkan/mengubah informasi. Dapat berupa orang, organisasi, sistem informasi yang lain, piranti luar atau waktu kejadian.

Gambar 2.2 Simbolactor

Use case extends relationship merupakan sebuah use case berisi langkah-langkah yang diringkas dari sebuah use case yang lebih kompleks agaruse caseyang lebih sederhana namun secara fungsi lebih meluas. Digambarkan dengan garis anak panah yang dimulai pada extension use case dan menujuk pada use case yang di-extending. Setiap relasi diberi label <<extends>>.

Use case uses relationship merupakan use case yang mengurangi redudansi antara dua atau lebih use case dengan cara


(31)

mengkombinasikan langkah-langkah yang umum ditemui dalam use casetersebut. Digambarkan dengan ujung anak panah dimulai dari use case original dan menunjuk ke use case yang digunakan. Setiap garis yang menunjukrelationshipdinamakan dengan <<uses>>.

Use case depends on relationship merupakan sebuah relasi yang menentukan bahwause caseyang lain harus dibuat sebelumcurrent use case. Digambarkan sebagai garis anak panah yang dimulai dari satu use case dan menunjuk ke use case yang bergantung (dependent on) kepadanya. Setiap relasidepend ondiberi label <<depends on>>.

2.3. Pemodelan Proses

Pemodelan proses adalah sebuah teknik yang digunakan untuk mengorganisasikan dan mendokumentasikan proses dari sistem. Kegiatan yang dilakukan pada pemodelan proses, antara lain pembuatan DFD (Data Flow Diagram). DFD adalah sebuah model proses yang digunakan untuk menggambarkan aliran dari data yang melalui sebuah sistem dan proses yang dibentuk oleh sistem. DFD menggambarkan penyimpanan data dan proses yang mentranformasikan data. DFD menunjukkan hubungan antara data pada sistem dan proses pada sistem.


(32)

Simbol-simbol yang digunakan dalam pembuatan DFD, antara lain : 1. Entity

Menggambarkan sumber atau tujuan dari aliran data dari atau ke sistem. Simbolentityadalah sebagai berikut :

Interface

Gambar 2.3 SimbolEntity

2. Aliran data

Menggambarkan aliran data dari satu proses ke proses yang lainnya. Simbol aliran data adalah sebagai berikut :

Gambar 2.4 Simbol Aliran Data 3. Proses

Proses yang mentransformasikan data secara umum. Simbol proses adalah sebagai berikut :

Gambar 2.5 Simbol Proses 4. Tempat penyimpanan

Merupakan komponen yang berfungsi untuk menyimpan data atau file. Simbol tempat penyimpanan data adalah sebagai berikut :


(33)

Gambar 2.6 Simbol Tempat Penyimpanan Data

Ketentuan-ketentuan yang harus dipatuhi dalam pembuatan DFD agar tidak terjadi kesalahan, antara lain :

1. Antar entity tidak diijinkan terjadi hubungan atau relasi, seperti contoh berikut ini :

Gambar 2.7Entityyang dilarang

2. Tidak boleh ada aliran data antara entitydengan datastore, seperti contoh berikut ini :


(34)

3. Untuk alasan kerapian,entityataudata storeboleh digambar beberapa kali dengan tanda khusus, misalnya diberi nomor, seperti contoh berikut ini :

Gambar 2.9 Contoh penulisanentitydengan simbol nomor 2

4. Satu aliran data boleh mengalirkan beberapa struktur data, seperti contoh berikut ini :

Gambar 2.10 Contoh beberapa struktur data

5. Bentuk anak panah aliran data boleh bervariasi 6. Semua obyek harus mempunyai nama

7. Aliran data selalu diawali dan diakhiri dengan proses 8. Semua aliran data harus mempunyai tanda arah

Beberapa petunjuk pembuatan DFD antara lain :

1. Penamaan harus jelas. Sebaiknya menggunakan nama yang mengacu pada fungsi, yaitu gabungan antara kata kerja yang spesifik. Disarankan untuk tidak menggunakan nama yang terlalu umum, tetapi gunakan nama yang mudah dimengerti oleh pemakai.


(35)

2. Memberi nomor pada proses. Nomor yang diberikan pada proses tidak harus menjadi nomor urut. Penomoran dimaksudkan sebagai identifikasi proses dan memudahkan penurunan (level yang lebih rendah) ke proses berikutnya.

3. Penggambaran kembali. Ukuran dan bentuk tetap sama dan tanda panah boleh bervariasi.

4. Hindarilah proses yang mempunyai masukan tetapi tidak mempunyai keluaran begitu pula sebaliknya, hindarilah proses yang mempunyai keluaran tetapi tidak mempunyai masukan.

5. Hati-hati dengan aliran data dan proses yang tidak dinamai. Aliran proses yang tidak diberi nama dapat mengakibatkan elemen data yang saling tidak berhubungan akan menjadi satu.

2.4. Pemodelan Data

Pemodelan data adalah sebuah teknik untuk mengorganisasikan dan mendokumentasikan data dari sistem. Pada proses pemodelan data, dibagi menjadi tiga tahap utama, yaitu : tahapconceptualdesign, tahap logicaldesign dan tahapphysicaldesign.

2.4.1. Conceptual Design

Pada tahap ini akan digambarkan isi dari basis data sebelum data diimplementasikan pada sistem informasi yang sesungguhnya serta tidak mempertimbangkan efisiensi program-program yang memanfaatkan data tersebut. Hasil dari tahap ini berupa conceptual


(36)

schema yang mengacu pada suatu conceptual model yaitu Entity RelationalDiagram(ERD).

ERD merupakan alat yang digunakan untuk membantu dalam pemodelan data.Dua komponen utama pembentuk ERD adalah entitas dan relasi. Entitas adalah sebuah objek nyataada dan dibedakan dari sesuatu yang lain. Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik dari entitas tersebut.Sedangkan relasi adalah hubungan antar entitas. Ada beberapa macam relasi yang digambarkan dalam ERD, yaitu :

1. Relasi satu lawan satu (One to one relationship) 2. Relasi satu lawan banyak (One to many relationship) 3. Relasi banyak lawan banyak (Many to many relationship)

Ada beberapa notasi yang digunakan untuk membuat ERD. Misal, notasi Chen, Martin, El Masri dan Korth, akan tetapi pada umumnya, semua notasi itu sama. Perbedaannya adalah pada pemilihan simbol-simbol yang digunakan. Di sini, kita akan menggunakan notasi El Masrikarena lebih umum dan mudah dibaca dan dimengerti


(37)

2.4.2. Logical Design

Pada tahap ini dilakukan penterjemahan dari conceptual schema ke model data yang sesuai dengan DBMS yang akan digunakan. Hasil dari tahap ini berupa logical schema basis data yang mengacu pada suatu logical data model yaitu Relational Model. Terdapat 2 langkah utama dalamlogical design, yaitu :

1. Restrukturisasi ER Diagram

Kegiatan yang dilakukan harus secara berurutan antara lain : a. Analisa redudansi

b. Hilangkan generalisasi

c. Memecah / menyatukan entitas-entitas dan relasi-relasi d. Tetapkan kata kunci (primarykey)

2. Mengubah dari ER Diagram keRelational Model

2.4.3. Physical Design

Pada tahap ini logical schema dilengkapi dengan detail-detail implementasi secara fisik sesuai DBMS yang digunakan.

2.5. HTML(Hypertext Markup Language)

Dokumen HTML merupakan salah satu dokumen yang ditampilkan dalam browser web yang umumnya halaman web yang bersifat statik.Pada umumnya dokumen ini berisi informasi atau aplikasi di dalam internet.Dokumen HTML dapat dibuat dengan menggunakan HTML editor


(38)

(misalnya Frontpage atau Macromedia Dreamweaver) atau dengan editor teks biasa (misalnya notepad). Dokumen HTML biasanya diberi nama dengan cara menambahkan ekstensi .htm atau .html di belakang nama dokumen (contoh : dokumen.htm atau dokumen.html).

Pada suatu dokumen HTML terdapat tag-tag yang terdiri atas sebuah urung sudut kiri (<, tanda lebih kecil), sebuah nama tag, sebuah kurung sudut kanan (>, tanda lebih besar). Tag-tag tersebut umumnya berpasangan, contohnya <HTML> dengan </HTML>.Tag pertama <HTML> menunjukkan tag awal yang berarti awal elemen, sedangkan tag kedua </HTML> menunjukkan tag akhir yang berarti akhir elemen.

Setiap dokumen HTML dibuka dengan tag<HTML> dan ditutup dengan tag </HTML>. Dapat juga diberi judul dengan tag<TITLE> yang harus berada di dalam <HEAD>.

2.6. PHP (Page Hipertext Preposesor)

PHP adalah bahasa server side scripting yang menyatu dengan HTML untuk membuat halamanwebyang dinamis. Maksud dariserver side scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Pembuatan program ini merupakan kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai pembangunan halamanweb.

PHP menawarkan koneksitas yang baik dengan beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas, Filepro,


(39)

Velocis, dBase, Unixdbm dan tak terkecuali semua database ber-interface ODBC. Juga dapat berintegrasi dengan beberapa library eksternal yang membuat anda dapat melakukan segalanya mulai dari membuat dokumen PDF hingga mem-parse XML. PHP juga mendukung komunikasi dengan layanan lain melalui protocol IMAP, SNMP, NNTP, POP3 atau bahkan HTTP. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data denganweb.

2.7.Code Igniter

CodeIgniter merupakan salah satu dari sekian banyak framework PHP yang ada.CodeIgniter dikembangkan oleh Rick Ellis (http://www.ellislab.com). Tujuan dari pembuatan frameworkCodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara coding secara manual, dengan menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatanwebsitedengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatanwebsite.

Ada banyak sekali framework PHP yang beredar di internet. Berikut adalah alasan memilihCodeIgniter:


(40)

 Gratis

CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.

 Berjalan di PHP versi 4 dan 5

Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab ituCodeIgniterdikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.

 Ringan dan cepat

Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengan demikian hanya membutuhkanresource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa diloadsesuai dengan kebutuhan.  Menggunakan MVC.

CodeIgniter menggunakan lingkungan pengembangan dengan metodeModel View Controller(MVC) yang membedakan antara logika dan presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah.Ada bagian yang khusus membuat tampilan dan bagian yang membuatcoreprogramnya.

 Dokumentasi.

Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari


(41)

dokumentasinya.Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter.Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia.Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.

 Pustaka yang lengkap.

CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksidatabase, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.

2.8.MySQL

MySQL merupakan database yang paling populer.MySQL didistribusikan secara gratis di bawah lisensi GPL (General PublicLicense ), sehingga setiap orang bebas menggunakanMySQL, namun tidak boleh dijadikan produk yang bersifat komersial.

MySQL sebenarnya merupakan turunan dari databaseSQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Sistem database sangat handal dalam melakukan proses perintah


(42)

SQL, yang dibuat oleh pengguna maupun aplikasinya. MySQL memiliki keunggulan antara lain:

1. Dapat menangani jutaan pengguna dalam waktu yang bersamaan. 2. Mampu menampung lebih dari 50.000.000record.

3. Dapat mengeksekusi perintah dengan cepat. 4. Memilikiuser systemyang mudah dan efisien


(43)

20

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

3.1.1. Gambaran Umum Sistem Lama

Sistem Informasi Perpustakaan yang telah ada di YIS saat ini telah berbasis web. Sistem tersebut sebenarnya telah memenuhi kebutuhan standar dari sebuah perpustakaan, yaitu: pendataan buku, pengolahan buku, pengolahan data anggota, dan sirkulasi buku, hanya saja sistem yang ada memiliki beberapa kekurangan terlebih dari sisi administrator. Sistem Sirkulasi buku pada perpustakaan YIS dibagi menjadi 2 bagian yaitu peminjaman dan pengembalian buku. Proses bisnis yang terjadi pada proses peminjaman buku bisa dilihat pada gambar berikut.


(44)

Gambar 3.1 Proses Bisnis Peminjaman Buku

Sedangkan untuk proses pengembalian buku, proses bisnis yang terjadi bisa dilihat pada gambar berikut.


(45)

Gambar 3.2Proses Bisnis Pengembalian Buku

Beberapa kekurangan yang dikeluhkan adalah kode buku yang tidak unik, sehingga 2 atau lebih buku yang berbeda bisa mempunyai kode buku yang sama. Tidak adanya fitur untuk membuat laporan pengarsipan buku apa saja yang sudah terekam dalam koleksi perpustakaan, sehingga administrator menggunakan proses mencatat buku secara manual jika ia harus membuat laporan.

Dari sisi user juga terdapat beberapa kekurangan, yaitu: proses pencarian yang kurang spesifik sehingga hasil pencarian masih luas, dan kurangnya notifikasi keterangan dari setiap aksi yang dilakukan oleh user.


(46)

3.1.2. Gambaran Umum Sistem yang Dikembangkan

Sistem yang dibangun ini merupakan perbaikan kekurangan sekaligus pengembangan dari sistem yang lama. Sistem yang baru ini dibuat menggunakan bahasa pemrograman PHP dan database menggunakan MySQL. Sistem ini nantinya dapat diakses oleh anggota melalui jaringan intranet pada komputer yang terdapat di masing-masing ruangan yang ada pada lembaga tersebut.

Sistem terdiri dari dua halaman utama, halaman untuk user dan juga halaman untuk administrator. Halaman user hanya dapat digunakan untuk melakukan pencarian buku,mengetahui koleksi buku baru,melihat data buku, memesan buku, dan memberikan usulan buku kepada perpustakaan. Sedangkan halaman administrator digunakan untuk mengolah data buku, anggota, sirkulasi (pinjamdan kembali), dan usulan buku.

3.1.3. Analisa Kebutuhan Sistem

Pihak yang terlibat atau menggunakan sistem informasi tersebut antara lain :

1. Pengguna

Pengguna dalam hal ini adalah pengguna umum yang mempunyai akses terbatas.Pengguna hanya dapat melakukan pencarian data buku,melihat data buku, mengetahui buku baru, danmemberikan usulan buku.


(47)

2. Administrator

Administrator adalah orang yang berhak untuk mengakses data secara keseluruhan, dan melakukan pemeliharaan secara berkala.Misalnya, hapus, tambah, ubah, mengolah sirkulasi dan membuat laporan.

Berikut adalah daftar kebutuhan dan pelaku sistem yang terlibat dalam Sistem Informasi tersebut :

Pengguna Kebutuhan

Pengguna Melihat, mencari, dan memberi usulan buku. Administrator Login

Menambah dan mengolah data subkategori buku Menambah dan mengolah data anggota

Menambah dan mengolah jabatan anggota Menambah dan mengolah data buku Mencatat dan mengolah data sirkulasi Mengolah usulan buku

Logout


(48)

3.1.4. Use Case Diagram

Use Case Diagrammerupakan sebuah diagram yang menggambarkan interaksi antara sistem dan eksternal sistem dan pengguna. Adapun penjelasan tentang use casetersebut,akan digambarkan pada poin dibawah.


(49)

3.1.4.1. Use Case

Use case diagramdari sistem ini terbagi dalam 9packagedan 2 use caseyang dapat dilihat pada gambar berikut


(50)

3.1.4.1.1. Use Case PackageKelola Data Anggota

Use case package ini mencakup 5 aksi yang dapat dilihat pada gambar berikut

Gambar 3.4Use Case PackageKelola Data Anggota

3.1.4.1.2. Use Case PackageKelola Data Buku

Use case package ini mencakup 5 aksi yang dapat dilihat pada gambar berikut

Gambar 3.5Use Case PackageKelola Data Buku Tambah dataanggota

Ubah dataanggota Lihat data anggota

Hapus dataanggota

kelola data anggota

administrator

Cari dataanggota

Cari data buku Tambah data buku

Ubah data buku Lihat data buku

kelola data buku

Cetak data buku


(51)

3.1.4.1.3. Use Case PackageKelola Jabatan

Use case package ini mencakup 4 aksi yang dapat dilihat pada gambar berikut

Gambar 3.6Use Case PackageKelola Data Bagian

3.1.4.1.4. Use Case PakcageKelola Sub Kategori buku

Use case package ini mencakup 5 aksi yang dapat dilihat pada gambar berikut

Gambar 3.7Use Case PackageKelola SubKategori buku Tambah datajabatan

Ubah datajabatan Lihat data jabatan

Hapus data jabatan

kelola data jabatan

administrator

Tambah subkategori

Ubah subkategori Lihat subkategori

Hapus subkategori

kelola subkategori buku

administrator


(52)

3.1.4.1.5. Use Case PakcagePeminjaman

Use case package ini mencakup 4 aksi yang dapat dilihat pada gambar berikut

Gambar 3.8Use Case PackagePeminjaman

3.1.4.1.6. Use Case PakcageKelola Usulan Buku

Use case package ini mencakup 3 aksi yang dapat dilihat pada gambar berikut

Gambar 3.9Use Case PackagePengusulan Buku Lihat pengusulan

buku

Hapus pengusulan buku

kelola pengusulan buku

administrator

Tambah pengusulan buku

pengguna Cari peminjaman

Tambah peminjaman

Cetak peminjaman Lihat peminjaman

kelola peminjaman


(53)

3.1.4.1.7. Use Case PakcageKelola Penerbit

Use case package ini mencakup 5 aksi yang dapat dilihat pada gambar berikut

Gambar 3.10Use Case PackageKelola Penerbit

3.1.4.1.8. Use Case PakcageKelola Pengarang

Use case packageini mencakup 5 aksi yang dapat dilihat pada gambar berikut

Gambar 3.11Use Case PackageKelola Pengarang Tambah penerbit

Ubah penerbit Lihat penerbit

Hapus penerbit

kelola penerbit

administrator

Cari penerbit

Tambah pengarang

Ubah pengarang Lihat pengarang

Hapus pengarang

kelola pengarang

administrator


(54)

3.1.4.1.9. Use Case PakcageKelola Pengembalian

Use case packageini mencakup 3 aksi yang dapat dilihat pada gambar berikut

Gambar 3.12Use Case PackagePengembalian Lihat pengembalian

Cari pengembalian

kelola pengembalian

administrator


(55)

3.1.5. Proses Pemodelan

3.1.5.1. Diagram Konteks

Diagram konteks digunakan untuk menggambarkan bagaimana para pelaku sistem berinteraksi dengan sistem, disertai masukan ke sistem dan keluaran dari sistem. Diagram konteks juga menjadi batasan dari sistem yang akan dibangun. Di bawahini adalah gambaran diagram konteks dari Sistem tersebut :


(56)

33 3.1.5.2. Diagram Berjenjang

Dibawah ini adalah diagram berjenjang yang akan dibangun sebagai acuan untuk membuat Diagram Arus Data berdasarkan level-level proses yang ada :


(57)

3.1.5.3. Data Flow Diagram (DFD)

3.1.5.3.1. DFD Level 1


(58)

3.1.5.3.2. DFD Level 2 proses 1.2

Gambar 3.16DFD Level 2 proses 1.2

3.1.5.3.3. DFD Level 2 proses 1.3


(59)

3.1.5.3.4. DFD Level 2 proses 1.4

Gambar 3.18DFD Level 2 proses 1.4

3.1.5.3.5. DFD Level 2 proses 1.5


(60)

3.1.5.3.6. DFD Level 2 proses 1.6

Gambar 3.20DFD Level 2 proses 1.6

3.1.5.3.7. DFD Level 2 proses 1.7


(61)

3.1.5.3.8. DFD Level 2 proses 1.8

Gambar 3.22DFD Level 2 proses 1.8

3.1.5.3.9. DFD Level 2 proses 1.9


(62)

3.1.5.3.10.DFD Level 2 proses 1.10

Gambar 3.24DFD Level 2 proses 1.10

3.2. Perancangan Sistem

Pada tahap ini akan dibuat perancangan sistem yang sesuai dengan analisis yang telah dibuat pada tahap sebelumnya. Perancangan sistem ini terdiri dari desaindatabasesistem dan desainuser interfacesistem.

3.2.1. Perancangan Sistem Database

Dalam perancangan database sistem, langkah pertama yang harus dilakukan adalah membuat conceptual database design. Alat yang digunakan adalah Entity Relationship Diagram(ER-Diagram). ER-Diagram

berfungsi untuk menggambarkan hubungan antar entitas yang terjadi didalam sistem.


(63)

40 3.2.1.1. Entity-Relationship Diagram (Conceptual Design)


(64)

3.2.1.2. Logical Database Design (Relational Model)

Relational modelmenggambarkan entitas-entitas dari ER diagram yang menjadi tabel. Padarelational modelini nama entitas menjadi nama tabel, sedangkan untuk atribut menjadi nama fieldnya. Berikut relasi antar tabel-tabelnya:


(65)

3.2.1.3. Physical Database Design (Relational Model)

Berdasarkan relasi tabel diatas, maka dibuatlah struktur data masing-masing tabel sebagai berikut:

3.2.1.3.1. Tabel Anggota

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_anggota Int 10 [PK]

2 Nama Varchar 100

3 id_jabatan Int 10 FK

4 tempat_lahir Varchar 40

5 tgl_lahir Date

6 Alamat Varchar 200

7 Kelamin enum(‘L’,’P’)

8 Telepon Int 10

9 bacaan_fav Varchar 40

10 Username Varchar 40

11 Password Varchar 20

Tabel 3.2 Tabel Anggota 3.2.1.3.2. Tabel Jabatan

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_jabatan Int 10 [PK]

2 nama_jabatan Varchar 40

Tabel 3.3 Tabel Bagian 3.2.1.3.3. Tabel Buku

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 kode_buku Varchar 40 [PK]

2 Judul Varchar 200

3 id_penerbit Int 10 FK

4 id_subkat Int 10 FK

5 Kolasi Text

6 Rak Varchar 40

7 Tahun Year 4

8 ISBN Varchar 40

9 harga_buku Double (10,2)


(66)

11 Keterangan Text Tabel 3.4 Tabel Buku 3.2.1.3.4. Tabelcopy_buku

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_copybuku Varchar 10 [PK]

2 kode_buku Varchar 40 [PK]

3 Status enum(‘Ada’,

’Keluar’) Tabel 3.5 Tabelcopy_buku 3.2.1.3.5. Tabel kategori_buku

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_kategori Int 10 [PK]

2 kode_kategori Varchar 40

3 nama_kategori Varchar 40

Tabel 3.6 Tabel kategori_buku 3.2.1.3.6. Tabel sub_kategori

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_subkat Int 10 [PK]

2 id_kategori Int 10 FK

3 kode_sub_kategori Varchar 10

4 nama_sub_kategori Varchar 40

Tabel 3.7 Tabel sub_kategori 3.2.1.3.7. Tabel Peminjaman

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_pinjam Int 10 [PK]

2 id_anggota Int 10 FK

3 id_copybuku Int 10 FK

4 tgl_pinjam Date

5 tgl_kembali Date

6 tgl_jatuhtempo Date

7 Denda Int 10

8 StatusPinjam enum(‘Pinjam’, ’Kembali’) Tabel 3.8 Tabel Peminjaman


(67)

Pada saat dilakukan normalisasi pada tabel ini ternyata terdapat duplikasi dalam data peminjamannya, maka solusi yang diambil adalah tabel peminjaman dibagi menjadi 2 tabel yaitu tabel peminjaman dan tabel detail_peminjam.

3.2.1.3.7.1. Tabel Peminjaman

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_pinjam Int 10 [PK]

2 id_anggota Int 10 FK

3 tgl_pinjam Date

4 tgl_kembali Date

5 tgl_jatuhtempo Date

6 Denda Int 10

7 StatusPinjam enum(‘Pinjam’, ’Kembali’) Tabel 3.9 Tabel Peminjaman 3.2.1.3.7.2. Tabel detail_peminjam

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_detpeminjam Int 10 [PK]

2 id_pinjam Int 10 FK

3 id_copybuku Varchar 10 FK

Tabel 3.10 Tabel detail_peminjam 3.2.1.3.8. Tabel Pengarang

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_pengarang int 10 [PK]

2 nama_pengarang varchar 50

Tabel 3.11 Tabel Pengarang 3.2.1.3.9. Tabel detail_pengarang

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_pengarang Int 10 FK

2 kode_buku Varchar 40 FK


(68)

3.2.1.3.10.Tabel Penerbit

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_penerbit int 10 [PK]

2 nama_penerbit varchar 50

Tabel 3.13 Tabel Penerbit 3.2.1.3.11.Tabel Usulan buku

No Nama Kolom Tipe Data Ukuran Key

(kunci)

1 id_usulan Int 10 [PK]

2 nama_pengusul Varchar 40

3 judul_buku Varchar 100

4 Pengarang Varchar 40

5 Penerbit Varchar 40

6 Keterangan Text

7 Tanggalusul Date

Tabel 3.14 Tabel Usulan buku

3.2.2. Desain User Interface

User interface adalah rancangan sistem yang akan digunakan oleh pengguna.Desain user interface ini dirancang untuk memudahkan pengguna dalam menjalankan sistem ini.


(69)

3.2.2.1. Rancangan Halaman Utama Pengguna

Logo

Sistem Informasi Perpustakaan Yayasan Insan Sembada

Usulan buku Pesan buku

cari ...

Pilih masukan :

Cari Buku Data Buku

Jumlah Judul

No Pengarang Penerbit Rak Keluar Stok

Gambar 3.27Halaman Pengguna 1.

3.2.2.2. Rancangan Halaman Usulan Buku Pengguna


(70)

3.2.2.3. Rancangan Halaman Login

Gambar 3.29HalamanLogin

3.2.2.4. Rancangan Halaman Utama Administrator


(71)

3.2.2.5. Rancangan Halaman Data Anggota


(72)

3.2.2.6. Rancangan Halaman Jabatan

Gambar 3.32Halaman Jabatan

3.2.2.7. Rancangan Halaman SubKategori Buku


(73)

3.2.2.8. Rancangan Halaman Data Buku

2.


(74)

3.2.2.9. Rancangan Halaman Usulan Buku

Gambar 3.35Halaman Usulan Buku

3.2.2.10. Rancangan Halaman Peminjaman Buku


(75)

3.2.2.11. Rancangan Halaman Pengembalian Buku

Gambar 3.37Halaman Pengembalian Buku

3.2.2.12. Rancangan Halaman Laporan Pengembalian Buku


(76)

3.2.2.13. Rancangan Halaman Laporan Data Buku

Gambar 3.39Halaman Laporan Data Buku

3.2.2.14. Rancangan Halaman Penerbit


(77)

3.2.2.15. Rancangan Halaman Pengarang


(78)

55

BAB IV

IMPLEMENTASI SISTEM

Pada bab ini akan dijelaskan lebih lanjut mengenai implementasi dari perancangan “Sistem Informasi Perpustakaan LSM YIS BerbasisWeb” yang telah dibuat pada analisa dan perancangan sistem.

4.1. Karakteristik Sistem

Sistem yang dikembangkan merupakan sistem berbasis web dengan dua tampilan yaitu untuk pengguna dan administrator. Data yang terdapat pada sistem akan disimpan dalam database “yis_perpus”. Dalam tahapan implementasi, sistem akan menggunakan frameworkCodeIgniter yang menggunakan sistemmodel dancontroller,hal ini bertujuan untuk keamanan web, pengerjaan implementasi lebih ringkas bila masing-masing fungsi dikelompokkan sendiri-sendiri, dan dapat berjalan dengan baik padabrowser apapun. Adapun data yang dimasukkan kedalam sistem ini menggunakan contoh data fiktif yang dikumpulkan oleh penulis (kecuali data kategori, dan buku).

4.2. Perangkat Kebutuhan Sistem

4.2.1. Perangkat Keras(hardware)

Spesifikasi perangkat keras yang digunakan adalah:


(79)

Memory2 Gb  Harddisk80 Gb  Ethernet

 Monitor resolusi 1024 x 768  KeyboarddanMouse

4.2.2. Perangkat Lunak(software)

Spesifikasi perangkat lunak yang digunakan adalah:

 Sistem Operasi Microsoft Windows XPservice pack2  Xamp1.8.1

phpMyAdmin3.5.2.2  MySQL5.5

SQLyog7.2

PHP

Netbeans6.9  Mozilla Firefox

4.3. ImplementasiDatabase

Langkah pertama yang harus dilakukan dalam bab ini adalah membuat

database. Software yang digunakan dalam pembuatan database sistem ini adalahSQLyogver7.2.

Dalam sistem ini terdapat 12 tabel yang dibuat sesuai dengan rancangan sistem.Tabel-tabel tersebut adalah sebagai berikut:


(80)

Gambar 4.1Databaseyis_perpus 1. Tabelanggota, dibuat dengansyntax SQL

DROP TABLE IF EXISTS `anggota`;

CREATE TABLE `anggota` (

`id_anggota` int(10) NOT NULL AUTO_INCREMENT, `nama` varchar(100) DEFAULT NULL,

`id_jabatan` int(10) DEFAULT NULL,

`tempat_lahir` varchar(40) DEFAULT NULL, `tgl_lahir` date DEFAULT NULL,

`alamat` varchar(200) DEFAULT NULL, `kelamin` enum('L','P') DEFAULT 'L', `telepon` int(10) DEFAULT NULL,

`bacaan_fav` varchar(40) DEFAULT NULL, `username` varchar(40) DEFAULT NULL, `password` varchar(20) DEFAULT NULL, PRIMARY KEY (`id_anggota`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

2. Tabelbuku, dibuat dengansyntax SQL

CREATE TABLE `buku` (

`kode_buku` varchar(40) NOT NULL, `judul` varchar(200) DEFAULT NULL, `id_penerbit` int(10) DEFAULT NULL,


(81)

`id_subkat` int(10) DEFAULT NULL, `kolasi` text,

`rak` varchar(40) DEFAULT NULL,

`jml_eksemplar` int(10) DEFAULT NULL, `tahun` year(4) DEFAULT NULL,

`ISBN` varchar(40) DEFAULT NULL,

`harga_buku` double(10,2) DEFAULT NULL, `tgl_input` date DEFAULT NULL,

`keterangan` date DEFAULT NULL, PRIMARY KEY (`kode_buku`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

3. Tabelcopy_buku, dibuat dengansyntax SQL

CREATE TABLE `copy_buku` (

`id_copybuku` varchar(40) DEFAULT NULL, `kode_buku` varchar(40) DEFAULT NULL,

`status` enum('Ada','Keluar') DEFAULT 'Ada' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

4. Tabeldetail_peminjam, dibuat dengansyntax SQL

CREATE TABLE `detail_peminjam` (

`id_detpeminjam` int(10) NOT NULL AUTO_INCREMENT, `id_pinjam` int(10) DEFAULT NULL,

`id_copybuku` varchar(40) DEFAULT NULL, ` kode_buku ` varchar(40) DEFAULT NULL, PRIMARY KEY (`id_detpeminjam`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC

5. Tabeldetail_pengarang, dibuat dengansyntax SQL


(82)

`id_pengarang` int(10) NOT NULL, `kode_buku` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

6. Tabeljabatan, dibuat dengansyntax SQL

CREATE TABLE `jabatan` (

`id_jabatan` int(10) NOT NULL AUTO_INCREMENT, `nama_jabatan` varchar(40) DEFAULT NULL, PRIMARY KEY (`id_jabatan`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

7. Tabelkategori_buku, dibuat dengansyntax SQL

CREATE TABLE `kategori_buku` (

`id_kategori` int(10) NOT NULL AUTO_INCREMENT, `kode_kategori` varchar(10) DEFAULT NULL, `nama_kategori` varchar(40) DEFAULT NULL, PRIMARY KEY (`id_kategori`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

8. Tabelpeminjaman, dibuat dengansyntaxSQL

CREATE TABLE `peminjaman` (

`id_pinjam` int(10) NOT NULL AUTO_INCREMENT, `id_anggota` int(10) DEFAULT NULL,

`tgl_pinjam` date DEFAULT NULL, `tgl_jatuhtempo` date DEFAULT NULL, `tgl_kembali` date DEFAULT NULL, `denda` int(10) DEFAULT NULL,

`statuspinjam` enum('pinjam','kembali') DEFAULT 'pinjam',


(83)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

9. Tabelpenerbit, dibuat dengansyntax SQL

CREATE TABLE `penerbit` (

`id_penerbit` int(10) NOT NULL AUTO_INCREMENT, `nama_penerbit` varchar(50) DEFAULT NULL, PRIMARY KEY (`id_penerbit`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

10. Tabelpengarang, dibuat dengansyntax SQL

CREATE TABLE `pengarang` (

`id_pengarang` int(10) NOT NULL AUTO_INCREMENT, `nama_pengarang` varchar(50) DEFAULT NULL, PRIMARY KEY (`id_pengarang`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

11. Tabelsub_kategori, dibuat dengansyntax SQL

CREATE TABLE `sub_kategori` (

`id_subkat` int(10) NOT NULL AUTO_INCREMENT, `id_kategori` int(10) DEFAULT NULL,

`kode_sub_kategori` varchar(10) DEFAULT NULL, `nama_sub_kategori` varchar(20) DEFAULT NULL, PRIMARY KEY (`id_subkat`)

) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1;

12. Tabelusulan_buku, dibuat dengansyntax SQL

CREATE TABLE `usulan_buku` (

`id_usulan` int(10) NOT NULL AUTO_INCREMENT, `nama_pengusul` varchar(40) DEFAULT NULL,


(84)

`judul_buku` varchar(200) DEFAULT NULL, `penerbit` varchar(40) DEFAULT NULL, `pengarang` varchar(50) DEFAULT NULL, `keterangan` text,

`tanggalusul` date DEFAULT NULL, PRIMARY KEY (`id_usulan`)

) ENGINE=MyISAM AUTO_INCREMENT DEFAULT CHARSET=latin1;

4.4. Implementasi Antarmuka

Antarmuka(user interface) merupakan tampilan dari sistem yang nantinya akan berinteraksi langsung dengan pengguna (user).

4.4.1. Halaman Pengguna

4.4.1.1. Halaman Utama Pengguna

Gambar 4.2Halaman Utama Pengguna

Gambar diatas adalah antarmuka halaman utama pengguna yang menampilkan data buku yang telah terekam pada database.Data yang ditampilkan berupa judul buku, sub kategori buku, penerbit, pengarang, letak rak buku, jumlah buku, buku yang keluar, dan stok buku yang ada pada saat itu.Pada halaman ini pengguna juga langsung bisa melakukan pencarian data buku yang diinginkan dengan memasukkan kata kunci


(85)

berdasarkan pilihan pencarian yang telah dipilih. Halaman ini adalah halaman utama pengguna Pada halaman pengguna juga terdapat menu usulan buku.

Misalkan pengguna ingin mencari data buku berdasarkan judul buku, maka pengguna memilih pencarian berdasarkan “Judul Buku”, kemudian mengetikkan kata kunci “Game” maka hasil yang akan muncul adalah sebagai berikut:

Gambar 4.3Halaman Hasil Pencarian Buku

4.4.1.2. Halaman Usulan Buku


(86)

Halaman ini adalah halaman usulan buku pengguna, dimana siapapun pengguna yang mengakses Sistem Informasi ini dapat mengusulkan buku kepada administrator. Didalamnya terdapat formmasukkan seperti nama pengusul, judul buku, penerbit, pengarang dan keterangan mengenai buku yang akan diusulkan.

4.4.1.3. HalamanLogin

Gambar 4.5HalamanLogin

Halamanloginini akan muncul jika pengguna memilih menulogin, fungsi dari halaman ini yaitu untuk login administrator.Administrator harus memasukkan username dan password untuk kemudian di validasi sistem lalu diteruskan kehalaman yang berkaitan dengan administrator. Berikut penggalansyntaxvalidasilogindari sistem

function setFormgetlogin() { $this->load->helper('form'); $xBuff = '';

$xBuff.='<div id="login"><h4>Form Login</h4>';

$xBuff .='<label for="edUser" style="margin-left: 150px;

">User Name</label>' .

form_input('edUser', '', '100 id="edUser"') . '<div class="clear"></div>';

$xBuff .='<label for="edPassword" style="margin-left: 150px;">Password</label>' .


(87)

form_password('edPassword', '', '100

id="edPassword"') . '<div class="clear"></div> ';

$xBuff.= form_button('btLogin', 'login',

'onclick="dologin();" style="margin-left: 250px;

width:150px;"');

$xBuff.=' </div>'; return $xBuff;

}

function dologin() {

$this->load->helper('json'); $edUser = $_POST['edUser'];

$edPassword = $_POST['edPassword']; $this->load->model('modelanggota');

$rowuser = $this->modelanggota->getDataLogin($edUser, $edPassword);

$this->json_data['data'] = false; if (!empty($rowuser)) {

$this->session->set_userdata('user', $rowuser->username); $this->session->set_userdata('idpegawai', $rowuser->id_anggota); $this->session->set_userdata('nama', $rowuser->nama);

$this->json_data['data'] = true; if($rowuser->id_anggota != 1){

$this->json_data['location'] = site_url() .

"/pemesananuser/"; }else

$this->json_data['location'] = site_url() .

"/home/"; }

echo json_encode($this->json_data); }


(88)

function getDataLogin($xUser, $xPassword) {

$xStr = "SELECT * FROM anggota WHERE username = '" .

addslashes($xUser) . "' and password = '" .addslashes($xPassword) . "'";

$query = $this->db->query($xStr); $row = $query->row();

return $row; }

Listing Program 4.2 Modelhome.php

function dologin(){ $(document).ready(function(){ $.ajax({ url: getBaseURL()+"index.php/home/dologin/", data: "edUser="+$("#edUser").val()+"&edPassword="+$("#edPassword"). val(), cache: false, dataType: 'json', type: 'POST', success: function(json){

// alert( json.location);

if(json.data){

document.location = json.location; }else

{

alert("Login Anda Salah Silahkan di ulangi"); }

},

error: function (xmlHttpRequest, textStatus, errorThrown) { start = xmlHttpRequest.responseText.search("<title>") + 7; end = xmlHttpRequest.responseText.search("</title>");

errorMsg = " ";


(89)

alert("Rangerti "+errorMsg +xmlHttpRequest.responseText+ " [" + xmlHttpRequest.responseText.substring(start, end) + "]");

else

alert("Error juga "+errorMsg+xmlHttpRequest.responseText); }

}); }); }

Listing Program 4.3 Ajax home.js

4.4.2. Halaman Administrator

4.4.2.1. Halaman Utama Administrator

Gambar 4.6Halaman Utama Administrator

Gambar diatas ini adalah halaman utama administrator yang akan muncul setelahloginsebagai administrator. Pada halaman ini terdapat 3 menu utama yaitu Kelola Anggota, Kelola Buku, dan Logout.Pada menu Kelola Anggota terdapat 2 Sub Menu yaitu Setting Jabatan dan

Setting Anggota. Didalam menu Kelola Buku terdapat 6 Sub Menu yaitu Sirkulasi Buku, Setting Buku, Cetak Peminjaman Buku, Cetak data buku,Setting Subkategori buku, dan Data usulan buku. Sedangkan


(90)

menu Logout berfungsi keluar dari halaman administrator menju halaman utama pengguna

4.4.2.2. HalamanSettingJabatan

Gambar 4.7HalamanSettingJabatan

Halaman ini adalah SubMenu dari Kelola Anggota. Pada tampilan menu, admin sudah bisa melihat jabatan apa saja yang sudah dimasukkan pada database. Pada halaman ini administrator dapat melakukan beberapa aksi pada halaman ini yaitu, menyimpan data jabatan baru, mengubah data jabatan, dan menghapus data jabatan.Berikut adalah penggalan syntax untuk menampilkan data jabatanyang telah terekam.

function getListJabatan($xstart, $search) { $xend = 30;

$this->load->model('modeljabatan'); $this->load->helper('table');

$this->load->helper('form'); $no = 1;


(91)

$xquery = $this->modeljabatan->getListjabatan($xstart, $xend, $search);

$xbuf = tbaddrow(tbaddcell('No', 'padding:10px;

width:15%', '') .

tbaddcell('Nama Jabatan', 'padding:10px; width:70%', '') .

tbaddcell('Edit / Hapus', 'padding:10px; width:5%', ''), '',

true);

foreach ($xquery->result()as $row) {

$btnedit = '<img src="' . base_url() .

'resource/css/images/edit.jpg" alt="Edit Data" onclick =

"doeditjabatan(\'' . $row->id_jabatan . '\');"

style="border:none;width:20px; cursor:pointer;"/>';

$xbtndelete = '<img src="' . base_url() .

'resource/css/images/delete.png" alt="Hapus Data" onclick =

"dodeletejabatan(\'' . $row->id_jabatan . '\',\'' .

substr($row->nama_jabatan, 0, 20) . '\');"

style="border:none;width:20px;cursor:pointer;">'; $xbuf.=tbaddrow(tbaddcell($no++) . tbaddcell($row->nama_jabatan) .

tbaddcell($btnedit . ' / ' . $xbtndelete)); }

$xbuf .= tbaddrow(tbaddcell( ' ' , '', 'width=10%

height=35% colspan=2') .

tbaddcell('&nbsp&nbsp', '', 'width=50% height=35% colspan

=1'), '', TRUE);

$xbuf = tablegrid($xbuf);

return '<div id="tabledata" name ="tabledata" class="tc1"

style="width:100%;left:-25px;">' . $xbuf . '</div>'; }

Listing Program 4.4 Controller SettingJabatan.php

function getListjabatan($xAwal, $xLimit, $xSearch = '') { if (!empty($xSearch)) {


(92)

$xSearch = "Where nama_jabatan like '%" . $xSearch

. "%'";

}

$xStr = "SELECT * FROM jabatan $xSearch order by

id_jabatan DESC limit " . $xAwal . "," . $xLimit; $query = $this->db->query($xStr);

return $query; }

Listing Program 4.5 ModelJabatan.php

4.4.2.3. HalamanSettingAnggota

Gambar 4.8Halaman Setting Anggota

Halaman ini adalah SubMenu dari Kelola Anggota.Pada tampilan menu, admin sudah bisa melihat siapa saja anggota yang sudah terekam pada database.Pada halaman ini administrator dapat melakukan beberapa aksi pada halaman ini yaitu, menyimpan data anggota baru,


(93)

mengubah data anggota, menghapus data anggota dan mencari anggota berdasarkan namanya. Berikut adalah penggalan syntax untuk menyimpan data anggota beserta hasilnya

function setFormAnggota() {

$this->load->helper('form');

$this->load->model('modeljabatan'); $xBuff = '';

$xBuff.='<div id="primary" style="width:977px;

margin:0px; "><h3 style=" text-align: left; color: #993300;

margin-left:20px;">Tambah Anggota</h3><div

class="clear"></div>';

$xBuff .= '<input type="hidden" name="id_anggota"

id="id_anggota" value="0" /></input>';

$xBuff.='<label for="ednamaanggota" style="margin-left:

30px; padding-right:50px; color: #993300;

font-size:14px;">Nama Anggota</label>' . form_input('ednamaanggota',

'', ' id="ednamaanggota" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="jns_kelamin" style="margin-left:

30px;padding-right:38px; color: #993300;

font-size:14px;">Jenis Kelamin</label>' .

form_dropdown('jns_kelamin', $this->getJenisKelamin(), '',

'id="jns_kelamin" style="width:160px; margin-left:20px;" ') .

'<div class="clear"></div>';

$xBuff.='<label for="tmpt_lhr" style="margin-left:

30px; padding-right:59px; color: #993300;

font-size:14px;">Tempat Lahir</label>' . form_input('tmpt_lhr', '',

' id="tmpt_lhr" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="tgl_lahir" style="margin-left:


(94)

font-size:14px;">Tanggal Lahir</label>' . form_input('tgl_lahir',

'', ' id="tgl_lahir" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="ednamajabatan" style="margin-left:

30px;padding-right:72px; color: #993300;

font-size:14px;">jabatan </label>' . form_dropdown('ednamajabatan',

$this->modeljabatan->getArrayjabatan(), '', 'id="ednamajabatan"

style="width:160px; margin-left:20px;" ') . '<div

class="clear"></div>';

$xBuff.='<label for="tlp" style="margin-left: 30px;

padding-right:89px; color: #993300;

font-size:14px;">Telepon</label>' . form_input('telepon', '', '

id="tlp" style="width:200px;"') . '<div class="clear"></div>';

$xBuff.='<label for="alamat" style="margin-left:

30px;padding-right:94px; color: #993300;

font-size:14px;">Alamat</label>' . form_input('alamat', '', '

id="alamat" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="bacaan" style="margin-left:

30px;padding-right:50px; color: #993300;

font-size:14px;">Bacaan Favorit</label>' . form_input('bacaan', '',

' id="bacaan" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="username" style="margin-left:

30px;padding-right:78px; color: #993300;

font-size:14px;">Username</label>' . form_input('username', '', '

id="username" style="width:200px;"') . '<div

class="clear"></div>';

$xBuff.='<label for="password" style="margin-left:

30px;padding-right:78px; color: #993300;


(95)

id="password" style="width:200px;"') . '<div class="clear"></div>';

$xBuff.= form_button('btnsimpan', 'Simpan',

'onclick="dosave();" style="margin-left: 25px;

width:150px;cursor:pointer;"') . form_button('btnbaru', 'Baru',

'onclick="doclear();" style="margin-left: 25px;

width:150px;cursor:pointer;"'); $xBuff.='<div class="clear"></div>'; $xBuff.=$this->getListAnggota(0, ''); $xBuff.='</div>'; return $xBuff; }

function save() {

$this->load->model('modelanggota'); $this->load->model('modeluser'); $this->load->model('modeljabatan'); $this->load->helper('json');

$idanggota = $this->session->userdata('idpegawai'); if (!empty($_POST['id_anggota'])) {

$xidanggota = $_POST['id_anggota']; } else {

$xidanggota = '0'; }

if (!empty($idanggota)) {

$ednamaanggota = $_POST['ednamaanggota']; $jns_kelamin = $_POST['jns_kelamin']; $tmpt_lhr = $_POST['tmpt_lhr'];

$tgl_lahir = $_POST['tgl_lahir'];

$ednamajabatan = $_POST['ednamajabatan']; $tlp = $_POST['tlp'];

$alamat = $_POST['alamat']; $bacaanfav = $_POST['bacaan']; $username = $_POST['username']; $password = $_POST['password'];


(96)

if

(!empty($_POST['ednamaanggota'])&&!empty($_POST['tmpt_lhr'])&&! empty($_POST['tlp'])&&!empty($_POST['alamat'])&&!empty($_POST[' username'])&&!empty($_POST['password'])) {

if ($xidanggota != 0) {

$this->json_data['data'] = true;

$this->modelanggota->setUpdateAnggota($xidanggota, $ednamaanggota, $ednamajabatan,

$tmpt_lhr, $tgl_lahir, $alamat, $jns_kelamin, $tlp, $bacaanfav, $username, $password);

} else {

$this->json_data['data'] = true;

$this->modelanggota->setInsertanggota($xidanggota, $ednamaanggota, $jns_kelamin,

$tmpt_lhr, $tgl_lahir, $ednamajabatan, $tlp, $alamat,

$bacaanfav, $username, $password);

$lastidanggota = @

$this->modelanggota->getLastanggota()->id_anggota; if ($ednamajabatan != 1) {

$this->modeluser->setInsertUser('', '9', $lastidanggota);

} } }else{

$this->json_data['data'] = false; }

}

echo json_encode($this->json_data); }

Listing Program 4.6 Controller anggota.php

function setInsertAnggota($id_anggota, $nama, $id_bagian,

$Tempat_lahir, $Tgl_lahir, $Alamat, $kelamin, $telepon,

$bacaan_fav, $username, $password) { $xStr = "Insert into anggota( " .

"id_anggota," . "nama," .


(97)

"Tempat_lahir," . "Tgl_lahir," . "id_bagian," . "telepon," . "alamat," . "bacaan_fav," . "username," .

"password ) values('" . $id_anggota . "', '" . $nama . "', '" . $id_bagian . "', '" . $Tempat_lahir . "', '" .

$Tgl_lahir . "', '" . $Alamat . "','" . $kelamin . "','" .

$telepon . "','" . $bacaan_fav . "','" . $username . "','" . $password . "')";

$query = $this->db->query($xStr); return $id_anggota;

}

Listing Program 4.7 Model anggota.php

function dosave(){ $(document).ready(function(){ // alert("&id_subkat="+$("#id_subkat").val()); $.ajax({ url: getBaseURL()+"index.php/anggota/save/", data: "id_anggota="+$("#id_anggota"). val()+"&ednamaanggota="+$("#ednamaanggota"). val()+"&jns_kelamin="+$("#jns_kelamin"). val()+"&tmpt_lhr="+$("#tmpt_lhr"). val()+"&tgl_lahir="+$("#tgl_lahir"). val()+"&id_bagian="+$("#id_bagian"). val()+"&ednamajabatan="+$("#ednamajabatan"). val()+"&tlp="+$("#tlp"). val()+"&alamat="+$("#alamat"). val()+"&bacaan="+$("#bacaan"). val()+"&username="+$("#username"). val()+"&password="+$("#password"). val(), cache: false, dataType: 'json',


(98)

type: 'POST',

success: function(json){ if(json.data){

dosearchanggota('-99');

alert("Data berhasil di Simpan"); doclear();

}else{

alert("Data belum Terisi Semua"); }

},

error: function (xmlHttpRequest, textStatus, errorThrown) { start = xmlHttpRequest.responseText.search("<title>") + 7; end = xmlHttpRequest.responseText.search("</title>");

errorMsg = " ";

if (start > 0 && end > 0)

alert("Rangerti "+errorMsg +xmlHttpRequest.responseText+ " [" +

xmlHttpRequest.responseText.substring(start, end) + "]"); else

alert("Error juga "+errorMsg+xmlHttpRequest.responseText); }

}); }); }


(99)

Gambar 4.9Halaman Peringatan Simpan Anggota

4.4.2.4. HalamanSettingBuku

Gambar 4.10HalamanSettingBuku

Halaman ini adalah SubMenu dari Kelola Buku. Pada tampilan menu ini, admin sudah bisa melihat buku apa saja yang telah terekam


(100)

pada database. Pada halaman ini administrator dapat melakukan beberapa aksi pada halaman ini yaitu, menyimpan data buku baru, mengubah data buku, dan mencari buku berdasarkan judul buku. Berikut adalah penggalan syntax untuk mengubah data buku beserta hasilnya

function doeditbuku() {

$xIdEdit = $_POST['edkodebuku']; $this->load->model('modelbuku'); $this->load->model('modelpenerbit'); $this->load->model('modelsub_kategori'); $this->load->model('modeldetail_pengarang'); $this->load->model('modelpengarang');

$xrow =

$this->modeldetail_pengarang->getDetailbykode_buku($xIdEdit);

$row =

$this->modelbuku->getDetailbyKodebuku($xIdEdit);

$this->load->helper('json');

$this->json_data['judul'] = $row->judul;

$this->json_data['kode_buku'] = $row->kode_buku;

$this->json_data['id_penerbit'] =

$row->id_penerbit;

$this->json_data['nama_penerbit'] =

@$this- >modelpenerbit->getDetailbyIdpenerbit($row->id_penerbit)->nama_penerbit;

$this->json_data['id_subkat'] = $row->id_subkat;

$this->json_data['nama_subkat'] =

@$this- >modelsub_kategori->getDetailbyidb_kategori($row->id_subkat)->nama_sub_kategori;

$this->json_data['kolasi'] = $row->kolasi; $this->json_data['rak'] = $row->rak;

$this->json_data['jml_eksemplar'] =


(101)

$this->json_data['ISBN'] = $row->ISBN; $this->json_data['tahun'] = $row->tahun;

$this->json_data['harga_buku'] =

$row->harga_buku;

$this->json_data['keterangan'] =

$row->keterangan;

$this->json_data['id_pengarang'] =

$xrow->id_pengarang;

$xidpengrang =

@$this->modeldetail_pengarang->getDetailbykode_buku($row->kode_buku)->id_pengarang;

$this->json_data['nama_pengarang'] =

@$this- >modelpengarang->getDetailbyIdpengarang($xidpengrang)->nama_pengarang;

$xidpengrang =

@$this->modeldetail_pengarang- >getDetailbykode_bukupengarang2($row->kode_buku)->id_pengarang;

$this->json_data['nama_pengarang2'] =

@$this- >modelpengarang->getDetailbyIdpengarang($xidpengrang)->nama_pengarang;

echo json_encode($this->json_data); }

Listing Program 4.9 Controller settingbuku.php

function setUpdatebuku( $kode_buku, $judul, $id_penerbit,

$id_subkat, $kolasi, $rak, $jml_eksemplar, $tahun, $ISBN,

$harga_buku, $tgl_input, $keterangan) { $xStr = " UPDATE buku SET " .

"kode_buku='" . $kode_buku . "'," . "judul='" . $judul . "'," .

"id_penerbit='" . $id_penerbit . "'," . "id_subkat='" . $id_subkat . "'," . "kolasi='" . $kolasi . "'," .

"rak='" . $rak . "'," .

"jml_eksemplar='" . $jml_eksemplar . "'," . "tahun='" . $tahun . "'," .


(102)

"harga_buku='" . $harga_buku . "'," . "tgl_input='" . $tgl_input ."'," .

"keterangan='" . $keterangan . "'WHERE kode_buku = '" . $kode_buku . "'";

$query = $this->db->query($xStr); return $kode_buku;

}

Listing Program 4.10 Model buku.php

function doeditbuku(edkodebuku){ $(document).ready(function(){ // alert("id_buku="+id_buku); $.ajax({ url: getBaseURL()+"index.php/settingbuku/doeditbuku/", data: "edkodebuku="+edkodebuku, cache: false, dataType: 'json', type: 'POST', success: function(json){ // $("#id_buku").val(json.id_buku); $("#id_penerbit").val(json.id_penerbit); $("#id_subkat").val(json.id_subkat); $("#id_pengarang").val(json.id_pengarang); $("#ednamabuku").val(json.judul); $("#ednamapenerbit").val(json.nama_penerbit); $("#edkodebuku").val(json.kode_buku); $("#ednamakategori").val(json.nama_subkat); $("#edkolasi").val(json.kolasi); $("#edrak").val(json.rak); $("#edjmleksp").val(json.jml_eksemplar); $("#edtahun").val(json.tahun); $("#edisbn").val(json.ISBN); $("#edharga").val(json.harga_buku); $("#ednamapengarang").val(json.nama_pengarang); $("#ednamapengarang_2").val(json.nama_pengarang2);


(103)

$("#edketerangan").val(json.keterangan);

},

error: function (xmlHttpRequest, textStatus, errorThrown) { start = xmlHttpRequest.responseText.search("<title>") + 7; end = xmlHttpRequest.responseText.search("</title>"); errorMsg = "Ga bisa update "+xmlHttpRequest.responseText;

if (start > 0 && end > 0) alert("On Edit "+errorMsg + "

[" + xmlHttpRequest.responseText.substring(start, end) +

"]"); else

alert("Error "+errorMsg);

} }); }); }

Listing Program 4.11 Ajaxsettingbuku.js

Gambar 4.11Halaman Peringatan BerhasilUpdateBuku 4.4.2.5. Halaman Penerbit


(104)

Gambar 4.12Halaman Penerbit

Halaman ini adalah bagian dari halaman setting buku.Halaman ini muncul jika tombol “+” pada masukkan data penerbit ditekan.Pada tampilan halaman ini, admin telah bisa melihat siapa saja penerbit yang telah terekam pada database.Pada halaman ini administrator dapat melakukan beberapa aksi yaitu, menyimpan data penerbit baru, mengubah data penerbit, menghapus data penerbit dan mencari penerbit berdasarkan namanya.Mekanisme alur syntax pada penerbit sama halnya sepertisyntaxyang sudah dicantumkan.


(105)

Gambar 4.13Halaman Pengarang

Halaman ini adalah bagian dari halaman setting buku.Halaman ini muncul jika tombol “+” pada masukkan data pengarang ditekan.Pada tampilan halaman ini, admin sudah bisa melihat siapa saja pengarang yang telah terekam padadatabase.Pada halaman ini administrator dapat melakukan beberapa aksi yaitu, menyimpan data pengarang baru, mengubah data pengarang, menghapus data pengarang dan mencari pengarang berdasarkan namanya. Mekanisme alur syntax pada pengarang sama halnya sepertisyntaxyang sudah dicantumkan.


(106)

Gambar 4.14Halaman Sub Kategori Buku

Halaman ini adalah SubMenu dari Kelola Buku.Pada tampilan halaman ini, admin sudah bisa melihat data subkategori yang telah terekam pada database. Pada halaman ini administrator dapat melakukan beberapa aksi yaitu, menyimpan data subkategori buku, mengubah data subkategori buku, menghapus subkategori buku dan mencari subkategori buku berdasarkan nama subkategori. Berikut adalah penggalan syntax untuk mencari datasubkategori buku beserta hasilnya

function searchsubkategori() { $xstart = $_POST['xstart']; $xSearch = $_POST['xSearch']; $this->load->helper('json'); if (($xstart + 0) == -99) {

$xstart = $this->session->userdata('awal',


(107)

}

if ($xstart + 0 <= -1) { $xstart = 0;

$this->session->set_userdata('awal', $xstart); } else {

$this->session->set_userdata('awal', $xstart); }

$this->json_data['tabledata'] =

$this->getListkategori($xstart, $xSearch); echo json_encode($this->json_data);

}

Listing Program 4.12 Controller settingsubkategori.php

function getListsub_kategori($xAwal, $xLimit, $xSearch = '') {

if (!empty($xSearch)) {

$xSearch = "Where nama_sub_kategori like '%" .

$xSearch . "%'"; }

$xStr = "SELECT * FROM sub_kategori $xSearch order by id_subkat DESC limit " . $xAwal . "," . $xLimit;

$query = $this->db->query($xStr); return $query;

}

Listing Program 4.13 Model settingsubkategori.php

function dosearchsubkategori(xstart){ xSearch ="";

try {

if ($("#edSearch").val()!=""){ xSearch = $("#edSearch").val();} }catch(err){

xSearch ="";}

if (typeof(xSearch) =="undefined"){ xSearch ="";}


(108)

$(document).ready(function(){ $.ajax({

url:

getBaseURL()+"index.php/settingsubkategori/searchsubkategori/" ,

data: "xstart="+xstart+"&xSearch="+xSearch, cache: false,

dataType: 'json', type: 'POST',

success: function(json){

$("#tabledata").html(json.tabledata); },

error: function (xmlHttpRequest, textStatus, errorThrown) { start = xmlHttpRequest.responseText.search("<title>") + 7;

end = xmlHttpRequest.responseText.search("</title>");

errorMsg = " error on search jadwal

"+xmlHttpRequest.responseText; if (start > 0 && end > 0)

alert("Rangerti "+errorMsg + " [" +

xmlHttpRequest.responseText.substring(start, end) + "]"); else

alert("Error juga"+errorMsg); }

});});}

Listing Program 4.14 Ajaxsubkategori.js


(109)

4.4.2.8. Halaman Data Usulan Buku

Gambar 4.16Halaman Data Usulan Buku

Halaman ini adalah SubMenu dari Kelola Buku.Pada tampilan halaman ini, admin sudah bisa melihat data pengusul buku yang telahmengusulkan buku pada halaman

pemesanan

buku.Pada halaman ini administrator hanya dapat menghapus data usulan buku.


(110)

Gambar 4.17Halaman Data Sirkulasi Buku

Halaman ini adalah SubMenu dari Kelola Buku.Pada tampilan halaman ini, admin sudah bisa melihat data pengguna yang telah meminjam buku. Pada halaman ini administrator dapat melakukan beberapa aksi yaitu, menambah data peminjam buku, dan mencari peminjam buku berdasarkan nama peminjam. Mekanisme alur syntax penambahan dan melihat data sama halnya seperti syntax yang sudah dicantumkan.

4.4.2.10. Halaman Pengembalian Buku

Gambar 4.18Halaman Pengembalian Buku

Halaman ini adalah bagian dari halaman sirkulasi buku.Halaman ini muncul jika tombol pengembalian ditekan. Pada tampilan halaman ini, admin memasukkan nama anggota yang akan mengembalikan buku, kemudian setelah dimasukkan, maka secara otomatis akan muncul data yang berisi data peminjaman buku anggota tersebut. Pada halaman ini administrator hanya dapat mengubah data pinjam menjadi kembali pada


(111)

anggota yangakan mengembalikan buku.Berikut adalah penggalan syntaxuntuk pengembalian buku beserta hasilnya

function dokembali() {

$xIdkembali = $_POST['idanggota_']; $this->load->model('modelcopy_buku'); $this->load->model('modeldetailpinjam'); $this->load->model('modelpeminjaman'); $this->load->helper('json');

$tgl = date('Y-m-d'); $status = 'Ada';

$statuspinjam = 'kembali'; $xidpinjam = '';

$xquery =

$this->modeldetailpinjam->getListdetailpengembalian(0, 10, $xIdkembali); foreach ($xquery->result()as $row) {

$xidpinjam = $row->id_pinjam;

$this->modelcopy_buku->setUpdateDetailcopybukustatuskembali($row->id_copybuku,

$row->kode_buku, $status); }

$xtgljatuhtempo =

@$this->modelpeminjaman->getDetailbyId_pinjam($row->id_pinjam)->tgl_jatuhtempo;

$xjmlbuku=@$this->modeldetailpinjam->countpinjam($xidpinjam)->TotalPinjam;

if ($xtgljatuhtempo <= $tgl) {

$xtgltempo=explode("-", $xtgljatuhtempo); $xday=date('d');

$xselish=$xday-$xtgltempo[2]; $xjmdenda=$xjmlbuku*500*$xselish;

$this->json_data['data']='Anda Mendapat Denda Rp.

'.$xjmdenda; }else{

$this->json_data['data']='Anda Tidak Mendapat Denda Rp. 0';


(112)

}

$this->modelpeminjaman->setUpdatepinjam($xidpinjam, $tgl, $statuspinjam);

echo json_encode($this->json_data); }

Listing Program 4.15Controller peminjaman.php

function setUpdatepinjam($id_pinjam, $tgl, $status) { $xStr = " UPDATE peminjaman SET " .

"tgl_kembali='" . $tgl . "'," . "statuspinjam='" . $status . "'" . " WHERE id_pinjam = '" . $id_pinjam . "' ";

$query = $this->db->query($xStr); return $id_pinjam;

}

Listing Program 4.16Model peminjaman.php

function setUpdateDetailcopybukustatuskembali($id_copybuku,

$id_buku, $status){

$xStr= "update yis_perpus.copy_buku set ". "status = '".$status."'".

" where id_copybuku = '".$id_copybuku."' and id_buku = '".$id_buku."'";

$query = $this->db->query($xStr); return $id_copybuku;}

Listing Program 4.17Model copy_buku.php

function dokembali(id_pinjam, copybuku, buku){ $(document).ready(function(){ $.ajax({ url: getBaseURL()+"index.php/peminjaman/dokembali/", data: "id_pinjam="+id_pinjam +"&id_copybuku="+copybuku+"&id_buku="+buku, cache: false, dataType: 'json', type: 'POST', success: function(json){ alert("Buku Sudah kembali");


(113)

dosearchdatapengembalian('-99'); },

error: function (xmlHttpRequest, textStatus, errorThrown) { start = xmlHttpRequest.responseText.search("<title>") + 7; end = xmlHttpRequest.responseText.search("</title>");

errorMsg = "Pengembalian Error "+xmlHttpRequest.responseText;

if (start > 0 && end > 0) alert("On Edit "+errorMsg + " [" +

xmlHttpRequest.responseText.substring(start, end) + "]"); else

alert("Error juga "+errorMsg); }

}); }); }

Listing Program 4.18Ajaxpeminjaman.js

Gambar 4.19Halaman Hasil Pengembalian Buku


(114)

Gambar 4.20Halaman Cetak Data Peminjam Buku

Halaman ini adalah SubMenu dari Kelola Buku dan merupakan outputdari sirkulasi buku yang nantinya akan berupa laporan berformat Excel. Laporan ini berupa rekap data anggota yang belum mengembalikan buku dari seluruh bulan.Berikut adalah penggalan syntaxuntuk mencetak data peminjaman beserta hasilnya

function exportkeexcel($search) { if($search==0){

$search=''; }

$xbufresult = header("Content-type:

application/octet-stream") . "\n" .

header("Content-Disposition: attachment; filename=databuku.xls")

. "\n" .

header("Pragma: no-cache") . "\n" . header("Expires: 0");

$xbufresult .= $this->getListBukuKembali('0',$search); echo $xbufresult;

}

Listing Program 4.19Controller SearchPeminjaman.php

function showxls(){


(115)

document.location =

getBaseURL()+"index.php/searchpeminjaman/exportkeexcel/"+$("#edm ount").val();

}); }

Listing Program 4.20AjaxSettingPeminjaman.js

Gambar 4.21Laporan Cetak Data Peminjaman Buku

4.4.2.12. Halaman Cetak Data Buku


(116)

Halaman ini adalah SubMenu dari Kelola Buku dan merupakan output dari setting buku yang nantinya akan berupa laporan berformat lembar kerja (spreadsheet). Laporan ini berupa rekap data buku dari seluruh bulan.Mekanisme alur syntax cetak data buku sama halnya sepertisyntaxyang sudah dicantumkan.


(117)

94

BAB V

ANALISA IMPLEMENTASI SISTEM

Bab ini berisi tentang analisa hasil pembangunan sistem yang meliputi kelebihan dan kekurangan sistem serta analisa hasil uji coba sistem terhadap pengguna.

5.1. Analisa Hasil Perangkat Lunak

Sistem Informasi PerpustakaanBerbasis Web yang telah dibangun ini secara umum telah berfungsi dengan baik. Sistem yang telah melalui tahap implementasi inikemudian diujicobakan pada beberapa pengguna dan Administrator yang berada di LSM YIS.

5.1.1. Analisa terhadap pengguna

Pada pengujian ini terdapat 2 poin utama yang dinilai, yaitu hal mengenai tampilan dan hal mengenai fungsi-fungsi yang terdapat pada sistem.Pengujian sistem ini melibatkan 10 orang pengguna yang berada di LSM.Evaluasi terhadap sistem dilakukan dengan cara mengisi kuisioner setelah melakukan ujicoba pada sistem. Kuisioner ini bertujuan agar penulis mengetahui apakah terdapat kesulitan pada saat menggunakan sistem ini dan apakah fungsi-fungsi dalam sistem ini membantu pengguna.


(118)

5.1.1.1. Hasil dan Pembahasan

Setelah melakukan ujicoba dan pengisian kuisioner oleh para pengguna, maka penilaian terhadap sistem mendapatkan gambaran hasil sebagai berikut:

 Tampilan antarmuka pengguna

o Tampilan antarmuka pada Sistem Informasi mudah dimengerti Frekuensi Total (%)

Sangat setuju 2 20 %

Setuju 7 70%

Tidak setuju 1 10%

Sangat tidak setuju 0 0 %

Tabel 4.1 Tabel persentase tampilan antarmuka pada Sistem Informasi mudah dimengerti

Kesimpulan : Pengguna setuju dengan tampilan

antarmuka yang ada.

o Tampilan antarmuka pada Sistem Informasi tersusun rapi dan menarik

Frekuensi Total (%)

Sangat setuju 1 10 %

Setuju 5 50%

Tidak setuju 4 40 %

Sangat tidak setuju 0 0 %

Tabel 4.2 Tabel persentase tampilan antarmuka pada Sistem Informasi tersusun rapi dan menarik


(119)

Kesimpulan : Pengguna setuju dengan tampilan antarmuka, dan tidak sedikit pula yang tidak setujumenilai tampilan.

o Instruksi atau petunjuk pada Sistem Informasi terbaca dengan baik

Frekuensi Total (%)

Sangat setuju 3 30 %

Setuju 4 40%

Tidak setuju 3 30 %

Sangat tidak setuju 0 0 %

Tabel 4.3 Tabel presentase instruksi atau petunjuk pada Sistem Informasi terbaca dengan baik

Kesimpulan : Kebanyakan pengguna setuju jika

informasi yang ditampilkan sistem terbaca dengan baik.

o Fitur-fitur pada Sistem Informasi berfungsi dengan baik Frekuensi Total (%)

Sangat setuju 3 30 %

Setuju 4 40%

Tidak setuju 3 30 %

Sangat tidak setuju 0 0 %

Tabel 4.4 Tabel persentase fitur-fitur pada Sistem Informasi berfungsi dengan baik

Kesimpulan : Kebanyakan pengguna setuju jika fitur yang ditampilkan sistem berfungsi dengan baik.


(120)

 Fungsi pada sistem

o Fungsi menu pada Sistem Informasi ini berjalan dengan baik Frekuensi Total (%)

Sangat setuju 2 20 %

Setuju 7 70%

Tidak setuju 1 10 %

Sangat tidak setuju 0 0 %

Tabel 4.5 Tabel persentase fungsi menu pada Sistem Informasi ini berjalan dengan baik

Kesimpulan : Kebanyakan pengguna setuju jika fungsi menu yang ada berjalan dengan baik.

o Sistem Informasi ini mempermudah Anda mencari buku yang dikehendaki

Frekuensi Total (%)

Sangat setuju 1 10 %

Setuju 8 80%

Tidak setuju 1 10 %

Sangat tidak setuju 0 0 %

Tabel 4.6 Tabel persentase Sistem Informasi ini mempermudah Anda mencari buku yang dikehendaki

Kesimpulan : Pengguna setuju jika Sistem ini


(121)

o Sistem Informasi ini memberikan keterangan lengkap tentang buku yang dikehendaki

Frekuensi Total (%)

Sangat setuju 0 0 %

Setuju 5 50%

Tidak setuju 5 50 %

Sangat tidak setuju 0 0 %

Tabel 4.7 Tabel persentase Sistem Informasi ini memberikan keterangan lengkap tentang buku yang dikehendaki

Kesimpulan :Hasil berimbang antara pengguna yang setuju dan tidak setujuakan informasi yang diberikan menunjukkan bahwa masih ada beberapa hal yang harus diperbaiki lagi mengenai hal ini.

 Anda terbantu dengan adanya Sistem Informasi

Frekuensi Total (%)

Sangat setuju 1 10 %

Setuju 8 80%

Tidak setuju 1 10 %

Sangat tidak setuju 0 0 %

Tabel 4.8 Tabel persentase Sistem Informasi ini membantu pengguna

Kesimpulan : Kebanyakan pengguna setuju jika

dibuatnya sistem ini membantu pengguna dalam layanan perpustakaan.


(122)

5.1.2. Analisa terhadap administrator

Pada pengujian ini juga terdapat 2 poin utama yang dinilai, yaitu hal mengenai tampilan dan hal mengenai fungsi-fungsi yang terdapat pada sistem.Pengujian sistem ini melibatkan 1 orang administrator yang memang mempunyai kewenangan penuh sebagai administrator perpustakaan YIS. Evaluasi terhadap sistem dilakukan dengan cara mengisi kuisioner setelah melakukan ujicoba pada sistem. Kuisioner ini bertujuan agar penulis mengetahui apakah terdapat kesulitan pada saat menggunakan sistem ini dan apakah fungsi-fungsi dalam sistem ini membantu administrator.

5.1.2.1. Hasil dan Pembahasan

Setelah melakukan ujicoba dan pengisian kuisioner oleh administrator, maka penilaian terhadap sistem mendapatkan gambaran hasil sebagai berikut:

No Daftar pertanyaan Jawaban

1 Tampilan antarmuka pada Sistem Informasi ini mudah dimengerti

Setuju

2 Tampilan antarmuka pada Sistem Informasi ini tersusun rapi dan menarik

Setuju

3 Instruksi atau petunjuk pada Sistem Informasi ini terbaca dengan baik

Setuju

4 Fitur-fitur pada Sistem Informasi ini berfungsi dengan baik Setuju 5 Fungsi menu pada Sistem Informasi ini berjalan dengan baik Setuju


(123)

6 Sistem Informasi ini mempermudah Anda

mengolah(menambah, mengubah, lihat, dan mencari) data buku yang dikehendaki

Setuju

7 Sistem Informasi ini mempermudah Anda

mengolah(menambah, mengubah, lihat mencari) data anggota yang dikehendaki

Setuju

8 Sistem Informasi ini membantu anda dalam kegiatan sirkulasi buku

Setuju

9 Sistem Informasi ini memberikan keterangan lengkap tentang data yang dikehendaki

Setuju

10 Anda terbantu dengan adanya Sistem Informasi ini Setuju Tabel 4.9 Tabel hasil kuisioner administrator

5.2. Kelebihan dan Kekurangan Sistem

Aplikasi sistem informasi ini telah dibangun dan diujicobakan kepada pengguna dan administrator dilingkungan LSM YIS.Bagaimanapun juga pasti terdapat kelebihan dan kekurangan baik dalam sisi tampilan maupun fungsi yang disajikan.Adapun kelebihan dan kekurangan sistem informasi ini adalah sebagai berikut.

5.2.1. Kelebihan Sistem

a. Tampilan antarmuka sistem ini dari sisi pengguna dan administrator tidaklah terlalu rumit dan mudah untuk dimengerti.


(124)

b. Fungsi-fungsi yang disajikan cukup memadai dibandingkan dengan sistem sebelumnya.

c. Sistem informasi ini terhubung dengan jaringan intranet kantor LSM YIS.

d. Membantu kinerja administrator dalam hal pembuatan laporan yang berkaitan dengan data buku dan sirkulasi.

e. Adanya sistem denda untuk mengatasi keterlambatan pengembalian buku oleh pengguna.

5.2.2. Kekurangan Sistem

a. Pengklasifikasian SubKategori buku masih harus diurutkan secara manual.

b. Pencarian pada halaman administrator hanya terbatas pada satu masukkan saja.

c. Laporan hanya berbentuk tabel, belum disajikan dalam bentuk grafis yang akan mempermudah pembacaan laporan.


(125)

102

BAB VI

PENUTUP

6.1. Kesimpulan

Berdasakan atas analisis hasil implementasi aplikasi Sistem Informasi Perpustakaan LSM YIS berbasiswebini, maka dapat disimpulkan bahwa, secara umum sistem dapat berfungsi dan berjalan dengan baik bagi pengguna dan administrator LSM YIS untuk :

a. Melakukan pengolahan (penambahan, pengubahan, pencarian dan sirkulasi) data yang berkaitan dengan buku.

b. Melakukan pengolahan (penambahan, pengubahan, pencarian dan penghapusan) data yang berkaitan dengan anggota.

c. Membuat laporan mengenai data buku dan data sirkulasi buku. d. Membuat sistem denda pada anggota jika terjadi keterlambatan.

Namun sistem ini masih mempunyai beberapa kelemahan seperti penanganan data subkategori buku, mekanisme administrator, dan laporan yang hanya tersaji dalam bentuk tabel

6.2. Saran

Kelemahan dari sistem informasi ini nampaknya akan menjadi saran yang berguna bagi pengembang untuk menyempurnakan sistem informasi perpustakaan ini. Berikut adalah beberapa saran yang diberikan penulis:


(126)

a. Melengkapi pengklasifikasian SubKategori buku sehingga penomoran menjadi otomatis.

b. Melengkapi sistem pencarian pada halaman administrator, sehingga tidak berdasarkan pada satu masukkan saja.

c. Melengkapi fasilitas laporan dengan disajikan dalam bentuk grafis sehingga akan mempermudah pembacaan laporan.


(127)

104

DAFTAR PUSTAKA

Ariani, Rosa S; Shalahuddin, M, Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek), Modula, Bandung: 2011

Basuki, Awan P, Membangun Web Berbasis PHP dengan Framework CodeIgnitier, Mediakita, Yogyakarta : 2010

Darmawan, JB Budi, DiktatKuliah Basisdata I & II Teknik Informatika, Universitas Sanata Dharma, Yogyakarta : 2007

Jogiyanto, H.M, Analisis dan Disain, Sistem Informasi: Pendekatan terstruktur teori dan praktek aplikasi bisnis, Andi Offset, Yogyakarta :1990

Prasetyo, Eko, Pemrograman Web PHP & MySQL untuk Sistem Informasi Perpustakaan, Graha Ilmu, Yogyakarta : 2008

Whitten, Jefrey L.; Bentley, Lonnie D.; Dittman, Kevin C., Metode Disain & Analisis Sistem edisi 6, Andi Offset, Yogyakarta : 2004


(128)

105


(129)

DAFTAR KUISIONER PENGGUNA

Isilah kolom dengan mencentang (√) kolom yang sesuai dengan pernyataan di bawah ini.

No Daftar Pernyataan Sangat

tidak setuju

Tidak

Setuju Setuju

Sangat Setuju 1 Tampilan antarmuka pada sistem

informasi ini mudah dimengerti

1 7 2

2 Tampilan antarmuka pada sistem informasi ini tersusun rapi dan menarik

3 5 2

3 Instruksi atau petunjuk pada sistem informasi ini terbaca dengan baik

3 4 3

4 Fitur-fitur pada sistem informasi ini berfungsi dengan baik

3 4 3

5 Fungsi menu pada sistem informasi ini berjalan dengan baik

1 7 2

6 Sistem informasi ini mempermudah Anda mencari buku yang dikehendaki

1 8 1

7 Sistem informasi ini memberikan keterangan lengkap tentang buku yang dikehendaki


(130)

DAFTAR KUISIONER ADMINISTRATOR

Isilah kolom dengan mencentang (√) kolom yang sesuai dengan pernyataan di bawah ini.

No Daftar Pernyataan Sangat tidak

setuju

Tidak

Setuju Setuju

Sangat Setuju 1 Tampilan antarmuka pada sistem

informasi ini mudah dimengerti 1

2 Tampilan antarmuka pada sistem

informasi ini tersusun rapi dan menarik 1

3 Instruksi atau petunjuk pada sistem

informasi ini terbaca dengan baik 1

4 Fitur-fitur pada sistem informasi ini

berfungsi dengan baik 1

5 Fungsi menu pada sistem informasi ini

berjalan dengan baik 1

6 Sistem informasi ini mempermudah Anda mengolah(menambah,

mengubah, lihat, dan mencari) data buku yang dikehendaki

1

7 Sistem informasi ini mempermudah Anda mengolah(menambah,

mengubah, lihat mencari) data anggota yang dikehendaki

1

8 Sistem informasi ini membantu anda

dalam kegiatan sirkulasi buku 1

9 Sistem informasi ini memberikan keterangan lengkap tentang data yang dikehendaki

1 10 Anda terbantu dengan adanya sistem


(131)

vii

ABSTRAKSI

Sebagai lembaga yang bergerak dalam bidang pengembangan masyarakat, LSM YIS (Yayasan Insan Sembada) memiliki banyak sumber referensi yang berupa buku yang berada di perpustakaan.Perpustakaan YIS telah didukung dengan sebuah Sistem Informasi Perpustakaan.Sekalipun demikian, Sistem Informasi Perpustakaan yang ada pada saat ini ternyata memiliki beberapa kekurangan yang dikeluhkan oleh administrator. Kekurangan tersebut antara lain adalah kode buku yang tidak unik dimana dua buku atau lebih memiliki kode yang sama serta tidak adanya fitur untuk membuat laporan data buku yang sudah terekam di dalam koleksi sehingga administrator harus membuat laporan secara manual.

Berlatar belakang permasalahan tersebut maka dibangunlah sebuah sistem informasi baru bagi perputakaan YIS yang dapat memenuhi kebutuhan administrator. Sistem informasi baru ini dikembangkan dengan menggunakan database MySQL server dan bahasa pemrograman PHP dengan framework CodeIgniter.

Hasil akhir yang diperoleh adalah sebuah sistem informasi perpustakaan berbasis web yang berjalan menggunakan intranet pada lingkungan YIS yang memiliki kemampuan untuk mengolah data keanggotaan, data koleksi buku, data sirkulasi buku dan usulan penambahan koleksi buku. Sistem ini juga memiliki beberapa fitur baru bagi administrator yaitu pencetakan laporan data koleksi buku dan data sirkulasi buku dalam format lembar kerja (spreadsheet).


(132)

viii

ABSTRACT

YIS (Yayasan Insan Sembada) is a non-government organization which is engaged in community development. YIS has a library which is supported with an information system. However, the library information system of YIS still has several shortcomings. The shortcomings include the code of the book which is considered not unique that there are two or more books have the same codes. In addition, there is no feature to generate reports regarding books that have been recorded in the collection so that the administrator has to generate reports manually.

Due to those the problems, the writer built a new library information system to meet the needs of the administrator. The new information system was developed using MySQL database and PHP programming language with CodeIgniter framework.

The final result is a web-based library information system which runs on YIS intranet environment. The system has abilities to process membership data, collection data, circulation data, as well as suggestions to add collections. The system also has some new features for administrator to print reports regarding collections and circulations in spreadsheet format.