13
2.1.2.2. Istilah Informasi 2.1.2.2.1. Sebagai masukan ensorik
Seringkali informasi dipandang sebagai jenis input ke sebuah organisme atau sistem. Beberapa masukan penting untuk fungsi
organisme misalnya, makanan atau sistem energi dengan sendirinya. Beberapa informasi adalah penting karena asosiasi dengan informasi
lain harus ada koneksi ke kausal input. Dalam prakteknya, informasi biasanya dilakukan oleh rangsangan yang lemah yang harus dideteksi
oleh sistem sensorik yang khusus dan diperkuat oleh input energi sebelum dapat berfungsi untuk organisme atau sistem.
2.1.2.2.2. Sebagai representasi dan kompleksitas
Ilmu Kognitif dan terapkan matematika Ronaldo Vigo berpendapat bahwa informasi adalah sebuah konsep relatif yang
melibatkan setidaknya dua entitas yang terkait.
2.1.3. Pengertian Sistem Informasi
Menurut Juansyah 2013, sistem informasi dapat diartikan sebagai sebuah sistem yang terintegrasi secara optimal dan berbasis komputer yang dapat
menghimpun dan menyajikan berbagai jenis data yang akurat untuk berbagai macam kebutuhan.
Suatu sistem informasi pada dasarnya terbentuk melalui suatu kelompok kegiatan operasi yang tetap, yaitu:
1. Mengumpulkan data
2. Mengelompokkan data
3. Menghitung
14
4. Menganalisa
5. Menyajikan laporan
Sasaran sistem informasi adalah:
a.
Meningkatkan penyelesaian tugas.
b.
Pemakai harus lebih produktif agar menghasilkan keluaran yang memiliki mutu yang tinggi.
c.
Meningkatkan efektifitas secara keseluruhan.
d.
Sistem harus mudah dan sering digunakan.
e.
Meningkatkan efektifitas ekonomi.
f.
Keuntungan yang diperoleh dari sistem harus lebih besar dari biaya yang dikeluarkan.
2.1.4. Sistem Informasi Berbasis Web
Menurut Juansyah 2013, sistem Informasi Berbasis Web adalah serangkaian komponen yang terkait satu sama lain dan bekerja bersama-sama untuk
mengumpulkan, mengolah, menyimpan dan menyebarluaskan informasi guna mendukung pengambilan keputusan, koordinasi, kontrol, analisis dan visualisasi yang
distimulisasikan melalui media Web.
2. 2. MySQL 2. 2.1. Pengertian MySQL
MySQL merupakan
software
sistem manajemen database
Database Management System
–
DBMS
yang sangat popular di kalangan pemrograman web, terutama di lingkungan
15
Linux. MySQL digunakan sebagai database untuk sumber dan pengelola datanya Bertha. Kepopuleran MySQL dimungkinkan karena mudah untuk digunakan, cepat secara kinerja
query, dan mencukupi untuk kebutuhan database perusahaan-perusahaan skala kecil sampai menengah. MySQL telah digunakan sebagai database oleh situs-situs terkemuka di internet
untuk menyimpan datanya. MySQL tersedia secara bebas dan boleh digunakan oleh setiap orang. Saat ini
diperkirakan lebih dari 3 juta pemakai di seluruh dunia, dengan lebih dari setengah juta server yang memasangnya termasuk di dalamnya
Yahoo, MP3.com, Motorola, NASA, Silicon Graphics, HP, Xerox, Cisco
dan
Texas Instruments.
2. 2.2. Perintah-perintah MySQL
Secara garis besar perintah dalam SQL dibagi menjadi dua bentuk perintah, yaitu : 1.
DDL Data Definition Language Adalah bentuk bahasa yang digunakan untuk pendefinisian data. Contohnya :
CREATE, DROP, ALTER. 2.
DML Data Manipulation Language Adalah suatu bahasa yang digunakan untuk memanipulasi data. Contohnya:
SELECT, INSERT, UPDATE, DELETE.
2. 2.3. Komponen-komponen dalam MySQL
Terdapat beberapa komponen penting dalam MySQL, yaitu : a.
Database
, obyek-obyek yang digunakan untuk mewakili, menyimpan dan mengakses data.
16
b.
Tabel
, menyimpan record-record data dan hubungannya dengan tabel lain. c.
Indexs
, file-file tambahan yang meningkatkan kecepatan akses dari record-record tabel.
d.
View
, menyediakan cara melihat data yang berbeda di dalam satu atau lebih tabel. e.
Stored Procedure
, program-program
Transact-SQL
yang disimpan di dalam server yang menjalankan tugas-tugas yang telah ditemukan.
f.
Trigger
, sebuah jenis prosedur tersimpan khusus yang secara otomatis dijalankan apabila operasi tertentu dilakukan dalam tabel.
2. 3. SMS Gateway 2. 3. 1. SMS
Short Message Service
SMS merupakan sebuah layanan yang banyak diaplikasikan pada sistem komunikasi tanpa kabel, memungkinkan dilakukannya
pengiriman pesan dalam bentuk
alphanumeric
antara terminal pelanggan atau antara terminal pelanggan dengan sistem eksternal seperti email,
paging, voice mail,
dan lain- lain Andri. Isu SMS pertama kali tampil di belahan Eropa pada sekitar tahun 1991
bersama sebuah teknologi komunikasi
wirelessi
yang saat ini cukup banyak penggunanya, yaitu
Global System for Mobile Communication
GSM. Dipercaya bahwa pesan pertama yang dikirimkan menggunakan SMS dilakukan pada bulan
Desember 1992, dikirimkan dari sebuah
Personal Computer
PC ke sebuah telepon seluler dalam jaringan GSM milik Vodafone Inggris. Perkembangannya kemudian
menambah ke benua Amerika, dipelopori oleh beberapa operator komunikasi bergerak berbasis digital seperti BellSouth Mobility, PrimeCo, Nextel, dan beberapa operator
17
lain. Teknologi digital yang digunakan bervariasi dari yang berbasis GSM,
Time Division Multiple Access
TDMA hingga
Code Division Multiple Access
CDMA. Dalam sistem SMS, mekanisme utama yang dilakukan dalam sistem adalah
melakukan pengiriman
short message
dari satu terminal pelanggan ke terminal lain. Hal ini dapat dilakukan berkat adanya sebuah entitas dalam sistem SMS yang bernama
Short Message Service Centre
SMSC. SMSC merupakan sebuah perangkat yang melakukan tugas
store
dan
forward
trafik pesan. Di dalamnya termasuk penentuan atau pencarian rute tujuan akhir dari pesan. Sebuah SMSC biasanya didesain untuk dapat
menangani pesan dari berbagai sumber seperti
Voice Mail System
VMS,
Web-based messaging
,
Email Integration, External Short Messaging Entitites
ESME dan lain- lain. dalam interkoneksi dengan entitas dalam jaringan komunikasi wireless seperti
Home Location Register
HLR dan
Mobile Switching Centre
MSC, SMSC biasanya selalu menggunakan
Signal Transfer Point
STP.
2. 3. 2. SMS Gateway
SMS Gateway merupakan sebuah sistem aplikasi yang digunakan untuk mengirim dan atau menerima SMS, dan biasanya digunakan pada aplikasi bisnis, baik
untuk kepentingan
broadcast
promosi, servis informasi terhadap pengguna, penyebaran
content
produk atau jasa dan lain-lain Andri. Fitur SMS Gateway dapat dimodifikasi sesuai kebutuhan. Fitur-fitur yang pada umumnya dikembangkan dalam aplikasi SMS
Gateway: a.
Auto Reply
b. Pengiriman massal
broadcast message
. c.
Pengiriman terjadwal.
18
Untuk membuat sebuah SMS Gateway, terdapat hal-hal berhubungan dengan SMS Gateway itu sendiri. Hal yang memegang peranan penting dalam pengiriman SMS
adalah SMSC
Short Message Service Centre
yang merupakan jaringan telepon seluler yang menangani pengiriman SMS. Jika ada pengiriman sebuah pesan, SMSC yang
bertugas mengirimkan pesan tersebut ke nomor tujuan. Jika nomor tujuan tidak aktif, maka SMSC akan menyimpan pesan tersebut dalam jangka waktu tertentu. Jika SMS
tetap tidak dapat terkirim dalam jangka waktu tersebut, maka SMS akan dihapus dari penyimpanan SMSC.
Terdapat alternatif infrastruktur yang lebih sederhana dan mudah didapatkan, yaitu membuat SMS Gateway yang menggunakan ponsel ataupun modem
GSMCDMA sebagai media pengiriman atau penerima SMS dimana ponsel atau modem tersebut terpasang pada sebuah komputer. SMS akan tetap terkirim melalui
SMSC, hanya saja melalui rute yang lebih panjang karena tidak memiliki koneksi langsung ke SMSC. Karena itu, kapasitan dan kecepatan pengirimannya tidak sebaik
performa jika langsung menggunakan jalur SMSC. Cara kerja modem GSMCDMA mirip dengan modem
dial-up
yang biasa digunakan untuk koneksi internet melalui
line
telepon. Perbedaannya adalah modem
dial-up
mengirim dan menerima data melalui
line
telepon, sedangkan modem GSMCDMA mengirim dan menerima data melalui gelombang radio.
19
Gambar 2. 1 Cara kerja SMS Gateway
2. 3. 3. Contoh Aplikasi SMS Gateway
Contoh-contoh penggunaan aplikasi SMS Gateway Romzi : 1
Informasi Tagihan Konsumen dapat mengetahui informasi tagihan seperti tanggal jatuh tempo,
jumlah tagihan, cara pembayaran dan
Contact Center
yang dapat dihubungi untuk informasi lebih lanjut. Hal ini sangat berguna untuk jenis usaha yang
menerima pembayaran tagihan secara teratur, seperti
Leasing
,
Finance
,
Building management
, dan lain-lain. 2
Check point SMS Member dapat melakukan cek point melalui SMS dan sistem akan
memberitahukan point member secara
real-time
, hadiah yang didapat, atau dapat juga mengingatkan sisa poin untuk mencapai hadiah atau level
tertentu. Sistem SMS Gateway seperti ini dapat digunakan untuk perusahaan MLM.
3 Pengiriman laporan
20
Karyawan atau kantor cabang dapat mengirimka laporan penjualan atau tagihan harian melalui SMS dengan format tertentu ke SMS Center
perusahaan, dan selanjutnya data ini hanya dapat diakses oleh management perusahaan. Laporan yang dihasilkan sangat berguna untuk industri retail
yang umumnya memiliki banyak cabang ataupun perusahaan multinasional. 4
Real-time information
Perusahaan dapat memberikan kemudahan bagi karyawan maupun konsumennya dalam mengakses informasi yang dibutuhkan secara cepat,
relevan, dan
real-time
. Misalnya adalah cek posisi saham untuk perusahaan securitas, cek tanggal jatuh tempo untuk perusahaan finance, cek jadwal
kapal atau
tracking cargo
untuk perusahaan shipping, dan sebagainya. 5
Internal Alerts SMS Gateway juga dapat digunakan untuk kebutuhan internal perusahaan,
seperti memberikan peringatan kepada karyawan mengenai jadwal
meeting
,
event
,
appointment
, dan sebagainya 6
SMS Quiz Dengan membuat SMS Quiz, maka akan terjalin hubungan yang lebih
interaktif antara perusahaan dengan konsumen. Konsumen yang hendak berpartisipasi dapat mengirimkan SMS registrasi dengan kode-kode tertentu
2. 3. 4. SMSLib
SMSLib adalah library untuk pengiriman SMS . SMSLib menyediakan API
Application Programming Interface
yang dapat digunakan untuk mengirimkan dan menerima SMS dari modem GSM.
21
SMSLib tersedia untuk Java dan Microsoft .NET Framework. Website dari SMSLib adalah
http:smslib.org
2. 4. Notasi Pemodelan Sistem 2. 4. 1. Use Case Diagram
Use case diagram
adalah sebuah diagram yang menggambarkan interaksi antara sistem dan eksternal sistem serta user. Dengan kata lain,
use case diagram
mendeskripsikan perilaku sistem, subsistem atau external user. Use case merupakan hasil dari pencarian kebutuhan user. Use case harus dibuat dari sudut pandang
kebutuhan user.
2. 4. 1. 1. Simbol Use Case dan Aktor
Use case digambarkan secara grafik dengan bentuk elips horizontal dengan nama dari user case tertera di bawah atau di dalam elips.
Gambar 2. 2 Simbol Use Case
Aktor merupakan segala sesuatu yang dibutuhkan untuk berinteraksi dengan sistem untuk mengubah informasi. Aktor dapat berupa
22
orang, organisasi atau sistem informasi yang lain atau juga mungkin adalah suatu waktu kejadian.
Gambar 2. 3 Simbol Aktor
2. 4. 1. 2. Relasi Relationship
Relasi digambarkan dengan sebuah garis di antara dua simbol di dalam
use case diagram
. Arti relasi dapat berbeda antara satu dengan yang lainnya tergantung pada bagaimana cara garis digambar dan tipe simbol apa
yang disambungkan. Ada beberapa jenis realsi yang digunakan untuk menggambarkan
use case diagram
yaitu : 1.
Association
adalah relasi antara aktor dan sebuah use case dimana terjadi interaksi di antara keduanya.
2.
Extends
yaitu sebuah relasi antara
extension use case
dan use case yang di-
extend
.
Extension use case
adalah sebuah use case yang berisi langkah-langkah yang diekstrak dari sebuah use
case yang lebih kompleks agar menjadi use case yang lebih sederhana dan kemudian diberikan tambahan fungsinya.
23
3.
Uses
atau
includes
yaitu sebuah relasi antara
abstract use case
dan use case yang mengurangi redundansi antara satu atau lebih use case dengan cara mengkombinasikan langkah-langkah yang
umum ditemukan dalam case-nya. 4.
Depend on
yaitu sebuah relasi use case yang menentukan bahwa use case yang lain harus dibuat sebelum
current use case
dan dapat menentukan urutan dimana use case perlu untuk
dikembangkan. Digambarkan sebagai garis anak panah yang dimulai dari satu
use case dan menunjuk ke use case yang bergantung padanya. Setiap relasi
depends on
diberi label
depends on
5.
Inheritance
yaitu sebuah relasi use case yang tingkah laku pada umumnya menggambarkan dua aktor yang menginisiasi use
case yang mana akan ditugaskan dan diektrapolasi dalam abstrak aktor yang baru untuk mengurangi redundansi. Aktor
yang lain dapat menurunkan interaksi dari abstrak aktor. Relasi ini digambarkan dengan garis anak panah yang dimulai pada
satu aktor dan menunjuk ke abstrak aktor yang memiliki interaksi dengan turunan dair aktor yang pertama.
2. 4. 2. Database Conceptual Design
Hasil dari fase ini disebut sebagai
conceptual schema
dan dinyatakan dalam
conceptual data model
yang mengguanakan
Entity Relationship Diagram
ERD. ERD merupakan alat yang digunakan untuk membantu dalam proses pemodelan data. Dua komponen utama pembentuk ERD adalah entitas
dan relasi. Entitas adalah sebuah objek yang nyata ada dan dibedakan dari
24
sesuatu yang lain. Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik dari entitas tersebut. Sedangkan relasi adalah hubungan antara
entitas. Ada beberapa macam relasi yang dapat digambarkan dalam ERD yaitu: 1
Relasi Satu lawan Satu
One to One Relationship
Relasi ini terjadi bila tiap anggota entiti A hanya boleh berpasangan dengan tepat satu anggota entiti B. Hubungan 1 : 1 mencakup juga relasi 1 : 0 dan
0 : 1 2
Relasi satu lawan banyak
One to Many Relationship
Relasi ini terjadi bila tiap anggota entiti A berpasangan lebih dari satu anggota entiti B. Hubungan
one to many
mencakup relasi 1 : 1, 0 : 1, 1 : 1 3
Relasi banyak lawan banyak
Many to Many Relationship
Relasi ini terjadi bila tiap anggota entiti A boleh berpasangan dengan lebih dari satu anggota entiti B, begitu juga sebaliknya tiap anggota B boleh
berpasangan dengan lebih dari satu anggota entiti A. Relasi ini mencakup 1 : , 1 : 1, 1: 0, 0 : 1
25
Gambar 2. 4 Notasi dalam ERD
2. 4. 3. Database Logical dan Physical Design
Dalam fase
logical design
ini dilakukan proses translasi dari
conceptual schema
yang sudah dibuat pada fase sebelumnya. Hasil dari fase ini disebut sebagai
logical schema
dan dinyatkaan dalam
logical data model
yang digambarkan menggunakan
relational model
. Dalam fase ini harus dilakukan beberapa optimalisasi terhadap operasi-operasi yang akan dilakukan terhadap data-data yang ada. Teknik yang biasa
digunakan untuk melakukan optimalisasi ini dinamakan normalisasi. Normalisasi adalah suatu proses pengelompokan elemen data ke dalam
sejumlah tabel yang mempresentasikan sejumlah entitas dan relasinya. Langkah normalisasi bertujuan :
26
1 Sebagai alat penolong dalam proses perancangan
database
. 2
Untuk meminimalkan grup elemen data yang sama dan berulang-ulang redundansi dalma
database
karena hal tersebut menyebabkan akses menjadi lambat dan memboroskan tempat penyimpanan.
3 Untuk memudahkan proses penyisipan, penghapusan, dan pengembangan
database
. Sedangkan untuk fase
physical design
harus dipastikan bahwa
logical schema
yang sudah dibuat pada fase sebelumnya dilengkapi dengan detail-detail yang diperlukan untuk pengimplementasian secara fisik pada
Database Management System
DBMS yang akan digunakan. Hasil dari fase ini disebut sebagai
physical schema
.
2. 4. 4. Pemodelan Proses
Pemodelan proses
Whitten et.al, 2004
adalah teknik yang digunakan untuk mengorganisasikan dan mendokumentasikan proses dari sistem.
Data Flow Diagram
DFD merupakan sebuah model proses yang digunakan untuk menggambarkan aliran data yang melalui sebuah sistem dan proses yang dibentuk oleh sistem. Berikut adalah
simbol-simbol yang digunakan dalam DFD : 1.
Kesatuan luar
external agent enternal entity
, merupakan suatu kesatuan yang berada di luar sistem yang sedang dikembangkan yang akan memberikan input
atau menerima output dari sistem. Suatu kesatuan luar dapat disimbolkan dengan notasi kotak bujur sangkar.
27
Gambar 2. 5 Simbol kesatuan luar
external agent
2. Arus data
data flow
, yang mengalir di antara proses, penyimpanan data dan kesatuan luar. Arus data adalah data yang menjadi input ke proses atau output dari
sebuah proses. Arus data dapat berbentuk formulir atau dokumen yang digunakan oleh perusahaan, laporan tercetak yang dihasilkan oleh sistem, tampilan atau
output di layar komputer, suratmemo, blangko isian, transmisi data. Arus data diberi simbol garis dengan anak panah.
Gambar 2. 6 Simbol arus data
3. Proses, merupakan kegiatan atau kerja yang dilakukan orang, mesin atau komputer
dari suatu hasil arus data yang masuk ke dalam proses untuk dihasilkan arus data yang keluar dari proses. Suatu proses dapat ditunjukkan denga simbol persegi
panjang dengan sudut-sudut yang tumpul.
Gambar 2. 7 Simbol proses
28
4. Simpanan data,
Data Store
, dapat berupa
file database
di sistem komputer, arsip catatan manual, tabel acuan, agenda buku. Dinamai dengan kata benda.
Gambar 2. 8 Simbol simpanan data
2. 5. QR
Quick
Response Code
QR Code adalah sebuah kode matriks atau barcode 2 dimensi . QR code adalah bentuk evolusi dari kode batang
barcode
yang berbentuk 1 dimensi. Disebut berevolusi dikarenakan QR code dapat menampung data yang lebih besar daripada kode batang
barcode
. Hal ini dapat dilakukan karena QR code menyimpan informasi secara horizontal dan vertikal. QR
merupakan singkatan dari
Quick Response
yang berarti respon cepat, dengan tujuan menyampaikan secara cepat dan mendapatkan respon yang cepat pula Ridwanaz, 2011.
QR code pertama kali dibuat oleh sebuah perusahaan di Jepang yaitu
Denso Corporation
dan dipublikasikan pada tahun 1994. Kini penggunaan QR code sudah berkembang sebagai alat tambahan dalam program promosi produk bagi sebagian besar
perusahaan yang bergerak di bidang perdagangan maupun bidang jasa. QR sudah sangat lazim di Jepang, karena kemampuannya menyimpan data yang lebih
besar daripada kode batang sehingga mampu mengkodekan informasi dalam bahasa Jepang sebab dapat menampung huruf kanji. QR code telah mendapatkan standarisasi internasional
dan standarisasi dari Jepang berupa ISOIEC18004 dan JIS-X-0510 dan telah digunakan secara luas melalui ponsel di Jepang.
29
QR code berfungsi sebagai jembatan penghubung secara cepat antara konten offline dan online. QR code memungkinkan interaksi antara media yang ditempelinya melalui ponsel
atau webcam secara efektif dan efisien. QR code bertindak sebagai
hyperlink
fisik yang dapat menyimpan alamat web URL, nomor telepon, teks dan SMS.
QR code memiliki kapasitas tinggi dalam data pengkodean, yaitu mampu menyimpan semua jenis data, seperti data numerik, data alphabetis, kanji, kana, hiragana simbol,dan kode
biner. Secara spesifik, QR code mampu menyimpan data jenis numerik sampai dengan 7.089 karakter, data alphanumerik sampai dengan 4.296 karakter, kode biner sampai dengan 2.844
byte, dan huruf kanji sampai dengan 1.817 karakter. Selain itu QR code memiliki tampilan yang lebih kecil daripada kode batang. Hal ini dikarenakan QR code mampu menampung data
secara horizontal dan vertikal, oleh karena itu secara otomatis ukuran dari tampilannya gambar QR code bisa hanya seperspuluh dari ukuran sebuah kode batang. Tidak hanya itu QR code
juga tahan terhadap kerusakan, karena QR code mampu memperbaiki kesalahan sampai dengan 30. Oleh karena itu, walaupun sebagian simbol QR code kotor ataupun rusak, data tetap dapat
disimpan dan dibaca. Tiga tanda berbentuk persegi di tiga sudut memiliki fungsi agar simbol dapat dibaca dengan hasil yang sama dari sudut manapun sepanjang 360 derajat.
Salah satu perusahaan yang menyediakan aplikasi
generator
untuk QR Code adalah
BarcodeLib
.
Tersedia generator untuk Java dan .NET secara gratis untuk para developer. Website dari perusahan BarcodeLib adalah
http:www.barcodelib.com
30
Gambar 2. 9 Contoh QR Code
2. 6. Java Server Page JSP Java Server Pages JSP merupakan sebuah pemrograman web yang berjalan pada
sisi
server
bukan pada sisi
client
seperti Java Script, VB Script maupun HTML. Bahasa pemrogramannya pun sama seperti pemrograman Java pada desktop ataupun pada
console dosprompt
biasa. JSP masih dikategorikan sebagai bahasa pemrograman web terbaru dibandingkan
dengan CGI Perl, ASP, CFML dan PHP. JSP dapat dikatakan sebagai bahasa pemrograman web yang cukup tangguh, kuat dan cocok untuk aplikasi yang besar.
2. 7. Metodologi FAST
Framework for The Application of System Technique
FAST
Framework for the Application of Systems Technique
adalah kerangka cerdas yang cukup fleksibel untuk menyediakan tipe-tipe berbeda proyek dan strategi. Dalam
merancang, membuat, dan menyelesaikan sistem informasi ini, digunakan metodologi FAST. Hal ini dikarenakan metodologi ini merupakan metodologi yang sesuai dengan rekayasa
perangkat lunak yang dikembangkan secara terstruktur. Metodologi FAST memiliki fase-fase sebagai berikut Whitten, 2004 :
31
a.
Scope Definition Phase
Pada tahap ini dilakukan pengumpulan informasi yang akan diteliti tingkat
feasibility
dan ruang lingkup proyek yaitu dengan menggunakan kerangka PIECES
Performance, Information, Economics, Control, Efficiency, Service.
Hal ini dilakukan untuk menemukan inti dari masalah-masalah yang ada, kesempatan untuk meningkatkan kinerja organisasi, dan kebutuhan-kebutuhan
baru. Pada tahap ini juga ditentukan apa masalah yang sedang dihadapi sehingga harus diselesaikan.
b
Problem Analysis Phase
Pada tahap ini akan diteliti masalah-masalah yang muncul pada sistem lama. Hasil dari tahap ini adalah peningkatan performa sistem yang akan
memberikan keuntungan dari segi bisnis perusahaan. Hasil lain dari tahapan ini adalah sebuah laporan yang menerangkan tentang
problems, causes, effects,
dan
solution benefits.
c
Requirement Analysis Phase
Pada tahap ini akan dilakukan pengurutan prioritas dari kebutuhan-kebutuhan bisnis yang ada. Tujuan dari tahapan ini adalah mengidentifikasi data, proses
dan antarmuka yang diinginkan pengguna dari sistem yang baru. Alat bantu untuk memahami kebutuhan bisnis yang ada adalah dengan pemodelan
use case
. d
Logical Design Phase
Tujuan dari tahapan ini adalah mentransformasikan kebutuhan-kebutuhan bisnis dari fase
requirement analysis
ke sistem model yang akan dibangun
32
nantinya. Dengan kata lain pada fase ini akan menjawab pertanyaan-pertanyaan seputar penggunaan teknologi data,
process, interface
yang menjamin
usability, reliability, completeness, performance
, dan
quality
yang akan dibangun di dalam sistem. Tahap ini meliputi 2 langkah, yaitu :
1
Data Modelling
, yaitu memodelkan tabel-tabel yang akan digunakan untuk menyimpan data-data di dalam database. Untuk
menyelesaikan tahapan ini digunakan
Entity Relationship diagram
ER Diagram. 2
Process Modelling
, yaitu memodelkan proses-proses yang akan terjadi dalam suatu sistem. Untuk menyelesaikan tahapan ini
digunakan
data flow diagram
DFD. e
Decision Analysis Phase
Pada tahap ini akan dipertimbangkan beberapa kandidat dari perangkat lunak dan keras yang nantinya akan dipilih dan dipakai dalam implementasi sistem
sebagai solusi atas
problems
dan
requirements
yang sudah didefiniskan pada tahapan-tahapan sebelumnya.
f
Physical Design and Integration Phase
Tujuan dari tahapan ini adalah mentransfromasikan kebutuhan bisnis yang direpresentasikan sebagai
logical design
menjadi
physical design
yang nantinya akan dijadikan sebagai acuan dalam membuat sistem yang akan
dikembangkan. Jika di dalam
logical design
tergantung kepada berbagai solusi teknis, maka
physical design
merepresentasikan solusi teknis yang lebih spesifik.
33
g
Construction and Testing Phase
Setelah membuat
physical design,
maka akan dimulai untuk mengkonstruksi dan melakukan tahap uji coba terhadap sistem yang memenuhi kebutuhan-
kebutuhan bisnis dan spesifikasi desain. Basis data, program aplikasi dan antarmuka akan mulai dibangun pada tahap ini. Setelah dilakukan uji coba
terhadap keseluruah sistem desain. h
Installation and Delivery Phase
Kegiatan yang dilakukan pada fase ini adalah instalasi sistem,
training user
, manual sistem, mengkonversi file dan database yang ada ke dalam database
yang baru,
final testing
dan menyiapkan prosedur konversi.
34
BAB III ANALISIS DAN PERANCANGAN SISTEM
3. 1. Analisa Sistem 3. 1. 1. Gambaran Umum Sistem Lama
Dalam sistem perpustakaan SMA Pangudi Luhur sekarang ini semua pendataan, baik pendataan anggota, buku, peminjaman dan pengembalian buku
masih didata secara manual. Semua pendataan disimpan dalam buku dan kertas- kertas. Dengan demikian, pendataan menjadi lama dan tidak jarang terjadi
kesalahan dalam pendataan karena data yang harus dikelola sangat banyak. Sementara itu, di dalam perpustakaan terdapat satu perangkat komputer yang
biasanya hanya digunakan untuk akses internet oleh staff perpustakaan. Di ruang baca, tersedia tiga perangkat komputer lengkap dengan akses internet yang biasanya
digunakan oleh siswa untuk mencari materi di internet. Setiap kali ada peminjaman dan pengembalian buku, staff perpustakaan harus
mendata buku yang dipinjam dan anggota yang meminjam, demikian juga pada saat pengembalian buku.
3. 1. 2. Gambaran Umum Sistem Baru
Sistem baru yang ditawarkan menggunakan sistem yang berbasis web untuk pengunjung perpustakaan siswa dan guru serta sistem berbasis desktop untuk staff
perpustakaan. Pengunjung perpustakaan dapat melihat ketersediaan buku melalui web. Selain itu, pengunjung juga dapat melihat buku apa saja yang sedang dipinjam.
Pengunjung akan dikenakan denda jika ada buku yang sudah melewati batas tanggal
35
pengembalian. Pengunjung juga dapat memesan buku melalui web. Setelah memilih buku yang dipesan, pengunjung akan mendapatkan nomor pemesanan. Di
sisi lain, pengunjung perpustakaan juga akan mendapatkan informasi mengenai buku yang dipesan melalui SMS Gateway.
Dalam pendataan buku, staff perpustakaan akan menggunakan webcam sebagai scanner kode buku yang sebelumnya sudah dibuat dalam bentuk QR code.
Saat input data buku oleh admin, setelah semua data buku dimasukkan, program akan memberikan gambar QR code untuk kode buku yang sudah diinputkan.
Selanjutnya, admin akan menempelkan gambar QR code pada buku yang bersangkutan.
Setiap buku memiliki QR code yang berbeda tergantung pada kode buku yang diberikan. Setiap kali ada peminjaman atau pengembalian buku, staff
perpustakaan akan melakukan scan terhadap QR code lalu data buku akan diambil dari database, sehingga staff perpustakaan tidak perlu menginputkan data buku lagi.
Untuk anggota, admin dapat mencetak kartu anggota, dimana kartu anggota juga berisi QR Code untuk nomor induk dari anggota. Dengan demikian, staff
perpustakaan dapat melakukan scan terhadap kartu anggota untuk mendapatkan nomor induk dari anggota yang akan meminjam buku.
Dari sisi laporan, staff dapat mencetak laporan penambahan buku berdasarkan kategori buku atau tanggal masuk buku, laporan peminjaman buku,
laporan kondisi buku hilang atau rusak, laporan peminjaman buku cetak. Selain itu, staff juga dapat melihat data peminjaman yang bukunya harus dikembalikan
pada tanggal tertentu.
36
3. 1. 2. 1. Analisa Kebutuhan Pengguna
User yang terlibat dalam sistem ini : a.
Admin perpustakaan Admin bertugas untuk memasukkan data buku, kategori buku, penerbit
buku, pengarang dan data anggota. Untuk data anggota, admin dapat mencetak kartu anggota yang berisi nama, status dan nomor induk dari
anggota yang bersangkutan. Untuk buku, admin dapat mencetak kode buku yang berupa QR Code. Setelah QR Code tercetak, admin akan
menempelkan QR Code tersebut di buku. b.
Staff perpustakaan Staff bertugas untuk memasukkan data peminjaman, pengembalian dan
mengirimkan SMS info tentang pemesanan ke pengunjung yang sudah memesan buku. Staff juga dapat mencetak beberapa laporan seperti
laporan penambahan buku, laporan kondisi buku, laporan peminjaman buku serta laporan peminjaman buku cetak.
Dalam pendataan peminjaman buku, staff dapat melakukan
scan
terhadap kartu anggota untuk mendapatkan data peminjam dan
scan
QR Code untuk mendapatkan data buku.
c. Pengunjung perpustakaan
Pengunjung dapat mengakses web untuk melihat ketersediaan buku, melihat data buku yang sedang dipinjam serta memesan buku. Setelah
memesan buku, pengunjung dapat mendapatkan SMS info tentang buku yang dipesan berisi kode pemesanan, kode buku, kode copy jika ada.
Batas pengambilan buku setelah dua hari dari tanggal pemesanan. Jika
37
buku tidak diambil dalam waktu dua hari, maka data pemesanan akan dihapus. Pemesanan buku yang sama dapat dilakukan oleh beberapa
pengunjung sekaligus, yang menentukan siapa yang akan mendapatkan buku yang dipinjam adalah saat pengambilan buku di perpustakaan.
3. 1. 2. 2.
Use Case Diagram
3. 1. 2. 2. 1.
Use Case Diagram
DATA BUKU
Menambah data buku Mengedit data buku
Menghapus data buku Mencetak QR Code kode buku
Melihat data buku
Memesan buku
DATA PEMINJAMAN
Melihat data peminjaman Menambah data peminjaman
Mengedit data peminjaman Menghapus data peminjaman
Mencetak laporan peminjaman Mencetak data penambahan buku
Melihat kondisi buku Mengirimkan SMS pesanan buku
DATA ANGGOTA
Menambah data anggota Mengedit data anggota
Menghapus data anggota Melihat data anggota
Mencetak kartu anggota
DATA PENGEMBALIAN
Melihat data pengembalian Menambah data pengembalian
Mengedit data pengembalian Menghapus data pengembalian
Pengunjung Admin
Staff
Gambar 3. 1. Use Case Diagram
38
3. 1. 2. 2. 2. Narasi Use Case
Nama Use Case : Menambah data buku
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1. Aktor klik button “ADεIN”
2. Sistem menampilkan frame tambah buku
3. Aktor mengisikan data buku, klik button
“Tambah” 4.
Sistem menyimpan data buku dan menampilkan pesan “Data buku berhasil
ditambah” 5.
Aktor menambah data pengarang, klik button “Tambah” pada frame pengarang
6. Sistem menyimpan data pengarang dan
menampilkan data pengarang yang baru dimasukkan tadi ke tabel pengarang
SKENARIO ABNORMAL Kode buku tidak diisi
3. Aktor mengisikan data buku, tanpa
mengisikan kode buku 4.
Sistem menampilkan pesan “Kode buku harap diisi”
SKENARIO ABNORMAL Jumlah buku tidak diisi
3.
Aktor mengisikan data buku, tanpa mengisikan jumlah buku
4.
Sistem menampilkan pesan “Silahkan masukkan jumlah buku”
SKENARIO ABNORMAL Kode buku yang dimasukkan sudah ada di database
3.Aktor mengisikan data buku, kode buku yang diisikan sudah ada di database
4. Sistem menampilkan pesan “Kode buku
yang dimasukkan sudah ada ”
SKENARIO ABNORMAL Kode pengarang atau nama pengarang tidak diisi
5.
Aktor menambah data pengarang, tanpa mengisikan kode pengarang atau nama
pengarang 6.Sistem menampilkan pesan “Kode dan
nama pengarang harap diisi”
SKENARIO ABNORMAL Kode pengarang yang dimasukkan sudah ada di database
5.Aktor menambah data pengarang, dengan kode pengarang sudah ada di database
6.Sistem menampilkan
pesan “Kode pengarang yang dimasukkan sudah ada”
39
Nama Use Case : Mengedit data buku
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor pilih menu Buku 2.Sistem menampilkan submenu Buku
3.Aktor pilih menu Edit Hapus 4.Sistem menampilkan frame Edit Hapus
Buku 5.Aktor
memasukkan kode
buku berdasarkan buku yang akan diedit, klik
button “Cari” 6.Sistem menampilkan data-data buku sesuai
dengan kode yang sudah dimasukkan 7.Aktor edit data yang diinginkan, klik
button “Edit” 8.Sistem update data sesuai dengan data yang
sudah dimasukkan
ke database
dan menampilkan pesan “Data buku berhasil
diupdate”
SKENARIO ABNORMAL keyword kode buku tidak dimasukkan
5.Aktor tidak memasukkan keyword kode buku, lalu klik button “Cari”
6.Sistem menampilkan pesan “Silahkan masukkan keyword kode buku untuk
mencari data buku ”
40
Nama Use Case : Menghapus data buku
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor pilih menu Buku 2.Sistem menampilkan submenu Buku
3.Aktor pilih menu Edit Hapus 4.Sistem menampilkan frame Edit Hapus
Buku 5.Aktor
memasukkan kode
buku berdasarkan buku yang akan dihapus, klik
button “Cari” 6.Sistem menampilkan data-data buku sesuai
dengan kode yang sudah dimasukkan 7.Aktor
klik button “Hapus” 8.Sistem menampikan pesan konfirmasi
untuk menghapus data buku 9.Aktor klik button “Yes”
10.Sistem menghapus data dari database menampilkan pesan “Data buku berhasil
dihapus”
SKENARIO ABNORMAL keyword kode buku tidak dimasukkan
5.Aktor tidak memasukkan keyword kode buku, lalu klik button “Cari”
6.Sistem menampilkan pesan “Silahkan masukkan keyword kode buku untuk
mencari buku yang akan dihapus ”
SKENARIO ABNORMAL masih ada peminjaman terhadap buku yang dihapus
7.Aktor klik button “Hapus” 8.Sistem menampilkan pesan bahwa masih
ada peminjaman terhadap buku yang dipilih
41
Nama Use Case : Mencetak QR Code kode buku
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih menu Buku, submenu Cetak QR Kode Buku
2.Sistem menampilkan frame Cetak QR Code
3.Aktor memilih kode buku dari tabel kiri tabel pertama dengan klik kiri pada tabel
buku, lalu klik kanan pilih “Tambah”
4.Sistem menampilkan data buku sesuai dengan buku yang dipilih
5. Aktor klik button “PRINT”
6.Sistem menampikan JasperViewer dari QR Code berdasarkan kode yang sudah dipilih
SKENARIO ABNORMAL buku yang dipilih lebih dari 12
3.Aktor memilih kode buku lebih dari 12 4.Sistem menampilkan data buku sesuai
dengan buku yang dipilih 5.Aktor klik button “PRINT”
6.Sistem menampilkan pesan “Buku yang dipilih tidak boleh lebih dari 12
”
42
Nama Use Case : Melihat data buku
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih menu Buku, Submenu Lihat 2.Sistem menampilkan frame Lihat buku
3.Aktor memilih buku yang diinginkan 4.Sistem menampilkan data-data buku
Nama Use Case : Melihat data buku
Aktor : Pengunjung
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih menu search 2.Sistem menampilkan halaman Search
3.Aktor memilih
kategori pencarian,
memasukkan keyword, klik button Submit 4.Sistem menampilkan data-data buku
SKENARIO ABNORMAL tidak memasukkan keyword
3.Aktor klik
button Submit
tanpa memasukkan keyword
4.Sistem menampilkan pesan “Keyword harap diisi”
43
Nama Use Case : Melihat kondisi buku
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih button Kondisi Buku pada Panel Print
2.Sistem menampilkan frame Kondisi buku 3.Aktor memilih jenis buku
4.Sistem menampilkan data buku yang kondisinya hilang dan rusak berdasarkan
jenis buku yang dipilih
5.Aktor klik checkbox Pilih Kondisi 6.Sistem menampilkan pilihan kondisi :
Hilang dan Rusak 7.Aktor memilih kondisi
8. Sistem menampilkan data buku yang kondisinya hilang atau rusak sesuai dengan
pilihan aktor berdasarkan jenis buku yang sudah dipilih
Nama Use Case : Mengirimkan SMS pesanan buku
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih button SMS pada panel Pemesanan Buku
2.Sistem menampilkan frame Data Pesanan Buku
3.Aktor klik button Kirim 4.Sistem mengirimkan SMS
SKENARIO ABNORMAL tidak ada pesan
3.Aktor klik button Kirim dengan kondisi tabel kosong tidak ada pemesanan
4.Sistem menampilkan pesan “Tidak ada pesan”
44
Nama Use Case : Mencetak data pesanan buku
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih button Penambahan Buku pada Panel Print
2.Sistem menampilkan
frame Data
Penambahan Buku 3.Aktor memilih data penambahan buku
berdasarkan kategori buku atau tanggal masuk
4.Sistem menampilkan
panel data
penambahan buku
berdasarkan jenis
penambahan yang dipilih 5.Aktor klik button Print
6.Sistem menampilkan JasperViewer untuk data penambahan buku
Nama Use Case : Memesan buku
Aktor : Pengunjung
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih menu Search 2.Sistem menampilkan menu Search
3.Aktor memilih jenis pencarian data, masukkan keyword dan klik Submit
4.Sistem menampilkan data-data buku 5.Aktor klik Details
6.Sistem menampilkan data rinci buku 7.Aktor klik Order Now
8.Sistem menampilkan form Order Now 9.Aktor memasukkan nomor induk, klik
button Order
45
10.Sistem menyimpan data pesanan ke database dan menampilkan pesan mengenai
data pemesanan
SKENARIO ABNORMAL keyword tidak diisi
3.Aktor klik Submit tanpa memasukkan keyword
4.Sistem menampilkan pesan “Keyword harap diisi”
SKENARIO ABNORMAL nomor induk tidak diisi
9.Aktor klik
button Order
tanpa memasukkan nomor induk
10.Sistem menampilkan pesan “Nomor induk harap diisi”
Nama Use Case : Melihat data peminjaman
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Lihat pada panel Peminjaman
2.Sistem menampilkan frame Lihat data peminjaman
3.Aktor memilih
periode tanggal
peminjaman,klik button OK 4.Sistem menampilkan data peminjaman
berdasarkan tanggal pinjam untuk periode yang sudah dipilih
SKENARIO ABNORMAL tanggal awal tidak dipilih
3.Aktor mengisi tanggal akhir, tetapi tanggal awal tidak diisi,klik button OK
4.Sistem menampilkan pesan “Silahkan pilih tanggal awal”
SKENARIO ABNORMAL tanggal akhir tidak dipilih
3.Aktor mengisi tanggal awal, tetapi tanggal akhir tidak diisi,klik button OK
4.Sistem menampilkan pesan “Silahkan pilih tanggal akhir”
46
Nama Use Case : Menambah data peminjaman
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Lihat pada panel Peminjaman
2.Sistem menampilkan frame Input data peminjaman
3.Aktor pilih radio button Scan kode buku atau Scan nomor induk
4.Sistem menampilkan panel Scan via Webcam
5.Aktor klik button Scan via Webcam 6.Sistem menampilkan frame webcam
7.Aktor menunjukkan QR Code dari kode buku yang akan dipinjam ke depan webcam
8.Sistem melakukan scanning QR Code dan menampilkan hasil scanning di field kode
buku
9.Aktor menekan button Enter atau klik tombol Enter pada
keyboard
10.Sistem mencari
data buku
dan menampilkan data buku
11.Aktor pilih radio button Scan nomor induk, dan menunjukkan kartu anggota ke
depan webcam
12.Sistem melakukan scanning QR Code kartu anggota dan menampilkan hasil
scanning di field nomor NISNIP
13.Aktor menekan button Enter atau klik button Enter pada
keyboard
14.Sistem mencari data anggota dan menampilkan data anggota
15.Aktor memasukkan tanggal pinjam dan tanggal harus kembali, lalu klik button
Tambah
16.Sistem menyimpan data peminjaman ke database dan menampilkan pesan “Data
peminjaman berhasil ditambah”
SKENARIO ABNORMAL data buku tidak ada
47
9.Aktor menekan button Enter atau klik tombol Enter pada
keyboard
10.Sistem menampilkan pesan “Data buku tidak ditemukan”
SKENARIO ABNORMAL data anggota tidak ada
13.Aktor menekan button Enter atau klik button Enter pada
keyboard
14.Sistem mencari pesan “Data user tidak ditemukan”
SKENARIO ABNORMAL ada data yang belum terisi
15.Aktor belum memasukkan semua data klik button Tambah
16.Sistem menampilkan pesan “εasih ada data yang kosong”
Nama Use Case : Mengedit data peminjaman
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Edit Hapus pada panel Peminjaman
2.Sistem menampilkan frame Edit Hapus Data Peminjaman
3.Aktor memilih buku yang akan diedit, klik kanan pilih Edit
4.Sistem menampilkan
data-data peminjaman sesuai dengan buku yang sudah
dipilih 5.Aktor edit data peminjaman, klik button
Edit 6.Sistem menyimpan data peminjaman yang
sudah diedit dan menampilkan pesan “Data peminjaman berhasil diedit”
48
Nama Use Case : Menghapus data peminjaman
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Edit Hapus pada panel Peminjaman
2.Sistem menampilkan frame Edit Hapus Data Peminjaman
3.Aktor memilih buku yang akan dihapus, klik kanan pilih Hapus
4.Sistem menampilkan pesan konfirmasi mengenai data peminjaman yang akan
dihapus
5.Aktor klik button Yes 6.Sistem menghapus data peminjaman
Nama Use Case : Mencetak laporan peminjaman
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih button Peminjaman Buku pada panel Print
2.Sistem menampilkan frame Lihat data peminjaman
3.Aktor memilih
periode tanggal
peminjaman,klik button Print 4.Sistem menampilkan JasperViewer berisi
data peminjaman
berdasarkan tanggal
pinjam untuk periode yang sudah dipilih
SKENARIO ABNORMAL tanggal awal tidak dipilih
3.Aktor mengisi tanggal akhir, tetapi tanggal awal tidak diisi,klik button Print
4.Sistem menampilkan pesan “Silahkan pilih tanggal awal”
SKENARIO ABNORMAL tanggal akhir tidak dipilih
49
3.Aktor mengisi tanggal awal, tetapi tanggal akhir tidak diisi,klik button Print
4.Sistem menampilkan pesan “Silahkan pilih tanggal
akhir”
Nama Use Case : Menambah data anggota
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih
menu Pengunjung,
submenu Tambah 2.Sistem menampilkan frame Tambah User
3.Aktor mengisikan data anggota, klik button Tambah
4.Sistem menyimpan data anggota ke database dan menampilkan pesan “Data
pengunjung user berhasil disimpan ”
SKENARIO ABNORMAL nama dan nomor induk tidak diisi
3.Aktor tidak mengisikan nomor induk atau nama anggota, klik button Tambah
4.Sistem menampilkan pesan “εasih ada
data yang kosong”
SKENARIO ABNORMAL nomor induk yang diisi sudah ada
3.Aktor mengisikan nomor induk yang sudah ada di database, klik button Tambah
4.Sistem menampilkan pesan “NIS NIP yang dimasukkan sudah ada”
Nama Use Case : Mengedit data anggota
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih
menu Pengunjung,
submenu Edit Hapus 2.Sistem menampilkan frame Edit Hapus
User
50
3.Aktor memilih anggota yang akan diedit datanya, klik kiri tabel lalu klik kanan pilih
Edit
4.Sistem menampilkan data-data anggota 5.Aktor edit data, lalu klik button Edit
6.Sistem update data ke database lalu menampilkan pesan “Data pengunjung user
berhasil diupdate”
Nama Use Case : Menghapus data anggota
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih
menu Pengunjung,
submenu Edit Hapus 2.Sistem menampilkan frame Edit Hapus
User 3.Aktor memilih anggota yang akan dihapus
datanya, klik kiri tabel lalu klik kanan pilih Hapus
4.Sistem menampilkan data-data anggota 5.Aktor klik button Hapus
6.Sistem menampilkan pesan konfirmasi untuk hapus data anggota
7.Aktor klik button Yes 8.Sistem menghapus data dari database dan
menampilkan pesan “Data pengunjung user berhasil dihapus
”
Nama Use Case : Melihat data anggota
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor memilih
menu Pengunjung,
submenu Lihat
51
2.Sistem menampilkan semua data anggota 3.Aktor memilih jenis pencarian dan
memasukkan keyword 4.Sistem menampilkan data sesuai dengan
pilihan dan keyword yang dipilih aktor
Nama Use Case : Mencetak kartu anggota
Aktor : Admin
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor pilih menu Pengunjung, submenu Cetak Kartu Anggota
2.Sistem menampilkan frame Cetak Kartu Anggota
3.Aktor memilih anggota yang akan dicetak kartu anggotanya, klik button Tambah
4.Sistem menampilkan data yang dipilih di tabel di sebelah kanan
5.Aktor klik button Print 6.Sistem menampilkan JasperViewer untuk
data anggota yang sudah dipilih
SKENARIO ABNORMAL kartu anggota yang dipilih lebih dari 9
3.Aktor memilih anggota lebih dari sembilan klik button Tambah
4.Sistem menampilkan pesan “Kartu anggota yang dipilih tidak boleh lebih dari 9
”
Nama Use Case : Melihat data pengembalian
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Lihat pada panel Pengembalian
2.Sistem menampilkan frame Lihat data pengembalian
3.Aktor memilih periode tanggal kembali, klik button OK
52
4.Sistem menampilkan data pengembalian berdasarkan tanggal kembali untuk periode
yang sudah dipilih
SKENARIO ABNORMAL tanggal awal tidak dipilih
3.Aktor mengisi tanggal akhir, tetapi tanggal awal tidak diisi,klik button OK
4.Sistem menampilkan pesan “Silahkan pilih
tanggal awal”
SKENARIO ABNORMAL tanggal akhir tidak dipilih
3.Aktor mengisi tanggal awal, tetapi tanggal akhir tidak diisi,klik button OK
4.Sistem menampilkan pesan “Silahkan pilih tanggal akhir”
Nama Use Case : Menambah data pengembalian
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Tambah pada panel Pengembalian
2.Sistem menampilkan frame Input Data Pengembalian
3.Aktor klik button Scan via Webcam 4.Sistem menampilkan frame webcam
5.Aktor menunjukkan QR Code kode buku yang akan dikembalikan ke webcam
6.Sistem melakukan
scanning
QR Code dan menampilkan hasil
scanning
di field kode buku
7.Aktor klik Enter pada
keyboard
8.Sistem menampilkan data peminjaman berdasarkan
kode buku
yang sudah
diinputkan 9.Aktor klik button Hitung Denda
10.Sistem menampilkan pesan konfirmasi untuk mengubah denda
11.Aktor klik button No 12.Sistem menampilkan denda
13.Aktor klik button Tambah 14.Sistem menyimpan data pengembalian ke
database dan menampilkan pesan “Data pengembalian berhasil disimpan
”
53
SKENARIO ABNORMAL tidak ada peminjaman dengan kode buku yang diinputkan
7.Aktor klik Enter pada
keyboard
8.Sistem menampilkan pesan “Data peminjaman tidak ditemukan”
SKENARIO ABNORMAL mengubah nominal denda
9.Aktor klik button Hitung Denda 10.Sistem menampilkan pesan konfirmasi
untuk mengubah denda 11.Aktor klik button Yes
12.Sistem menampilkan panel denda 13.Aktor mengisikan jumlah nominal denda
yang diinginkan, klik button OK 14.Sistem menampilkan denda pada field
denda di panel pengembalian 15.Aktor klik button Tambah
16.Sistem menyimpan data pengembalian ke database dan menampilkan pesan “Data
pengembalian berhasil disimpan ”
SKENARIO ABNORMAL mengubah nominal denda dengan huruf
9.Aktor klik button Hitung Denda 10.Sistem menampilkan pesan konfirmasi
untuk mengubah denda 11.Aktor klik button Yes
12.Sistem menampilkan panel denda 13.Aktor mengisikan jumlah nominal denda
dengan huruf 14.Sistem menampilkan
pesan “Denda harus berupa angka”
SKENARIO ABNORMAL kode buku atau nomor induk tidak terisi
13.Aktor klik button Tambah dengan kode buku atau nomor induk tidak diisi
14.Sistem menampilkan pesan “εasih ada data yang kosong”
Nama Use Case : Mengedit data pengembalian
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Edit Hapus pada panel Pengembalian
2.Sistem menampilkan frame Edit Hapus Data Pengembalian
54
3.Aktor memilih buku yang akan diedit, klik kanan pilih Edit
4.Sistem menampilkan
data-data pengembalian sesuai dengan buku yang
sudah dipilih 5.Aktor edit data pengembalian, klik button
Edit 6.Sistem menyimpan data pengembalian
yang sudah diedit dan menampilkan pesan “Data pengembalian berhasil diedit”
Nama Use Case : Menghapus data pengembalian
Aktor : Staff
Aksi Aktor Reaksi Sistem
SKENARIO NORMAL
1.Aktor klik button Edit Hapus pada panel Pengembalian
2.Sistem menampilkan frame Edit Hapus Data Pengembalian
3.Aktor memilih buku yang akan dihapus, klik kanan pilih Hapus
4.Sistem menampilkan pesan konfirmasi mengenai data pengembalian yang akan
dihapus
5.Aktor klik button Yes 6.Sistem menghapus data pengembalian
55
3. 1. 3. Pemodelan Proses
Data Flow Diagram
3. 1. 3. 1. Diagram konteks
Context Diagram
Gambar 3. 2. Diagram konteks
Context Diagram
56
3. 1. 3. 2. Diagram Berjenjang
Hierarchy Chart
Gambar 3. 3. Diagram Berjenjang
Hierarchy Chart
57
3. 1. 3. 3. Overview DFD
Gambar 3. 4. Overview DFD
58
3. 1. 3. 4. DFD Level 2 Proses 1
Gambar 3. 5. DFD Level 2 Proses 1
59
3. 1. 3. 5. DFD Level 2 Proses 2
Gambar 3. 6. DFD Level 2 Proses 2
60
3. 1. 3. 6. DFD Level 2 Proses 3
Gambar 3. 7. DFD Level 2 Proses 3
61
3. 1. 3. 7. DFD Level 2 Proses 4
Gambar 3. 8. DFD Level 2 Proses 4
62
3. 2. Perancangan Sistem 3. 2. 1. Perancangan Basis Data
3. 2. 1. 1.
Database Conceptual Design
Gambar 3. 9. ER Diagram
Pengunjung Buku
Pengarang p
Pinjam
Karang
p Copy
Punya
p p
p
Punya Punya
Kategori
Penerbit
kodeBuku
judul keterangan
ISBN
jenisPenerimaan status
nama
tglMasuk kelas
alamat status
nohp nisnip
kodepemesanan denda
tglPinjam tglKembali
tglHarusKembal i
statusPeminjaman kondisi
kodeCopy idKategori
namaKategori
kodePengarang namaPengarang
tglLahir tempatLahir
noTelp
alamat email
fax emailPenerbit
kodePenerbit namaPenerbit
noTelp alamatPenerbit
1..
1.. 1..1
1..
1..
1..1 1..
1.. 1..
1..1 kodebuku
63
3. 2. 1. 2.
Database Logical Design
Buku
PK kodeBuku
judul keterangan
isbn
penerbit {FK}
jenispenerimaan
kategori {FK}
status tglMasuk
Pengunjung
PK nisnip
nama nohp
alamat status
kelas Copy
PK kodecopy
kondisi
kodebuku {FK}
Kategori
PK idkategori
namakategori
Pengarang
PK kodepengarang
namapengarang tglLahir
tempatLahir noTelp
alamat emailPengarang
Penerbit
PK kodePenerbit
namaPenerbit alamatPenerbit
emailPenerbit fax
noTelp Peminjaman
tglPinjam {PK} nisnip {PK}
kodecopy {PK} tglKembali
tglHarusKembali kodePemesanan
statusPeminjaman denda
kodebuku PengarangBuku
kodePengarang {FK} kodeBuku {FK}
Gambar 3. 10. Database Logical Design
64
3. 2. 1. 3.
Database Physical Design
1. Tabel Buku
Nama Field Tipe
Keterangan
kodebuku varchar 100
Primary key
untuk tabel buku judul
varchar 200 Field untuk judul buku
keterangan varchar 3000
Field untuk keterangan sinopsis isbn
varchar 50 Field untuk ISBN buku
jenisPenerimaan varchar 50 Field untuk jenis penerimaan buku
penerbit varchar 100
Foreign key
untuk menghubungkan ke tabel Penerbit
kategori varchar 100
Foreign key
untuk menghubungkan ke tabel Kategori
tglMasuk date
Field untuk tanggal masuk buku Tabel 3. 1. Tabel Buku
2. Tabel Copy
Nama Field Tipe
Keterangan
kodebuku varchar 100
Foreign key
untuk menghubungkan ke tabel Buku
kodecopy varchar 100
Primary key
untuk tabel copy, isinya kode buku ditambah copy dari buku
kondisi varchar 100
Field untuk kondisi buku Tabel 3. 2. Tabel Copy
3. Tabel Kategori
Nama Field Tipe
Keterangan
idkategori varchar 100
Primary key
untuk tabel kategori namakategori
varchar 100 Field untuk nama kategori
Tabel 3. 3. Tabel Kategori 4.
Tabel Peminjaman
Nama Field Tipe
Keterangan
tglPinjam date
Field untuk tanggal pinjam tglKembali
date Field untuk tanggal kembali
tglHarusKembali date
Field untuk tanggal harus kembali nisnip
varchar 100
Foreign key
untuk menghubungkan ke tabel Pengunjung
65
denda int 11
Field untuk denda peminjaman yang melebihi batas peminjaman
kodepemesanan varchar 100
Field untuk kode pemesanan statuspeminjaman varchar 50
Field untuk status peminjaman kodecopy
varchar 100
Foreign key
untuk menghubungkan ke tabel Copy
tglpesan date
Field untuk tanggal pesan kodebuku
varchar 100
Alternate key
dari tabel copy Tabel 3. 4. Tabel Peminjaman
5. Tabel Penerbit
Nama Field Tipe
Keterangan
kodepenerbit varchar 100
Primary key
untuk tabel penerbit namapenerbit
varchar 100 Field untuk nama penerbit
alamatpenerbit varchar 200
Field untuk alamat penerbit emailpenerbit
varchar 40 Field untuk email penerbit
fax varchar 40
Field untuk nomor fax penerbit notelp
varchar 40 Field untuk nomor telepon penerbit
Tabel 3. 5. Tabel Penerbit
6. Tabel Pengarang
Nama Field Tipe
Keterangan
kodepengarang varchar 100
Primary key
untuk tabel pengarang namapengarang
varchar 100 Field untuk nama pengarang
tempatLahir varchar 100
Field untuk tempat lahir pengarang notelp
varchar 50 Field untuk nomor telepon pengarang
alamat varchar 100
Field untuk alamat pengarang emailpengarang
varchar 50 Field untuk email pengarang
tglLahir date
Field untuk tanggal lahir pengarang Tabel 3. 6. Tabel Pengarang
7. Tabel Pengarangbuku
Nama Field Tipe
Keterangan
kodepengarang varchar 100
Foreign key
untuk menghubungkan ke tabel Pengarang
kodebuku varchar 100
Foreign key
untuk menghubungkan ke tabel Buku
Tabel 3. 7. Tabel Pengarang Buku
66
8. Tabel Pengunjung
Nama Field Tipe
Keterangan
nisnip varchar 50
Primary key
untuk tabel pengunjung nama
varchar 100 Field untuk nama pengunjung user anggota
kelas varchar 20
Field untuk kelas pengunjung user anggota alamat
varchar 200 Field untuk alamat pengunjung user
anggota nohp
varchar 20 Field untuk nomor
handphone
pengunjung user anggota
status varchar 20
Field untuk status pengunjung user anggota
Tabel 3. 8. Tabel Pengunjung
9. Tabel sms
Nama Field Tipe
Keterangan
nohp varchar 30
Field untuk nomor
handphone
pesan varchar 400
Field untuk pesan Tabel 3. 9. Tabel SMS
3. 2. 2. Perancangan Interface 3. 2. 2. 1. Menu Utama
Gambar 3. 11. Interface Menu Utama untuk user Admin dan Staff
67
3. 2. 2. 2. Admin
3. 2. 2. 2. 1. Tampilan Frame Tambah Buku
Gambar 3. 12. Interface Tambah Buku
68
3. 2. 2. 2. 2. Tampilan Frame Edit Hapus Buku
Gambar 3. 13. Interface EditHapus Buku
3. 2. 2. 2. 3. Tampilan Frame Lihat Buku
Gambar 3. 14. Interface Lihat Buku
69
3. 2. 2. 2. 4. Tampilan Frame Cetak QR Kode buku
Gambar 3. 15. Interface Cetak QR Kode buku
3. 2. 2. 2. 5. Tampilan Frame Tambah data pengunjung
Gambar 3. 16. Interface Tambah Data Pengunjung
70
3. 2. 2. 2. 6. Tampilan Frame Edit Hapus data pengunjung
Gambar 3. 17. Interface EditHapus Data Pengunjung
3. 2. 2. 2. 7. Tampilan Frame Lihat data pengunjung
Gambar 3. 18. Interface Lihat Data Pengunjung
71
3. 2. 2. 2. 8. Tampilan Frame Cetak Kartu Anggota
Gambar 3. 19. Interface Cetak Kartu Anggota
3. 2. 2. 2. 9. Tampilan Frame Tambah data penerbit
Gambar 3. 20. Interface Tambah Data Penerbit
72
3. 2. 2. 2. 10. Tampilan Frame Edit Hapus data penerbit
Gambar 3. 21. Interface Edithapus Data Penerbit
3. 2. 2. 2. 11. Tampilan Frame Lihat data penerbit
Gambar 3. 22. Interface Lihat Data Penerbit
73
3. 2. 2. 2. 12. Tampilan Frame Tambah data kategori
Gambar 3. 23. Interface Tambah Data Kategori
3. 2. 2. 2. 13. Tampilan Frame Edit Hapus data kategori
Gambar 3. 24. Interface Edithapus Data Kategori
74
3. 2. 2. 2. 14. Tampilan Frame Lihat data kategori
Gambar 3. 25. Interface Lihat Data Kategori
3. 2. 2. 3. Staff 3. 2. 2. 3. 1. Home Staff
Gambar 3. 26. Interface Home Staff
75
3. 2. 2. 3. 2. Tampilan Frame Tambah Peminjaman
Gambar 3. 27. Interface Tambah Peminjaman
3. 2. 2. 3. 3. Tampilan Frame Lihat Peminjaman
Gambar 3. 28. Interface Lihat Peminjaman
76
3. 2. 2. 3. 4. Tampilan Frame Edit Hapus Peminjaman
Gambar 3. 29. Interface Edithapus Peminjaman
3. 2. 2. 3. 5. Tampilan Frame Tambah Peminjaman Buku Cetak
Gambar 3. 30. Interface Tambah Peminjaman Buku Cetak
77
3. 2. 2. 3. 6. Tampilan Frame Tambah Pengembalian
Gambar 3. 31. Interface Tambah Pengembalian
3. 2. 2. 3. 7. Tampilan Frame Lihat Pengembalian
Gambar 3. 32. Interface Lihat Pengembalian
78
3. 2. 2. 3. 8. Tampilan Frame Edit Hapus Pengembalian
Gambar 3. 33. Interface Edithapus Pengembalian
3. 2. 2. 3. 9. Tampilan Frame Tambah Pengembalian Buku Cetak
Gambar 3. 34. Interface Tambah Pengembalian Buku Cetak
79
3. 2. 2. 3. 10. Tampilan Frame SMS
Gambar 3. 35. Interface Kirim SMS
3. 2. 2. 3. 11. Tampilan Frame Tambah Peminjaman berdasarkan pemesanan
Gambar 3. 36. Interface Tambah Peminjaman berdasarkan Pemesanan
80
3. 2. 2. 3. 12. Tampilan Frame Laporan Penambahan Buku
Gambar 3. 37. Interface Laporan Penambahan Buku
3. 2. 2. 3. 13. Tampilan Frame Laporan Peminjaman Buku Cetak
Gambar 3. 38. Interface Laporan Peminjaman Buku Cetak
81
3. 2. 2. 3. 14. Tampilan Frame Laporan Peminjaman yang harus
dikembalikan pada tanggal tertentu
Gambar 3. 39. Interface Laporan Peminjaman yang Harus Dikembalikan pada Tanggal Tertentu
3. 2. 2. 3. 15. Tampilan Frame Laporan Kondisi Buku
Gambar 3. 40. Interface Laporan Kondisi Buku
82
3. 2. 2. 4. Pengunjung 3. 2. 2. 4. 1. Tampilan Halaman Utama
Gambar 3. 41. Interface Halaman Utama untuk user Pengunjung
3. 2. 2. 4. 2. Tampilan Halaman Pencarian data buku
Gambar 3. 42. Interface Halaman Pencarian Data Buku
83
3. 2. 2. 4. 3. Tampilan Halaman Daftar Peminjaman
Gambar 3. 43. Interface Halaman Daftar Peminjaman 1
Gambar 3. 44. Interface Halaman Daftar Peminjaman 2
84
3. 2. 2. 4. 4. Tampilan Halaman Tentang Perpustakaan
Gambar 3. 45. Interface Tentang Perpustakaan
3. 2. 2. 4. 5. Tampilan Halaman Tentang Lokasi Sekolah
Gambar 3. 46. Interface Tentang Lokasi Sekolah
85
3. 2. 2. 4. 6. Tampilan Halaman Rinci Buku
Gambar 3. 47. Interface Halaman Rinci Buku
3. 2. 2. 4. 7. Tampilan Halaman Pemesanan Buku
Gambar 3. 48. Interface Halaman Pemesanan Buku
86
BAB IV IMPLEMENTASI SISTEM
4. 1. Spesifikasi Perangkat Keras dan Perangkat Lunak
Perangkat keras yang digunakan untuk membangun sistem adalah sebagai berikut : Processor
: Intel Core i5 Harddisk
: 750 GB Memory
: 4 GB Modem
: ZTE MF180 Webcam
: ASUS USB2.0 Webcam Perangkat lunak yang digunakan untuk membangun sistem adalah sebagai berikut :
Sistem Operasi : Windows 7 64 bit
Bahasa Pemrograman : Java
DBMS : MySQL
Tools SMS : SMSLib
Tools QR Code : BarcodeLib
4. 2. Implementasi Basis Data
Pada tahap ini dilakukan pembangunan basis data menggunakan MySQL untuk menunjang sistem yang dibangun. Basis data yang dibangun terdiri dari tabel-tabel
yang telah dirancang pada bab sebelumnya.
87
Berikut
query
yang digunakan untuk membuat
database
dengan nama perpus beserta tabel-tabel di dalamnya :
CREATE DATABASE IF NOT EXISTS `perpus`; CREATE TABLE `buku`
`kodebuku` varchar100, `judul` varchar200,
`keterangan` varchar3000, `isbn` varchar50,
`jenisPenerimaan` varchar50, `penerbit` varchar100,
`kategori` varchar100, `tglMasuk` date DEFAULT NULL,
PRIMARY KEY `kodebuku`, KEY `FK_buku_kategori` `kategori`,
KEY `FK_buku_penerbit` `penerbit`, CONSTRAINT `FK_buku_kategori` FOREIGN KEY `kategori` REFERENCES
`kategori` `idkategori`, CONSTRAINT `FK_buku_penerbit` FOREIGN KEY `penerbit` REFERENCES
`penerbit` `kodepenerbit` ;
CREATE TABLE `copy` `kodecopy` varchar100,
`kondisi` varchar100, `kodebuku` varchar100,
PRIMARY KEY `kodecopy`, KEY `FK_copy_kdbuku` `kodebuku`,
CONSTRAINT `FK_copy_kdbuku` FOREIGN KEY `kodebuku` REFERENCES `buku` `kodebuku`
; CREATE TABLE `kategori`
`idkategori` varchar100, `namakategori` varchar100,
PRIMARY KEY `idkategori` ;
`denda` int11 DEFAULT NULL,
88
CREATE TABLE `peminjaman` `tglPinjam` date DEFAULT NULL,
`tglKembali` date DEFAULT NULL, `tglHarusKembali` date DEFAULT NULL,
`nisnip` varchar100, `kodeBuku` varchar100,
`denda` int11 DEFAULT NULL, `kodepemesanan` varchar100,
`statuspeminjaman` varchar50, `kodecopy` varchar100,
`tglpesan` date DEFAULT NULL, KEY `FK_peminjaman_buku` `kodeBuku`,
KEY `FK_peminjaman_user` `nisnip`, KEY `FK_peminjaman_copybuku` `kodecopy`,
CONSTRAINT `FK_peminjaman_buku` FOREIGN KEY `kodeBuku` REFERENCES `buku` `kodebuku`,
CONSTRAINT `FK_peminjaman_copybuku` FOREIGN KEY `kodecopy` REFERENCES `copy` `kodecopy`,
CONSTRAINT `FK_peminjaman_user` FOREIGN KEY `nisnip` REFERENCES `pengunjung` `nisnip`
; CREATE TABLE `penerbit`
`kodepenerbit` varchar100, `namapenerbit` varchar100,
`alamatpenerbit` varchar200, `emailpenerbit` varchar40,
`fax` varchar40, `notelp` varchar40,
PRIMARY KEY `kodepenerbit` ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `sms` `nohp` varchar30,
`pesan` varchar400 ;
89
CREATE TABLE `pengarang` `kodepengarang` varchar100,
`namapengarang` varchar100, `tempatLahir` varchar100,
`notelp` varchar50, `alamat` varchar100,
`emailpengarang` varchar50, `tglLahir` date DEFAULT NULL,
PRIMARY KEY `kodepengarang` ;
CREATE TABLE `pengarangbuku` `kodepengarang` varchar100,
`kodebuku` varchar100, KEY `FK_pengarangbuku_kBuku` `kodebuku`,
KEY `FK_pengarangbuku_pengarang` `kodepengarang`, CONSTRAINT `FK_pengarangbuku_kBuku` FOREIGN KEY `kodebuku`
REFERENCES `buku` `kodebuku`, CONSTRAINT `FK_pengarangbuku_pengarang` FOREIGN KEY `kodepengarang`
REFERENCES `pengarang` `kodepengarang` ;
CREATE TABLE `pengunjung` `nisnip` varchar50,
`nama` varchar100, `kelas` varchar20,
`alamat` varchar200, `nohp` varchar20,
`status` varchar20 PRIMARY KEY `nisnip` ;
90
4. 3. Implementasi Kelas Model
4.3.1 Kelas Kategori
4.3.2 Kelas PengarangBuku
Kategori - idkategori
: String - namakategori
: String + setIdkategoriString : void
+ getIdkategori : String
+ setNamaKategoriString : void + getNamaKategori
: String
PengarangBuku - kodebuku
: Buku - kodepengarang
: Pengarang + setKodebukuBuku
: void + getKodebuku
: Buku + setKodePengarangPengarang : void
+ getKodePengarang : Pengarang
Pengunjung Buku
Pengarang
Copy Kategori
Penerbit
Peminjaman PengarangBuku
Gambar 4. 1 Diagram Kelas
91
4.3.3 Kelas Penerbit
4.3.4 Kelas Pengarang
Penerbit - kodepenerbit : String
- namapenerbit : String
- alamatpenerbit : String - emailpenerbit
: String - fax
: String - notelp
: String + setKodepenerbitString : void
+ getKodePenerbit : String + setNamapenerbitString : void
+ getNamapenerbit
: String + setAlamatpenerbitString : void
+ getAlamatpenerbit : String
+ setFaxString : void
+ getFax : String
+ setNotelpString : void
+ getNotelp : String
Pengarang - kodepengarang : String
- namapengarang : String - tempatlahir
: String - alamat
: String - emailpengarang : String
- notelp : String
- tglLahir : Date
+ setKodepengarangString : void + getKodePengarang : String
+ setNamapengarangString : void + getNamapengarang
: String + setTempatlahirString
: void + getTempatlahir
: String + setAlamatString
: void + getAlamat
: String + setEmailpengarangString : void
+ getEmailpengarang : String
+ setNotelpString : void
+ getNotelp : String
+ setTglLahirDate : void
+ getTglLahir : Date
92
4.3.5 Kelas Pengunjung