• Tidak ada hasil yang ditemukan

TINJAUAN PUSTAKA

PHP-OPENISIS

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

Merupakan tahap yang mendefinisikan informasi kebutuhan menjadi suatu representasi sistem sebelum diimplementasikan. Pada tahap ini, dirancang pula arsitektur sistem secara keseluruhan.

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.

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

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 wr w3 w1 w2 pr p3 p2 p1 b f

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:

j = Oj(1-Oj)(Tj-Oj) ... (10) Backward Error Propagation OUTPUT LAYER HIDDEN LAYER INPUT LAYER Input Actual Output Forward Information Flow Forward Information Flow Target Output

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

Dokumen terkait