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).