• Tidak ada hasil yang ditemukan

Pengembangan Aplikasi Statistik Perpustakaan Menggunakan Model-View-Controller (Studi Kasus Perpustakaan IPB)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Aplikasi Statistik Perpustakaan Menggunakan Model-View-Controller (Studi Kasus Perpustakaan IPB)"

Copied!
128
0
0

Teks penuh

(1)

PENGEMBANGAN APLIKASI STATISTIK PERPUSTAKAAN

MENGGUNAKAN

MODEL-VIEW-CONTROLLER

(STUDI KASUS PERPUSTAKAAN IPB)

Oleh:

Firmansyah

G64102053

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

ABSTRAK

FIRMANSYAH. Pengembangan Aplikasi Statistik Perpustakaan menggunakan Model-View-Controller (Studi Kasus Perpustakaan IPB). Dibimbing oleh AGUS BUONO dan IRMAN HERMADI.

Statistik perpustakaan merupakan bagian dari laporan kegiatan pelaksanaan suatu perpustakaan. Statistik perpustakaan berguna untuk mengkaji ulang pelaksanaan kegiatan yang dilakukan, bahan pertimbangan pada saat melakukan pengadaan anggaran buku rujukan, peningkatan pelayanan, dan evaluasi kinerja perpustakaan.

Masalah yang dibahas dalam penelitian ini ialah penggunaan cara manual pada sistem penghitungan statistik perpustakaan. Dengan cara manual yang dilaksanakan, muncul hambatan-hambatan dalam pelaksanaanya seperti ketidakakuratan penghitungan statistik yang diakibatkan faktor kelalaian penghitungan manual, ketidakefisien kerja, dan pemborosan waktu.

Penelitian ini bertujuan untuk merancang dan membuat program aplikasi bagi otomatisasi penghitungan statistik perpustakaan. Basisdata yang digunakan dalam aplikasi ini adalah CDS/ISIS yang didesain untuk manajemen komputerisasi basisdata berstruktur non-numerik. Aplikasi dibuat menggunakan bahasa pemrograman PHP dan PHP-OPENISIS sebagai port

OPENISIS ke PHP dalam bentuk extension PHP. OPENISIS itu sendiri merupakan command-line tool untuk membaca basisdata native CDS/ISIS. Untuk tampilan grafik menggunakan JPGRAPH yaitu sebuah library berorientasi objek lengkap untuk menggambar grafik menggunakan PHP. Aplikasi dikembangkan menggunakan konsep Model-View-Controller (MVC) yang membagi aplikasi menjadi 3 bagian, yaitu bussines logic sebagai Model, tampilan antarmuka sebagai View

dan Controller yang mengatur alur kerja sistem.

Aplikasi statistik perpustakaan mempunyai 3 menu utama, yaitu statistik pengunjung, statistik peminjam, dan statistik koleksi. Hasil yang ditampilkan pada statistik pengunjung adalah grafik, data detail, data intensitas, dan report pengunjung perpustakaan per bulan atau per tahun. Hasil yang ditampilkan pada statistik peminjam adalah grafik, data detail, data intensitas, dan

report peminjam perpustakaan per bulan atau per tahun. Disisi lain, hasil yang ditampilkan pada statistik koleksi adalah grafik, data detail, dan report kelas koleksi yang dipinjam dari perpustakaan per bulan atau per tahun

(3)

Dan seandainya pohon-pohon di bumi menjadi pena dan laut (menjadi tinta), ditambahkan kepadanya tujuh langit (lagi) sesudah (kering)nya,

(4)

PENGEMBANGAN APLIKASI STATISTIK PERPUSTAKAAN

MENGGUNAKAN

MODEL-VIEW-CONTROLLER

(STUDI KASUS PERPUSTAKAAN IPB)

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

Pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Oleh:

Firmansyah

G64102053

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(5)

Judul : Pengembangan Aplikasi Statistik Perpustakaan Menggunakan

Model-View-Controller

(Studi Kasus Perpustakaan IPB)

Nama : Firmansyah

NIM : G64102053

Menyetujui,

Pembimbing I

Ir. Agus Buono, M.Si., M.Kom.

NIP. 132 045 532

Pembimbing II

Irman Hermadi, M.S.

132 321 422

Mengetahui,

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

NIP. 131 473 999

(6)

PRAKATA

Alhamdulillah. Puji dan syukur penulis ucapkan kepada Allah SWT karena atas limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan tugas akhir ini dengan baik. Shalawat dan salam tercurah kepada Nabi Muhammad SAW.

Tema yang dipilih untuk tugas akhir ini adalah Pengembangan Aplikasi Statistik Perpustakaan menggunakan Model-View-Controller (Studi Kasus perpustakaan IPB). Yang penulis kerjakan pada tugas akhir ini ialah membuat suatu aplikasi yang dapat mengolah data perpustakaan berbasis CDS/ISIS menjadi data dan grafik statistik.

Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penyelesaian tugas akhir ini, terutama kepada Bapak Ir. Agus Buono, M.Si., M.Kom sebagai pembimbing pertama yang telah banyak mencurahkan waktunya untuk membimbing penulis. Selain itu kepada Bapak Irman Hermadi, M.S. sebagai pembimbing kedua atas saran-saran yang telah diberikan.

Penulis juga ingin mengucapkan rasa terima kasih kepada:

1. Ayah dan Ibu tercinta yang selalu memberikan nasihat, dorongan, doa dan dukungan finansial. Terima kasih atas segala pengorbanan, keringat, dan air mata yang engkau berikan. Sungguh aku tak akan pernah bisa membalasnya. Ya Allah, Izinkan aku untuk selalu berbakti kepadanya di saat dirinya ada maupun sudah tiada seraya berdoa Rabbigfirli waliwalidayya war hamhuma kama rabbayani shagira. Ya Allah, semoga Engkau kumpulkan kami kembali kelak di tempat yang lebih baik bersama orang-orang yang Engkau ridhai.

2. Kakakku Imron, Nurhayati, Nuraini, atas dukungannya secara moril dan finansial. Adikku Adi, Iwan, Fathan, dan Opi , terima kasih atas pengertiannya.

3. Emak, ibu kost yang baik hati. Semoga Allah membalas segala kebaikannya dengan balasan yang berlipat ganda.

4. Mas Sujiwo Tejo yang telah memberikan source code kelas-kelas untuk pengaksesan database CDS/ISIS sehingga pengaksesan menjadi lebih mudah.

5. Ahmad, Zaki, dan Adhi, Teman senasib sepenanggunganku di Ilkom. Terima kasih atas empat tahun persahabatan kita yang indah, lengkap dengan segala suka dukanya. Mudah-mudahan kalian berhasil mencapai segala cita-cita kalian.

6. La Ode, Erus, Tedi, Reza, dan Arif, teman-teman kostanku. Terima kasih atas segala kebaikan dan pengertiannya.

7. Teman-teman Ilkomerz 39 untuk persahabatan, waktu yang tidak akan terulang, dan momen-momen yang tak terlupakan.

8. Pak Effendi, Pak Jatmiko, dan Pak Soleh yang telah mengizinkan penulis menggunakan laboratorium Komputasional. Terima kasih atas kerjasamanya.

9. Semua pihak yang telah membantu dalam penyelesaian tugas akhir ini yang tidak dapat disebutkan satu-persatu.

Semoga karya ilmiah ini dapat bermanfaat dan menjadi amal sholih bagi semua pihak yang terlibat dalam penyusunan skripsi ini.

Bogor, Mei 2007

(7)

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta, pada tanggal 12 Mei 1983. Penulis adalah putra keempat dari pasangan Bapak Muhammad Soleh dan Ibu Aan Hasanah.

Pendidikan sekolah menengah ditempuh di SMU Negeri 21 Jakarta dan lulus pada tahun 2002. Pada tahun yang sama penulis diterima menjadi mahasiswa Program Studi Ilmu Komputer Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor melalui jalur SPMB (Seleksi Penerimaan Mahasiswa Baru).

(8)

viii

DAFTAR ISI

Halaman

DAFTAR TABEL ... ix

DAFTAR GAMBAR... ix

DAFTAR LAMPIRAN ... ix

PENDAHULUAN ... 1

Latar Belakang... 1

Tujuan... 1

Ruang Lingkup ... 1

TINJAUAN PUSTAKA ... 1

Basisdata... 1

PHP... 1

Web Server.... 2

Dreamweaver.... 2

CDS/ISIS. ... 2

MySQL. ... 3

PHP-OPENISIS. ... 3

JPGRAPH... 3

Metode Pengembangan Waterfall... 3

Sistem Berorientasi Objek. ... 4

Model-View-Controller.... 4

Jaringan Saraf Tiruan... 5

JST Propagasi Balik Standar. ... 6

METODE PENELITIAN ... 8

Data ... 8

Lingkungan Pengembangan... 8

PENGEMBANGAN SISTEM ... 8

Analisis ... 8

Perancangan... 11

Implementasi. ... 15

Integrasi dan Pengujian. ... 17

Penggunaan dan Pemeliharaan ... 17

HASIL DAN PEMBAHASAN ... 17

