Rancangan Sistem Informasi Perpustakaan Berbasis Objek
-
Upload
karina-virgi-agustha -
Category
Documents
-
view
234 -
download
0
Transcript of Rancangan Sistem Informasi Perpustakaan Berbasis Objek
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
1/31
Rancangan Sistem Informasi Perpustakaan Berbasis Objek
Diajukan untuk memenuhi tugas Matakuliah Testing dan Implementasi Sistem
Oleh :
Karina Virgi Agustha 10512376
SI-09
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
2015
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
2/31
1. Deskripsi Umum Sistem
Sistem informasi yang dirancang pada laporan ini merupakan sistem informasi
manajemen perpustakaan yang berfungsi bagi pustakawan untuk mengelola informasi
yang meliputi data keanggotaan, koleksi pustaka, peminjaman, pengembalian, serta bagi
anggota dan pengunjung untuk dapat melakukan pencarian koleksi pustaka dengan
mudah. Sistem informasi perpustakaan ini dirancang untuk diterapkan pada sebuah
universitas.
Berikut merupakan dua tipe pengguna yang dapat mengakses sistem, yaitu:
1. Pustakawan, memiliki hak akses terhadap seluruh menu pengelolaan dan
pencarian yang tersedia, tentunya setelah berhasil melakukan login.
2. Pengunjung (mahasiswa, dosen, karyawan), baik yang telah menjadi anggota
maupun belum, diberikan hak akses terhadap menu pencarian koleksi pustaka
(baik koleksi umum maupun khusus) pada komputer khusus yang disediakan.
Hal ini bertujuan untuk memudahkan pengunjung dalam mendapatkan
informasi meliputi ketersediaan serta lokasi pustaka pada rak buku.
Selain itu, terdapat peraturan standar yang disesuaikan dengan sistem informasi
perpustakaan yang dirancang, yaitu sebagai berikut:
1. Pengunjung dipersilahkan membaca pustaka di perpustakaan, baik anggota
maupun bukan anggota.
2. Pengunjung yang ingin meminjam koleksi harus terdaftar sebagai sebagai
anggota.
3. Koleksi yang dikategorikan ke dalam koleksi khusus hanya diperbolehkan
untuk dibaca di perpustakaan dan tidak dapat dipinjam untuk dibawa ke luar
perpustakaan.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
3/31
4. Proses pendaftaran anggota dan peminjaman dilakukan oleh petugas
perpustakaan dengan biaya sebesar Rp 40.000. Calon anggota harus
memenuhi persyaratan yang ditentukan yaitu membawa KTP dan KTM
(untuk mahasiswa), Kartu Tanda Pegawai (untuk dosen dan karyawan).
Masa aktif anggota adalah satu tahun semenjak pendaftaran dan nantinya
diperbolehkan untuk melakukan perpanjangan dengan biaya yang sama yaitu
Rp 40.000.
5. Seorang anggota dapat melakukan peminjaman lebih dari satu pustaka dalam
satu waktu.
6. Jumlah total peminjaman pustaka dibatasi sebanyak 5 dan dapat dilakukan
dengan beberapa peminjaman terpisah.
7. Seorang anggota dapat mengembalikan pustaka yang dipinjam tidak dalam
waktu yang bersamaan walaupun pustaka-pustaka tersebut dipinjam pada
waktu yang sama.
8. Lama peminjaman yaitu selama 14 hari.
9. Bagi anggota yang terlambat mengembalikan koleksi akan didenda sesuai
dengan ketentuan nominal denda, yaitu Rp 1000/hari.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
4/31
2. Diagram UML
1) Use Case
Terdiri dari dua aktor yaitu petugas perpustakaan dan pengunjung (yang
merupakan generalisasi dari anggota dan bukan anggota), serta lima use caseutama.
2) Skenario Use Case
2.1.Nama Use Case : Pendaftaran
Aktor : Pengunjung (bukan anggota)
Deskripsi : Kegiatan pendaftaran menjadi anggota.
Kondisi Awal : Pendeskripsian tata cara, persyaratan dan biaya
Aksi Aktor Tanggapan Sistem (Petugas)
1. Melengkapi persyaratan yang
dibutuhkan (KTM untuk mahasiswa,
Kartu Tanda Pegawai bagi dosen
dan karyawan).
. Validasi kelengkapan persyaratan.
Alternatif jalur nomor 2.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
5/31
Laporkan hasil validasi ke calon anggota dan kembalikan persyaratan untuk
dilengkapi.
3. Membayar biaya pendaftaran
. Memproses pendaftaran calon
anggota.
Kondisi Akhir:
1. Calon anggota terdaftar menjadi anggota
2. Calon anggota mendapat kartu anggota dengan masa aktif selama satu
tahun.
2.2.Nama Use Case : Perpanjangan
Aktor : Anggota (non aktif)
Deskripsi : Kegiatan perpanjangan masa aktif keanggotaan
Kondisi Awal : Anggota non aktif
Aksi Aktor Tanggapan Sistem (Petugas)
1. Melakukan perpanjangan di loket
dengan membawa kartu anggota
lama serta tanda pengenal (KTP atau
KTM)
2. Validasi kecocokan data, jika valid
maka melakukan pemrosesan
perpanjangan masa aktif bagi
anggota non aktif yang
bersangkutan.
Alternatif jalur nomor 3.
Laporkan hasil validasi ke anggota non aktif dan kembalikan persyaratan.
Kondisi Akhir:
Anggota non aktif kembali aktif dan mendapat kartu anggota baru dengan masa
aktif selama satu tahun.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
6/31
2.3.Nama Use Case : Koleksi Pustaka
Aktor : Pengunjung
Deskripsi : Perpustakaan menyediakan akses bagi pengunjung
terhadap koleksi yang dimiliki
Kondisi Awal : Penyediaan koleksi dan informasi
Aksi Aktor Tanggapan Sistem (Petugas)
1. Pencarian koleksi
Alternatif jalur 2.
Jika pustaka tidak ditemukan maka pengunjung meninggalkan perpustakaan
2. Membaca pustaka di perpustakaan
2.4.Nama Use Case : Peminjaman
Aktor : Anggota
Deskripsi : Kegiatan peminjaman pustaka oleh anggota.
Kondisi Awal : Pustaka Tersedia
Aksi Aktor Tanggapan Sistem (Petugas)
1. Melakukan peminjaman dengan
membawa pustaka yang akan
dipinjam serta kartu anggota.
2. Cek masa aktif anggota.
Alternatif jalur nomor 2.
Jika masa aktif habis maka tolak peminjaman dan.
3. Cek jumlah peminjaman yang
dimiliki dan belum dikembalikan.
Alternatif jalur nomor 3.
Jika jumlah peminjaman yang belum dikembalikan sama dengan 5, maka tolak
peminjaman. Arahkan anggota untuk mengembalikan terlebih dahulu.
. Memproses peminjaman
Kondisi Akhir:
Peminjaman tercatat dan pustaka dipinjam.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
7/31
2.5.Nama Use Case : Pengembalian
Aktor : Anggota
Deskripsi : Kegiatan pengembalian pustaka oleh anggota.
Kondisi Awal : Pustaka peminjaman
Aksi Aktor Tanggapan Sistem (Petugas)
1. Melakukan pengembalian dengan
membawa pustaka yang akan
dikembalikan serta kartu anggota.
2. Cek keterlambatan dan hitung
denda keterlambatan.
3. Cek kondisi pustaka saat
dikembalikan (apakah dalam
keadaan baik, rusak, maupun
dihilangkan oleh anggota)
Alternatif jalur 2 dan 3.
Jika pustaka yang dikembalikan masih dalam keadaan baik maka pengembalian
diproses secara langsung.
4. Hitung dan catat biaya denda dan
ganti rugi.
5. Membayar denda dan ganti rugi.
6. Memproses pengembalian
Kondisi Akhir:
Pengembalian tercatat
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
8/31
3) Diagram Aktivitas
2.1. Aktivitas Pendaftaran
2.2. Aktivitas Perpanjangan
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
9/31
2.3. Aktivitas Koleksi Pustaka
2.4. Aktivitas Peminjaman
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
10/31
2.5. Aktivitas Pengembalian
4) Diagram Class
Menggambarkan struktur sistem dari segi pendefinisian kelas-kelas
yang akan dibuat untuk membangun sistem. Kelas memiliki atribut dan
metode/operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu
kelas sedangkan metode/operasi adalah fungsi-fungsi yang dimiliki oleh suatu
kelas.
Diagram kelas mendeskripsikan jenis-jenis objek dalam sistem dan
berbagai hubungan statis yang terdapat di antara mereka. Diagram kelas juga
menunjukkan property dan operasi sebuah kelas dan batasan-batasan yang
terdapat dalam hubungan-hubungan objek tersebut. Berikut merupakan gambar
diagram kelas yang disusun berdasarkan diagram usecase dan scenario yang
telah dirancang sebelumnya.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
11/31
Berikut merupakan bagan berisi class-class satuan lengkap dengan
atribut dan metodenya. Total terdapat 10 class.
Berikut merupakan diagram class yang telah terelasi serta lengkap
dengan nilai dependensinya.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
12/31
5) Diagram Objek
Menggambarkan struktur sistem dari segi penamaan objek dan jalannya
objek dalam sistem. Pada diagram objek harus dipaastikan semua kelas yang
sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika
tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan. Berikut
merupakan diagram objek yang disusun berdasarkan diagram kelas yang telah
dirancang sebelumnya. Berikut merupakan gambar diagramnya.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
13/31
6) Diagram Sequence
6.1. Pendaftaran
6.2. Perpanjangan
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
14/31
6.3. Pencarian koleksi pustaka
6.4. Peminjaman
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
15/31
6.5. Pengembalian
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
16/31
7) Diagram Komponen
Sistem informasi perpustakaan yang dirancang, diberi nama SIPRUS (SI
Perpustakaan For Us) adalah berupa aplikasi berbasis web yang dibangun
menggunakan bahasa pemrograman PHP, HTML, Javascript, JQuery, Ajax,
CSS yang diintegrasikan dengan framework CodeIgniter (mendukung konsep
MVC) serta framework Bootstrap yang berfungsi mempercantik bagian front-
end. Selain itu, aplikasi SIPRUS juga memanfaatkan penggunaan database
MySQL. Berikut adalah gambaran komponen-komponen SIPRUS disajikan
dalam bentuk diagram komponen.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
17/31
3. Dokumentasi Source Code (Halaman Login)
Berikut merupakan sekelumit dokumentasi dari source code pembangunan
SIPRUS. Sesuai dengan konsep MVC dan framework CodeIgniter, maka akan saya bagi
menjadi tiga bagian yaitu model, view dan controller. Berikut adalah hierarki dan
fungsinya.
3.1. Model (CI_Model)
Model dalam CodeIgniter dimaksudkan sebagai metode pemodelan
data. Berikut adalah model data yang digunakan.
M_anggota (model data anggota) terdiri dari fungsi:
read_anggota($limit, $start)
rows_data_anggota()
rows_pendaftaran_anggota ($tahun)
getanggota($id)
daftaranggota($new_data)
catatkekas($new_data)
ubahanggota($new_data, $id)
rows_data_pinjam_by_anggota($new_data)
rows_data_perpanjangan_by_anggota ($new_data)
delete_data($id)#untuk hapus data kaos
get_datatables()
count_filtered()
count_all()
get_by_id($id)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
18/31
perpanjangan($new_data)
M_auth (model data auth)
cek_user_admin($data)
M_denda (model data denda)
get_datatables()
count_filtered()
count_all()
get_by_id($id)
save($data)
update($where, $data)
delete_by_id($id)
catatkekas($new_data)
M_kas (model data kas)
get_datatables()
count_filtered()
count_all()
get_by_id($id)
save($data)
update($where, $data)
delete_by_id($id)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
19/31
M_peminjaman (model data peminjaman)
get_datatables()
count_filtered()
count_all()
get_by_id($id)
save($data)
update($where, $data)
delete_by_id($id)
simpan($new_data)
M_pengembalian (model data pengembalian)
get_datatables()
count_filtered()
count_all()
get_by_id($id)
save($data)
update($where, $data)
delete_by_id($id)
catatdenda($new_data)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
20/31
M_petugas (model data petugas)
read_data($limit, $start)
rows_data_petugas ()
create_data($new_data)
get_data($id)
update_data($new_data, $id)
delete_data($id)
M_pustaka (model data pustaka)
get_datatables()
count_filtered()
count_all()
get_by_id($id)
tambahpustaka($new_data)
read_data_kategori ()
getpustaka($id)
ubahpustaka($new_data, $id)
gudangkan($new_data, $id)
delete_data($id)#untuk hapus data kaos
rows_data_pinjam_by_buku ($datapus)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
21/31
3.2. View
Bertanggung jawab terhadap tampilan website. Terdiri dari halaman
yang ditulis dengan berbagai bahasa seperti HTML, Javascript, css, dan
lainnya kemudian dipadukan dengan bahasa PHP.
Folder auth
o login.php
Folder v_dashboard
o Folder v_anggota
Detailanggota.php
Masteranggota.php
Pendaftaran.php
Ubahanggota.php
o Folder v_kas
kas.php
o Folder v_konfigurasisistem
datapetugas.php
konfigurasi.php
o Folder v_peminjaman peminjamam.php
o Folder v_pengembalian
peminjamam.php
o Folder v_petugas
Detailpetugas.php
Masterpetugas.php
tambahpetugas.php Ubahpetugas.php
o Folder v_pustaka
Detailpustaka.php
Masterpustaka.php
tambahpustaka.php
Ubahpustaka.php
o atas.php
o template_dashboard.php
o transaksi.php
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
22/31
o welcome.php
template_front.php
welcome_page.php
3.3. Controller (CI_Controller)
Controller berfungsi menjembatani antara view dan model karena
didalamnya terdapat algoritma yang berguna untuk mentransformasikan data
dan logika agar dapat dilihat dan dioperasikan. Berikut adalah daftar
controllernya.
Anggota (Untuk pengaturan data anggota), terdiri dari
fungsi/method:
index()#fungsi default untuk menampilkan halaman master anggota di
bagian data master
detailanggota()#fungsi untuk menampilkan detail anggota di bagian
master anggota
pendaftaran()#fungsi untuk menyimpan data pendaftaran anggota
baru
get_detail_anggota($id)#fungsi menampilkan data detail anggota
pada jendela modal di halaman transaksi perpanjangan
pendaftaranpilih()#fungsi pemilihan tipe keanggotan pada halaman
transaksi pendaftaran
ubahanggota()#fungsi untuk menyimpan data anggota yang diubah
pada halaman ubah anggota
hapusanggota()#fungsi untuk menghapus data anggota pada
halaman detail anggota
simpanperpanjangan()#fungsi untuk memproses perpanjangan
anggota pada transaksi perpanjangan anggota
Auth (untuk pengaturan login dan autentifikasi), terdiri dari
fungsi/method:
index()#fungsi default untuk menampilkan halaman login
login()#fungsi untuk memproses validasi inputan login
logout()#fungsi memproses logout petugas dari sistem
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
23/31
Dashboard (untuk pengaturan halaman petugas), terdiri dari
fungsi/method:
index()#fungsi default yang dipanggil untuk menampilkan halaman
dashboard setelah petugas berhasil login
transaksi()#fungsi untuk menampilkan halaman transaksi dari menu
sidebar
kas()#fungsi untuk menampilkan halaman transaksi dari menu sidebar
konfigurasi()#fungsi untuk menampilkan halaman konfigurasi sistem
dari menu sidebar
menupetugas()#fungsi untuk menampilkan halaman ganti username
dan password dari menu sidebar
ubahkonfigurasi()#fungsi untuk memproses pengubahan data
konfigurasi sistem
ubahdatapetugas()#fungsi untuk memproses pengubahan data
username dan password petugas pada halaman ganti username dan
password
daftar_anggota()#fungsi untuk menampilkan tabel data anggota di
halaman transaksi peminjaman
daftar_anggota_perpanjangan()#fungsi untuk menampilkan tabel data
anggota di halaman transaksi perpanjangan
daftar_peminjaman()#fungsi untuk menampilkan tabel data
peminjaman di halaman transaksi pengembalian
daftar_denda()#fungsi untuk menampilkan tabel data denda di halaman
transaksi pembayaran denda
daftar_kas()#fungsi untuk menampilkan tabel data kas di halaman log
kas perpustakaan
Homepage (untuk pengaturan halaman pengunjung), terdiri dari
fungsi/method:
index()#fungsi untuk menampilkan halaman utama aplikasi bagi
pengunjung
daftar_pustaka_homepage ()#fungsi untuk menampilkan tabel daftarpustaka pada halaman utama pengunjung
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
24/31
Peminjaman (untuk pengaturan transaksi peminjaman), terdiri dari
fungsi/method:
index()#fungsi untuk menampilkan halaman transaksi peminjaman
setelah pemilihan anggota di halaman transaksi
simpanbaru()#fungsi untuk memproses penyimpanan data peminjaman
baru
Pengembalian (untuk pengaturan transaksi pengembalian), terdiri
dari fungsi/method:
ajax_get_by_id($id)#fungsi untuk menampilkan jendela modal detail
peminjaman pada halaman transaksi pengembalian
simpan_pengembalian ()#fungsi untuk memproses transaksi
pengembalian
get_denda_by_id($id)#fungsi untuk menampilkan jendela modal
konfirmasi pembayaran denda
simpanpembayaran()#fungsi untuk memproses transaksi pembayaran
denda
Petugas (untuk pengaturan data petugas), terdiri dari fungsi/method:
index()#fungsi default untuk menampilkan halaman master petugas di
bagian data master
tambahpetugas()#fungsi untuk menampilkan halaman tambah petugas
di bagian data master petugas beserta proses penyimpanannya
ubahdata()#fungsi untuk menampilkan halaman ubah data petugas di
bagian data master petugas beserta proses penyimpanannya
hapuspetugas()#fungsi untuk memproses penghapusan data petugas
di bagian data master petugas
Pustaka (untuk pengaturan data pustaka), terdiri dari fungsi/method:
index()#fungsi default untuk menampilkan halaman master pustaka
dari menu sidebar
daftar_pustaka()#fungsi untuk menampilkan tabel daftar anggota
pada halaman master anggota
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
25/31
bukutersedia()#fungsi untuk menampilkan tabel daftar anggota pada
halaman transaksi peminjaman
get_detail_pustaka($id)
#fungsi menampilkan data detail pustaka pada jendela modal di
halaman transaksi peminjaman
tambahpustaka()#fungsi menampilkan halaman penambahan
pustaka baru dan memprosesnya
ubahpustaka()#fungsi menampilkan halaman pengubahan data
pustaka dan memprosesnya
detailpustaka()#fungsi menampilkan halaman detail pustaka pada
master pustaka
hapus()#fungsi memproses penghapusan pustaka pada halaman
master pustaka
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
26/31
4. Pengujian Black Box
Metode yang digunakan adalah metode equivalence partitioning yang
memanfaatkan domain inputan. Metode ini dipilih karena bertujuan untuk menguji
adanya kesalahan perancangan interface, utamanya dalam penginputan data sehingga
sangatlah berguna agar menghindari kesalahan pemrosesan, seperti kegagalan input data
ke database karena tipe data yang diinputkan tidak sesuai.
Berikut merupakan test case dan hasil pengujian black yang dilakukan terhadap
SIPRUS.
4.1. Pendaftaran
Nama, alamat dan kota merupakan inputan bertipe range.
Nama (830 huruf dan dibolehkan memakai spasi)
Valid = (Karina Virgi, Virgi Agustha, lalalalalalalala)
Invalid = (12345678, ---------------, ???????????)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
27/31
Invalid = (Kar, Rin, Na)
Alamat (1-100 karakter alphanumeric serta tanda titik, koma, dan petik)
Valid = (Bandung, Juara, lalalalalalalala)
Invalid =
(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, --------------
-, ???????????)
Invalid = (\\,{}, //)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
28/31
Kota (1-30 karakter huruf)
Valid = (Jember, Juara, lalalalalalalala)
Invalid = (++++++++++++++=================, --------------
-, ???????????)
Invalid = (123456,{}, //)
Untuk inputan pada form di aplikasi web ini, keseluruhannya telah
menggunakan fungsi validasi seperti di atas, sehingga pengujian black boxnya adalah
sama.
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
29/31
4.2. Harga pada ubah Pustaka (kondisi input: harga khusus)
Valid (1100,2000.0)
Invalid (aa,bb,cc)
Invalid (..,//,??)
4.3. Pemilihan save atau batal (kondisi input: boolean)
Valid (save, batal)
Invalid (ya, tidak)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
30/31
4.4. Menu Transaksi (kondisi input: himpunan)
Valid = (Pendaftaran Anggota, Perpanjangan Anggota,
Pembayaran Denda)
Invalid = (close, back, history)
Invalid = (1,2,3)
-
7/25/2019 Rancangan Sistem Informasi Perpustakaan Berbasis Objek
31/31