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 tahapantahapan 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 Statistik pengunjung dibutuhkan untuk mengetahui banyaknya kunjungan pengguna perpustakaan setiap bulan dan setiap tahunnya. Kebutuhan dalam menu ini terbagi dalam beberapa submenu, yaitu:
8
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. Pada submenu ini aplikasi diharapkan dapat menampilkan grafik statistik, data detail, dan report yang menggambarkan banyaknya koleksi yang dipinjam dari suatu kelas tertentu dalam periode bulanan maupun tahunan. Report yang dihasilkan
9
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 fasilitasfasilitas 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: parameterparameter 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
Gambar 9 DFD level 1
10
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 get_fakdep_pg()
get_em_pg()
get_elmgol_pg()
get_intensitas_ kunjungan_bulan () get_intensitas_ kunjungan_tahun () get_intensitas_ra ta_pg()
get_fakdep_pj()
get_em_pj()
get_elmgol_pj()
get_intensitas_ peminjaman_ bulan() get_intensitas_ peminjaman_ tahun() get_intensitas_ra ta_pj()
get_kelas_kl()
Kegunaan Mendapatkan data pengunjung tiap departemen pada fakultas tertentu Mendapatkan data pengunjung semua fakultas Mendapatkan data pengunjung semua fakultas ditambah dengan elemen golongan lainnya Mendapatkan data intensitas kunjungan tiap hari dan tiap jam dalam bulan tertentu Mendapatkan data intensitas kunjungan tiap hari tiap jam selama tahun tertentu Mendapatkan rata-rata intensitas kunjungan tiap hari dalam bulan atau tahun tertentu Mendapatkan data pengunjung tiap departemen pada fakultas tertentu Mendapatkan data pengunjung semua fakultas Mendapatkan data peminjam semua fakultas ditambah dengan elemen golongan lainnya. Mendapatkan data intensitas peminjaman tiap hari dalam bulan tertentu Mendapatkan data intensitas peminjaman tiap hari dalam tahun tertentu Mendapatkan rata-rata intensitas peminjaman tiap hari dalam bulan atau tahun tertentu Mendapatkan data koleksi dipinjam dari kelas tertentu
11
Lanjutan Tabel 2 Fungsi fungsi pada Model Nama Fungsi get_ku_kl()
get_grafikvalue_ fakdep()
get_grafikvalue_ emeg
maks_value()
ekspor()
Kegunaan Mendapatkan data koleksi dipinjam dari semua kelas Mendapatkan data grafik pengunjung atau peminjam tiap departemen pada fakultas tertentu Mendapatkan data grafik pengunjung atau peminjam tiap fakultas atau elemen golongan Mendapatkan nilai tertinggi pengunjung atau peminjaman 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 Gambar 10
Layout umum View Aplikasi Statistik Perpustakaan IPB
12
Fungsi fungsi pada View dapat dilihat pada Tabel 3. Tabel 3 Fungsi-fungsi pada View Nama setheader Setform() Setform2() Judul() Subjudul() Keterangan()
text() plot() Setup_graph() Persen_graph() Grafik_intensitas _jampg() Grafik_intensitas _hari()
Report
Ket_tabel()
Indexing detail_pg()
print_pg()
detail_pj()
Print_pj
Detail_kl()
Fungsi Membuat header aplikasi Membuat form periode bulanan Membuat form periode tahunan Membuat judul grafik Membuat subjudul grafik Membuat keterangan untuk grafik persen graph Membuat text keterangan pada grafik Membuat barplot Membuat grafik dan menampilkannya Membuat grafik persentase Membuat grafik ratarata intensitas kunjungan per jam. Membuat grafik ratarata intensitas kunjungan atau intensitas peminjaman per hari. Mengemas grafik statistik dan hasil analisis data dalam bentuk laporan Menyimpan beberapa variable yang berkaitan dengan tabel Mengindeks data detail Membingkai data detail Pengunjung dalam sebuah tabel Menyatukan tabel data detail pengunjung dengan indeksnya Membingkai data detail peminjam dalam sebuah tabel Menyatukan tabel data detail peminjam dengan indeksnya Membingkai data detail koleksi dalam sebuah tabel
Lanjutan Tabel 3. fungsi-fungsi pada View Nama Print_kl()
Tampil_intensitas _kunjungan Print_intensitas _kunjungan() Tampil_intensitas _peminjaman() Print_intensitas _peminjaman() ekspor_report()
Fungsi Menyatukan tabel data detail koleksi dengan indeksnya Membingkai data intensitas kunjungan dalam sebuah tabel Menyatukan tabel intensitas kunjungan dengan indeksnya Membingkai data intensitas peminjaman ke dalam sebuah tabel Menyatukan tabel intensitas peminjaman dengan indeksnya. 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. Selanjutnya, contoh tahapan MVC dapat dilihat pada Gambar 11, yaitu ketika pengguna melakukan proses mendapatkan statistik pengunjung bulanan.
13
Gambar 11 Diagram Sequence Aplikasi Statistik Perpustakaan IPB
Keterangan:
: 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
: Respon/ balasan pesan 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: Keinginan pengguna untuk menampilkan data detail pengunjung bulanan direspon oleh Controller dengan menjalankan fungsi Tampil_Data_Detail. Fungsi ini akan memanggil fungsi get_fakdep_pg() pada
14
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 singkatansingkatan 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; }
Hasil dari penghitungan data statistik juga akan ditampilkan secara mendetail dalam
15
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, >dbid); if (!$this->query_res) return false; else return true; }
$this-
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;$ilabel[$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() { if($this->dari=="EM" or $this->dari=="EG" or $this->dari=="KU"){
16
list($this->jumlah,$this>nilai_grafik,$this>persentase, $this->std)=$this->GetGrafikValue_EmEg(); }else{ list($this->jumlah, $this->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 modulmodul program yang telah dibuat sebelumnya untuk diuji sebagai suatu sistem yang lengkap. Integrasi dilakukan dengan cara memanggil modul-modul program pada satu halaman yaitu halaman Implement_Stat.php. Pengujian sistem dilakukan dengan tujuan untuk memastikan semua fungsi dapat berjalan dengan baik. Pengujian dilakukan dengan menggunakan metode blackbox. Pada tahap pengujian dengan metode blackbox, semua fungsi yang terdapat pada Aplikasi Statistik Perpustakaan IPB diujikan dengan memasukkan semua kemungkinan input dan kemudian diperiksa apakah fungsi yang diujikan tersebut menghasilkan output sesuai dengan yang diharapkan.
HASIL DAN PEMBAHASAN Penelitian ini menghasilkan suatu sistem yang dapat menganalisis data statistik perpustakaan, menampilkan grafik statistik, data detail, tabel intensitas, dan report. Fasilitas-fasilitas yang tersedia dalam aplikasi ini adalah: Dapat menampilkan grafik statistik dari seluruh submenu Dapat menampilkan data detail dari seluruh submenu. Dapat menampilkan tabel intensitas dari submenu yang berasal dari menu statistik pengunjung dan menu statistik peminjam baik bulanan maupun tahunan. Report dari seluruh submenu. Pengujian seluruh fasilitas yang tersedia dapat dilihat pada Lampiran 11. Ketika kita mulai membuka aplikasi, maka akan muncul tampilan antarmuka awal dengan link bernama Home yang berisi ucapan selamat datang dan sekilas informasi tentang aplikasi ini. Home dapat dilihat pada Gambar 12. Di setiap bagian halaman paling atas pada aplikasi ini terdapat Header yang terdiri dari gambar dan logo. Di bawahnya terdapat Link Navigasi yang terdiri dari: Home, Statistik Pengunjung, Statistik Peminjam, Statistik Koleksi, dan Appendices. Tiap tiap link yang terdapat pada Link Navigasi mempunyai dua sublink yang merepresentasikan periode bulanan atau tahunan. Kombinasi antara link dan sublink tersebut merupakan representasi dari menu. Gambar 13 memperlihatkan jika pengguna ingin memilih menu statistik pengunjung bulanan maka pengguna pertama-tama mengklik menu statistik pengunjung kemudian mengklik submenu bulanan.
Penggunaan dan Pemeliharaan Penggunaan dan pemeliharaan Aplikasi Statistik Perpustakaan IPB, sepenuhnya akan ditangani oleh pihak bagian sirkulasi bahan pustaka di Perpustakaan IPB. Aplikasi sudah dapat digunakan setelah pengujian dinyatakan berhasil.
17