BAB II LANDASAN TEORI

advertisement
6
BAB II
LANDASAN TEORI
2.1
Demam Berdarah Dengue
2.1.1 Latar Belakang
Penyakit demam berdarah dengue merupakan infeksi virus yang sering dijumpai di
daerah tropis termasuk di Indonesia. Penyebarannya melalui gigitan nyamuk Aedes
Aegypty dan Aedes Albopictus. Nyamuk ini bisa bertahan hidup sampai ketinggian
1000 meter di atas permukaan laut. Di atas ketinggian tersebut, nyamuk ini tidak dapat
berkembang biak karena suhu udara yang terlalu rendah.
Karena itu di Indonesia
merupakan tempat potensial berkembangnya nyamuk ini dan itu berarti potensial pula
untuk berkembangnya penyakit demam berdarah dengue.
Infeksi virus demam berdarah dengue ini menyebabkan sakit mulai dari yang
ringan sampai pendarahan yang berujung pada kematian. Ada dua macam pendarahan
akibat demam berdarah dengue yaitu DSS (Dengue Shock Syndrome).
DSS
menyebabkan sel darah lumpuh dan terjadi pendarahan pada gusi, kulit, sistem
pencernaan. DSS menyebabkan pembuluh darah tidak berfungsi normal, tekanan darah
menurun drastis sehingga darah tidak dapat mendukung metabolisme sel dalam tubuh.
Jika DSS tidak segera ditangani maka bisa terjadi pendarahan saluran pencernaan berupa
muntah darah berak darah. Keadaan fatal lainnya adalah encephalopatia yang ditandai
dengan penurunan kesadarah dan kejang kejang. Karena itu demam berdarah dengue
harus mendapatkan penanganan yang cepat dan tepat untuk menghindarai kematian.
7
2.1.2 Sejarah DBD di Indonesia
Wabah demam dengue pertama kali terjadi di Manila pada tahun 1953-1954, yang
disertai renjatan dan pendarahan saluran cerna, yang kemudian dikenal sebagai demam
berdarah dengue. Di Indonesia, kasus DBD pertama kali dicurigai di Surabaya tahun
1968, tetapi konfirmasi virologis baru diperoleh tahun 1970. Di Jakarta, laporan kasus
DBD pertama kali diajukan oleh Kho dkk (1969).
2.2 Sistem Syaraf Manusia VS Sistem Syaraf Buatan
Komputer dapat melakukan hal-hal yang luar biasa, dengan kecepatan yang luar
biasa pula. Komputer juga dapat menyimpan informasi yang sangat banyak dengan
mudah. Komputer dapat melakukan perhitungan aritmatika yang rumit dengan mudah
dengan tingkat kesalahan yang relatif kecil. Manusia tidak memungkiri kemampuan
komputer tersebut. Dilain pihak, manusia juga dapat melakukan banyak hal yang jauh
lebih baik daripada komputer, sistem intelegensia manusia jauh lebih hebat
dibandingkan sistem intelegensia komputer yang ada saat ini.
Sistem intelegensia
manusia dapat membuat manusia berpikir, berbicara, mendengar, bereaksi, membaca,
dll, sedangkan kemampuan intelegensia komputer sangat terbatas.
Untuk membuat komputer melakukan hal-hal yang dapat dilakukan oleh sistem
intelegensia manusia, maka manusia harus mampu membuat tiruan sistem intelegensia
manusia atau sistem syaraf manusia, inilah yang dinamakan sistem kecerdasan buatan
(artificial intelligence) dengan neural network-nya.
Membuat triruan sistem syaraf
manusia tidaklah mudah, karena struktur sistem komputer dalam memproses proses
aritmatika berbeda dengan sistem syaraf manusia, begiru juga sebaliknya, sistem syaraf
8
manusia berbeda dengan sistem aritmatika komputer yang bertujuan untuk komputasi
dengan kecepatan tinggi.
Dengan meniru struktur syaraf manusia, maka komputer akan menemui kesulitan
analog dengan struktur syaraf manusia, yaitu kesulitan dalam melakukan proses
perhitungan aritmatika yang notabene dilakukan dengan mudah oleh komputer
konvensional.
Sistem syaraf manusia mengolah informasi melalui jaringan elemen yang saling
berhubungan dan sangat kompleks. Elemen-elemen pada sistem syaraf manusia desebut
sel syaraf atau neuron. Neuron ini terdiri dari badan sel yang berisi inti sel atau nekleus
dan sejumlah benang-benang halus. Benang-benang halus ini terdiri dari 2 jenis, yaitu
dindrit dan akson.
Bagi sebuah neuron, dendrit berfungsi sebagai alat masukan, sedangkan akson
berfungsi sebagai alat keluaran. Akson akan menghubungkan satu sel syaraf dengan sel
syaraf lainnya. Hubungan antara akson dengan dendrit adalah synapsis.
Kecepatan pengiriman signal pada sistem syaraf manusia melalui impuls listrik
berkisar 2 sampai dengan 200 mil per jam. Sebuah neuron yang terdiri sendiri memang
sangat lambat apabila dibandingkan dengan komputer digital yang beroperasi dalam
jangkauan nanodetik.
Namun syaraf manusia sangat cerdas, syaraf manusia dapat
memahami sebuah kalimat hanya dengan hitungan sepersepuluh detik, ini dimungkinkan
oleh sistem kerja syaraf manusia secara pararel.
Kerja sama ini sangatlah rumit
mengingat jumlah syaraf manusia yang mencapai milyaran.
Setiap neuron bersifat otonom, independent dan asinkron dalam arti tidak
membutuhkan sinkronisasi dengan peristiwa lainnya yang terjadi. Dengan sistem seperti
tersebut, makan sistem syaraf manusia dapat menyelesaikan permasalahan yang bersifat
9
nonalgoritmik, penuh dengan noise atau distorsi dan mempunyai data atau informasi
yang tidak lengkap.
Dengan
meniru
sistem
syaraf
manusia,
sistem
syaraf
buatan
dapat
mengorganisasikan neuron-neuron buatan untuk menyelesaikan permasalahn yang
kompleks, yaitu permasalah yang bersifat nonalgiritmik dengan data yang kompleks dan
penuh dengan distorsi dan tidak lengkap. Dengan demikian cara penyelesaian tersebut
dibuat serupa dengan sistem syaraf manusia.
2.3 Sistem Syaraf Buatan
2.3.1
Pengertian Sistem Syaraf Buatan
Sistem syaraf tiruan dibangun berdasarkan sistem syaraf manusia. Bagaimana
canggihnya sistem syaraf tiruan yang dibangun, masih jauh dari setara dengan sistem
syaraf manusia, mungkin hanya dapat dibandingkan oleh sistem syaraf hewan sederhana.
Menurut Rao dan Rao (1993, p2), sistem syaraf buatan adalah sekelompok elemen
pengolah sedemikian rupa sehingga sebuah subkelompok membuat komputasi yang
berbeda dan melewatkan hasilnya kepada subkelompok berikutnya, demikian seterusnya
hingga tiba pada sebuah subkelompok akhir yang terdiri dari sebuah atau lebih elemen
pengolah yang akan menentukan keluaran (output) dari sistem syaraf tersebut.
Setiap elemen pengolah membuat perhitungannya didasarkan pada jumlah terbobot
(weighted sum) dari inputnya. Elemen pengolah tersebut merupakan satuan yang mirip
dengan neuron dalam otak manusia, yang sering disebut sebagai neuron buatan, yang
seterusnya akan disebut neuron saja.
Sebuah subkelompok pengolah disebut sebuah layer dalam jaringan, dimana
lapisan pertama disebut input layer, lapisan terakhir disebut sebgai output layer,
10
sedangkan lapisan-lapisan diantara lapisan masukan dengan lapisan keluaran disebut
sebagai hidden layers. Terdapat pula sebuah fungsi aktivasi (activation function) yang
digunakan untuk menentukan keluaran sebuah neuron menuju lapisan selanjutnya.
Sinapsis akan menghubungkan setiap neuron, sinapsis direpresentasikan sebagai yang
simpul-simpulnya merupakan neuron-neuron.
Gambar 2.1 menunjukkan sistem syaraf buatan sederhana dalam bentuk grafik.
Dalam gambar ditunjukkan representasi sistem syaraf buatan yang terdiri dari 3 alpisan
yaitu satu lapisan masukan, satu lapisan tersembunyi dan satu lapisan keluaran.
input layer
hidden layer
output layer
Gambar 2.1. Sistem syaraf buatan
Sistem syaraf buatan ini dapat dilatih untuk menyimpan, mengingat, mencocokkan
suatu pola tertentu. Pola yang digunakan mengandung digit biner (0 dan 1) untuk kasus
dimana masalah berupa discreet atau bilangan-bilangan real yang mewakili signal
analog untuk kasus yang kontinu.
11
Sistem syaraf buatan ini dapat dibuat sebagai perangkat keras atau dapat pula
direpresentasikan dengan bentuk perangkat lunak.
Namun sistem syaraf buatan
direpersentasikan dalam bentuk perangkat keras lebih cepat daripada bentuk perangkat
lunak. Dalam skripsi ini tidak akan digunakan bentuk representasi dalam perangkat
keras, namun cukup berupa perangkat lunak dengan algoritma pembelajaran
backpropagation.
2.3.2
Fungsi Aktivasi dan Signal-signal
Neuron akan berkelakuan analog seperti fungsi yaitu menerima masukan dan
menghasilkan signal keluaran. Pada bagian ini akan dibahas fungsi aktivasi dan signalsignal yang akan dihasilkan.
Aktivasi dari neuron adalah jumlah terbobot dari masukan sebuah neuron dalam
sistem syaraf buatan. Sebagai gambaran, pada saat t, aktivasi masukannya dinotasikan
sebagai x(t), maka dari aktivasi tersebut neuron akan menghasilkan signal keluaran S(t),
dimana untuk melakukan hal tersebut dibutuhkan fungsi aktivasi. Banyak macam fungsi
aktivasi, mulai dari fungsi linear, sigmoid, step, ramp, kinear, dll. Menurut Rap dan Rao
(1993, p83), fungsi aktivasi yang sering digunakan adalah fungsi sigmoid yang
berbentuk seperti huruf S. fungsi sigmoid diantaranya adalah fungsi tangen hyperbolics
yang range nilainya diantara -1 dan 1, dan fungsi logistic yang range nilainya antara 0
dan 1. Kedua fungsi tersebut dapat ditulis sebagai berikut:
12
Fungsi logistic
f(x) =
1
1 + e −x
-∞ < x < ∞
f(x)
1
x
0
Gambar 2.2 Fungsi Sigmoid Logistik
Fungsi tangen hiperbolik
f(x) =
e x − e−
e x + e−x
-∞ < x < ∞
f(x)
1
0
x
-1
Gambar 2.3 Fungsi Tangen Hiperbolik
13
Fungsi step bekerja sebagai berikut, fungsi diawali dengan 0 dan terus berada
posisi 0 hingga mencapai nilai ambang θ. Lompatan (step) pertama terjadi untuk nilainilai yang breada de sebelah kanan θ, dan nilainya terus bertahan di posisi 1. Untuk
aktivasi bernilai sama dengan θ, signal keluaran (S(t)) dapat bernilai 1 atau 0, tergantung
dari sistem syaraf buatan yang digunakan
f(x)
1
θ
0
x
Gambar 2.4 Fungsi Step
Fungsi Ramp mempunyai kemiripan dengan fungsi step, perbedaannya adalah
perubahan antara 0 menuju 1 tidak dilakukan dengan tiba-tiba pada satu titik, namun
dilakukan secara perlahan. Fungsi tersebut dapat dituliskan sebagai berikut:
1
f(x) =
jika x > θ2
αx - θ1 jika θ1 ≤ x ≤ θ2
0
jika x < θ1
f(x)
1
0
θ
Gambar 2.5 Fungsi Ramp
x
14
Fungsi linear juga dapat digunakan sebagai fungsi aktivasi, yang mempunyai
bentuk umum seperti:
f(x) = α.x + β
Jika alpha = 1 berarti ambang fungsi ini akan sama dengan menambahkan nilai
bias yang sama dengan nilai beta untuk jumlah masukannya.
2.3.3
Klasifikasi Jaringan Syaraf Tiruan
Sistem syaraf tiruan dapat diklasifikasikan berdasarkan apakah sistem tersebut
perlu diawasi dalam berlajar (supervised learning) apau tidak perlu diawasi dalam
belajar (unsupervised learning) dan apakah sistem tersebut mengandung umpan balik
atau tidak.
Sistem syaraf buatan dikatakan supervised learning apabila ada kriteria eksternal
yang digunakan oleh user untuk dicocokan dengan hasil output sistem syaraf tersebut,
dan sebaliknya apabila sistem buatan tersebut bersifat unsupervised learning. Umpan
balik terdapat pada beberapa jaringan syaraf buatan untuk memberikan informasi dari
neuron keluaran ke neuron lapisan-lapisan sebelumnya.
Berikut ini adalah sebagian sejarah model jaringan atau sistem syaraf buatan yang
dikembangkan:
1. McCulloch-Pitts Neurons
Warren McCulloch dan Walter Pitts adalah ilmuwan yang pertama kali
mengembangkan jaringan syaraf buatan (neural network) pada tahun 1943. Mereka
menemukan bahwa penggambungan neuron-neuron merupakan sumber kekuatan
baru dari komputasi yang dilakukan oleh komputer. Setiap neuron digunakan untuk
melakukan satu proses logika, sehingga apabila neuron-neuron tersebut digabungkan
15
menjadi suatu sistem yang dpa tdigambarkan sebagai rangkaian kombinasi logika.
Threshold merupakan konsep yang pertama kali diperkenalkan oleh McCullochPittsyaitu apabila besar masukan ke neuron lebih besar daripada besar threshold
maka unit neuron akan mengirimkan ke neuron berikutnya. Konsep ini banyak
digunakan pada model jaringan syaraf modern. Kini model McCulloch-Pitts banyak
digunakan sebgai sirkit logika.
2. Hebb Learning
Donald Hebb seorang psikolog dari McGill University adalah yang pertama kali
menemukan konsep pembelajaran untuk sistem kecerdasan buatan. Teorinya adalah
apabila dua neuron diaktifkan sekaligus, maka kekuatan hubungan antara neuron
tersebut akan meningkat. Teori Hebb dikembangkan menjadi weight antara layerlayer.
3. Perceptrons
Ditemukan oleh Rosenblatt pada tahun 1962, dan merupakan salah satu sistem syaraf
buatan.
Perceptron
meniru sistem neuron hiologis dengan mengambil jumalh
terbobot dari masukannya dan mengirimkan signal keluaran 1 jika jumlahnya lebih
besar daripada nilai ambang (threshold) yang dapat disesuaikan, dan mengirimkan 0
apabila sebaliknya. Teori pembelajaran perceptron menyatakan bahwa perceptron
memisahkan himpunan-himpunan pola yang terpisah secara linier (linearly
separable) dalam perulangan yang tertentu. Dua pola dikatakan terpisah secara
linier jika kita dapat menggambar sebuah garis yang memisahkan kelompok yang
satu dengan yang lain.
Dalam meminimalisasi fungsi kriteria perceptron, digunakan metode gradient
descent yang merupakan salah satu bentuk pendakian (hill climbing).
16
X1
X2
W2
W1
∑
X3
Ф
W3
Wn
Xn
Gambar 2.6 Jaringan Perceptron
4. Adaline
Merupakan jaringan yang dikembangkan oleh Widrow dan Hoff.
Adaline
merupakan kependekan dari Adaptive Linear Element. Adaline mempunyai masukan
berupa bilangan real yang berada pada interval -1 dan +1 dan proses pembelajaran
dengan meminimalkan kesalahan kuadrat rata-rata (least square).
Adaline
mempunyai kapasitas penyimpanan pola yang tinggi. Pengembangan dari adaline
adalah madaline yang kependekan dari Many Adalines yang dibangun dari dua
lapisan neuron dengan masing-masing sebuah koneksi dari lapisan pertama menuju
lapisan kedua.
5. Kohonen
Dibuat oleh Teuvo Kohonen pada tahun 1972 dari Helsinki University of
Technology, yang berpusat pada assocative memory neural nets.
Kohonen
mengembangkan konsep self-organizing feature maps yang menggunakan peta
topologis untuk setiap unit kluster. Sistem Kohonen banyak digunakan pada speech
recognition dan the travelling salesman problem, dan komposisi musik.
17
6. Bidirectional Associatine Memory (BAM)
Dikembangkan oleh Kosko pada tahun 1992. Model ini merupakan jaringan dengan
koneksi berupan balik dari lapisan keluaran ke lapisan masukan.
Jaringan ini
mengasosiakan pola masukan dengan pola keluaran yang terdekat, dengan demikian
melakukan heteroasosiasi. Apabila semua pola-pola masukan telah diketahui, maka
matriks bobot koneksi dapat ditentukan sebagai perkalian vektor masukan dengan
transposisinya. Pola yang diperoleh dari lapisan keluaran di satu epoch operasi akan
diumpan balik kepda lapisan masukan pada awal epoch lainnya. Proses akan terus
diulangi sampai jaringan stabil pada semua pola inputnya. Sistem dikatakan berada
atau mencapai pada keadaan stabil dengan cara ini disebut resonansi.
7. Hopfield Nets
Jaringan ini diperkenalkan pada tahun 1982 oleh Hopfield sebagai teori memori.
Jaingan ini bersifat content addressable memory dimana sejumlah pola dapat
disimpan dalam sebuah jaringan. Untuk mengambil sebuah pola, yang diperlukan
hanya menyebutkan sebagian darinya, dan jaringan secara otomatis akan
menemukan kecocokan terdekat. Disamping itu, jika beberapa neuron keliru atau
salah sama sekali, jaringan masih dapat bekerja dengan benar.
8. Backpropagation
Sistem syaraf buatan ini akan digunakan dalam skripsi kali ini, oleh karena itu akan
dibahas secara terpisah dengan lebih mendetail.
18
2.4 Jaringan Backpropagation
2.4.1 Sejarah Perkembangan Backbpopagation
Jaringan backpropagation merupakan jaringan perceptron multilapisan atau
multilayer perceptrons tetapi dengan algoritma pembelajaran yang berbeda.
Jaringan backpropagation dibuat karena perceptron mempunyai kelemahan.
Kejayaan perceptrons berakhir setelah beredar buku berjudul Perceptrons yang ditulis
oleh Minsky dan Papert pada tahun 1969.
Dalam buku tersebut dikatakan bahwa
sebagian besar masalah tidak memberikan klasifikasi yang konvergen secara linier,
bahkan perceptron terkadang tidak mampu memecahkan masalah-masalah yang
sederhana, seperti operasi XOR, dimana diketahui 2 masukan biner, dan akan dihasilkan
nilai 1 jika dan hanya jika satu masukan hidup (bernilai 1), selain itu akan dihasilkan
nilai 0. Perceptron tidak mampu memecahkan masalah tersebut karena masalah tersebut
tidak terpisah secara linier.
Ternyata masalah ini dapat dipecahkan dengan menggunakan perceptron
multilapisan, yaitu rangkaian perceptron dimana sedemikian sehingga keluaran
perceptron pertama berlaku sebagai masukan perceptron pada lapisan berikutnya. Tetapi
algoritma pembelajaran perceptron dianggap tidak mencakup perceptron multilapisan.
Pada saat buku tersebut diterbitkan, cara pembelajaran multilapisan pada perceptron
berlum ditemukan, sampai akhirnya pada tahun 1980-an ditemukan suatu cara
pembelajaran pada jaringan syaraf buatan multilapisan.
Rumelhart et al. mempopulerkan algoritma backpropagation dalam volume
Parallel Distributed Processing pada akhir 1980-an. Mereka menyarankan penggunaan
algoritma ini, yang mereka sebut aturan delta tergeneralisasi (generalized delta rule)
untuk mengatasi keterbatasan algoritma perceptron.
Backpropagation adalah
19
keberhasilan bagi connectionism, yang merupakan istilah yang digunakan oleh ilmuwan
komputer dan kognitif untuk teori dan aplikasi jaringan syaraf tiruan.
Backpropagation segera mendominasi dunia jaringan syaraf buatan karena
kemudahannya dalam pelatihan sistem. Diperkirakan lebih dari 80% dari semua proyek
sistem syaraf buatan dikembangkan dengan menggunakan algoritma pelatihan
backpropagation.
Popularitas backpropagation tidak luput dari kritikan karena dikatakan algoritma
ini belajar dari informasi nonlokal, sehingga sering mencapai kegagalan konvergensi,
dan cenderung membawa ke arah kesalahan minima lokal, bukan global. Algoritma ini
memodifikasi bobot-bobot koneksinya dengan informasi kesalahan nonlokal, dimana
nonlokalitas ini menyebabkan pelatihan menjadi sinkron, lama dan menyimpang dari
kemasuk-akalan biologis.
Beberapa ilmuwan mengatakan algoritma backpropagation pasti membawa
informasi ke arah yang konvergen dengan argumen karena algoritma ini
mengimplementasikan gradient descent pada error dalam vektor ruang weight antar
koneksi lapisannya. Oleh karena itu mereka mengatakan pasti akan mencapai titik
konvergen dimana tercapai kesalah minimal.
Pada kenyataannya pada simuloasi
diskret, algoritma ini sering kali tidak konvergen, bahkan terjadi osilasi, dan hanya
mencapai kesalahan minimal pada keadaan lokal (local minima) bukan global.
Ilmuwan memperkenalkan beberapa metode untuk mengatasi local minima ini.
Salah satunnya adalah dengan memberikan faktor momentum m dimana akan menjaga
supata perubahan weight bergerak pada arah yang sama sedemikian sehingga algoritma
akan melompat local minima.
20
A
B
Gambar 2.7 Local Minima (A), Global Minima (B)
Menurut rich and Knight (1001, p507). Algoritma backpropagation jarang
mencapai local minima karena pada jaringan yang relatif besar, vektor ruang weight
yang berdimensi tinggi menyediakan banyak tingkat kebebasan bagi algoritma sehingga
teorema berkurangnya konvergensi bukanlah masalah dalam praktek nyatanya.
Keistimewaan yang melegakan ini ditemukan baru-baru ini, ketika komputer digital
cukup cepat untuk mendukung proses simulasi jaringan syaraf buatan berskala besar.
2.4.2 ArsitekturJaringan Backpropagation
Backpropagation adalah sistem syaraf buatan yang berkoneksi penuh, berlapis, dan
berumpan maju (feedforward).
Contoh jaringan backpropagation yang sederhana
terdapat pada gambar 2.8.
Jaringan backpropagation dapat mempunyai banyak lapisan tersembunyi (hidden
layer), namun pada contoh pada gambar 2.8 hanya dilukiskan arsitektur jaringan
backpropagation dengan satu hidden layer.
Jumalh neuron masukan dan neuron
keluaran berturut-turut ditentukan dari dimensi pola masukan dan pola keluaran.
Sedangkan untuk lapisan tersembunyi jumlah neuron tidak dapat ditentukan dengan
mudah.
21
Y1
Z1
Z2
X1
Y2
Z4
Z3
X2
Yn
X3
Z5
X4
Zn
Xn
Gambar 2.8 Jaringan Backpropagation sederhana
Jaringan ini mengalami pelatihan dengan pengawasan (supervised), dengan jumlah
tertentu pasangan pola masukan dan pola keluaran yang diharapkan. Pola masukan
dimasukkan pada lapisan masukan, yang kemudian akan melewatkan digit-digit pola ke
neuron-neuron pada lapisan selanjutnya, yang merupakan lapisan tersembunyi.
Keluaran dai lapisan tersembunyi diperoleh dengan menggunakan nilai bias dan fungsi
aktivasi dengan nilai masukan ke aktivasi ditentukanoleh bobot-bobot dan masukan.
Keluaran tersebut menjadi masukan bagi lapisan keluaran, yang akan mengolah keluaran
akhir jaringan dengan menggunakan nilai bias yang berbeda bda fungsi aktivasi yang
sama.
Pola yang telah dihitung dan pola masukan dibandingkan dengan suatu fungsi
kesalahan untuk setiap komponen pola, kemudian dilakukan penyesuaian bobot koneksi
(weight) di antara lapisan tersembunyi (hidden layer) dan lapisan keluaran (output
22
layer). Perhitungan yang sama dilakukan untuk bobot-bobot koneksi di antara lapisan
masukan (input layer) dan lapisan tersembunyi. Proses ini diulangi sebanyak yang
diperlukan gingga kesalahan berada dalam toleransi keslaahan yang diinginkan. Setiap
prosedur tersebut diulangi untuk setiap pasangan pola yang diberikan ke jaringan.
2.4.3
Algoritma Backpropagation
Objektif
: untuk menyesuaikan bobot-bobot koneksi sehingga diperoleh hasil keluaran
yang sesuai dengan toleransi kesalahan dari user.
Diketahui : himpunan pasangan vektor masukan dan keluaran.
Dihitung : himpunan bobot jaringan syaraf buatan dengan tiga lapisan yang akan
memetakan vektor masukan ke vektor keluaran yang bersesuaian.
Algoritma Backpropagation:
1. Initialisasi bobot koneksi
2. Lakukan selama kondisi berhenti belum terpenuhi,
Feedforward:
3. Untuk setiap unit masukan (Xi, i = 1, ...., n) akan menerima signal masukan
yang akan diteruskan menuju lapisan berikutnya (hidden layer).
4. Untuk setiap unit tersembunyi (Zj, j = 1, ..., p) akan menjumlahkan setiap
bobot koneksi dengan signal dari lapisan masukan.
n
z_inj = V0j +
∑ XiVij
i =1
23
Masukan hasil perhitungan ke dalam fungsi aktivasi guna menghasilkan
nilai keluaran:
zj = f(z_inj)
Lalu hasil perhitungan fungsi aktivasi akan dikirim sebagai signal masukan
bagi semua unit di lapisan keluaran (output layer).
5. Untuk setiap unit keluaran (Yk, k = 1, ..., m) akan menjumlahkan setiap
bobot koneksi dengan masukan signal dari lapisan tersembunyi.
p
y_ink = w0k +
∑ ZjWjk
j =1
Lalu masukkan hasil perhitungan ke dalam fungsi aktivasi untuk
mendapatkan signal keluaran:
yk = f(y_ink)
Backpropagation of Error:
6. Untuk setiap unit keluaran (yk, k = 1,..., m) akan menerima pola keluaran
yang sebenarnya (tk) sesuai dengan pola masukan yang telah diproses, lalu
akan dihitung kesalahan antara pola keluaran sebenarnya dengan pola
keluaran dari sistem syaraf buatan.
δk = (tk – yk).f’(y_ink)
Lalu dihitung nilai bobot antara lapisan tersembunyi dengan lapisan
keluaran yang baru:
wjk = wjk(old) + (α.δk.zj)
Lalu dihitung nilai bias lapisan keluaran yang baru:
w0k = w0k(old) + (α.δk)
24
7. Untuk setiap unit tersembunyi (Zj, j = 1, ..., p) akan menjumlahkan setiap
delta masukan dari lapisan keluaran.
δ_inj =
m
∑ δkWjk
k =1
Untuk mendapatkan nilai kesalahan dari lapisan tersembunyi kalikan hasil
di diatas dengan turunan dari fungsi aktivasi.
∆j = δ_inj.f’(z_inj)
Lalu dihitung nilai bobot antara lapisan tersembunyi dengan lapisan
masukan yang baru:
vij = vij(old) + (α.δj.xi)
Lalu dihitung nilai bias lapisan tersembunyi yang baru:
v0j = v0j(old) + (α.δj)
8. Uji, apakah hasil kesalahan sudah memenuhi kriteria toleransi kesalahan.
Algoritma tersebut digunakan apabila jaringan backpropagation yang dipakai
adalah jaringan dengan 3 lapisan. Sedangkan untuk jaringan lebih dari 3 lapisan
masih diperlukan beberapa langkah tambahan, yaitu mengulang langkah
feedforward dan langkah backpropagation untuk menyesuaikan bobot pada
langkah no.7.
Fungsi aktivasi untuk algoritma backpropagation berbentuk sigmoid. Fungsi
ini dibutuhkan karena turunan aturan penyesuaian bobot koneksi membutuhkan
fungsi aktivasi yang bersifat kontinu dan bisa terdiferensiasi. Dengan fungsi
sigmoid bobot yang dibutuhkan agar jaringan dapat mencapai 0 dan 1 adalah tak
terhingga, maka untuk hasil biner, vektor keluarannya hanya akan memberikan
nilai yang mendekati 0 atau 1, tidak tepat sama dengan nilai-nilai tersebut.
25
2.5 Classic Life Cycle Problem
Rekayasa piranti lunak menurut Fritz Bauer (Pressman, 1992, p23) adalah
penetapan dan pemakain prinsip-prinsip rekayasa dalam rangka mendapatkan piranti
lunak yang ekonomis yaitu terpercaya dan bekerja efisien pada mesin (komputer).
Menurut Pressman(1992, p24) rekayasa piranti lunak mencakup 3 elemen yang mampu
mengontrol proses pengembangan piranti lunak, yaitu:
1. Metode-metode (Methods)
Menyediakan cara-cara teknis untuk membangun piranti lunak
2. Alat-alat bantu (Tools)
Mengadakan dukungan otomatis atau semi otomatis untuk metodemetode seperti CASE (computer Aided Softwaer Engineering) yang
mengkombinasikan software, hardware dan software engineering
database
3. Prosedur-Prosedur (Precedurs)
Merupakan pengembangan metode dan alat bantu.
Dalam perancangan software dikenal istilah Classic Life Cycle, serangkaian
kegiatan yang dilakukan selama masa perancangan software, di antaranya:
1.
Rekayasa Sistem.
Tahap awal perancangan pekerjaan yang akan
dibangun dengan pengusulan penetapan pada semua sistem elemen dan
mengalikasikan beberapa bagiannya ke dalam usulan pada software.
Rekayasa sistem dititikberatkan pada penggabungan semua level sistem
dengan melakukan pengkajian dari level atas dalam pendesainan dan
analisa.
26
2.
Analisis kebutuhan software. Proses intensif dan memfokuskan pada
spesialisasi software. Semua kebutuhan baik sistem maupun software
harus didokumenmtasikan dan harus dikaji (review) oleh pengguna.
3.
Perancangan.
Di tahap ini ada 3 hal yang perlu difokuskan dalam
program, yaitu struktur data, arsitektur software dan prosedur yang detail.
Di tahap perancangan ini mengubah suatu kebutuhan menjadi software
yang layak dari segi kualitas sebelum masuk pada proses pengkodean.
4.
Pengkodean. Difokuskan pada penterjemahan hasil rancangan ke bahasa
mekanik yang dimengerti oleh mesin dalam bentuk program-program.
5.
Pengujian.
Sebelum diaplikasikan, semua statemen software diuji
terlebih dahulu, pemberian input juga dilakukan untuk mengetahui apakh
sudah sesuai dengan yang diinginkan atau belum.
6.
Pemeliharaan.
Software mungkin juga mengalami perubahan yang
dilakukan untuk mengantisipasi peningkatan kebutuhan pengguna akan
fungsi-fungsi baru. Ada 4 macam pemeliharaan:
•
Corrective Maintenance, perubahan kerana ditemukan kesalahan
(error)
•
Perfective Maintenance, perubahan karena pemakai menginginkan
peningkatan fungsi atau kinerja.
•
Adaptive
Maintenance,
perubahan
karena
adaptasi
dengan
environment seperti perubahan operating sistem atau perangkat
lainnya.
27
•
Preventive Maintenance, perubahan untuk mengantisipasi perubahanperubahan yang akan datang (trend-trend yang akan datang).
Download