Kelebihan Sistem... 22

Kekurangan Sistem... 22

KESIMPULAN DAN SARAN ... 22

Kesimpulan... 22

Saran... 22

DAFTAR PUSTAKA... 22

(9)

ix

DAFTAR TABEL

Halaman

1. Kapasitas yang disediakan dalam CDS/ISIS ... 3

2. Fungsi-fungsi pada Model... 11

3. Fungsi-fungsi pada View... 13

DAFTAR GAMBAR

Halaman 1 Arsitektur aplikasi situs ... 2

2 Hubungan antar bagian MVC... 5

3 Alur komunikasi antar bagian MVC... 5

4 Arsitektur JST lapis tunggal. ... 6

5 Grafik fungsi sigmoid biner dengan selang (0,1)... 6

6 Grafik fungsi sigmoid bipolar dengan selang (-1,1). ... 7

7 Arsitektur JST propagasi balik ... 7

8 Diagram Konteks... 10

9 DFD level 1 ... 10

10 Layout umum View Aplikasi Statistik Perpustakaan IPB ... 12

11 Diagram Sequences Aplikasi Statistik Perpustakaan IPB... 14

12 Halaman Home ... 18

13 Link Navigasi ... 18

14 Tampilan form menu statistik pengunjung bulanan ... 19

15 Link Navigasi hasil bulanan ... 19

16 Grafik statistik pengunjung bulanan ... 19

17 Data detail pengunjung bulanan ... 20

18 Arsitektur JST pada Aplikasi Statistik Perpustakaan IPB ... 20

19 Data tabel dan grafik persentase kunjungan bulanan ... 21

20 Tabel dan grafik rata-rata intensitas kunjungan per hari... 21

21 Tabel pengunjung tersering ... 21

22 Prediksi pengunjung minggu depan... 21

DAFTAR LAMPIRAN

Halaman 1 DFD level 2 ... 25

2 Class Diagram... 29

3 Penjelasan kelas Model_Sql pada Aplikasi Statistik Perpustakaan IPB ... 30

4 Penjelasan kelas Model pada Aplikasi Statistik Perpustakaan IPB ... 31

5 Penjelasan kelas View pada Aplikasi Statistik Perpustakaan IPB... 33

6 Penjelasan kelas Controller pada Aplikasi Statistik Perpustakaan IPB... 35

7 Modul modul hasil implementasi. ... 37

8 Tampilan form pengunjung tahunan. ... 38

9 Perancangan tabel basisdata ... 39

10 Tabel keterangan JST ... 40

(10)

1

PENDAHULUAN

Latar Belakang

Perpustakaan perguruan tinggi adalah perpustakaan yang terdapat pada perguruan tinggi, fakultas atau jurusan, maupun lembaga yang berafiliasi dengan perguruan tinggi , dengan tujuan utama membantu perguruan tinggi mencapai tujuannya yakni Tri Dharma (Basuki 1991). Tujuan perpustakaan perguruan tinggi antara lain: menyediakan informasi untuk masyarakat perguruan tinggi, menyediakan bahan rujuan pada semua tingkat dan strata akademis, menyediakan ruangan belajar bagi pengunjung; memberikan jasa peminjaman untuk berbagai jenis pemakai; dan menyediakan jasa informasi aktif di luar bidang lingkungan perguruan tinggi.

Kegiatan yang terdapat pada perpustakaan antara lain adalah: pengawasan pengunjung saat masuk dan keluar perpustakaan, pengurusan keanggotaan, proses peminjaman, dan pembuatan laporan kegiatan pelaksanaan. Salah satu bagian dari pembuatan laporan kegiatan pelaksanaan adalah penghitungan statistik perpustakaan. Statistik perpustakaan berguna untuk mengevaluasi kinerja perpustakaan.

Saat ini penghitungan statistik perpustakaan masih menggunakan cara manual sehingga terjadi ketidakefisienan kerja dan pemborosan waktu. Untuk itu dibutuhkan suatu aplikasi yang dapat mengotomasi penghitungan statistik perpustakaan sehingga menjadi lebih cepat dan akurat.

Aplikasi statistik perpustakaan yang dibuat dalam penelitian ini menggunakan konsep

Model-View-Controller (MVC) yang telah dikembangkan oleh Marston (2004). MVC membagi aplikasi menjadi tiga bagian, yaitu

business logic sebagai Model, tampilan antarmuka pengguna sebagai View dan pengatur alur kerja sistem sebagai Controller.

Tujuan

Penelitian ini bertujuan untuk mengembangkan aplikasi statistik perpustakaan menggunakan konsep Model-View-Controller pada perpustakaan yang menggunakan basisdata CDS/ISIS.

Ruang Lingkup

Ruang lingkup penelitian ini adalah: 1. Mengembangkan Aplikasi statistik

perpustakaan menggunakan konsep

Model-View-Controller pada perpustakaan yang menggunakan basisdata CDS/ISIS.

2. Fungsi yang terdapat pada aplikasi dibatasi pada tiga fungsi utama yaitu statistik pengunjung, statistik peminjam, satistik koleksi.

3. Periode penghitungan statistik perpustakaan dapat dilakukan per bulan atau per tahun.

4. Fasilitas statistik koleksi buku yang dipinjam dibatasi hanya untuk buku-buku Kelas Satu sampai dengan Kelas Sembilan.

Manfaat Penelitian

Manfaat penelitian ini adalah membantu pihak Perpustakaan IPB, khususnya bagian sirkulasi, untuk mengotomasi pembuatan laporan statistik perpustakaan sehingga ketidakefisienan kerja dan pemborosan waktu dapat dihindari.

TINJAUAN PUSTAKA

Basisdata

Basisdata adalah koleksi bersama atas data yang terhubung secara logis, dan deskripsi dari data tersebut dirancang untuk memenuhi kebutuhan suatu organisasi (Connolly 2002). Tujuan utama suatu basisdata adalah pengelolaan dan pengolahan data yang begitu kompleks dengan mudah, cepat dan efisien untuk berbagai kebutuhan.

PHP

PHP (PHP: Hypertext Preprocessor) merupakan bahasa scripting yang ditulis menggunakan bahasa C, Java, dan Perl dengan beberapa tambahan fungsi khusus PHP. Saat ini, PHP banyak digunakan untuk membangun aplikasi web yang dinamis. Script

PHP menyatu dengan file HTML.

Interpreter PHP dalam mengeksekusi kode PHP pada sisi server (disebut server-side) berbeda dengan Java Virtual Machine yang mengeksekusi program pada sisi klien ( client-side). Web server bekerja secara langsung terhadap file yang bersangkutan, tidak memanggil script terpisah seperti pada metode CGI (Common Gateway Interface) (Bakken 2004).

(11)

2

Oracle, Sybase, mSQL, MySQL, Solid, dan PostgreSQL (Nugroho 2004).

Web Server

Hampir semua pekerjaan pada aplikasi situs berlangsung di server. Aplikasi khusus yang disebut web server bertanggung jawab untuk berkomunikasi dengan browser. Web server

menerima permintaan dari pengguna situs, meresponnya, kemudian menampilkan halaman situs yang sesuai.

Web server menyimpan semua file yang terkait dengan sebuah situs dan melakukan semua pekerjaan yang diperlukan untuk menjalankan situs tersebut. Bersama dengan basisdata dan bahasa pemrograman, web server memproses hampir semua pekerjaan dalam aplikasi situs dalam arsitektur seperti yang diilustrasikan pada Gambar 1.

PHP dan MySQL dapat bekerja sama dengan banyak web server, salah satunya adalah Apache. Web server yang dikembangkan oleh komunitas open source ini telah terbukti ketangguhan serta konektivitasnya dengan PHP dan MySQL. Apache merupakan web server yang paling popular.

Gambar 1 Arsitektur aplikasi situs (Greenspan 2002) Dreamweaver MX

Dreamweaver MX adalah suatu program

editor web yang dibuat oleh perusahaan software Macromedia. Sebagai editor,

Dreamweaver MX mempunyai sifat WYSIWYG (What You See IsWhat You Get), sehingga pemrogram dapat langsung melihat hasil pekerjaannya tanpa harus dibuka di

browser.

Seperti program editor web lainnya,

Dreamweaver MX juga memiliki dua bentuk layar, yaitu bentuk halaman design dan halaman code. Hal ini akan mempermudah untuk menambahkan script yang berbasis PHP maupun Javascript. Dreamweaver MX selain

mendukung pembuatan web yang berbasis HTML, juga dapat mendukung program-program web yang lain di antaranya PHP, ASP, Perl, Javascript, dan lain-lain (Nugroho 2004).

CDS/ISIS

CDS/ISIS (Computerized Documentation Sevices/Integrated Sets Of Information Systems) merupakan suatu program paket terapan komputer yang dirancang khusus untuk menangani basis data yang berupa teks (non numerik) terutama data bibliografi yang sering ditangani sebagai kegiatan layanan pada pusat informasi, perpustakaan, ataupun pusat dokumentasi.

CDS/ISIS diciptakan oleh UNESCO

