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 ModelView-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 (clientside). Web server bekerja secara langsung terhadap file yang bersangkutan, tidak memanggil script terpisah seperti pada metode CGI (Common Gateway Interface) (Bakken 2004). PHP pertama kali diperkenalkan sekitar tahun 1995 oleh Rasmus Lerdorf yang membuat sebuah script Perl untuk keperluan dinamisasi website pribadinya. Akan tetapi, kemudian dikembangkan lagi sehingga menjadi sebuah bahasa yang disebut “Personal Home Page”. Integrasi PHP sangat luas ke berbagai server basisdata. Beberapa basisdata yang didukung PHP, antara lain:
1
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. Relational Database (MySQL Oracle, MSSQL)
Web Server (Apache)
Middleware PHP, ColdFusion, ASP
Internet Web Browser(Firefox,Nestcape)
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 Is What 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 programprogram 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:
2
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 lainlain. 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 kelaskelas tersebut untuk membuat bermacammacam 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 Merupakan tahap yang mendefinisikan informasi kebutuhan menjadi suatu representasi sistem sebelum diimplementasikan. Pada tahap ini, dirancang pula arsitektur sistem secara keseluruhan.
3
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 layananlayanan 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 interaksi GUI ( Graphical User Interfaces) pada aplikasi.
4
HTTP Request
Controller Model View HTTP Response 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:
X iWi .............................. (1) i
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).
5
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.
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: 1 ......................... (2) f ( x) 1
p1
Dengan turunannya
w1
f1 ' ( x) p2
1 exp( x )
f1 ( x)[1
f1 ( x)] .................... (3)
Grafik untuk fungsi sigmoid biner dapat diihat dalam Gambar 5.
w2 a
n
f p3
w3
wr pr
b
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
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: 2 1 ................ (4) f2 ( x) 1 exp( x )
6
Dengan turunannya: f2 ' ( x)
1 [1 2
f 2 ( x )][1 f 2 ( x )] ......... (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. Target Output
Actual Output Backward Error Propagation
OUTPUT LAYER Forward Information Flow HIDDEN LAYER Forward Information Flow
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:
Oj
F(
Input
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 lapisanlapisan berikutnya hingga menghasilkan output. Output ini akan dibandingkan dengan target. Apabila dari hasil perbandingan ini
j
) ........ (6)
Dimana Wji adalah pembobot dari unit Oi, i ialah threshold dari node, dan F adalah fungsi sigmoid: 1 ...............................(7) F( ) 1 e
INPUT LAYER
W ji Oi
a
Pelatihan bobot. 1. Dimulai dari unit-unit output dan dilakukan backward menuju lapisan tersembunyi secara rekursif. Perubahan pembobot sebagai berikut: W ji (t 1) w ji (t ) w ji ..... (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: W ji j Oi ......................... .(9) adalah trial independent Dengan learning rate dan j adalah error gradient pada unit j. 3. Error gradient dihitung sebagai berikut: untuk unit output: j = Oj(1-Oj)(Tj-Oj) ..................... (10)
7
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