bab 2 landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2006-2-01322-mtif-bab 2.pdf ·...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Pengertian peramalan
Menurut Sofjan Assauri (1984) Peramalan adalah kegiatan untuk
memperkirakan apa yang akan terjadi pada masa yang akan datang. Setiap kebijakan
atau pengambilan keputusan seseorang tidak akan terlepas dari usaha untuk
meningkatkan kesejahteraan keberhasilan orang tersebut di masa yang akan datang.
Oleh karena itu perlu dilihat dan dikaji situasi dan kondisi pada saat kebijakan
tersebut dilaksanakan. Usaha melihat dan mengkaji situasi dan kondisi tersebut
tidak terlepas dari kegiatan peramalan.
2.2 Kegunaan dan manfaat Peramalan
Kegunaan peramalan dapat dilihat pada saat pengambilan keputusan. Setiap
orang selalu dihadapkan pada masalah pengambilan keputusan. Keputusan yang
baik adalah keputusan yang didasarkan atas pertimbangan apa yang akan terjadi
pada waktu keputusan itu dilaksanakan, berorientasi ke depan. Apabila kurang tepat
ramalan yang disusun atau yang kita buat, maka makin kurang baiklah keputusan
yang kita ambil. Oleh karena itu masalah pengambilan keputusan merupakan
masalah yang selalu kita hadapi.
Peranan peramalan cukup penting, baik dalam penelitian, perencanaan maupun
dalam pengambilan keputusan. Baik tidaknya hasil suatu penelitian dalam ekonomi
atau dunia usaha, sangat ditentukan oleh ketepatan ramalan yang dibuat. Demikian
8
pula, baik tidaknya keputusan dan rencana yang disusun juga sangat ditentukan oleh
ketepatan ramalan yang dibuat. Oleh karena itu, ketepatan dari ramalan tersebut
merupakan hal yang sangat penting. Walaupun demikian perlu disadari bahwa suatu
peramalan adalah tetap ramalan, di mana selalu ada unsur kesalahannya dan belum
pernah mencapai efisiensi 100 % tepat. Sehingga yang penting diperhatikan adalah
usaha untuk memperkecil kemungkinan kesalahannya tersebut. Akhirnya, baik
tidaknya suatu ramalan yang disusun sangat tergantung pada pihak-pihak yang
melakukannya, langkah-langkah peramalan yang dilakukannya, dan metode yang
dipergunakan.
2.3 Metode-metode Peramalan
Oleh karena kemampuan untuk memperkirakan kegiatan-kegiatan atau
pengambilan keputusan ini sangat ditentukan oleh tepat tidaknya peramalan yang
dilakukan atas dasar keadaan kondisi pada beberapa masa yang lalu, maka terdapat
usaha memperkembangkan teknik dan metode peramalan.
Metode peramalan sangat berguna, karena akan membantu dalam mengadakan
pendekatan analisis terhadap tingkah laku atau pola dari data yang lalu, sehingga
dapat memberikan cara pemikiran, pengerjaan dan pemecahan yang sistematis, serta
memberikan ketepatan hasil ramalan yang dibuat atau yang disusun menjadi lebih
tinggi.
Menurut Sofjan Assauri (1984), peramalan secara umum dibedakan atas
peramalan kuantitatif dan kualitatif, pada dasarnya metode peramalan kwantitatif
ini dapat dibedakan atas:
9
a. Metode peramalan yang didasarkan atas penggunaan analisis pola
hubungan antara variabel yang akan diperkirakan dengan variabel waktu,
yang merupakan deret waktu, atau “Time Series”. Contohnya: metode
Smoothing, metode Box Jenkins, metode proyeksi trend dengan regresi.
b. Metode peramalan yang didasarkan atas penggunaan analisis pola
hubungan antara variabel yang akan diperkirakan dengan variabel lain
yang mempengaruhinya, yang bukan waktu, yang disebut metode
korelasi atau sebab akibat. Contohnyua: metode regresi dan korelasi,
metode ekonometri, metode input-output.
Metode yang dipergunakan sangat besar manfaatnya, apabila dikaitkan dengan
keadaan informasi atau data yang dipunyai sekarang. Apabila dari data yang lalu
diketahui adanya pola musiman, maka untuk peramalan satu tahun ke depan
sebaiknya digunakan metode varian musim. Sedangkan apabila dari data yang lalu
diketahui adanya pola hubungan antara variabel-variabel yang saling
mempengaruhi, maka sebaiknya dipergunakan metode sebab-akibat (causal) atau
korelasi (“cross section”). Dalam tulisan digunakan metode peramalan Neural
Network sebagai metodenya
2.4 Neural Network
Jaringan syaraf merupakan salah satu representasi buatan yang meniru otak
manusia, yang selalu mencoba untuk mensimulasikan proses pembelajaran pada
otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini
10
diimplementasikan dengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.
2.4.1 Jaringan Syaraf Manusia
Otak manusia berisi berjuta-juta sel syaraf yang bertugas untuk memproses
informasi. Tiap-tiap sel bekerja seperti suatu prosesor sederhana. Masing-masing sel
tersebut saling berinteraksi sehingga mendukung kemampuan kerja otak manusia.
Gambar 2.1 Sel Syaraf Manusia Sumber: Artificial Intelligence, halaman 207
Gambar di atas menunjukkan susunan syaraf pada manusia. Setiap sel syaraf
(neuron) akan memiliki suatu inti sel (nukleus), inti sel ini bertugas untuk
melakukan pemrosesan informasi, informasi datang diterima oleh dendrit. Selain
menerima informasi, dendrit juga menyertai axon sebagai keluaran dari suatu
pemrosesan informasi. Informasi hasil olahan ini akan menjadi masukan bagi
11
neuron lain di mana antar dendrit kedua sel tersebut dipertemukan dengan sinapsis.
Informasi yang dikirimkan antar neuron ini berupa rangsangan atau sinyal yang
dilewatkan melalui dendrit. Informasi yang datang dan diterima oleh dendrit akan
dijumlahkan dan dikirim melalui axon ke dendrit akhir yang bersentuhan dengan
dendrit dari neuron yang lain. Jika memenuhi batasan tertentu, yang dikenal dengan
nama nilai ambang (Threshold) maka informasi ini akan diterima oleh neuron lain.
Struktur hubungan antar neuron tersebut terjadi secara dinamis. Hal inilah dalam
otak manusia yang disebut memiliki kemampuan untuk belajar dengan melakukan
adaptasi.
Jumlah neuron dalam otak manusia dewasa mencapai 1011 buah dengan masing-
masing neuron saling berhubungan di mana jumlah hubungan tersebut mencapai 104
buah per neuron. Jadi jumlah koneksi untuk setiap neuron adalah 1015 buah.
Neuron-neuron tersebut dapat bekerja secara parerel (parallel processing) dengan
kecepatan yang luar biasa.
Karena otak manusia yang begitu kompleks tetapi dapat memproses dengan
cepat ditambah lagi otak mempunyai kemampuan belajar, para ahli mulai
mengaplikasikan cara kerja otak ini ke dalam mesin komputer. Diharapkan
komputer dapat bekerja dengan cepat dan memiliki kemampuan belajar juga.
Mengenai kemampuan belajar komputer, hal ini dinamakan Artificial Intelligence
atau kecerdasan buatan.
2.4.2 Jaringan Syaraf Buatan (Artificial Neural Network)
12
Dimulai sejak 50 tahun yang lalu para ahli mulai mengembangkan Artificial
Intelligence atau kecerdasan buatan. Di mana sebuah mesin selain dituntut untuk
cepat melakukan perhitungan yang banyak sekaligus juga sebuah mesin dapat
berpikir, menalar, dan mengambil tindakan seperti layaknya makhluk hidup.
Dengan mengadopsi cara kerja otak manusia, maka lahirlah apa yang dinamakan
dengan jaringan syaraf buatan. Definisi Artificial Neural Network menurut berbagai
sumber:
• Menurut DARPA Neural Network Study (1988, AFCEA International Press,
halaman 60): “... a neural network is a system composed of many simple
processing elements operating in parallel whose function is determined by
network structure, connection strengths, and the processing performed at
computing elements or nodes.”
• Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation,
NY: Macmillan, halaman 2: “A neural network is a massively parallel
distributed processor that has a natural propensity for storing experiential
knowledge and making it available for use. It resembles the brain in two
respects:
1. Knowledge is acquired by the network through a learning process.
2. Interneuron connection strengths known as synaptic weights are used to
store the knowledge.“
13
• Menurut Nigrin, A. (1993), Neural Networks for Pattern Recognition,
Cambridge, MA: The MIT Press, halaman 11: “A neural network is a circuit
composed of a very large number of simple processing elements that are
neurally based. Each element operates only on local information. Furthermore
each element operates asynchronously; thus there is no overall system clock.”
• Menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems,
Boston: PWS Publishing Company, halaman xv: “Artificial neural systems, or
neural networks, are physical cellular systems which can acquire, store, and
utilize experiential knowledge.”
Menyimpulkan dari semuanya, Artificial Neural Network atau Neural
Computing adalah model arsitektur komputer yang bekerja berdasarkan hubungan
antar system neuron dalam otak manusia yang mampu bekerja secara pararel dan
mempunyai kemampuan mengenali pola atau bentuk dan mempelajarinya melalui
penalaran.
2.4.3 Komponen Jaringan Syaraf
Ada beberapa tipe jaringan syaraf, namun demikian hampir semuanya memiliki
kemiripan komponen. Seperti halnya otak manusia, jaringan syaraf buatan juga
terdiri dari beberapa neuron, dan ada hubungan antara neuron-neuron tersebut.
Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui
sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf,
14
hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu
nilai tertentu pada bobot tersebut
Gambar 2.2 Model Jaringan Syaraf Manusia Sumber: http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html
Gambar 2.3 Struktur Neuron Jaringan Syaraf Sumber: Artificial Intelligence, halaman 210
Jika kita membandingkan gambar 2.2 dengan gambar 2.3, neuron buatan ini
sebenarnya mirip dengan sel neuron biologis. Neuron-neuron buatan tersebut
bekerja dengan cara yang sama pula dengan neuron-neuron biologis. Informasi
(disebut dengan input) akan dikirim ke neuron dengan bobot kedatangan tertentu.
Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan
nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan
dibandingkan dengan suatu nilai ambang (Threshold) tertentu melalui fungsi
15
aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu,
maka neuron tersebut akan diaktifkan. Apabila neuron tersebut diaktifkan, maka
neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua
neuron yang berhubungan dengannya, demikian seterusnya.
Pada jaringan syaraf buatan, neuron-neuron akan dikumpulkan dalam lapisan-
lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya
neuron-neuron dalam satu lapisan akan dihubungkan dengan lapisan-lapisan
sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang
diberikan pada jaringan syaraf akan dirambatkan dari lapisan ke lapisan, mulai dari
lapisan input sampai ke lapisan output melalui lapisan-lapisan yang lainnya, yang
sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada
algoritma pembelajarannya, informasi tersebut bisa dirambatkan secara maju (input
ke output) atau dirambatkan secara mundur (output ke input) pada jaringan. Contoh
gambar jaringan syaraf dengan 3 lapisan.
Gambar 2.4 Model Multilayer dengan 1 Hidden Layer Sumber: http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html
16
Gambar di atas bukanlah struktur umum jaringan syaraf. Beberapa jaringan
syaraf ada juga yang tidak memiliki lapisan tersembunyi, dan ada juga jaringan
syaraf di mana neuron-neuronnya disusun dalam bentuk matriks.
2.4.4 Model Multilayer Artificial Neural Network
Seperti telah dikemukakan sebelumnya bahwa neuron-neuron dikelompokkan
dalam lapisan-lapisan. Umumnya, neuron-neuron yang terletak pada lapisan yang
sama akan memiliki keadaan yang sama. Hal terpenting dalam menentukan keadaan
suatu neuron adalah fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang
sama, neuron-neuron akan memiliki fungsi aktivasi yang sama. Apabila neuron-
neuron dalam suatu lapisan (misalkan lapisan tersembunyi) masing-masing akan
dihubungkan dengan neuron-neuron pada lapisan yang lain (misalkan lapisan
output), maka setiap dari neuron pada lapisan tersebut (misalkan lapisan
tersembunyi) masing-masing juga harus dihubungkan dengan setiap neuron masing-
masing pada lapisan lainnya (misalkan lapisan output).
Menurut Sri Kusumadewi dalam Artificial Intelligence halaman 212, ada
beberapa arsitektur jaringan syaraf buatan, antara lain:
A. Jaringan dengan Lapisan Tunggal (Single Layer Net)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-
bobot terhubung. Jaringan ini hanya menerima input kemudian secara
langsung akan mengolahnya menjadi output tanpa harus melalui lapisan
tersembunyi (gambar 2.5). Pada contoh gambar 2.5 tersebut, lapisan input
17
memiliki 3 neuron yaitu X1, X2, X3 sedangkan pada lapisan output memilki 2
neuron yaitu Y1, Y2. Neuron-neuron pada kedua lapisan saling berhubungan.
Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang
bersesuaian. Semua unit input akan dihubungkan dengan setiap unit output.
Gambar 2.5 Model Single Layer Sumber: Artificial Intelligence, halaman 212
B. Jaringan dengan Banyak Lapisan (Multilayer Net)
Jaringan dengan banyak lapisan memiliki 1 atau lebih jaringan yang terletak
diantara input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi),
seperti terlihat pada gambar 2.6. Umumnya, ada lapisan bobot-bobot yang
terletak anatara 2 lapisan yang bersebelahan. Jaringan dengan banyak lapisan
ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan
18
dengan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit.
Namun demikian, pada bayak kasus, pembelajaran pada jaringan dengan
banyak lapisan ini lebih sukses dalam menyelesaikan masalah.
Gambar 2.6 Model Multilayer dengan 1 Hidden Layer
Sumber: Artificial Intelligence, halaman 212
2.4.5 Fungsi Aktivasi
Fungsi aktivasi adalah suatu fungsi yang mengolah input (x) dalam neuron
jaringan syaraf buatan dan menghasilkan suatu output (y) di mana nilai output ini
19
akan menjadi nilai input bagi neuron lain yang akan menjadi tujuan perambatan
informasi.
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf
tiruan, antara lain:
A. Fungsi Tangga Biner (Binary Step Function)
Fungsi tangga biner ini sering digunakan pada jaringan lapis tunggal (single
layer network) digunakan untuk mengubah input bersih (net input) yang
merupakan variable kontiniu menjadi output bernilai biner (0 atau 1)
Fungsi tangga biner dirumuskan sebagai :
0 jika x ≤ 0
y =
1 jika x > 0
Gambar 2.7 Fungsi Aktivasi: Tangga Biner (Binary Step Function)
B. Fungsi Tangga Biner (dengan Threshold)
Fungsi tangga biner dengan menggunakan nilai ambang sering juga disebut
dengan nama fungsi nilai ambang (Threshold) atau fungsi Heaviside.
20
Nilai Threshold (θ) di sini menjadi garis pemisah antara daerah dengan
respon aktivasi positif dan daerah dengan respon aktivasi negatif.
Fungsi tangga biner (dengan nilai ambang θ) dirumuskan sebagai berikut:
0 jika x < θ
y =
1 jika x ≥ θ
Gambar 2.8 Fungsi Aktivasi: Tangga Biner (Threshold)
C. Fungsi Bipolar (Symmetric Hard Limit)
Fungsi bipolar hampir sama dengan fungsi tangga biner, hanya saja output
yang dihasilkan berbeda, yaitu berupa nilai 1, 0, -1 (Gambar 2.9)
Fungsi Symmetric Hard Limit dirumuskan sebagai
1 jika x > 0
y = 0 jika x = 0
-1 jika x < 0
21
Gambar 2.9 Fungsi Aktivasi: Bipolar (Symmetric Hard Limit)
D. Fungsi Bipolar (dengan Threshold)
Fungsi bipolar dengan Threshold hampir sama dengan fungsi tangga biner
dengan Threshold, hanya saja output yang dihasilkan berupa 1,0,-1 (gambar
2.10)
Fungsi bipolar (dengan nilai ambang θ)
1 jika x > θ
y = 0 jika x = θ
-1 jika x < θ
22
Gambar 2.10 Fungsi Aktivasi: Bipolar (Threshold)
E. Fungsi Linier (Identitas)
Fungsi linear memiliki nilai output sama dengan nilai inputnya (gambar
2.10)
y = x
Gambar 2.11 Fungsi Aktivasi: Linier (Identitas)
23
F. Fungsi Saturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari -½ dan akan bernilai 1
jika inputnya lebih dari ½. Sedangkan jika nilai input terletak anatara -½ dan
½ maka outputnya akan bernilai sama dengan nilai input ditambah ½
(gambar 2.12)
1 jika x > 0.5
y = x + 0.5 jika -0.5 ≤ x ≤ 0.5
0 jika x < -0.5
Gambar 2.12 Fungsi Aktivasi: Saturating Linear
G. Fungsi Symmetric Saturating Linear
Fungsi ini akan bernilai -1 jika inputnya kurang dari -1, dan akan bernilai 1
jika inputnya lebih dari 1. sedangkan jika nilai input terletak antara -1 dan 1,
maka outputnya akan bernilai sama dengan nilai inputnya (gambar 2.13)
Fungsi Symmetric Saturating Linear dirumuskan sebagai
1 jika x > 1
y = x jika -1 ≤ x ≤ 1
-1 jika x < -1
24
Gambar 2.13 Fungsi Aktivasi: Symetric Saturating Linear
H. Fungsi Sigmoid Biner
Fungsi ini mencakup seluruh fungsi yang berbentuk kurva S. Sebagai contoh
yang sering digunakan adalah fungsi logistik. Fungsi ini memiliki kelebihan
dalam pembelajaran sebuah neuron khususnya yang menggunakan algoritma
atau model Backpropagation. Kelebihan dalam pembelajaran ini karena
hubungan yang sederhana antara nilai fungsi pada suatu titik dengan nilai
turunannya, sehingga mengurangi biaya komputasi selama pembelajaran
dalam bentuk waktu (time) yang lebih efisien. (gambar 2.14)
Fungsi Sigmoid Biner dirumuskan sebagai :
1 y = f(x) = 1 + e –σx
Fungsi ini memiliki turunan pertama:
f’(x) = σ f(x) [1 – f(x)]
25
Di mana σ merupakan parameter kecuraman yang diketahui nilainya.
Umumnya nilai σ dipilih sama dengan 1.
Gambar 2.14 Fungsi Aktivasi: Sigmoid Biner
I. Fungsi Sigmoid Bipolar
Fungsi Sigmoid Bipolar hampir sama dengan Fungsi Sigmoid Biner, hanya
saja output dari fungsi ini memiliki range antara -1 sampai 1 (gambar 2.15)
1 - e-x
y = f(x) = 1 + ex
Dengan turunan pertama f ’(x) = σ / 2 [ 1 + f(x) ][ 1 - f(x) ]
26
Fungsi ini sangat dekat dengan fungsi Hyperbolic Tangent. Keduanya
memiliki range antara -1 sampai 1. untuk fungsi Hyperbolic Tangent,
dirumuskan sebagai:
ex - e-x y = f(x) =
ex + e-x
1- e-2x atau y = f(x) =
1+ e-2x
Dengan : f ’(x) = [ 1 + f(x) ][ 1 - f(x) ]
Gambar 2.15 Fungsi Aktivasi: Sigmoid Bipolar
27
2.4.6 Proses Pembelajaran
Di dalam otak manusia, informasi yang dirambatkan dari satu neuron ke neuron
yang lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan tersebut
diterima oleh suatu neuron, maka neuron tersebut akan membangkitkan suatu
keluaran atau output ke semua neuron yang berhubungan dengannya sampai
informasi tersebut sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika
rangsangan yang diterima terlalu halus atau lemah, maka output yang dibangkitkan
oleh neuron tersebut tidak akan direspon oleh neuron yang terhubung dengannya.
Tentu saja sangatlah sulit untuk memahami bagaimana otak manusia bisa belajar.
Tetapi secara sederhana, selama proses pembelajaran terjadi perubahan yang cukup
berarti pada bobot-bobot yang menghubungkan antar neuron. Apabila ada
rangsangan yang sama dengan rangsangan yang telah diterima oleh neuron, maka
neuron akan memberikan reaksi dengan cepat. Namun apabila kelak ada rangsangan
yang berbeda dengan apa yang telah diterima oleh neuron, maka neuron akan segera
beradaptasi untuk memberikan rekasi yang sesuai.
Pada jaringan syaraf buatan akan dicoba untuk mensimulasikan kemampuan
otak manusia untuk belajar. Jaringan syaraf tiruan juga tersusun atas neuron-neuron
dan dendrit. Tidak seperti model biologis, jaringan syaraf buatan memiliki struktur
yang tidak dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu
yang menunjukkan seberapa besar koneksi antara neuron (yang dikenal dengan
nama bobot). Perubahan yang terjadi selama proses pembelajaran dalam jaringan
syaraf buatan adalah perubahan nilai bobot. Nilai bobot akan bertambah jika
informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya
28
jika informasi tidak disampaikan oleh suatu neuron ke neuron lain, maka nilai bobot
yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakukan
pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga
mencapai suatu nilai yang cukup seimbang. apabila nilai ini telah tercapai
mengindikasikan bahwa tiap-tiap input telah berhubungan dengan output yang
diharapkan.
Sri Kusumadewi dalam Artificial Intelligence halaman 221, menurut bukunya
pembelajaran dalam jaringan syaraf buatan dibagi menjadi 2, yaitu Pembelajran
Terawasi dan Pembelajaran Tak Terawasi.
A. Pembelajaran Terawasi (Supervised Learning)
Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang
diharapkan telah diketahui sebelumnya.
Contoh: andaikan kita memiliki jaringan syaraf yang akan digunakan untuk
mengenali pasangan pola, misalkan pada operasi AND
Input Target0 0 0 0 1 0 1 0 0 1 1 1
Tabel 2.1 Tabel AND
Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada
lapisan input. Pola ini akan dirambatkan di sepanjang lapisan syaraf hingga
sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan
pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila
terjadi perbedaan antara pola output hasil pembelajaran dengan pola output target,
29
maka di sini akan muncul error. Apabila nilai error ini masih cukup besar,
mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi.
Berikut adalah contoh-contoh algoritma pembelajaran terawasi.
1. Hebb Rule
Hebb Rule adalah metode pembelajaran yang paling sederhana. Pada metode
ini pembelajaran dilakukan dengan cara memperbaiki nilai bobot sedemikian
rupa sehingga jika ada 2 neuron yang terhubung. Dan keduanya pada kondisi
‘hidup’ (on) pada saat yang sama, maka bobot antara keduanya dinaikkan.
Apabila data direpresentasikan secara bipolar, maka perbaikkan bobotnya
adalah:
wi (baru) = wi (lama) + xi * y
Dengan wi : bobot data input ke-i
xi : input data ke-i
y : output data
Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai
pasangan vektor yang akan dilatih. Sedangkan vektor yang hendak
digunakan untuk tersting adalah vektor x.
Algoritma
0. Inisialisasi semua bobot
wij = 0; dengan i = 1, 2, 3,..., n dan j = 1, 2, 3..., m
30
1. Untuk setiap pasangan input-input (s-t), lakukan langkah-langkah
sebagai berikut
a. Set input dengan nilai sama dengan vektor input:
xi = si; (i = 1, 2, 3..., n)
b. Set output dengan nilai sama dengan vektor output:
yj = tj; (j = 1, 2, 3,...., m)
c. Perbaiki bobot
wij (baru ) = wij (lama) + xi * yj
(i =1, 2, 3...., n dan j = 1, 2, 3,...., m)
Dengan catatan bias selalu 1.
2. Perceptron
Perceptron juga termasuk salah satu bentuk jaringan syaraf yang sederhana.
Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola
tertentu yang sering dikenal dengan pemisahan secara linier. Pada dasarnya,
perceptron pada jaringan syaraf dengan satu lapisan memiliki bobot yang
bisa diatur dan suatu nilai ambang (Threshold). Algoritma yang digunakan
oleh aturan perceptron ini akan mengatur parameter-parametrer bebasnya
melalui proses pembelajaran. Nilai Threshold (θ) pada fungsi aktivasi adalah
non negatif. Fungsi aktivasi ini dibuat sedemikian rupa sehingga terjadi
pembatasan antara daerah positif dan daerah negatif (gambar 2.16)
31
Gambar 2.16 Pembatasan Linier dengan Perceptron
Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan
w1x1 + w2x2 + b > θ
Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki
pertidaksamaan:
w1x1 + w2x2 + b < -θ
Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai
pasangan vektor yang akan dilatih
Algoritma:
0. Insialisasi semua bobot dan bias
(untuk sederhananya set semua bobot dan bobot bias sama dengan nol)
32
Set learning rate : α (0< α <1)
(untuk sederhanannya set semua dengan 1)
1. Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai
berikut:
i. Untuk setiap pasangan pembelajaran s-t, kerjakan:
a. Set input dengan nilai sama dengan vektor input:
xi = si
b. Hitung respon untuk unit output :
y_in = b+ ∑xiwi
1, jika y_in > θ
y = 0, jika –θ ≤ y_in ≤ θ
-1, jika y_in < θ
c. Perbaiki bobot dan bias jika terjadi error:
jika y ≠ t maka:
wi (baru) = wi (lama ) + α * t * xi
b (baru) = b (lama) + α * t
jika tidak, maka :
wi (baru) = wi (lama )
b (baru) = b (lama)
ii. Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada i maka
kondisi berhenti true, namun jika masih terjadi perubahan maka
kondisi berhenti false.
Algoritma di atas bisa digunakan baik untuk input biner maupun bipolar,
dengan θ tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-
33
bobot yang diperbaiki hanyalah bobot-bobot yang berhubungan dengan input
yang aktif (xi ≠ 0) dan bobot-bobot yang tidak menghasilkan nilai y yang
benar.
3. Delta rule
Pada Delta Rule akan mengubah bobot yang menghubungkan antara
jaringan input ke unit ouput (y_in) dengan nilai target (t). Hal ini dilakukan
untuk meminimalkan error selama pelatihan pola. Delta rule untuk
memperbaiki bobot ke i (untuk setiap pola) adalah:
Δwi = α (t – y_in) * xi;
Dengan x : vektor input
y_in : input jaringan ke unit output y
y_in = ∑ xi * wi
t : target (output)
Nilai w baru diperoleh dari nilai w lama ditambah Δw,
wi = wi + Δwi
4. Backpropagation
Backpropagation merupakan algoritma pembelajaran yang terawasi dan
biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah
bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan
tersembunyinya. Algoritma Backpropagation menggunakan error output
untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward).
Untuk mendapatkan error ini, tahap perambatan maju (foward propagation)
harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron
34
diaktifkan dengan menggunakan fungsi aktivasi Sigmoid Biner atau fungsi
aktivasi Sigmoid Bipolar.
Arsitektur jaringan Backporpagation seperti terlihat pada gambar 2.17
Gambar 2.17 Arsitektur Jaringan Backpropagation
Laurene Fausett dalam Fundamental for Neural Network halaman 301
mengatakan bahwa proses pembelajaran dengan menggunakan fungsi
aktivasi Sigmoid Bipolar dapat memberikan hasil yang lebih cepat dari pada
proses pembelajaran menggunakan fungsi aktivasi Sigmoid Biner. Contoh
kasus dalam pembelajaran kasus XOR membutuhkan iterasi (epoch) sampai
3000 kali jika menggunakan fungsi aktivasi Sigmoid Biner, sedangkan
dengan fungsi aktivasi Sigmoid Bipolar hanya memerlukan 387 kali iterasi
(epoch).
Algoritma Backpropagation
• Insialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil)
35
• Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai false
Untuk tiap-tiap pasangan yang akan dilakukan pembelajaran, kerjakan:
Feedfoward:
A. Tiap-tiap unit input (Xi, i = 1,2,3,...,n) menerima sinyal xi, dan
meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di
atasnya (lapisan tersembunyi)
B. Tiap-tiap unit tersembunyi (Zi, i = 1,2,3,...p) menjumlahkan sinyal-
sinyal input berbobot:
z_in j = v0j + ∑ xivij
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya
zj = f(z_in j)
Dan kirimkan sinal tersebut ke semua unit di lapisan atasnya (unit-
unit output)
C. Tiap-tiap unit output (Yk = 1,2,3,...m) menjumlahkan sinyal-sinyal
input terbobot.
Y_in k = w0k + ∑ ziwjk
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya
yk = f(y_in k)
Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-
unit Output)
Backpropagation
36
D. Tiap-tiap unit output (Yk, k = 1,2,3,....m) menerima target pola yang
berhubungan dengan pola input pembelajaran, hitung informasi
error-nya:
δk = (tk-yk) f ’(y_in k)
Kemudian hitung koreksi bobot (yang nantinya akan digunakan
untuk memeperbaiki nilai wjk).
Δwjk = α δk zj
Hitung juga koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai w0k).
Δw0k = α δk
Kirimkan δk ini ke unit-unit yang ada di lapisan bawahnya.
E. Tiap-tiap unit tersembuni (Zj, j = 1,2,3,...p) menjumlahkan delta
inputnya (dari unit-unit yang berada di lapisan atasnya).
Δ_in j = ∑ δkwjk
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untk
menghitung informasi error:
δj = δ_inj f ’(z_in j)
Kemudian hitung koreksi bobot (yang nantinya akan digunakan unuk
memperbaiki nilai vij)
Δvjk = α δj xi
Hitung juga koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai v0j):
v0j =α δj
37
F. Tiap-tiap unit output (Yk, k = 1, 2, 3,..., m) memperbaiki bias dan
bobotnya (j = 0, 1, 2, 3..., p):
wjk (baru) = wjk (lama) + Δwjk
Tiap-tiap unit tersembunyi (Zj, j = 1, 2, 3,..., p) memperbaiki bias dan
bobotnya (i = 0, 1, 2, 3,...., n)
vij (baru) = vij (lama) + Δvij
Tes kondisi berhenti
B. Pembelajaran Tak Terawasi (Unsupervied Learning)
Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target
output. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang
diharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai
bobot disusun dalam suatu range tertentu tergantung pada nilai input yang
diberikan. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang
hampir sama dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok
untuk pengelompokan (klasifikasi) pola. Contoh dari pembelajaran tak terawasai
adalah Jaringan Kohonen.
Rumelhart, Hinton dan Williams (1986) adalah orang-orang yang memberi
kontribusi terhadap pengembangan algoritma Backpropagation pada pembelajaran
terawasi. Lalu oleh Jacobs (1988) algoritma Backpropagation dikembangkan lagi
menjadi algoritma Delta-Bar-Delta.
38
2.4.7 Algoritma Delta-Bar-Delta
Delta-Bar-Delta adalah perkembangan dari Backpropagation. Perbedaan
algoritma ini, Delta-Bar-Delta memiliki nilai α (learning rate) pada masing-masing
bobotnya. Dan nilai α (learning rate) ini berubah terus pada saat training. Jika nilai
bobot memiliki kecenderungan yang sama (menaik atau menurun) selama beberapa
tahap, maka nilai α (learning rate) akan meningkat. Sebaliknya jika nilai bobot
cenderung berbeda (ada yang menaik lalu menurun) maka nilai α (learning rate)
akan menurun.
Untuk meng-update matriks bobot Delta-Bar-Delta berbeda dengan
Backprogagation, yaitu dengan menggunakan rumus:
wjk (t+1) = wjk (t) + αjk(t+1). Δk. Zj
Untuk menentukan nilai α (learning rate)menaik atau menurun, maka
dibutuhkan dulu menghitung “delta” pada setiap output unit dan hidden unit.
Untuk output unit :
Δjk = - δk. Zj
Untuk hidden unit :
Δij = - δj. Xi
Lalu menghitung nilai kombinasi dari nilai sebelumnya dan nilai saat ini, disebut
“delta bar”.
Untuk output unit :
Δjk(t) = ( 1 – β ) – Δjk(t) + β . Δjk( t – 1 )
Untuk hidden unit :
39
Δij(t) = ( 1 – β ) – Δij(t) + β . Δij( t – 1 )
Nilai β ditentukan sendiri oleh user (0 < β <1)
Nilai α (learning rate) ditentukan sebagai berikut:
αjk(t) + κ untuk Δjk(t–1).Δjk(t) > 0
αjk(t+1) (1 – γ).αjk(t) untuk Δjk(t–1).Δjk(t) < 0
αjk(t) untuk lainnya
Perbandingan algoritma Backpropagation dengan Delta-Bar-Delta
(Sumber : Fausett, L (1994). Fundamentals of Neural Networks: Architectures,
Algorithms, and Applications. Prentice-Hall, New Jersey)
Simulasi ini dilakukan oleh Jacobs (1988), menggunakan 25 buah simulasi
“XOR problem” (dengan insialisasi matriks bobot yang berbeda). Menggunakan 2
buah input unit, 2 buah hidden unit, dan 1 buah input unit. “XOR problem”
memiliki input berupa angka biner, lalu output memiliki rentang nilai dari 0.1
sampai 0.9. Simulasi dikatakan berhasil jika total kuadrat error kurang dari 0.04,
dengan rata-rata iterasi lebih dari 50 kali. Dan parameter yang digunakan adalah
sebagai berikut:
α κ Γ Β
Backpropagation 0.1
Delta-Bar-Delta 0.8 0.035 0.333 0.7
Tabel 2.2 Perbandingan Backpropagation dengan Delta-Bar-Delta
40
Hasil dari simulasi dapat dilihat di bawah berikut
Simulasi Sukses Rata-rata iterasi
Backpropagation 25 24 16,859.8
Delta-Bar-Delta 25 22 447.3
Tabel 2.3 Perbandingan Hasil Backpropagation dengan Delta-Bar-Delta
Walaupun tingkat keberhasilan Delta-Bar-Delta tidak seperti Backpropgataion
(hanya 22 dari 25) tetapi ketika proses selesai (sukses) akan terjadi sangat cepat
sekali.
2.4.8 Aplikasi Artificial Neural Network
2.4.8.1 Inisialisasi bobot
Penentuan nilai bobot awal dalam algoritma pembelajaran mempengaruhi kecil
atau besarnya error yang juga menentukan jumlah iterasi yang harus dilakukan.
Selain dengan cara random dalam inisialisasi bobot awal terdapat juga
inisialisasi bobot Nguyen-Widrow.
Laurene Fauset dalam bukunya (Fundamentals of Neural Network, halaman
297) mengatakan bahwa inisialisasi Nguyen-Widrow terbukti mempercepat
proses pembelajaran (iterasi). Inisialisi bobot Nguyen-Widrow dari input layer ke
hidden layer, memperhatikan jumlah input node dan hidden node dalam
menentukan nilai bobot awalnya dengan pendekatan transformasi Fourirer.
Sedangkan untuk bobot dari hidden layer ke input layer dilakukan dengan
random dengan nilai dari -0.5 sampai 0.5
41
β = 0.7 (p) 1/n
Dengan n : Jumlah input unit p : Jumlah hidden unit β : Faktor skala
Algoritma Nguyen-Widrow
1. Untuk setiap hidden unit ( j =1,2,3,...., p)
2. Inisialisasi bobot vij(old) = random dari -0.5 sampai 0.5
hitung vj(old) = v1j(old)2 + v2j(old)2 +..........+ vnj(old)2
3. Inisialisai ulang bobot
vij= β * vij (old) / vj (old)
4. Untuk bobot bias
v0j = random dari – β sampai β
2.4.8.2 Menentukan Jumlah Pasang Pola
Hubungan antara jumlah pasang pola (p) dengan jumlah bobot (w) dan
keakuratan yang diharapkan (e) digambarkan dengan:
w p =
e
Contohnya, dengan e = 0.1, jaringan dengan jumlah bobot 80 akan memerlukan
800 pasangan pola pembelajaran untuk mendapatkan hasil 90 % dari testing
secara tepat.
42
2.4.9 Keunggulan Artificial Neural Network
Artificial neural network mempunyai keunggulan dalam peramalan, sebab
metode ini dapat memproses data yang besar dan dapat mengetahui suatu bentuk
trend dan bentuk pola nilai yang tidak dapat dilihat pada grafik biasa atau dengan
metode statistik lain. Artificial Neural Networks juga dapat menemukan bentuk-
bentuk kompleks atau non linier pada data yang fluktuatif dan dapat mempelajari
bentuk data tersebut.
Inilah kelebihan utama metode peramalan menggunakan Artificial Neural
Network dibandingkan metode peramalan regresi. Sebab Artificial Neural Network
dapat memepelajari bentuk data sedangkan regresi harus menganalisis dulu data
tersebut untuk dicocokkan dengan pola regresi mana yang harus dipakai untuk
peramalan.
Juga dalam metode peramalan yang lain jika situasi, kondisi dan lingkungan
berubah maka metodepun berubah juga mengikuti lingkungan. Padahal sifat utama
dalam nilai mata uang adalah selalu berubah sesuai dengan situasi dan kondisi.
Dengan Artificial Neural Network perubahan lingkungan tidak menjadi penghalang
sebab Artificial Neural Network dapat di-trainning ulang setiap saat jika terdapat
data baru. Dengan beginilah metode peramalan menggunakan Artificial Neural
Network dapat dikatakan selalu up to date.
2.4.10 Penerapan Artificial Neural Network
Dikarenakan Artificial Neural Network adalah metode yang terbaik dalam
mengenal suatu pola atau trend dalam suatu data, maka Artificial Neural Network
cocok dipakai dalam peramalan atau pendugaan. Salah satu di antaranya adalah:
43
peramalan mata uang atau saham, peramalan proses produksi, peramalan keinginan
konsumen, manajemen resiko dan sebagainya. Contoh-contoh lain yang lebih
spesifik dalam penggunaan Artificial Neural Network: pengenalan suara, diagnosa
penyakit hepatitis, interpretasi bahasa kanji mandarin, analisis tekstur, pengenalan
objek tiga dimensi, pengenalan pola tulisan tangan dan pengenalan wajah.
Gambar 2.18 Contoh Grafik Nilai Mata Uang GBP terhadap USD Sumber: http://finance.yahoo.com
2.5 Teori Perancangan Software
Rekayasa piranti lunak menurut Fritz Bauer (Pressman, 1992, halaman 23)
adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka
mendapatkan piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien pada
mesin (komputer). Menurut Pressman (1992, halaman 24) rekayasa piranti lunak
mencakup 3 elemen yang mampu mengontrol proses pengembangan piranti lunak,
yaitu:
1) Metode-metode (Methods)
44
Menyediakan cara-cara teknis untuk membangun piranti lunak.
2) Alat-alat Bantu (Tools)
Mengadakan dukungan otomatis atau semi otomaatis untuk metode-metode
sepeerti CASE (Computeer Aided Software Engineering) yang
mengkombinasikan software, hardware dan software engineering database.
3) Prosedur- prosedur (Procedure)
Merupakan pengembangan metode dan alat bantu.
Dalam perancangan software ini, digunakan metode Siklus Hidup
Pengembangan Sistem. Metode siklus hidup pengembangan sistem atau sering disebut
dengan System Development Life Cycle (SDLC) merupakan suatu tahapan – tahapan
metode untuk merancang sebuah program aplikasi perangkat lunak. Nama lain dari
metode SDLC yaitu metode waterfall. Metode ini disebut waterfall karena model dari
langkah – langkah yang dilakukan mirip dengan air terjun (bertingkat). Jadi proses yang
harus dilakukan secara bertingkat untuk menghasilkan suatu program aplikasi yang
baik.
Perancangan aplikasi perangkat lunak dengan metode SDLC dilakukan dalam 6
tahap. Tahapan – tahapan yang harus dilakukan terdiri dari perencanaan (system
engineering), analisis disain, pengkodean (coding), pengujian (testing), dan
pemeliharaan (maintenance). Berikut ini akan dijelaskan setiap tahapan dalam SDLC
tersebut yaitu :
1) Perencanaan (System Engineering)
45
Perencanaan adalah suatu kegiatan untuk menentukan program aplikasi yang
akan dirancang, tempat program aplikasi akan dirancang dan dijalankan, dan
siapa yang akan merancang program aplikasi tersebut.
2) Analisis (Analysis)
Analisis adalah suatu kegiatan untuk menentukan tentang topic dari
permasalahan yang sedang dihadapi dan bagaimana cara pemecahan atau
solusi masalah tersebut.
3) Desain (Design)
Desain adalah suatu kegiatan untuk menentukan konsep dasar rancangan
dari suatu program yang akan dibuat sehingga diharapkan dengan disain
yang baik, maka para pengguna akan merasa nyaman dalam menggunakan
program aplikasi yang dirancang tersebut.
4) Pengkodean (Coding)
Pengkodean adalah suatu kegiatan yang berguna untuk
mengimplementasikan konsep dasar dari tahapan sebelumnya (desain) ke
dalam bahasa pemrograman,
5) Pengujian (Testing)
Pengujian adalah suatu kegiatan untuk mencari kelemahan dan kesalahan
yang terjadi pada program aplikasi dan kemudian memperbaiki kesalahan
atau kelemahan tersebut. Ada beberapa metode pengujian untuk menguji
fungsi – fungsi dari suatu program aplikasi. Metode tersebut adalah :
• Metode Pengujian White-Box
46
Metode ini menerapkan pengujian terhadap struktur logika program dan
detail procedural. Pengujian dilakukan terhadap setiap baris kode
program untuk meyakinkan bahwa semua operasi internal bekerja sesuai
dengan spesifikasi dan semua komponen internal telah dicoba.
• Metode Pengujian Black-Box
Metode ini merupakan pengujian interface dari perangkat lunak oleh
pemakai untuk mengetahui spesifikasi dari suatu fungsi dalam program
aplikasi. Pengujian dilakukan dengan memberi input pada program
aplikasi, kemudian diproses, dan hasil keluarannya dibandingkan apakah
telah sesuai dengan kebutuhan fungsional yang diinginkan pemakai.
• Metode pengujian Gray-Box
Metode ini merupakan gabungan dari metode pengujian White-Box dan
metode pengujian Black-Box yaitu memvalidasi interface perangkat
lunak dan pemilihan beberapa logika internal.
6) Pemeliharaan (Maintenance)
Pemeliharaan adalah suatu kegiatan yang berguna untuk memastikan bahwa
program aplikasi akan berjalan dengan baik sehingga diperlukan
pemeliharaan secara berkala.
47
Gambar 2.19 Gambar Alur Perancangan SDLC
2.5.1 State Transition Diagram (STD)
State Transition Diagram atau diagram transisi merupakan suatu alat perancangan
yang menggambarkan sistem untuk mempengaruhi keadaan yang dinamis
(Pressman 1992, halaman 217-234). Keadaan di sini dapat difokuskan dan
dihubungkan dalam berbagai cara untuk merepresentasikan sifat yang sekuensial
dan concurrent (bersamaan). Transisi di antara dua keadaan umumnya disebabkan
oleh suatu kondisi. Simbol-simbol yang digunakan dalam STD :
a. Modul
Berupa simbol lingkaran yang mewakilli modul yang dipanggil apabila
terjadi suatu tindakan.
Analysis
Coding
Testing
Design
Maintenance
System Engineering
48
Gambar 2.20 Notasi Modul
b. State (tampilan kondisi)
Merupakan layar yang ditampilkan menurut keadaan atau atribut, untuk
memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu bentuk
keberadaan atau kondisi tertentu, disimbolkan dengan gambar kotak.
Gambar 2.21 Gambar Notasi Tampilan
c. State Transition (tindakan)
Menggunakan simbol anak panah disertai keterangan tindakan yang
dilakukan.
Gambar 2.22 Gambar Notasi Tindakan
d. Kondisi dan Aksi
Kondisi bersifat mengubah state dan aksi adalah aksi yang dilakukan sistem
ketika state berubah. Kondisi dan aksi digambarkan dengan anak panah yang
menghubungkan dua keadaan yang berkatian seperti pada gambar berikut ini
:
49
Kondisi
Aksi
Gambar 2.23 Gambar Notasi Kondisi Aksi
2.5.2 Spesifikasi Proses
Spesifikasi proses adalah penjelasan dari proses-proses yang terjadi di dalam sistem,
spesifikasi proses menjadi pedoman bagi pembuat program dalam membuat kode
program maupun dokumentasi. Menurut Pressman (1992, halaman 341-358) ada
banyak cara untuk membuat suatu proses antara lain dengan :
• Tabel keputusan (Decision Tables)
• Bahasa terstruktur (Pseudocode) dengan :
a. Bahasa Inggris terstruktur (Strucured English)
b. Bahasa Indonesia terstruktur
• Bagan alur (Flowchart)
• Diagram Nassi-Shneiderman (Diagram N-S)
• Bentuk narasi atau cerita (dalam bahasa Inggris atau Indonesia)
2.6 Teori Interaksi Manusia dan Komputer
Suatu software dibuat sedemikian rupa sehingga manusia yang memakainya
(user) merasa nyaman. Hal-hal yang perlu diperhatikan adalah kombinasi warna,
State 1
State 2
50
letak dan kalimat juga menu-menu pada software tersebut. Juga tampilan gambar-
gambar yang berhubungan dapat menjadi nilai tambah bagi suatu porgram aplikasi.
Suatu software yang baik tentunya harus user friendly, yang dimaksud dengan
user friendly berdasarkan Shneiderman (Designing the User Interface, 1998,
halaman 15) adalah:
1. Waktu belajar tidak lama
2. Kecepatan penyajian informasi tepat
3. Tingkat kesalahan user rendah
4. Penghafalan sesudah melampaui jangka waktu
5. Kepuasan pribadi
Juga menurut Shneiderman (Designing the User Interface, 1998, halaman 74-
75) terdapat 8 hal penting yang harus diperhatikan dalam merancang software
dilihat dari segi user:
1. Konsistensi
2. User dapat menggunakan shortcut
3. Dapat memberi umpan balik yang membantu
4. Merancang dialog yang memberikan penutup
5. Mempunyai pencegahan kesalahan
6. Memungkinkan undo atau redo
7. Berusaha supaya user memegang kendali
8. Mengurangi beban ingatan jangka pendek.
51
2.7 Penelitian Relevan
Apilkasi Artificial Neural Network dalam peramalan sudah pernah dilakukan
oleh suatu perusahaan bernama Alyuda (http://www.alyuda.com/neural-network-
software.htm). Setelah mencoba mencari informasi software yang dikembangkan
perusahaan ini melalui alamat web di atas, terdapatlah 6 buah aplikasi software yang
berdasarkan Artificial Neural Network, tetapi hanya satu yang relevan dengan karya
tulisan ini yaitu mengenai peramalan, software ini bernama Alyuda Neural Signal
XL.
Software Alyuda Neural Signal XL adalah software peramalan mengenai saham
menggunakan metode Neural Network dan hanya bekerja di dalam worksheet
Microsoft Excel. Software dirancang sangat user friendly bagi pemakainya dan
dijual seharga 399 US$. Pemakai tidak perlu mengetahui rumus-rumus ekonomi dan
matematika yang rumit untuk meramal, hanya tinggal memilih menu-menu yang
ada. Kegunaan software ini adalah untuk mengambil keputusan di masa yang akan
datang dalam perdagangan saham. Karena berbicara soal saham maka pilihan
keputusannya adalah: buy, sell, stop trading dan sebagainya.
Keunggulan lain dalam software ini adalah pemakai dapat mengambil data
langsung dari internet dan setelah di-trainning, dalam tampilan akan muncul
keputusan-keputusan yang harus diambil oleh pemakai. Juga dalam software ini
terdapat juga grafik lengkap untuk saham yang dimaksud. Manfaat software ini
ditujukan bagi para investor yang bermain di saham.
Kelemahan pada aplikasi Alyuda Neural Signal XL, dalam mengunakan software
ini harus juga memiliki software tambahan sebagai tempat input dan output yaitu
52
Microsoft Excel. Tentunya akan menjadi kesulitan bagi para user yang tidak
memiliki software Microsoft Excel tersebut. Dalam skripsi ini, penulis berusaha
untuk merancang software yang relevan dengan software Alyuda tetapi tidak
terhubung dengan Microsoft Excel, dan menggunakan menu–menu dalam bahasa
Indonesia dengan harapan software dalam skripsi ini bermanfaat bagi user yang
kurang dapat berbahasa Inggris.
Gambar 2.24 Screenshot Software Alyuda Neural Signal XL
Sumber: http://www.alyuda.com/neural-network-software.htm