division of software Development and Application Office of Information Programmers and Services pada tahun 1985 ( Unesco 1989). Versi terakhir yang telah dikembangkan ialah versi 3.07. Program aplikasi ini juga dibuat ke dalam berbagai format sesuai dengan jenis perangkat keras yang digunakan antara lain untuk micro, mini, dan juga mainframe.

Kemampuan yang terdapat pada CDS/ISIS ialah :

Derajat kompatibilitas tinggi karena dapat dioperasikan pada bermacam-macam

platform ( melakukan penyesuaian dengan fitur mesin).

Memiliki fasilitas temu balik teks yang canggih, hal ini dikarenakan CDS/ISIS menggunakan teknik pengindeksan dalam proses penelusuran data dan mempunyai karakteristik Database Management System

(DBMS).

Dapat digunakan pada sistem jaringan. Sistem multiuser yang dipakai telah memiliki teknik pencegahan terjadinya

deadlock (pengubahan suatu data oleh beberapa pemakai).

Dilengkapi dengan fasilitas pemrograman yang menggunakan bahasa PASCAL versi CDS/ISIS (Pascal ISIS), sehingga pengembangan program aplikasi dapat dilakukan lebih lanjut sesuai kebutuhan pemakai.

Menu CDS/ISIS dapat dimodifikasi dan dibuat ke dalam beberapa bahasa yang mudah dimengerti oleh pemakai.

Menyediakan fasilitas pengamanan data dengan menyesuaikan tingkat jabatan pemakai. Semakin tinggi jabatan semakin banyak data yang bisa diakses.

Untuk kapasitas CDS/ISIS dapat dilihat pada Tabel berikut ini:

Internet

Web Browser(Firefox,Nestcape)

Relational Database

(MySQL Oracle, MSSQL)

Web Server

(Apache)

Middleware

(12)

3

Tabel 1 Kapasitas yang disediakan dalam program CDS/ISIS

KAPASITAS JUMLAH

Basisdata Tergantung

harddisk Record satu file 16 juta Karakter dalam record 8000

Field dalam satu record 200 Panjang satu field 8000 Banyak field dalam 1 19 Halaman dalam 1 worksheet 20 Karakter format tampilan 4000 Karakter pada stop-words list 799

Salah satu keunggulan utama yang disediakan oleh CDS/ISIS ialah dapat memanipulasi jumlah data tak terbatas yang mengandung perbedaan elemen data yang kompleks. Untuk para pengguna ahli, CDS/ISIS menyediakan pilihan fasilitas pemrograman yang sangat luas tergantung spesialisasi pembuatan aplikasi menurut penggunaannya. CDS/ISIS juga menyediakan

library eksternal pemrograman yaitu ISIS_DLL yang menyediakan segala alat yang dibutuhkan untuk membangun aplikasi berbasis CDS/ISIS.

MySQL

Salah satu basisdata server yang cukup terkenal saat ini adalah MySQL. Basisdata

server keluaran T.c.X DataKonsultAB, sebuah perusahaan IT Swedia ini, menawarkan berbagai keunggulan dibandingkan basisdata

server lain, yaitu:

Sangat cepat mengeksekusi perintah Mampu menangani jutaan user dalam waktu yang bersamaan

Mampu menampung lebih dari 50.000.000

record.

Konektivitas jaringan yang memungkinkan pengguna dapat mengakses basisdata dari mana saja melalui internet.

Dapat berjalan baik pada berbagai platform

UNIX layaknya pada sistem non-UNIX seperti Windows dan OS/2.

Mempunyai dukungan open source. Kelebihan lain dari MySQL adalah penggunaan bahasa Query standar yang dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan

terstruktur yang telah distandarkan untuk semua program pengakses basisdata seperti Oracle, PostgreSQL, SQL Server, dan lain-lain. Sebagai sebuah program penghasil basisdata, MySQL tidak dapat berjalan sendiri tanpa adanya sebuah aplikasi lain (interface). MySQL dapat didukung oleh hampir semua program aplikasi baik open source seperti PHP maupun yang tidak, yang terdapat pada

platform Windows seperti Visual Basic, Delphi, dan lainnya.

PHP-OPENISIS

PHP-OPENISIS merupakan port

OPENISIS ke PHP dalam bentuk extension

PHP. OPENISIS itu sendiri merupakan

command-line tool untuk membaca basisdata

native CDS/ISIS.

JPGRAPH

JPGRAPH adalah sebuah library

berorientasi objek lengkap untuk menggambar grafik menggunakan PHP. JPGRAPH dikeluarkan dibawah lisensi QPL 0.1 (Qt license) untuk penggunaan non komersial dan lisensi JPGRAPH Professional untuk penggunaan komersial.

JPGRAPH memiliki banyak kelas yang memudahkan kita untuk membuat grafik lebih lengkap dan variatif. Kita bisa memakai kelas-kelas tersebut untuk membuat bermacam-macam grafik di antaranya adalah grafik batang, grafik garis, scatter plot, error plot,

box and stock charts, radar plot, pie plot, dll. Total kelas dan method yang dimiliki oleh JPGRAPH ialah 101 dan 948.

Metode Pengembangan Sistem Waterfall Menurut Sommerville (2001), metode pengembangan sistem Waterfall terbagi menjadi beberapa tahapan, yaitu:

a. Tahap analisis Kebutuhan

Merupakan tahap untuk mengumpulkan informasi kebutuhan sistem yang akan dibuat, menganalisis pengguna yang akan berinteraksi dengan sistem, tugas yang dilakukan pengguna, dan lingkungan sistem. Pada tahap ini, dilakukan komunikasi dengan pengguna untuk mengumpulkan informasi yang diperlukan. Selanjutnya, dari informasi yang diperoleh, didefinisikan secara detail dan disajikan sebagai spesifikasi sistem.

b. Perancangan

(13)

4

c. Implementasi

Merupakan tahap yang merealisasikan rancangan menjadi kumpulan program atau unit-unit program sehingga menjadi suatu sistem yang dapat digunakan.

d. Integrasi dan Pengujian

Unit-unit program yang sudah dibuat diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa semua kebutuhan sudah terpenuhi. Setelah pengujian selesai dilakukan, sistem siap untuk dilaksanakan.

e. Penggunaan dan Pemeliharaan

Fase ini umumnya menjadi fase terpanjang dalam siklus hidup sistem. Fase pemeliharaan meliputi koreksi error yang tidak ditemukan pada tahap sebelumnya. Pemeliharaan juga dilakukan untuk memperbaiki implementasi unit-unit sistem dan menambahkan layanan-layanan baru ketika muncul kebutuhan yang baru.

Sistem Berorientasi Objek

Objek adalah komponen software yang memodelkan entitas nyata; memiliki data, fungsi, dan sifat yang dinamik.

Sebuah sistem yang dibangun berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dienkapsulasi menjadi kelompok data dan fungsi yang dapat mewarisi atribut dan sifat komponen lainnya, dan komponen-komponen tersebut saling berinteraksi satu sama lain (Meyer 1997). Kelebihan Software berorientasi objek adalah:

Reused Code, kode-kode yang telah dibuat dapat dipergunakan kembali. Kode lebih ringkas, lebih sedikit kesalahan, konsisten, dan mudah untuk dipelihara

Enkapsulasi, yaitu pemecahan masalah ke bentuk yang lebih kecil. Dengan adanya enkapsulasi, perubahan pada suatu bagian berimplikasi minimum ke bagian lainnya.

Communicable, source code lebih natural dan lebih mudah dijelskan ke anggota tim.

Testable, setiap kelas dapat dites secara individual, lebih mudah untuk dipisahkan, dan lebih mudah untuk membetulkan kesalahan.

Kelas adalah kumpulan objek yang mempunyai atribut yang sama. Kelas adalah definisi statik dari entitas. Entitas adalah atribut kelas, variable lokal, parameter formal, dan hasil fungsi.

Tujuh langkah untuk mendapatkan hasil

software yang memuaskan (Meyer 1997) adalah:

Modularisasi, sistem dimodularisasi berdasarkan struktur objek.

Abstraksi data, objek harus dideskripsikan sebagai implementasi dari ADT (Abstract Definition Type).

Classes, setiap tipe yang tidak sederhana adalah sebuah modul, setiap modul adalah tipe tingkat tinggi.

Inheritance, sebuah kelas dapat didefinisikan berdasarkan ekstensi atau restriksi dari kelas lain.

Polimorphisme, entitas program harus dimungkinkan untuk mengacu kepada lebih dari satu kelas dan operasi harus dimungkinkan untuk lebih dari satu kelas.

Multiple and repeated inheritance, harus dimungkinkan untuk membuat deklarasi kelas sebagai pewaris dari banyak kelas, dan lebih dari satu jika pewarisnya sebuah kelas.

Pengembangan sistem dengan metode berorientasi objek dapat meningkatkan :

Produktivitas

Kecepatan pengembangan Kualitas perangkat lunak Kemudahan pemeliharaan Model-View-Controller (MVC)

MVC adalah suatu rancangan aplikasi yang terdiri atas tiga bagian yaitu: Model, View, dan

Controller, sehingga membuat pengembangan aplikasi menjadi lebih mudah. MVC dikembangkan untuk memetakan input, proses, dan output ke dalam user interfaces

(Marston 2004). MVC pattern mengatur dan memisahkan software ke dalam tiga bagian, yaitu:

1. Model, berfungsi untuk mengenkapsulasi

application data, application flow, dan

bussiness logic.

2. View, berfungsi untuk mengekstrak data dari Model dan memformatnya ke dalam bentuk presentasi.

3.Controller, menjalankan application flow

dan menerima input dari user, mengubahnya untuk dikirim ke Model dan

View. ( Sweat 2005)

Hubungan di antara bagian-bagian MVC dapat dlihat pada Gambar 2.

MVC Pattern pertama kali dibangun oleh Trygve Reenskaug dari Xerox’s Palo Alto

Research Centre (PARC) di tahun 1970. Di lain pihak, referensi implementasinya pertama kali dibangun oleh Tim SmallTalk-80 untuk memecahkan masalah interaksiGUI ( Graphical User Interfaces) pada aplikasi.

(14)

5

HTTPRequest

HTTPResponse

Gambar 2 Hubungan antar bagian MVC (Sweat 2005)

Penjelasan dari masing-masing bagian adalah sebagai berikut:

Model

Model merupakan representasi dari proses bisnis di dalam aplikasi perangkat lunak. Lebih mudahnya, dapat juga disebutkan bahwa Model adalah bagian yang bertugas untuk mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna.

View

View mengatur antarmuka dari sistem, mengatur output baik grafis maupun teks, yang nantinya dikirimkan ke pengguna aplikasi. Format HTML merupakan contoh

umum hasil akhir yang dikirimkan dalam aplikasi web.

Controller

Controller merepresentasikan permintaan yang datang (HTTP request) dari pengguna berupa input dari keyboard atau mouse,

memerintahkan Model untuk memproses aksi berdasarkan input, kemudian menampilkan hasil dari aksi tersebut ke

View.

Alur komunikasi antar tiap bagian MVC diawali oleh permintaan dari user yang diekspresikan oleh HTTP Request. HTTP Request dikirimkan ke Controller. Kemudian

Controller akan menterjemahkan HTTP Request tersebut sebagai perintah request

data dan mengirimkannya ke Model. Kemudian Model akan menjalankan perintah tersebut dan menghasilkan data hasil. Setelah itu, Controller akan memerintahkan View

Untuk menampilkan data hasil. View

melaksanakan perintah tersebut dengan cara mengambil data hasil, memformatnya ke dalam bentuk presentasi, dan mengirimkan hasilnya untuk ditampilkan (HTTP Response). Alur komunikasi antar tiap bagian MVC dapat dilihat pada Gambar 3.

Gambar 3 Alur komunikasi Antar tiap bagian MVC ( Sweat 2005)

Jaringan Syaraf Tiruan

Jaringan Syaraf Tiruan (JST) merupakan suatu sistem pemroses informasi yang memiliki persamaan secara umum dengan cara kerja jaringan syaraf biologi (Fausett 1994). Secara matematis, untuk suatu syaraf, setiap input Xi dimodulasikan oleh sebuah pembobot Wi sehingga jumlah total input dinyatakan sebagai:

i i i

W

X

...

(1) atau dalam bentuk vektor, X.W, dimana X = [X1, X2, …, Xn] dan W = [W1, W2, …, Wn]. Sinyal input selanjutnya diproses oleh fungsi aktivasi (activation function) untuk menghasilkan sinyal output, yang jika tidak nol, akan ditransmisikan sebagai output (Fu 1994).

Model

Controlle

r

(15)

6

Jaringan syaraf merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan digunakan karena pada pengimplementasiannya jaringan ini menggunakan komputer agar mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Dengan demikian, bisa dikatakan bahwa jaringan syaraf tiruan merupakan sistem pemrosesan informasi yang memiliki karakteristik hampir sama dengan jaringan jaringan neural biologis yaitu otak manusia.

Neuron dan hubungan antar synapses

merupakan elemen kunci untuk proses informasi pada jaringan. Lihat gambar dia atas. Sebagian besar proses neuron terlihat seperti pohon yang disebut dengan dendrites yang menerima sinyal dari neuron lainnya melewati persimpangan yang disebut Synapse. Menurut Fausett (1994), suatu JST dicirikan oleh tiga hal sebagai berikut:

1. Arsitektur JST

Arsitektur jaringan ialah pengaturan

neuron dalam suatu lapisan, pola hubungan dalam lapisan dan di antara lapisan. Dalam JST, neuron-neuron diatur dalam sebuah lapisan (layer). Ada tiga tipe lapisan, yaitu lapisan input, lapisan tersembunyi (hidden layer) dan lapisan output. Jaringan neuron dikelompokkan sebagai lapis tunggal (single layer) yang terdiri atas lapisan input dan output, dan lapis banyak (multiple layer) yang terdiri atas lapisan input, lapisan tersembunyi, dan lapisan output. Ilustrasi JST lapis tunggal dapat dilihat dalam Gambar 4.

Gambar 4 Arsitektur JST lapis tunggal 2. Metode pembelajaran untuk penentuan

pembobot koneksi.

Metode pembelajaran digunakan untuk menentukan nilai pembobot yang akan digunakan pada saat pengujian. Ada dua

tipe pembelajaran, yaitu dengan pengarahan (supervised learning) dan tanpa pengarahan (unsupervised learning). Di lain pihak, metode pembelajaran JST, di antaranya: Perceptron, Aturan Delta (Adaline/Madaline), Backpropagation,

Self Organizing Map (SOM), dan

Learning Vector Quantization (LVQ) . 3. Fungsi aktivasi yang digunakan.

Fungsi aktivasi merupakan fungsi yang menentukan level aktivasi, yaitu keadaan internal sebuah neuron dalam JST. Keluaran aktivasi ini biasanya dikirim sebagai sinyal ke neuron lainnya. Contoh fungsi aktivasi ialah fungsi identitas fungsi tangga biner (binary step function), fungsi tangga bipolar, fungsi sigmoid biner dan fungsi sigmoid bipolar.

JST Propagasi Balik Standar

Menurut Fu (1994), jaringan propagasi balik (propagation network) merupakan jaringan umpan maju berlapis banyak (multilayer feedforward network). Aturan pembelajaran propagasi balik disebut

backpropagation yang merupakan jenis dari teknik gradient descent dengan backward error (gradient) propagation.

Fungsi aktivasi yang digunakan dalam propagasi balik ialah fungsi sigmoid. Hal ini disebabkan karena dalam jaringan propagasi balik fungsi aktivasi yang digunakan harus kontinu, dapat didiferensialkan, dan monoton naik (Fausett 1994). Salah satu fungsi aktivasi yang paling banyak digunakan ialah sigmoid biner, yang memiliki selang [0, 1] dan didefinisikan sebagai: ) exp( 1 1 ) ( 1 x x

f ... (2)

Dengan turunannya )] ( 1 )[ ( ) (

' 1 1 1 x f x f x

f ... (3)

Grafik untuk fungsi sigmoid biner dapat diihat dalam Gambar 5.

Gambar 5 Grafik fungsi sigmoid biner dengan selang (0,1)

Fungsi aktivasi lain yang biasa digunakan ialah sigmoid bipolar, yang memiliki selang nilai [-1, 1], dan didefinisikan sebagai:

1 ) exp( 1 2 ) ( 2 x x

f ... (4)

n a

(16)

7

Dengan turunannya: )] ( 1 )][ ( 1 [ 2 1 ) (

' 2 2

2 x f x f x

f ... (5)

Grafik untuk fungsi sigmoid bipolar dapat dilihat dalam Gambar 6.

Gambar 6 Grafik fungsi sigmoid bipolar dengan selang (-1,1)

Jaringan ini menggunakan metode pembelajaran dengan pengarahan (supervised learning). Cara kerja JST diawali dengan inisialisasi pembobot dan bias. Pemilihan metode inisialisasi pembobot dan bias berpengaruh pada kecepatan JST dalam mencapai kekonvergenan. (Fausett, 1994). JST propagasi balik ditunjukkan dalam Gambar 7.

Gambar 7 Arsitektur JST propagasi balik (Fu 1994)

Pada pelatihan JST propagasi balik terdapat tiga tahapan, yaitu pelatihan input yang bersifat umpan maju, penghitungan galat, dan penyesuaian pembobot. Secara umum cara kerja JST propagasi balik ada beberapa langkah. Pertama, pola input dan target dimasukkan ke dalam jaringan. Selanjutnya pola input ini akan berubah sesuai dengan propagasi pola tersebut ke lapisan-lapisan berikutnya hingga menghasilkan output. Output ini akan dibandingkan dengan target. Apabila dari hasil perbandingan ini

dihasilkan nilai yang sama, proses pembelajaran akan berhenti. Tetapi apabila berbeda, maka jaringan mengubah pembobot yang ada pada hubungan antar neuron dengan suatu aturan tertentu agar nilai output lebih mendekati nilai target. Proses pengubahan pembobot adalah dengan cara mempropagasikan kembali nilai korelasi galat output jaringan ke lapisan-lapisan sebelumnya (propagasi balik). Kemudian dari lapisan input, pola akan diproses lagi untuk mengubah nilai pembobot, hingga akhirnya memperoleh output jaringan baru. Proses ini dilakukan berulang-ulang sampai diperoleh nilai yang sama atau minimal sesuai dengan galat yang diinginkan. Proses perubahan pembobot inilah yang disebut proses pembelajaran.

Algoritma propagasi balik ialah sebagai berikut (Fu 1994):

Inisialisasi pembobot.

Tentukan semua pembobot dan threshold

untuk tiap node dengan nilai yang kecil.

Threshold untuk node ialah negatif dari pembobot dari unit bias (yang level aktivasinya ditetapkan 1).

Penghitungan fungsi aktivasi.

1. Tingkat aktivasi unit input ditentukan oleh contoh yang telah diberikan pada

network.

2. Tingkat aktivasi Oj unit tersembunyi dan output ditentukan oleh:

)

(

ji i j

j

F

W

O

O

... (6)

Dimana Wji adalah pembobot dari unit

Oi, iialah threshold dari node, dan F adalah fungsi sigmoid:

a e F 1 1 )

( ...(7)

Pelatihan bobot.

1. Dimulai dari unit-unit output dan dilakukan backward menuju lapisan tersembunyi secara rekursif. Perubahan pembobot sebagai berikut:

ji ji

ji

t

w

t

w

W

(

1

)

(

)

... (8) Dengan Wji(t) adalah pembobot dari unit i ke unit j pada saat t iterasi ke-t

dan Wji adalah koreksi pembobot. 2. Perubahan pembobot dihitung dengan:

i j

ji

O

W

... .(9) Dengan adalah trial independent learning rate dan j adalah error

gradient pada unit j.

3. Error gradient dihitung sebagai berikut:

untuk unit output:

(17)

8

Dengan Tj adalah aktivasi output (target yang diharapkan dan Oj adalah aktivasi output aktual pada unit output

j).

untuk lapisan tersembunyi: j = Oj(1-Oj) k Wkj ... (11) Dengan j adalah error gradient pada unit k yang memiliki koneksi dari unit tersembunyi j.

3. Iterasi diulangi sampai konvergen terhadap kriteria error yang ditentukan. Satu iterasi meliputi pemberian contoh, penghitungan aktivasi dan modifikasi pembobot.

METODE PENELITIAN

Metode pengembangan sistem dalam penelitian ini adalah metode pengembangan sistem Waterfall yang terdiri dari beberapa tahapan yaitu analisis, perancangan, implementasi, integrasi dan pengujian, dan penggunaan dan pemeliharaan. Perancangan dengan tahapan-tahapan yang disediakan berguna untuk membangun sistem yang optimal.

Data

Data yang digunakan dalam penelitian ini terdiri dari 2 jenis data, yaitu data pengunjung dan data sirkulasi. Data tersebut berasal dari basisdata CDS/ISIS. Data pengunjung berjumlah 19080 record yang terdiri dari 1

record pengunjung bulan Mei 2005, 3691

record pengunjung bulan Januari 2006, dan sisanya adalah pengunjung bulan Februari 2006. Data sirkulasi terdiri dari 29088 record.

Lingkungan Pengembangan

Perangkat keras dan perangkat lunak yang digunakan dalam mengembangkan sistem ini adalah:

Perangkat keras

1. Prosessor Intel Celeron 1,7 GHz 2. RAM 256 MB

3. Harddisk 40 GB

4. Monitor Resolusi 1024 x 768

5. Mouse dan Keyboard

Perangkat Lunak

1. Sistem operasi : Microsoft Windows XP Professional

2. Web server: Apache

3. DBMS: CDS/ISIS dan MySQL 4. Scripting Language: PHP 4.2.1

5.Grafik : JPGraph OO Library

6. Editor Teks: Macromedia Dreamweaver MX.

7. Adobe Photoshop 7.0 untuk membantu membuat tampilan desain antarmuka.

PENGEMBANGAN SISTEM

Sistem dikembangkan dengan menggunakan metode pengembangan sistem Waterfall. Pengembangan dengan tahapan-tahapan yang disediakan berguna untuk membangun sistem yang optimal. Menurut Sommerville (2001), tahapan metode pengembangan sistem Waterfall terdiri atas analisis, perancangan, implementasi, integrasi dan pengujian, dan penggunaan dan pemeliharaan.

Analisis

Bagian sirkulasi Perpustakaan IPB memiliki kebutuhan untuk mengolah data perpustakaan menjadi data statistik. Data statistik tersebut dibutuhkan sebagai bagian dari laporan evaluasi kinerja Perpustakaan IPB setiap tahunnya. Kebutuhan tersebut meliputi pembuatan grafik statistik jumlah pengunjung setiap departemen per bulan maupun per tahun, grafik statistik jumlah peminjam setiap departemen per bulan maupun per tahun, data pengunjung tersering, data peminjam tersering, dan data koleksi dipinjam tersering. Pembuatan data statistik tersebut dikerjakan secara manual dengan cara mengubah data berformat CDS/ISIS ke dalam data berformat Microsoft Excel kemudian diolah dengan software tersebut. Karena dikerjakan secara manual, output yang dihasilkan rentan dengan kesalahan yang diakibatkan oleh faktor kelalaian manusia.

Aplikasi Statistik Perpustakaan IPB diharapkan nantinya akan mengatasi masalah tersebut di atas. Untuk menghasilkan data statistik, pengguna aplikasi ini, yaitu pegawai bagian sirkulasi Perpustakaan IPB, nantinya cukup mengisi form dengan parameter yang dibutuhkan.

Maksud dan tujuan dari tahap ini adalah untuk mendapatkan informasi yang tepat mengenai apa saja yang harus dilakukan oleh aplikasi ini. Berdasarkan hasil analisis, kebutuhan yang diperlukan untuk Aplikasi Statistik Perpustakaan IPB terbagi dalam empat menu utama, yaitu :

1. Statistik Pengunjung

(18)

9

Pengunjung departemen elemen fakultas Pada submenu ini aplikasi diharapkan

memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas kunjungan, dan report yang menggambarkan banyaknya pengunjung yang berasal dari setiap departemen pada fakultas tertentu dalam periode bulanan maupun tahunan. Report yang ditampilkan berisi analisis data di antaranya adalah: pengunjung tersering suatu fakultas, data dan grafik persentase kunjungan tiap departemen, data dan grafik intensitas kunjungan per hari, grafik intensitas kunjungan per jam, dan grafik prediksi kunjungan minggu depan.

Pengunjung departemen elemen mahasiswa Pada submenu ini aplikasi diharapkan

memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas kunjungan, dan report yang menggambarkan banyaknya pengunjung yang berasal dari setiap departemen di seluruh fakultas dalam periode bulanan maupun tahunan. Report yang ditampilkan berisi analisis data di antaranya adalah: pengunjung tersering dari seluruh fakultas, data dan grafik persentase kunjungan seluruh fakultas, data dan grafik intensitas kunjungan per hari, grafik intensitas kunjungan per jam, dan grafik prediksi kunjungan minggu depan.

Pengunjung elemen golongan

Pada submenu ini aplikasi diharapkan memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas kunjungan, dan report yang menggambarkan banyaknya pengunjung yang berasal dari setiap elemen anggota mahasiswa, anggota luar biasa, dan tamu dalam periode bulanan maupun tahunan.

Report yang ditampilkan berisi analisis data diantaranya adalah: pengunjung tersering dari seluruh fakultas ditambah dengan elemen golongan lainnya, data dan grafik persentase kunjungan seluruh fakultas dan elemen golongan lainnya, data dan grafik intensitas kunjungan per hari, grafik intensitas kunjungan per jam, dan grafik prediksi kunjungan minggu depan.

2. Statistik Peminjam

Statistik peminjam dibutuhkan untuk mengetahui banyaknya pinjaman pengguna perpustakaan setiap bulan dan setiap tahunnya. Kebutuhan dalam menu ini terbagi dalam beberapa submenu, yaitu:

Peminjam departemen elemen fakultas

Pada submenu ini aplikasi diharapkan memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas kunjungan, dan report yang menggambarkan banyaknya peminjam yang berasal dari setiap departemen pada fakultas tertentu dalam periode bulanan maupun tahunan. Report yang ditampilkan berisi analisis data di antaranya adalah: peminjam tersering suatu fakultas, data dan grafik persentase peminjaman tiap departemen, data dan grafik intensitas peminjaman per hari, dan grafik prediksi peminjaman minggu depan.

Peminjam departemen elemen mahasiswa Pada submenu ini aplikasi diharapkan memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas peminjaman, dan report yang menggambarkan banyaknya peminjam yang berasal dari setiap departemen di seluruh fakultas dalam periode bulanan maupun tahunan. Report yang ditampilkan berisi analisis data di antaranya adalah: peminjam tersering dari seluruh fakultas, data dan grafik persentase peminjaman seluruh fakultas, data dan grafik intensitas peminjaman per hari, dan grafik prediksi peminjaman minggu depan.

Peminjam elemen golongan.

Pada submenu ini aplikasi diharapkan memiliki fasilitas untuk menampilkan grafik statistik, data detail, intensitas peminjaman, dan report yang menggambarkan banyaknya peminjam yang berasal dari seluruh fakultas ditambah dengan elemen golongan lainnya dalam periode bulanan maupun tahunan. Report

yang ditampilkan berisi analisis data di antaranya adalah: peminjam tersering dari seluruh fakultas ditambah elemen golongan lainnya, data dan grafik persentase peminjaman seluruh fakultas, data dan grafik intensitas peminjaman per hari, dan grafik prediksi kunjungan minggu depan. 3. Statistik Koleksi

Statistik koleksi dibutuhkan untuk mengetahui banyaknya koleksi yang dipinjam pengguna perpustakaan setiap bulan dan setiap tahunnya. Kebutuhan dalam menu ini terbagi dalam beberapa submenu, yaitu: :

Koleksi dipinjam dari suatu kelas.

(19)

10

berisi analisis data di antaranya adalah koleksi buku yang dipinjam tersering dan data beserta grafik persentase kelas koleksi buku yang dipinjam.

Koleksi dipinjam dari seluruh kelas

Pada submenu ini aplikasi diharapkan dapat menampilkan grafik statistik, data detail, dan report yang menggambarkan banyaknya koleksi yang dipinjam dari seluruh kelas koleksi yaitu dari Kelas Satu sampai dengan Kelas Sembilan dalam periode bulanan maupun tahunan. Report

yang dihasilkan berisi analisis data di antaranya adalah koleksi buku yang dipinjam tersering dan data beserta grafik persentase kelas koleksi buku yang dipinjam.

Dari hasil analisis di atas, secara garis besar dapat kita simpulkan bahwa fasilitas-fasilitas yang dibutuhkan pada Aplikasi ini adalah:

Grafik statistik dari seluruh submenu. Data detail dari seluruh submenu.

Tabel intensitas dari submenu yang berasal dari menu statistik pengunjung dan menu statistik peminjam.

Report dari seluruh submenu.

Sebagai acuan dalam mengembangkan aplikasi ini, maka dibuatlah sebuah Diagram Konteks, DFD level 1, DFD level 2, dan Class Diagram. Untuk Diagram Konteks dan DFD level 1 dapat dilihat pada Gambar 8 dan Gambar 9. Untuk DFD level 2 dapat dilihat pada Lampiran 1. Di sisi lain, untuk Class Diagram dapat dilihat pada Lampiran 2. Diagram Konteks pada Gambar 8 dapat dijelaskan sebagai berikut: parameter-parameter yang dikirimkan pengguna berupa bulan, tahun, asal fakultas, dan asal basisdata ditangkap oleh Aplikasi Statistik Perpustakaan IPB sebagai permintaan yang kemudian dipakai untuk mengolah data pada basisdata MySQL menjadi data hasil yang diinginkan. Data hasil tersebut kemudian

dikirim kepada pengguna.

Gambar 8 Diagram Konteks

(20)

11

DFD level 1 pada Gambar 9 dapat dijelaskan sebagai berikut: Model terdiri dari 2 proses utama yaitu proses Model_Sql dan proses Model. Fungsi utama proses Model_Sql adalah mentransfer basisdata CDS/ISIS menjadi basisdata MySQL sedangkan proses bisnis yang sesungguhnya ditangani oleh proses Model. Untuk meningkatkan efisiensi waktu, proses Model_Sql nantinya hanya akan dijalankan sekali dalam seminggu. Dalam diagram ini, paramter-parameter yang dimasukkan oleh pengguna dikenali oleh proses Controller

sebagai permintaan. Permintaan tersebut kemudian direspon oleh proses Controller

dengan memanggil fungsi pada proses Model

untuk menghasilkan data yang diinginkan oleh pengguna, kemudian proses Controller akan memanggil proses View untuk menampilkan data yang telah dihasilkan oleh proses Model

kepada pengguna. Proses View akan mengambil data dari proses Model dan dibentuk ke dalam tabel atau grafik untuk kemudian ditampilkan kepada pengguna. Perancangan

Pada Aplikasi Statistik Perpustakaan IPB, akan dikembangkan perancangan antar muka dan proses dengan menggunakan konsep MVC. MVC memetakan input, proses, dan output ke dalam user interface.

Alasan digunakan MVC dalam penelitian ini adalah untuk kemudahan dalam pengelolaan dan perbaikan sistem. Hal ini dikarenakan MVC memisahkan perancangan sistem menjadi tiga bagian, yaitu bussines logic sebagai Model, tampilan antarmuka pengguna sebagai View dan Controller yang mengatur kerja sistem secara keseluruhan. 1. Model

Model bertugas untuk mengolah data berdasarkan perintah dari Controller yang kemudian hasilnya akan ditangkap oleh View. Berdasarkan hasil analisis, Model ditangani oleh dua proses utama yaitu proses Model_Sql dan proses Model. Fungsi utama proses Model_Sql adalah mentransfer basisdata CDS/ISIS menjadi basisdata MySQL sedangkan proses bisnis yang sesungguhnya ditangani oleh proses Model. Proses Model terdiri dari beberapa fungsi yang akan digunakan untuk bussines logic di dalam sistem. Fungsi fungsi yang ada di dalam proses Model dan kegunaannya dapat dilihat di Tabel 2. Di sisi lain, fungsi-fungsi yang terdapat di dalam proses Model_Sql dan kegunaannya dapat dilihat pada Lampiran 3.

Tabel 2 Fungsi fungsi pada Model

Nama Fungsi Kegunaan

get_fakdep_pg() Mendapatkan data pengunjung tiap departemen pada fakultas tertentu get_em_pg() Mendapatkan data

pengunjung semua fakultas

get_elmgol_pg() Mendapatkan data pengunjung semua fakultas ditambah dengan elemen golongan lainnya get_intensitas_

kunjungan_bulan ()

Mendapatkan data intensitas kunjungan tiap hari dan tiap jam dalam bulan tertentu get_intensitas_

kunjungan_tahun ()

Mendapatkan data intensitas kunjungan tiap hari tiap jam selama tahun tertentu get_intensitas_ra

ta_pg()

Mendapatkan rata-rata intensitas kunjungan tiap hari dalam bulan atau tahun tertentu get_fakdep_pj() Mendapatkan data

pengunjung tiap departemen pada fakultas tertentu get_em_pj() Mendapatkan data

pengunjung semua fakultas

get_elmgol_pj() Mendapatkan data peminjam semua fakultas ditambah dengan elemen golongan lainnya. get_intensitas_

peminjaman_ bulan()

Mendapatkan data intensitas peminjaman tiap hari dalam bulan tertentu

get_intensitas_ peminjaman_ tahun()

Mendapatkan data intensitas peminjaman tiap hari dalam tahun tertentu

get_intensitas_ra ta_pj()

Mendapatkan rata-rata intensitas peminjaman tiap hari dalam bulan atau tahun tertentu get_kelas_kl() Mendapatkan data

koleksi dipinjam dari kelas tertentu

(21)

12

Lanjutan Tabel 2 Fungsi fungsi pada Model

Nama Fungsi Kegunaan

get_ku_kl() Mendapatkan data koleksi dipinjam dari semua kelas

get_grafikvalue_ fakdep()

Mendapatkan data grafik pengunjung atau peminjam tiap departemen pada fakultas tertentu

get_grafikvalue_ emeg

Mendapatkan data grafik pengunjung atau peminjam tiap fakultas atau elemen golongan maks_value() Mendapatkan nilai

tertinggi pengunjung atau peminjaman ekspor() Mengekspor data ke

dalam format Microsoft Excel

2. View

View dalam Aplikasi Statistik Perpustakaan IPB ini bertugas untuk menangkap data hasil dari Model yaitu berupa data grafik, data detail, dan data report

kemudian mengubahnya ke dalam format presentasi dan menampilkannya kepada pengguna. Layout View secara umum terdiri dari :

Header

Header Aplikasi Statistik Perpustakaan IPB diletakkan pada bagian Atas berisi logo IPB dan nama aplikasi.

Link Navigasi

Link navigasi diletakan setelah Header.

Link ini merupakan representasi dari menu. Dari link ini pengguna bisa memilih menu mana yang diinginkan. Menu pada link ini terdiri dari enam menu utama dan dua menu tambahan. Enam menu utama yaitu: menu statistik pengunjung bulanan, statistik pengunjung tahunan, statistik peminjam bulanan, statistik peminjam tahunan, statistik koleksi bulanan, dan statistik koleksi tahunan. Di sisi lain, dua menu tambahan yaitu: Home dan Appendices. Home merupakan halaman pembuka dan

Appendices merupakan halaman yang berisi keterangan istilah-istilah yang dipakai dalam aplikasi ini.

Header Form

Header Form diletakkan di atas Form dan merepresentasikan halaman menu yang sedang aktif.

Form

Form aplikasi ini terdiri dari beberapa

listbox yang berguna untuk memilih kombinasi antara bulan, tahun, fakultas dan basisdata yang diinginkan pengguna.

Link Navigasi Hasil

Link Navigasi Hasil terdiri dari empat link

yaitu: Link Grafik, Link Data Detail, Link

Tabel Intensitas, dan Link Report. Link

Grafik berfungsi untuk menampilkan hasil grafik statistik, Link Data Detail untuk menampilkan hasil data detail, Link Tabel Intensitas untuk menampilkan hasil tabel intensitas, dan Link Report untuk menampilkan hasil report.

Grafik

Grafik Aplikasi Statistik Perpustakaan IPB diletakkan pada bagian atas.

Data Detail

Data Detail merupakan tampilan data-data hasil proses pada Model secara detail. Tabel Intensitas

Tabel Intensitas merupakan tampilan tabel intensitas peminjaman tiap hari atau tabel intensitas kunjungan tiap hari per jamnya.

Report

Report merupakan tampilan untuk mengemas grafik statistik dan hasil analisis data dalam bentuk laporan.

Layout View Aplikasi Statistik Perpustakaan IPB secara umum dapat dilihat Gambar 10.

Header Link Navigasi

Header Form Form

grafik tabel intensitas

data detail

report Footer

(22)

13

Fungsi fungsi pada View dapat dilihat pada Tabel 3.

Tabel 3 Fungsi-fungsi pada View

Nama Fungsi

setheader Membuat header

aplikasi

Setform() Membuat form periode bulanan

Setform2() Membuat form periode tahunan

Judul() Membuat judul grafik Subjudul() Membuat subjudul

grafik

Keterangan() Membuat keterangan untuk grafik persen graph

text() Membuat text

keterangan pada grafik plot() Membuat barplot

Setup_graph() Membuat grafik dan menampilkannya Persen_graph() Membuat grafik

persentase Grafik_intensitas

_jampg()

Membuat grafik rata-rata intensitas kunjungan per jam. Grafik_intensitas

_hari()

Membuat grafik rata-rata intensitas kunjungan atau intensitas peminjaman per hari.

Report Mengemas grafik

statistik dan hasil analisis data dalam bentuk laporan

Ket_tabel() Menyimpan beberapa

variable yang berkaitan dengan tabel

Indexing Mengindeks data detail detail_pg() Membingkai data detail

Pengunjung dalam sebuah tabel

print_pg() Menyatukan tabel data detail pengunjung dengan indeksnya detail_pj() Membingkai data detail

peminjam dalam sebuah tabel

Print_pj Menyatukan tabel data detail peminjam dengan indeksnya

Detail_kl() Membingkai data detail koleksi dalam sebuah tabel

Lanjutan Tabel 3. fungsi-fungsi pada View

Nama Fungsi

Print_kl() Menyatukan tabel data detail koleksi dengan indeksnya

Tampil_intensitas _kunjungan

Membingkai data intensitas kunjungan dalam sebuah tabel Print_intensitas

_kunjungan()

Menyatukan tabel intensitas kunjungan dengan indeksnya Tampil_intensitas

_peminjaman()

Membingkai data intensitas peminjaman ke dalam sebuah tabel Print_intensitas

_peminjaman()

Menyatukan tabel intensitas peminjaman dengan indeksnya. ekspor_report() Mengekspor report ke

dalam format Microsoft Word atau Microsot Excel

3. Controller

Controller bertugas untuk menerima permintaan yang datang (HTPP request) dari

user, mengevaluasi permintaan, kemudian memerintahkan Model untuk mengolah data berdasarkan permintaan tersebut. Controller

kemudian akan memerintahkan View untuk menampilkan data hasil olahan Model

tersebut. Controller merupakan bagian dari sistem yang mengendalikan alur proses dalam program dengan melakukan hal hal sebagai berikut:

Menerima permintaaan yang datang (HTTP request) dan menerjemahkan permintaan tersebut menjadi panggilan-panggilan fungsi yang sesuai dengan fungsi Model.

Memanggil fungsi-fungsi pada Model

sesuai dengan urutan yang telah ditentukan. Memproses keluaran dari fungsi-fungsi yang ada di Model supaya dapat ditampilkan di View.

Menampilkan hasil pemrosesan keluaran dari Model ke View.

Di dalam Controller, terdapat fungsi-fungsi yang memanggil Model Fungsi-fungsi yang ada di Controller dapat dilihat pada Lampiran 6.

(23)

14

Gambar 11 Diagram Sequence Aplikasi Statistik Perpustakaan IPB

Keterangan: : Pesan : Respon/ balasan pesan Tahapan pada Gambar 11 dapat dijelaskan

sebagai berikut: Tahapan di atas diawali dengan permintaan user untuk mendapatkan statistik pengunjung bulanan. Permintaan ini diterima oleh Controller dan direspon dengan menampilkan halaman utama statistik pengunjung bulanan. Selanjutnya ketika pengguna selesai mengisi form dengan parameter data pengunjung bulanan yang diinginkannya, maka View akan mengirimkan parameter tersebut ke Controller. Controller

akan menerimanya sebagai perintah untuk menampilkan grafik statistik. Controller akan memanggil fungsi get_grafikvalue_pg() pada

Model untuk menghasilkan nilai grafik kemudian memanggil fungsi setup_graph() pada View. View akan mengambil nilai grafik dari fungsi get_grafikvalue_pg() pada Model

untuk diubah ke dalam bentuk grafik dan ditampilkan kepada pengguna. Setelah itu pengguna bisa mendapatkan fasilitas data detail, grafik intensitas, dan report

pengunjung bulanan dengan parameter yang sama tanpa harus memasukan parameter lagi. Jika pengguna memasukan parameter baru pada form, maka sistem akan menampilkan grafik statistik secara default, setelah itu barulah pengguna bisa mendapatkan fasilitas lainnya dengan parameter yang sama.

Kemudian tahapan untuk fasilitas lainnya adalah sebagai berikut:

(24)

15

Model dan memanggil fungsi print_pg() pada View. Kemudian fungsi print_pg() pada View akan mengambil data yang telah dihasilkan oleh fungsi get_fakdep_pg() pada Model dan menampilkannya dalam bentuk tabel berindeks

Ketika pengguna ingin menampilkan tabel intensitas kunjungan, maka Controller

meresponnya dengan menjalankan fungsi Get_Intensitas_Kunjungan(). Kemudian fungsi Get_Intensitas_Kunjungan() memanggil fungsi get_intensitas_kunjungan bulan() pada Model dan fungsi print_intensitas_kunjungan() pada View.

View akan mengambil data yang dihasilkan

oleh fungsi

get_intensitas_kunjungan_bulan() pada

Model untuk ditampilkan kepada pengguna dalam bentuk tabel berindeks.

Ketika pengguna ingin menampilkan report

pengunjung bulanan, maka Controller

meresponnya dengan menjalankan fungsi Report(). Fungsi ini akan menjalankan fungsi report() pada View yang akan menghasilkan tampilan report dan menampilkannya kepada pengguna.

Implementasi

1. View

Kelas View menangani antarmuka Program yang terdiri dari Header, Link

Navigasi, Header Form, Form, Link Navigasi Hasil, tampilan grafik statistik, tabel data detail, tabel intensitas, report, dan footer.

Link Navigasi terletak setelah Header. Menu pada link ini terdiri dari enam menu utama dan dua menu tambahan. Enam menu utama yaitu: menu statistik pengunjung bulanan, statistik pengunjung tahunan, statistik peminjam bulanan, statistik peminjam tahunan, statistik koleksi bulanan, dan statistik koleksi tahunan. Di lain pihak, dua menu tambahan yaitu: Home dan Appendices.Home

merupakan halaman pembuka dan Appendices

merupakan halaman yang berisi keterangan tentang istilah-istilah yang dipakai dalam aplikasi ini.

Form terletak di sebelah kiri dan bisa diakses oleh pengguna sistem. Menu Form

terdiri dari 3 buah listbox yaitu:

Listbox bulan, menampilkan list bulan dari Januari hingga Desember.

Listbox tahun, menampilkan tahun yang sebelumnya telah disetting sesuai dengan kebutuhan yang berlaku.

Listbox asal statistik, pilihannya terdiri dari berbagai fakultas, elemen mahasiswa, dan elemen golongan.

Kombinasi masukan dari listbox dan menu nantinya akan menjadi parameter-parameter untuk menghitung data statistik yang diinginkan.

Hasil dari penghitungan data statistik akan ditampilkan dalam bentuk grafik. Di atas grafik terdapat keterangan tipe, asal, bulan, dan tahun grafik. Sedangkan di sebelah kiri grafik terdapat keterangan dari singkatan-singkatan di bar grafik.

Grafik yang terdapat dalam aplikasi ini dibuat menggunakan kelas-kelas dari JPGRAPH Object Oriented Library. JPGRAPH sangat cocok untuk pembuatan grafik karena mempunyai banyak kelas yang berhubungan dengannya.

Aplikasi ini menggunakan 3 kelas dari JPGRAPH, yaitu kelas Graph yang terdapat dalam file Jpgraph.php, kelas Text yang terdapat dalam file Jpgraph.php, dan kelas BarPlot yang terdapat dalam file

Jpgraph_bar.php. Berikut adalah pseudocode

fungsi setup_graph() yaitu fungsi yang menangani pembuatan grafik pada kelas View:

function setup_graph() {

$jud=$this->judul(); $e1 =700;

$e2 =300;

$this->graph = new Graph($e1,$e2,"auto"); $this->graph->SetScale("textlin"); $this->graph->img->SetMargin(45,165,80,60); $this->graph->SetMarginColor('white'); $this->graph->yaxis->scale->SetGrace(100); $this->graph->title->Set($jud); $this->graph->title->SetFont(FF_COMIC,FS_BOLD,18); $d = $this->subjudul();

$this->graph->subtitle->Set($d);

$this->graph->subtitle->SetFont(FF_FONT2,FS_BOLD); // Setup font for axis $this->graph->xaxis->title->Set($jud); $this->graph->yaxis->title->Set('Jumlah'); $this->graph->yaxis->title->SetColor('blue'); $this->graph->yaxis->title->SetFont(FF_FONT1); $this->graph->xaxis->title->SetFont(FF_FONT2); $this->graph->xaxis->title->SetColor('blue'); $this->graph->title->SetColor('darkblue'); $this->graph->subtitle->SetColor('darkred'); $this->graph->xaxis->SetFont(FF_FONT1); $this->graph->yaxis->SetFont(FF_FONT1); $this->graph->xaxis->SetTickLabels($this->x_label()); $this->text();

$this->graph->AddText($this->text()); $this->graph->Add($this->plot($stat)); //$this->graph->StrokeCSIM(); return $this->graph;

}

(25)

16

bentuk tabel data detail. Jumlah data detail yang ditampilkan dibatasi sebanyak 10 buah. Untuk menampilkan data selanjutnya maka

user dapat langsung mengklik nomor

indexing yang ada di bawah tabel. 2. Model

Berdasarkan hasil perancangan, kelas Model

memiliki fungsi-fungsi yang bertugas untuk membaca keinginan pengguna yang berwujud parameter-parameter, mengakses basisdata CDS/ISIS, mengumpulkan semua record yang relevan dengan parameter-parameter tersebut, dan mengolahnya menjadi data grafik dan data detail. Fungsi-fungsi tersebut terbentuk berdasarkan pola dari semua kemungkinan keinginan pengguna yang berwujud parameter-parameter.

Tugas untuk berhubungan dengan basisdata CDS/ISIS ternyata tidak bisa dilakukan oleh PHP. Basisdata CDS/ISIS hanya bisa dibaca oleh comand line tool yang bernama OPENISIS. Untuk itu, PHP membutuhkan sebuah port ke OPENISIS agar dapat membaca basisdata CDS/ISIS. Port itu bernama PHP-OPENISIS.

Untuk mempermudah pengaksesan basisdata native CDS/ISIS, dibuatlah kelas baru yang bertugas untuk mempermudah pengaksesan. Berikut ini adalah pseudocode

untuk pencarian record data statistik dari basisdata native CDS/ISIS dengan menggunakan PHP-OPENISIS:

function search($term) {

$this->query_res = isis_search($term, $this->dbid);

if (!$this->query_res) return false; else return true; }

Berikut ini adalah fungsi get_grafikvalue_fakdep(), yaitu salah satu fungsi di kelas Model yang bertugas untuk mendapatkan nilai grafik statistik.

function get_grafikvalue_fakdep() {

$conn= mysql_connect("localhost","",""); mysql_select_db("test_sispi2");

$sqldelete = "TRUNCATE `grafikvalue`"; mysql_query($sqldelete);

if($this->dbase=="PG" or $this->dbase=="PJ"){ if($this->dari=="EM" or $this->dari=="EG"){

$z= "fakultas"; $v= $this->get_em_pg(); }else{ $z= "departemen"; $v= $this->get_fakdep_pg(); } }elseif($this->dbase=="KL"){ if($this->dari=="KU"){ $z="kelas_buku"; }else{ $z= "subkelas_buku"; } } for($i=0;$i<count($this->label[$this->dari]);$i++){

$sqlstr= "insert into grafikvalue select count(*) from hasilquery_".$this->dbase." where ".$z." ='".$this->label[$this->dari][$i]."' " ; $hasil = mysql_query($sqlstr);

}

//jumlah data

$sqlsum= " select sum(nilai) from grafikvalue " ; $sum = mysql_query($sqlsum);

$baris= mysql_fetch_row($sum); list($this->jumlah)=$baris; //nilai grafik dan persentase

$sqlstr2= " select * from grafikvalue " ; $hasil2 = mysql_query($sqlstr2); $row2= mysql_fetch_row($hasil2); $k=0;

if($row2) {

do{ list($nilai2)=$row2; $this->nilai_grafik[$k].= $nilai2;

if($this->jumlah==0){

$this>persentase[$k]=0;}else{$this>persentase[$ k].= ceil($nilai2/$this->jumlah*100);}

$k=$k+1;

} while( $row2=mysql_fetch_row($hasil2) ); }

//STD

$sqlstr8= " select STD(nilai) from grafikvalue " ; $hasil8 = mysql_query($sqlstr8);

$row8= mysql_fetch_row($hasil8); if($row8){

do{ list($nilai8)=$row8; $this->std= ceil($nilai8);

} while( $row8=mysql_fetch_row($hasil8) ); }

mysql_close($conn);

return array( $this->jumlah, $this->nilai_grafik, $this->persentase,$this->std);

}

3. Controller

Controller merupakan bagian dari sistem yang mengendalikan alur proses dalam program. Hasil kerja dari fungsi-fungsi pada kelas Model akan ditangkap oleh kelas

Controller untuk kemudian diberikan ke kelas

View agar dibentuk tampilannya dan hasilnya akan ditampilkan oleh kelas Controller ke layar monitor.

Berikut ini adalah pseudocode fungsi Setup_Graph () pada Controller, yaitu sebuah fungsi untuk merespon permintaan pengguna akan tampilan grafik:

function Setup_Graph() {

(26)

17

list($this->jumlah,$this>nilai_grafik,$this->persentase,

$this->std)=$this->GetGrafikValue_EmEg(); }else{

list(>jumlah, >nilai_grafik, $this-

>persentase,$this->std)=$this->GetGrafikValue_Fakdep(); }

$this->fir = new grafik($this->dbase,$this-

>bulan,$this->tahun,$this->dari,$this->fakultas,$this->label);

$this->man = $this->fir->setup_graph($this->nilai_grafik);

echo $this->man; }

4.Basisdata

Untuk keperluan pengolahan data, basisdata pengunjung dan sirkulasi pada CDS/ISIS akan di transfer oleh sistem ke dalam basisdata MySQL. Untuk itu diperlukan tabel tabel yang dapat menampung hasil transefer dari basisdata CDS/ISIS tersebut. Selain itu sistem juga memerlukan tabel tabel untuk menampung hasil pengolahan data. Untuk perancangan tabel basisdata dapat dilihat pada Lampiran 9.

Integrasi dan Pengujian

Integrasi merupakan penggabungan modul-modul program yang telah dibuat sebelumnya untuk diuji sebagai suat

Gambar

Grafik untuk fungsi sigmoid bipolar dapat
Gambar 9.  Untuk DFD level 2 dapat dilihat
Tabel 2 Fungsi fungsi pada Model
Gambar 11  Diagram Sequence Aplikasi Statistik Perpustakaan IPB
+7

Referensi

Dokumen terkait

Skripsi yang berjudul “Sistem Pengelolaan Bengkel Ahass Putra Merdeka 01499 Surabaya Perspektif Etika Bisnis Islam” ini merupakan hasil penelitian kualitatif yang

engraving mesin laser cutting , wawancara dengan pihak supplier dan operator mesin laser cutting G- Weike LC6090, serta observasi secara langsung dari penggunaan

Tujuan penelitian ini adalah untuk mengetahui apakah pemberian susu formula cair Nutribaby 1 ® dan Danstart ® dapat meningkatkan kadar hormon estrogen dan menurunkan

Berdasarkan keempat point diatas, terdapat dampak secara umumnya yaitu perlunya waktu yang lama untuk membuat dokumen FBTA, DPA, kontrak, dan BASS untuk satu program acara serta

“bagaimana Peran koordinasi Badan Pelaksana Penyuluhan dan Ketahanan Pangan dalam peningkatan Aksesibilitas pangan di daerah rawan pangan kabupaten

Sampul skripsi memuat judul ( dibuat sesingkat-singkatnya, tetapi jelas dan menunjukan dengan tepat masalah yang diteliti ), maksud penulisan skripsi ( untuk

Diterima dan disetujui oleh Tim Pembimbing untuk diajukan dan dipertahankan didepan Tim Penguji dalam Ujian Akhir Program Pendidikan Diploma III Kebidanan Fakultas

Keberadaan pohon dalam agroforestri mempunyai dua peranan utama. Pertama, pohon dapat mempertahankan produksi tanaman pangan dan memberikan pengaruh positif pada