BAB I PENDAHULUAN 1.

1 Latar Belakang Banjir dapat diprediksi dengan melakukan peramalan tinggi debit dan permukaan air di suatu tempat tertentu yang dianggap sebagai tempat terjadinya banjir. Proses naik turunnya tinggi muka air di suatu daerah aliran sungai secara teoritis dapat dijelaskan, tetapi karena terdapat banyak variabel yang terkait dan kompleksnya ketergantungan antar variabel maka model matematikanya sulit untuk dibuat. Jaringan Syaraf Tiruan merupakan salah satu kecerdasan buatan yang merupakan representasi tiruan dari otak manuasia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Model ini merupakan model kotak hitam (black box model), sehingga dalam penerapannya tidak membutuhkan pengetahuan yang kompleks antar berbagai aspek dalam melakukan proses pemodelan faktor-faktor tersebut. 1.2 Tujuan Tugas akhir ini bertujuan untuk merancang dan mengimplementasikan perangkat lunak yang dapat digunakan untuk memprediksi terjadinya banjir dengan cara memprediksi tinggi permukaan air berdasarkan pola curah hujan dan tinggi permukaan air sebelumnya dengan menggunakan Jaringan Syaraf Tiruan metode pelatihan Perambatan-balik. 1.3 Batasan Masalah Dalam tugas akhir ini, pembahasan dibatasi pada: 1. Data yang digunakan sebagai parameter masukan adalah pola curah hujan dan tinggi permukaan air. 2. Masalah yang akan dibahas disini adalah bagaimana memprediksi terjadinya banjir dengan parameter curah hujan dan ketinggian air pada DAS dengan menggunakan back propagation ann. 3. Bahasa pemrograman yang digunakan adalah 7.10.0

BAB II LANDASAN TEORI 2.1. Bencana Banjir Banjir adalah aliran/genangan air yang menimbulkan kerugian ekonomi atau bahkan menyebabkan kehilangan jiwa. Aliran/genangan air ini dapat terjadi karena adanya luapan-luapan pada daerah di kanan atau kiri sungai/saluran akibat alur sungai tidak memiliki kapasitas yang cukup bagi debit aliran yang lewat. 2.1.1 Curah Hujan Curah hujan adalah tinggi genangan air total yang terjadi dalam suatu kurun waktu tertentu pada suatu bidang datar, dengan anggapan bahwa limpasan permukaan, infiltrasi (perembesan), dan evaporasi (penguapan) tidak terjadi. 2.1.2 Tinggi Permukaan Air Perhitungan titik muka air ini dimulai dari bahagian hilir ke hulu dengan menetapkan suatu titik tertentu sebagai titik awal perhitungan. Titik ini dapat berupa : 1. Badan air, seperti laut, danau, dan waduk. 2. Bangunan di sungai, seperti bendungan atau bendungan penahan sedimen. 3. Pos duga air yang mempunyai lengkung aliran dan berada di hilir daerah perhitungan. 4. Titik awal sembarang, jika tidak ada titik acuan dengan memperhatikan : a. Tinggi muka air awal sembarang tidak boleh lebih rendah daripada tinggi muka air kritis. b. Jarak antara titik awal sembarang dengan daerah hitungan harus cukup jauh.

2.2. Sejarah Jaringan Syaraf Tiruan Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan model jaringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya. Widrow dan Hoff (1960) mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta (atau sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal (single layer). Rumelhart (1986) mengembangkan perceptron menjadi Backpropagation, yang memungkinkan jaringan diproses melalui beberapa layer. Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982), dan sebagainya. Pengembangan yang ramai dibicarakan sejak tahun 1990 an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia nyata. 2.2.1 Jaringan Syaraf Tiruan Jaringan syaraf tiruan (artificial neural networks) atau disingkat JST adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi.

JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi : a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron) b. Sinyal penghubung c. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal d. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang. JST ditentukan oleh tiga hal : a. Pola hubungan antar neuron (disebut arsitektur jaringan) b. Metode untuk menentukan bobot penghubung (disebut metode training / learning / algoritma) c. Fungsi aktivasi Sebagai contoh, perhatikan neuron Y pada Gambar 2.1. dikirimkan diantara neuron-neuron melalui penghubung-

Gambar 2.1. Model Sederhana Jaringan Syaraf Tiruan Y menerima input dari neuron x1, x2 dan x3 dengan bobot hubungan masing-masing adalah w1, w2 dan w3. Ketiga impuls neuron yang ada dijumlahkan net = x1w1 + x2w2 + x3w3 Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot.

2.2. Arsitektur Jaringan Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain : a. Jaringan Layar Tunggal (single layer network) JST dengan layar tunggal pertamakali dirancang oleh Widrow dan Hoff pada tahun 1960. Walaupun JST layar tunggal ini sangat terbatas penggunaannya, namun konsep dan gagasannya banyak dipakai oleh beberapa pakar untuk membuat model JST layar jamak. Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan output. Dalam beberapa model (misal perceptron), hanya ada sebuah unit neuron output.

Gambar 2.2. Jaringan Layar Tunggal Gambar 2.2. menunjukkan arsitektur jaringan dengan n unit input (x1,x2, ... , xn) dan m buah unit output (Y1, Y2, ... , Ym). Perhatikan bahwa dalam jaringan ini, semua unit input dihubungkan dengan semua unit output, meskipun dengan bobot yang berbeda-beda. Tidak ada unit input yang dihubungkan dengan unit input lainnya. Demikian pula dengan unit output. Besarnya wji menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Bobot-bobot ini saling independen. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasil.

Ym) Jaringan layar jamak dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan layar tunggal. Dimungkinkan pula ada beberapa layar tersembunyi.3. selain unit input dan output.. adalah jaringan dengan n buah unit input (x1. Hopfield berpendapat bahwa kumpulan neuron tiruan dalam jumlah yang sangat besar dapat melakukan tugas-tugas tertentu. . Dalam jaringan ini. Jaringan Layar Jamak Gambar 2.. c. ada unit-unit lain (sering disebut layar tersembunyi). meskipun kadangkala proses pelatihan lebih kompleks dan lama. jumlah neuron-nya mencapai 100 trilyun buah. Sungguh jumlah yang sangat fantastis. . . .. Model JST dua lapisan dengan umpan balik Tokoh yang pertamakali mencetuskan ide tentang model jaringan syaraf tiruan dengan umpan balik adalah John Hopfield dari California Institute of Technology pada tahun 1982. ..3. Hopfield juga membandingkan antara jumlah neuron pada binatang dengan jumlah neuron diperkirakan sekitar 1000 buah dan bila dibandingkan dengan manusia. x2. zp) dan m buah unit output (Y1. Sama seperti pada unit input dan output. . Jaringan Layar Jamak (multi layer network) Jaringan layar jamak merupakan perluasan dari layar tunggal.. Gambar 2.. sebuah layar tersembunyi yang terdiri dari p buah unit (z1. xn). Y2.b. . unit-unit dalam satu layar tidak saling berhubungan.

hubungan antara neuron satu dengan neuron yang lain pada lapisan kompetitif tidak ditunjukkan secara arsitektur pada beberapa jaringan syaraf. sehingga output yang dihasilkan akan mempengaruhi input yang akan masuk lagi ke dalam jaringan syaraf tersebut. Model JST dua lapisan ini mempunyai sifat umpan balik.5. Gambar 2. Model JST lapisan kompetitif Bentuk dari lapisan kompetitif merupakan bagian dari jumlah yang besar pada jaringan syaraf. Contoh dari model atau arsitektur lapisan kompetitif dapat dilihat pada Gambar 2. Sifat ini mengandung maksud kerusakan sedikit atau sebagian pada sel-sel dalam jaringan tidak akan mempengaruhi output yang akan dikeluarkan. Gambar 2.4. dimana koneksi dari lapisan tersebut memiliki bobot –ε. Model JST Dua Lapisan Dengan Umpan Balik d. Model JST Lapisan Kompetitif .Dengan jumlah neuron yang sangat besar.5. Pada dasarnya. JST memiliki sifat yaitu fault tolerance.

3. Apabila input tersebut melewati suatu nilai ambang tertentu. Apabila neuron tersebut diaktifkan. namun demikian. Fungsi Aktivasi Jaringan syaraf merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. hampir semuanya memiliki komponen-komponen yang sama. Gambar 2. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Seperti halnya otak manusia. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Ada beberapa tipe jaringan syaraf. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. . Struktur Neuron Jaringan Syaraf Jika dilihat. Informasi (disebut dengan : input) akan dikirim ke neuron dengan bobot kedatangan tertentu. maka neuron tersebut tidak akan diaktifkan. neuron buatan ini sebenarnya mirip dengan sel neuron biologis. maka neuron tersebut akan mengirimkan output melalui bobot-bobot output nya ke semua neuron yang berhubungan dengannya. dan ada hubungan antara neuron-neuron tersebut. tapi kalau tidak. maka neuron tersebut akan diaktifkan. hubungan ini dikenal dengan nama bobot. Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-neuron biologis. jaringan syaraf juga terdiri dari beberapa neuron. Pada jaringan syaraf. Demikian seterusnya. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang.6. Gambar 2.2.6 menunjukkan struktur neuron pada jaringan syaraf.

Gambar 2. tersebut sebuah neuron akan mengolah N input (x1. Fungsi linear . Tergantung pada algoritma pembelajarannya.Pada jaringan syaraf. x2. neuron-neuron akan dikumpulkan dalam lapisanlapisan (layer) yang disebut dengan lapisan neuron (neuron layers).. . Fungsi sigmoid biner b. w2. Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan. xN) yang masing-masing memiliki bobot wl..7 menunjukkan jaringan syaraf sederhana dengan fungsi aktivasi F.7. Fungsi Aktivasi yang digunakan pada Backpropagation antara lain : a..7. wN dan bobot bias b. Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan.. Fungsi sigmoid bipolar c. . mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya. . yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). dengan rumus : a = b + ∑ xi wi i =1 N kemudian fungsi aktivasi F akan mengaktivasi a menjadi output jaringan y. Gambar 2. bisa jadi informasi tersebut akan dirambatkan secara mundur pada jaringan. Biasanya neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Fungsi Aktivasi Pada Jaringan Syaraf Sederhana Pada Gambar 2. .

fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu : kontinu. Fungsi Aktivasi Sigmoid Biner . Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range (0. Namun. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai output nya 0 atau 1 (Gambar 2. terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Oleh karena itu.8. Fungsi sigmoid biner dirumuskan sebagai : y = f ( x) = 1 1 + e −σx dengan : f ' ( x ) = σf ( x ) (1 − f ( x ) ) Gambar 2. fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1.a. Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation.8).1). Fungsi sigmoid biner Dalam backpropagation.

10). Fungsi linear dirumuskan sebagai : y=x Fungsi linear (identitas) Fungsi linear memiliki nilai output yang sama dengan nilai input . Fungsi sigmoid bipolar dirumuskan sebagai : y = f ( x) = dengan: f '( x) = 1 − e− x 1 + e− x σ [1 + f ( x ) ][1 − f ( x ) ] 2 Gambar 2. Fungsi sigmoid bipolar Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner. (Gambar 2. Fungsi Aktivasi Sigmoid Bipolar c.b.9). hanya saja output dari fungsi ini memiliki range antara 1 sampai -1 (Gambar 2.9.

Meskipun penggunaan lebih dari satu layar tersembunyi memiliki kelebihan manfaat untuk beberapa kasus. Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa layar tersembunyi diantara layar masukan dan keluaran. Seperti halnya model JST lain. JST dengan layar tunggal memiliki keterbatasan dalam pengenalan pola. Backpropagation Kelemahan JST yang terdiri dari layar tunggal membuat perkembangan JST menjadi terhenti pada sekitar tahun 1970 an. 2. tapi pelatihannya memerlukan waktu yang lama. Penemuan backpropagation yang terdiri dari beberapa layar membuka kembali cakarawala. serta m buah unit keluaran. Fungsi Aktivasi Linear (Identitas) 2. membuat JST semakin diminati orang.4. . Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan backpropagation. Arsitektur Backpropagation Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Maka umumnya orang mulai mencoba dengan sebuah layar tersembunyi lebih dahulu. Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan.Gambar 2. Gambar 2.10. sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias).11 adalah arsitektur backpropagation dengan n buah masukan (ditambah sebuah bias).4.1.

Jalur-jalur tersebut memiliki bobot/kekuatan yang berbeda-beda.4. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Arsitektur Backpropagation 2. Gambar 2. b. Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya. Neuron terdiri dari tiga elemen pembentuk : a.11. Jumlah. struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan (dan juga model jaringan yang terbentuk).vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi zj (vj0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi zj). Neuron Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan. Himpunan unit-unit yang dihubungkan dengan jalur koneksi.2. . wkj merupakan bobot dari unit layar tersembunyi zj ke unit keluaran yk (wk0 merupakan bobot dari bias di layar tersembunyi ke unit keluaran zk).

wj2. bagian image tidak mungkin menjadi objek dan background dengan hasil tunggal threshold disebabkan oleh adanya noise. tetapi tidak dapat dibandingkan dengan informasi dari gray-level image.. . Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. . . maka unit penjumlah akan memberikan keluaran sebesar uj = x1wj1 + x2wj2 + . dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. Fase kedua adalah fase mundur.. . pengelompokan image oleh pixel gray-level dapat memperkecil dan memudahkan beberapa pengoperasian proses image seperti membentuk recognition dan classification. Threshold Threshold adalah suatu perubahan antara gray-level image dan bilevel image. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukah tidak. xm adalah unit-unit input dan wj1..4. wjm adalah bobot penghubung dari unit-unit tersebut ke unit keluaran Yj. . + xmwjm c..Misalkan x1. Fase pertama adalah fase maju.3. Bilevel image terdiri dari banyak informasi yang penting dari sebuah image (contoh : angka. Seluruh gray-levels menunjukkan hasil yang dapat diklasifikasikan menjadi black (0). Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Beberapa operasi thresholding yang essential akan diseleksi oleh sebuah hasil tunggal threshold. Untuk waktu tertentu. dan disekelilingnya adalah white (1).4. x2.. Ini dapat disebabkan sebagian pixels menjadi white dan bagian lain menjadi black. Pelatihan Standar Backpropagation Pelatihan Backpropagation meliputi tiga fase. Selanjutnya. Pendekatan percobaan yang mudah harus menggunakan tujuan gray-level dalam image seperti threshold. 2. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kebanyakan dari time pixels dengan gray levels yang sama mempunyai objek yang sama juga. Kesalahan tersebut dipropagasikan mundur. 2..4. posisi dan bentuk objek).

δk juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. . Sebagai contoh. m) yang dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya. . Dengan cara yang sama.yk adalah kesalahan yang terjadi.a.. Berikutnya. bobot semua garis dimodifikasi bersamaan. Selisih tk . Demikian seterusnya hingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.. Fase III : Perubahan bobot Setelah semua faktor δ dihitung. Fase I : Propagasi maju Selama propagasi maju. sinyal masukan (=xi) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.2 .yk. Fase II : Propagasi mundur Berdasarkan kesalahan tk . Keluaran dari setiap unit layar tersembunyi (=zj) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. maka iterasi dihentikan. keluaran jaringan (=yk) dibandingkan dengan target yang harus dicapai (=tk). Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layar atasnya. c. Demikian seterusnya hingga menghasilkan keluaran jaringan (=yk). dihitung faktor δj di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layar di bawahnya. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan. b. perubahan bobot garis yang menuju ke layar keluaran didasarkan atas δk yang ada di unit keluaran. . dihitung faktor δk (k = 1.

Tiap-tiap unit input (Xi. atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.p) menjumlahkan sinyal-sinyal input terbobot : z _ in j = b1 j + ∑ xi vij i =1 n Inisialisasi bobot (ambil bobot awal dengan nilai Kerjakan langkah-langkah berikut selama kondisi Untuk tiap-tiap pasangan elemen yang akan random yang cukup kecil).. c.3. y _ ink = b2k + ∑ zi w jk i =1 n gunakan fungsi aktivasi untuk menghitung sinyal output : yk = f(y_ink) . kerjakan : gunakan fungsi aktivasi untuk menghitung sinyal output : zj = f(z_inj) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).3.3.. berhenti bernilai salah... j=1. k=1. dilakukan pembelajaran.2.. Feedforward a.2. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan.Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. b. 3.n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di atasnya (lapisan tersembunyi). Algoritma Backpropagation 1. 2..2...... i=1. Tiap-tiap unit output (Yk.. Tiap-tiap unit pada suatu lapisan tersembunyi (Zj.m) menjumlahkan sinyal-sinyal input terbobot. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan.

. yaitu menghitung informasi error dari suatu lapisan tersembunyi ke lapisan tersembunyi sebelumnya..m) menerima target pola yang berhubungan dengan pola input pembelajaran. j=1.3... k=1.. Backpropagation d.dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output). Tiap-tiap unit output (Yk. hitung informasi errornya : δ2k = (tk .yk) f '(y_ink) ϕ 2jk = δk zj β2k = δk kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk) : ∆wjk = α ϕ 2jk hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b2k) : ∆b2k = α β2k Langkah (d) ini juga dilakukan sebanyak jumlah lapisan tersembunyi.3.... Tiap-tiap unit tersembunyi (Zj.2. Catatan : Langkah (b) dilakukan sebanyak jumlah lapisan tersembunyi. e.2.p) menjumlahkan delta input (dari unit-unit yang berada pada lapisan di atasnya) : m δ _ in j = ∑ δ 2k w jk k =1 kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error : δ1j = δ_inj f '(z_inj) ϕ 1ij = δ1j xj β1j = δ1j kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij) : .

. maka input ke setiap lapisan tersembunyi atau lapisan output akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil.3. yang akan menyebabkan proses pelatihan akan berjalan sangat lambat.3..1.2.. maka input ke setiap lapisan tersembunyi atau lapisan output akan sangat kecil. apabila nilai bobot awal terlalu kecil.. Inisialisasi bobot awal secara random Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam mencapai minimum global (atau mungkin hanya lokal saja) terhadap nilai error. j=1.5 (atau -1 sampai 1.... Apabila nilai bobot awal terlalu besar... ..2.4. atau interval yang lainnya). Backpropagation tidak dapat memberikan kepastian tentang berapa epoch yang harus dilalui untuk mencapai kondisi yang diinginkan. serta cepat tidaknya proses pelatihan menuju kekonvergenan.. a.1. Oleh karena itu orang berusaha meneliti bagaimana parameter-parameter jaringan dibuat sehingga menghasilkan jumlah iterasi yang relatif lebih sedikit.p) memperbaiki bias dan bobotnya (i=0..∆vij = α ϕ 1ij hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1j) : ∆b1j = α β1j f. Biasanya bobot awal diinisialisasi secara random dengan nilai antara -0.2..n) : vij(baru) = vij(lama) + ∆vij b1j(baru) = b1j(lama) + ∆b1j 4. Optimalitas Arsitektur Backpropagation Masalah utama yang dihadapi dalam Backpropagation adalah lamanya iterasi yang harus dilakukan. 2.p) : wjk(baru) = wjk(lama) + ∆wjk b2k(baru) = b2k(lama) + ∆b2k Tiap-tiap unit tersembunyi (Zj. Tiap-tiap unit output (Yk. Tes kondisi berhenti..m) memperbaiki bias dan bobotnya (j=0. k=1..5 sampai 0.2.5.. Sebaiknya.

Umumnya data dibagi menjadi dua bagian. Lama iterasi Tujuan utama penggunaan Backpropagation adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis (disebut data pengujian). Jadi tidaklah bermanfaat untuk meneruskan iterasi hingga semua kesalahan pola pelatihan = 0. Akan tetapi penambahan jumlah layar tersembunyi kadangkala membuat pelatihan lebih mudah. faktor δ perlu dihitung untuk tiap layar tersembunyi. c. Jaringan dapat dilatih terus menerus hingga semua pola pelatihan dikenali dengan benar. Jumlah pola pelatihan Tidak ada kepastian tentang berapa banyak pola yang diperlukan agar jaringan dapat dilatih dengan sempurna. Aturan kasarnya dapat ditentukan berdasarkan rumusan : Jumlah pola = Jumlah bobot / tingkat akurasi Untuk jaringan dengan 80 bobot dan tingkat akurasi 0. dimulai dari layar tersembunyi paling bawah (terdekat dengan masukan). Sebaliknya. yaitu pola data yang dipakai sebagai pelatihan dan data yang dipakai untuk pengujian. Dalam propagasi maju. Akan tetapi selama pelatihan .b. Jumlah pola yang dibutuhkan dipengaruhi oleh banyaknya bobot dalam jaringan serta tingkat akurasi yang diharapkan. dalam propagasi mundur. Jumlah unit tersembunyi Hasil teoritis yang didapat menunjukkan bahwa jaringan dengan sebuah layar tersembunyi sudah cukup bagi Backpropagation untuk mengenali sembarang pola antara masukan dan target dengan tingkat ketelitian yang ditentukan.1. Akan tetapi hal itu tidak menjamin jaringan akan mampu mengenali pola pengujian dengan tepat. dimulai dari layar keluaran. maka 800 pola masukan diharapkan akan mampu mengenali dengan benar 90 % pola diantaranya. keluaran harus dihitung untuk tiap layar. d. Perubahan bobot dilakukan berdasarkan pola pelatihan.

6. maka perubahan dilakukan secara lambat. Variasi tersebut bisa berupa model Backpropagation yang digunakan untuk keperluan khusus. 2. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat bearbeda dengan yang lain (outlier). Dengan penambahan momentum. maka perubahan bobot dilakukan secara cepat. kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujian). Jadi tidak hanya pola masukan terakhir saja yang diperhitungkan.4. Disini harus ditambahkan 2 variabel baru yang mencatat besarnya momentum untuk 2 iterasi terakhir.(misal setiap 10 epoch). atau teknik modifikasi bobot untuk mempercepat pelatihan dalam kasus tertentu. Modifikasi yang dapat dilakukan adalah melakukan perubahan bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya (disebut momentum) yang dimasukkan. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah mulai kehilangan kemampuan melakukan generalisasi. Namun apabila data terakhir yang dimasukkan memiliki pola yang berbeda dengan pola sebelumnya. Akan tetapi jika kesalahannya sudah meningkat. perubahan bobot didasarkan atas gradien yang terjadi untuk pola yang dimasukkan saat itu. bobot baru pada waktu ke (t+1) didasarkan atas bobot pada waktu t dan (t-1). Jika μ adalah konstanta (0 ≤ μ ≤ 1) yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan : . kini sudah berkembang berbagai variasinya. Momentum Pada standar Backpropagation. Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien sudah benar). Variasi Backpropagation Disamping model standar Backpropagation. pelatihan tidak ada gunanya untuk diteruskan lagi. Selama kesalahan ini menurun. a. pelatihan terus dijalankan.

wkj ( t + 1) = wkj ( t ) + α δ z j + µ ( wkj ( t ) − wkj ( t − 1) ) k dan v ji ( t + 1) = v ji ( t ) + α δj xi + µ ( v ji ( t ) − v ji ( t − 1) ) b.Bar . yang terutama digunakan pada teknik-teknik komputasi.delta adalah sebagai berikut : wkj ( t + 1) = wkj ( t ) + α kj ( t + 1)δ k z j 2. Delta . Matlab Matlab merupakan bahasa pemrograman. Perubahan dapat dilakukan dengan memberikan laju pemahaman yang berbeda-beda untuk setiap bobotnya (atau bahkan laju pemahaman yang berbeda-beda untuk tiap bobot dalam tiap iterasinya). . Dengan toolbox ini para pengguna diharapkan dapat mempelajari dan mengaplikasikan teknologi pada bidang kajian tertentu.negatif) maka laju pemahaman untuk bobot tersebut harus dikurangi. Matlab menyediakan fasilitas-fasilitas untuk komputasi. Program yang ditulis dengan menggunakan Matlab memiliki ekstensi m (. Perubahan bobot dalam aturan delta . Sebaliknya apabila arah perubahan bobot dua pola terakhir berbeda (ditandai dengan suku δkzj yang berselang-seling positip .m).Delta Dalam standar Backpropagation. Untuk membuat program dengan Matlab dapat dilakukan dengan menggunakan Matlab Editor. Apabila perubahan bobot berada dalam arah yang sama dalam beberapa pola terakhir (dapat dilihat dari tanda suku δkzj yang selalu sama). visualisasi. laju pemahaman ( α ) merupakan suatu konstanta yang dipakai dalam seluruh iterasinya. dan pemrograman.bar .5. Matlab memiliki beberapa feature yang dikelompokan berdasarkan aplikasi tertentu yang dikenal dengan nama Toolbox. maka laju pemahaman yang bersesuaian dengan bobot wkj ditambah.

drag perintah tersebut dari jendela daftar perintah ke jendela perintah. Apabila terlalu lama dipakai. . biasanya jendela perintah akan terasa sangat panjang. Jendela ini memuat daftar perintah yang pernah diketikkan dalam jendela perintah. Jendela perintah (command window) seperti yang tampak di sebelah kanan Gambar 2. Semua perintah dan keluaran yang terdapat di jendela perintah dapat di copy (setelah diblok terlebih dahulu) dan paste ke perangkat lunak lain (misal word).1. anda dapat memilih Clear command window dari menu edit.2.5. Jendela perintah merupakan tempat untuk memasukkan perintah-perintah yang diinginkan.12. akan muncul beberapa form seperti pada Gambar 2. Baik perintah maupun keluaran Matlab muncul dalam jendela perintah. Form Matlab Secara keseluruhan Matlab memiliki enam buah jendela : a.12. Jendela daftar perintah (command history) seperti yang tampak di kiri bawah Gambar 2. Untuk menghapus semua teks dalam jendela perintah. Untuk mengeksekusi kembali perintah yang pernah dipakai.12. b. Gambar 2.12. Memulai Matlab Ketika pertama kali membuka Matlab.

Matlab juga menyediakan fasilitas editor program. Jendela launch pad.5.2. Pemrograman Matlab 2. f. Membentuk M-File Pemrograman dengan M-File memberikan kontrol lebih banyak dibandingkan dengan command line. .New – M-File. Tiap fungsi dapat memanggil fungsi yang lain. anda bisa memilih folder Neural Network Toolbox.2. untuk melihat demo program jaringan syaraf tiruan. e. Di bagian atas adalah menu yang dapat dipakai untuk mengedit dan menjalankan (running) program. Jendela workspace. Bagian tengah dipakai untuk mengetikkan program. Sebagai contoh.13. Sebaliknya M-file dapat dipakai untuk berbagai aplikasi sesuai keinginan pemakai. perulangan dan lain-lain. Jendela direktori. Program dalam Matlab mirip dengan bahasa C++. atau dengan menekan Alt-N 2. dan memilih subfolder demo.c.1. d. Jendela ini berisi fasilitas yang disediakan Matlab untuk menjalankan paket perangkat lunak (toolbox) untuk menyelesaikan masalah tertentu. Selain jendela-jendela tersebut. Dengan M-File bisa dilakukan percabangan. Script dalam jendela perintah berguna untuk menyelesaikan permasalahan yang pendek. Caranya adalah dengan membuka m-file dari menu File .New – M-file atau dengan menekan Ctrl-N. Jendela M-file tampak pada Gambar 2. Jendela M-file dapat dibuka melalui menu File . Bagian-bagiannya mirip dengan editor teks biasa. Program-program yang membutuhkan fungsi yang lebih kompleks dapat dilihat pada jendela launch pad atau help.5. Jendela Help yang dipakai jika mengalami kesulitan sewaktu memilih perintah atau formatnya. Struktur Program M-File mirip dengan bahasa C yang membagi program dalam blok program berupa fungsi-fungsi.

phi. Argumen masukan boleh lebih dari satu.z] = sphere(theta. Editor Matlab Fungsi dalam Matlab terdiri dari dua bagian yaitu definisi fungsi dan tubuh fungsi a. function [x. vektor maupun matriks. Masing-masing dipisahkan dengan tanda koma. Tubuh fungsi Tubuh fungsi berisi semua perintah Matlab untuk membuat komputasi dan memberikan harga kepada argumen keluaran. Definisi Fungsi Bentuk definisi fungsi adalah sebagai berikut : Function <argumen keluaran> = <nama fungsi> (<argumen masukan>) Sebagai contoh : Function y = average (x) Baik argumen masukan maupun keluaran bisa berupa variabel berupa skalar.y. Demikian juga apabila argumen keluaran lebih dari satu elemen. atau tanpa argumen sama sekali.rho) b.Gambar 2. .13. maka argumen tersebut dipisahkan dengan tanda koma dan diletakkan diantara kurung siku.

Matlab memberi fasilitas membuat komentar. dan menunggu input data dari user yang diakhiri dengan penekanan enter. Untuk menampilkan isi suatu variabel. Komentar didahului dengan tanda %. Function y = average (x) % fungsi untuk menghitung rata-rata elemen dalam vektor x y = sum(x)/length(x).m) dengan nama fungsi 2.2. Formatnya adalah : disp (nama variabel) . untuk memasukkan data vektor dari keyboard ke dalam variabel x. maka program harus disimpan dahulu ke dalam file yang namanya sama (berekstensi *.5. masukan/keluaran. Apabila langsung ditekan enter. gunakan perintah input. Perhatikan bahwa agar dapat dijalankan dengan benar. fungsi kontrol. ada dua perintah yang dipakai yaitu : Perintah disp. iterasi.Statemen dalam tubuh fungsi bisa berupa pemberian nilai pada suatu variabel. Selanjutnya user harus memasukkan nilai variabel di jendela perintah (command window) Sintaksnya adalah : nama variabel = input('teks') Sebagai contoh. Contoh fungsi dalam Matlab adalah sebagai berikut. ataupun pemanggilan kepada fungsi lain. Masukan Dan Keluaran 1. maka x akan berisi matriks kosong.2. Untuk membantu menjelaskan perintah. maka di monitor akan tampak teks data =. Statemen setelah tanda % tidak akan diproses oleh Matlab. digunakan perintah : x = input ('data = ') Apabila di-run. Perintah Masukan-Keluaran dari Keyboard Untuk membaca data dari keyboard.

5 e Konversi karakter yang umum dipakai tampak pada Tabe1 2. Tabel 2.3.2. lebar karakter. maka perintah disp harus dituliskan beberapa kali. dan lainlain.Perintah disp (x) akan menampilkan isi X di layar jendela perintah. A. maka akan ditampilkan teks tersebut. tersedia pula karakter pengontrol penulisan (escape character) yang diawali dengan backslash ( \ ).. penulisan di baris baru. A. adalah nama variabel yang isinya dicetak di layar. . . Formatnya adalah : fprintf (format. Karakter Pengontrol Karakter \b \f \n Keterangan Backspace Formfeed (penulisan diteruskan dalam baris yang sama) Penulisan silakukan pada baris baru . Tabel 2... Jika ingin dicetak nilai beberapa variabel (atau teks dan variabel).) Format adalah bentuk penulisan yang akan ditampilkan di layar seperti jumlah angka desimal. Perhatikan disini bahwa argumen perintah disp adalah tunggal.2. Perintah fprintf.3. Apabila argumen disp berupa string (teks diantara dua tanda petik). Beberapa karakter pengontrol yang sering dipakai tampak pada Tabel 2. Format penulisan bilangan riil adalah sebagai berikut : % -12. tab. Konversi Karakter Konversi ‘ %c ’ ‘ %d ‘ ‘ %e ‘ ‘ %f ‘ ‘ %i ‘ Karakter tunggal Notasi desimal dengan tanda +/Notasi eksponensial Notasi titik tetap (fixed point) Notasi desimal dengan tanda +/Keterangan Selain konversi karakter..

Defaultnya adalah file hanya dibuka untuk dibaca. adalah nama variabel yang isinya dituliskan pada berkas. A. format.3). Sebelum mengakses. ‘w+’.. maka berkas harus ditutup kembali dengan perintah fclose (fid). hanya disini file dapat dipakai untuk baca maupun tulis Untuk menulis isi variabel ke berkas. Tipe Berkas Permission ‘r’ ‘w’ ‘a’ ‘r+’. ‘w’. Format perintahnya adalah sebagai berikut : fid = fopen(filename.2.4. fid adalah variabel nama berkas yang digunakan dalam perintah fopen. . atau buat file baru untuk ditulisi (append di akhir file yang telah ada) Sama seperti ‘r’. Bedanya adalah adanya tambahan nama variabel identitas file fprintf (fid. atau buat file baru untuk ditulisi (rewrite) Buka file. Perintah Masukan-Keluaran dari Berkas Masukan dan keluaran juga bisa diakses dari/ke berkas.) fid adalah nama variabel identitas file yang dipakai pada perintah fopen.4.permission) fid adalah variabel identitas file yang nantinya dipakai ketika akan membaca atau menulis.. Filename adalah string berisi nama file (dan direktorinya) yang dibaca/ditulis.. ‘a+’ Keterangan Buka file hanya untuk dibaca (default) Buka file. gunakan perintah fprintf yang formatnya mirip dengan format fprintf bukan berkas. Konsisi yang umum dipakai tampak pada Tabel 2.. Tabel 2. Permission adalah kondisi file yang dibaca/ditulis. Agar berkas yang dibuka dapat ditulisi dengan baik. . berkas terlebih dahulu harus dibuka dengan perintah fopen. A. Format adalah format penulisan (lengkapnya lihat tabel 2. . ‘a’.2 dan 2.

expression benar ? ya Statements tidak Perintah setelah end Gambar 2. 2. maka statements akan dilakukan.3.then Bentuk yang lebih umum adalah menentukan statemen apa yang dilakukan jika kondisi expression bemilai salah. Struktur tersebut digambarkan dalam bagan alir Gambar 2. Jika kondisi ini benar. if expression statements l else .14.5. Jika expression bernilai benar. Jika salah maka program akan melompat ke perintah setelah end. maka berkas akan dibaca hingga akhir. maka statements 2 yang dilakukan. Jika tidak dituliskan.2. Bagan Alir if . maka statemens l yang akan dilakukan.size. Statemen Kendali Statemen kendali memungkinkan untuk mengontrol alur program. Akan tetapi jika salah. digunakan perintah fread yang formatnya adalah sebagai berikut : A = fread(fid. Untuk itu ditambahkan perintah else.precision) fid adalah variabel nama file yang digunakan dalam fopen. Precision menyatakan format teks yang dibaca (integer dengan tanda). size adalah jumlah data yang dibaca dan ditempatkan di variabel A.Untuk membaca berkas teks.14. Format perintahnya adalah sebagai berikut : if expression statements end expression adalah kondisi yang menentukan arah percabangan.

Bagan Alir if . Statemen Perulangan Statemen perulangan digunakan untuk mengulang-ulang suatu blok perintah. menunjukkan bagan alir proses dengan perintah if-then-eIse tidak Statements 2 expression benar ? ya Statements 1 Perintah setelah end Gambar 2.5. Operator Logika Operator < <= > >= == ~= Lebih kecil dari Lebih kecil atau sama dengan Lebih besar dari Lebih besar atau sama dengan Sama dengan Tidak sama dengan Arti 2.else Expression dalam kedua bentuk if tersebut berisi variabel-variabel yang dihubungkan dengan operator logika (atau fungsi yang memiliki return boolean true atau false).5. Operator logika yang dapat dipakai tampak pada Tabe1 2.15. Tabel 2.then .5. Ada dua bentuk perulangan yang umumnya dipakai : .15.2.statements2 end Gambar 2.4.

maka perulangan terus dilakukan. Pada kasus ini..j) = 1/(i+j -1). Struktur For Dalam struktur ini. Struktur While Dalam struktur while. Jadi sebelum statemen dalam perulangan dieksekusi. atau bahkan dilakukan terus menerus tanpa pernah berhenti. Selama kondisi tersebut bernilai benar. statement end Struktur for dapat dibuat bersarang (nested loop). baru kemudian ke loop For sebelah luarnya. End End %Matriks awal . Perulangan bisa dilakukan beberapa kali. loop For yang paling dalam akan dieksekusi dahulu hingga selesai.a. banyaknya perulangan ditentukan dari kondisi syarat yang ditetapkan. Struktur For Bentuk struktur For adalah sebagai berikut : for variable = skalar : skalar statement .n) For i = 1:n For j = 1:n a(i. Pembuat program harus memastikan bahwa suatu saat nantinya. tidak pernah dilakukan sama sekali. sudah diketahui berapa kali nantinya statemen tersebut dieksekusi b. kondisi syarat bernilai salah (sehingga perulangan berhenti) a.. perhatikan program n =4 a = zeros (n. jumlah perulangan yang akan dilakukan ditentukan oleh pemakai. Sebagai contoh.

Segera setelah ditemukan elemen 0.<. Sebagai contoh. Pengecekan tidak perlu dilakukan pada semua elemen matriks. Statemen akan dieksekusi terus menerus selama ekspresi setelah kata kunci while bernilai benar. >=.PF) Dengan net = jaringan Backpropagation yang terdiri dari n layar PR = matriks ordo Rx2 yang berisi nilai minimum dan maksimum R buah elemen masukannya 1 .Program tersebut akan secara ieratif mengisi elemen matriks baris-i kolom-j dengan i + j −1 b. misalkan ingin dicek apakah dalam matriks yang diinputkan ada elemen 0..3. <=. >.BLF..BTF.TFN}. Pemrograman Backpropagation Dengan Matlab 2.. maka pengecekan dihentikan dan bisa diambil kesimpulan tentang matriks tersebut. atau ~=.3. 2. Membentuk Jaringan A.1. Struktur While Bentuk umum struktur While adalah sebagai berikut : while expression op_rel expression statements end dimana op_rel adalah ==.SN]. Misalkan pengecekan dimulai dari elemen kiri atas. Inisialisasi Jaringan Langkah pertama yang harus dilakukan untuk memprogram backpropagation dengan Matlab adalah membuat inisialisasi jaringan. Perintah yang dipakai untuk membentuk jaringan adalah newff yang formatnya adalah sebagai berikut : net = newff(PR..{TF1 TF2. Struktur while dipakai jika akan dihentikan iterasi segera setelah dicapai kesimpulan.5.5.[S1 S2.

.. hanya rangenya adalah [0... baru kemudian bobot diubah.2. Default = learngdm PF = fungsi perhitungan error. Default = traingdx BLF = fungsi perubahan bobot/bias..Si (i=1.. Fungsi sigmoid bipolar memiliki range [-1.1] b. tujuannya adalah mempercepat pelatihan. Semua pola dimasukkan dulu.. Fungsi sigmoid biner memiliki 1 + e −net bentuk serupa dengan sigmoid bipolar. perubahan bobot dilakukan dengan menambahkan momentum. Default = tansig (sigmoid bipolar) BTF = fungsi pelatihan jaringan.. Inisialisasi Bobot ..2. semua data masukan harus diletakkan dalam sebuah matriks... Dalam pelatihan berkelompok.2. Default = mse Beberapa fungsi aktivasi yang dipakai Matlab dalam pelatihan backpropagation adalah : a.. pelatihan backpropagation dalam Matlab dilakukan secara berkelompok (batch training).. Umumnya.n) = jumlah unit pada layar ke-i (i=1. Fungsi default yang dipakai oleh Matlab adalah traingdx. tetapi dapat berubah-ubah selama iterasi. Dalam fungsi ini.n) Tfi (i=1. logsig (sigmoid biner) f ( net ) = 1 ..2.1] c. tansig (sigmoid bipolar) f ( net ) = 2 −1 . Fungsi ini adalah default 1 + e −net yang dipakai. Disamping itu laju pemahaman (learning rate =α ) bukan merupakan konstanta yang tetap..n) = fungsi aktivasi yang dipakai pada layar ke-i (i=1.n).. Perubahan dilakukan dengan memperhatikan perubahan bobot pada iterasi sebelumnya. B. purelin (fungsi identitas) f ( net ) = net Pelatihan yang dilakukan dalam Matlab dapat menggunakan berbagai fungsi.

pola masukan dan fungsi aktivasi yang dipakai.P. net. Default = zeros Dan parameter hasil Y : keluaran jaringan Pf : kondisi akhir delay masukan .Setiap kali membentuk jaringan backpropagation.LW dan net. maka bobotnya disimpan dalam net.Af. dapat dilakukan dengan memberi nilai pada net. Karena dalam backpropagation.IW{j.1}.Pi.Ai. Simulasi Jaringan Perintah sim digunakan pada backpropagation untuk menghitung keluaran jaringan berdasarkan arsitektur.1} adalah penyimpan bobot dari layar tersembunyi paling bawah (layar tersembunyi ke-1) ke layar tersembunyi diatasnya (layar tersembunyi ke-2).T) Dengan parameter masukan net : nama jaringan dalam perintah newff P : vektor masukan jaringan Pi : kondisi delay awal masukan. Matlab akan memberi nilai bobot dan bias awal dengan bilangan acak kecil. net.j} dipakai untuk menyimpan bobot dari unit di layar tersembunyi ke-j ke unit di layar tersembunyi ke-k.LW{2. C. Perhatikan perbedaan antara net. [Y.E.b.Pf. Sebagai contoh. Bobot dan bias ini akan berubah setiap kali dibentuk jaringan. net. Akan tetapi jika diinginkan memberi bobot tertentu. Default = zeros Ai : kondisi delay layar. Default = zeros T : vektor target jaringan.LW{k.IW.IW dan net. Sebaliknya. net.IW{1.i} digunakan sebagai variabel untuk menyimpan bobot dari unit masukan layar i ke unit tersembunyi (atau unit keluaran) layar j. unit masukan hanya terhubung dengan layar tersembunyi paling bawah.perf] = sim(net.LW.

Perhatikan bahwa untuk menghitung keluaran jaringan. Af hanya dipakai bagi jaringan yang memiliki delay masukan dan layar. Error (dan suku perubahan bobot) yang terjadi dalam setiap pola masukan dijumlahkan untuk menghasilkan bobot baru. maka harus diketahui targetnya.p). bobot diubah setelah semua pola masukan diberikan ke jaringan. Untuk sekedar menghitung keluaran jaringan.VV. Akan tetapi jika ingin dihitung error yang terjadi (selisih antara target dengan keluaran jaringan).4.tr. tidak perlu diketahui targetnya. dapat dipakai statemen sederhana : y = sim (net. Perubahan bobot dilakukan per epoch.P.Y. Sebaliknya. bobot diubah setiap kali pola masukan diberikan ke jaringan. Dalam metode incremental.Ai.Pf. 2.Pi.E. Pelatihan backpropagation menggunakan metode pencarian titik minimum untuk mencari bobot dengan error minimum.TV) Dengan net : jaringan yang didefinisikan dalam newff P : masukan jaringan . dalam metode kelompok. Dalam sub bab ini akan dibahas pelatihan standar yang digunakan untuk melatih jaringan. Pf. Matlab menggunakan metode pelatihan kelompok dalam iterasinya. Ai.2. Pelatihan Backpropagation Matlab menyediakan berbagai variasi pelatihan backpropagation.5. Untuk melatih jaringan digunakan perintah train yang formatnya adalah sebagai berikut: [net.Af : kondisi akhir delay layar E : error jaringan = T-Y Perf: unjuk kerja jaringan Pi. Dalam proses pencarian ini dikenal dua macam metode yaitu metode incremental dan metode kelompok (batch).T.Af] = train(net.

. gk adalah gradien dan α bias menurut persamaan wk+1 = wk . Default = [] TV : struktur vektor uji. Default = [] Perintah train akan menghasilkan net : jaringan yang baru tr : record pelatihan (epoch dan performa) Y : keluaran jaringan E : error jaringan Pf : kondisi akhir delay masukan Af : kondisi akhir delay layar Metode paling sederhana untuk merubah bobot adalah metode penurunan gradien (gradient descent). Jika wk adalah vektor bobot pada iterasi ke-k.α k gk. yaitu dalam arah negatif gradiennya. Default = zeros Pi : kondisi delay awal masukan. Pencarian titik minimum dengan metode penurunan gradien dilakukan dengan memberikan parameter ‘traingd’ dalam parameter setelah fungsi aktivasi pada perintah newff. k adalah laju pemahaman. maka metode penurunan gradien memodifikasi bobot dan a. Default = zeros VV : struktur validasi vektor. Dengan memberi nilai yang diinginkan pada parameter-parameter tersebut dapat diperoleh hasil yang lebih optimal. Matlab menyediakan beberapa metode pencarian titik minimumnya. Default = zeros Ai : kondisi delay awal layar. Bobot dan bias diubah pada arah dimana unjuk kerja fungsi menurun paling cepat.T : target jaringan. Ada beberapa parameter pelatihan dapat diatur sebelum pelatihan dilakukan. Jumlah epoch yang akan ditunjukkan kemajuannya.

d. Iterasi akan dihentikan apabila nilai fungsi kinerja kurang dari atau sama dengan kinerja tujuan. Semakin besar nilai learning rate akan berimplikasi pada semakin besarnya langkah pembelajaran.show = EpohShow Nilai default untuk jumlah epoch yang akan ditunjukkan adalah 25.Menunjukkan berapa jumlah epoch berselang yang akan ditunjukkan kemajuannya.trainParam. b. Iterasi akan dihentikan apabila waktu pelatihan melebihi waktu maksimum.lr = LearningRate Nilai default untuk learning rate adalah 0.01. Instruksi : net. 2. Kinerja tujuan Kinerja tujuan adalah target nilai fungsi kinerja.goal = TargetError Nilai default untuk kinerja tujuan adalah 0. Instruksi : net.5. Instruksi : net. Iterasi akan dihentikan apabila nilai epoch melebihi maksimum epoch.trainParam. Jika learning rate diset terlalu besar. Instruksi : net. Maksimum epoch Maksimum epoch adalah jumlah epoch maksimum yang boleh dilakukan selama proses pelatihan. Sebaliknya.trainParam.epochs = MaxEpoh Nilai default untuk maksimum epoh adalah 10. maka algoritma akan konvergen dalam jangka waktu yang sangat lama. Mempercepat Pelatihan Backpropagation . c.4. jika learning rate diset terlalu kecil. Learning rate Learning rate adalah laju pembelajaran.time = MaxTime Nilai default untuk waktu maksimum adalah tak terbatas (inf). Instruksi : net. e.3. maka algoritma akan menjadi tidak stabil.trainParam. Waktu maksimum untuk pelatihan Menunjukkan waktu maksimum yang diijinkan untuk melakukan pelatihan.trainParam.

modifikasi dapat dikelompokkan dalam dua kategori. dan lain-lain. Modifikasi metode penurunan tercepat dilakukan dengan menambahkan momentum. perubahan bobot tidak henya didasarkan atas error yang terjadi pada epoch pada waktu itu. Metode Penurunan Gradien dengan Momentum (traingdm) Meskipun metodenya paling sederhana. Faktor momentum = 0 berarti perubahan bobot hanya dilakukan berdasarkan error saat ini (penurunan gradien murni). Kategori pertama adalah metode yang menggunakan teknik heuristik yang dikembangkan dari metode penurunan tercepat yang dipakai dalam standar backpropagation. Dalam sub bab berikut ini dibicarakan dahulu tentang beberapa modifikasi yang masuk dalam kategori pertama (backpropagation dengan momentum. Beberapa modifikasi dilakukan terhadap standar backpropagation dengan cara mengganti fungsi pelatihannya. Dengan demikian kemungkinan terperangkap ke titik minimum lokal dapat dihindari. dan backpropagation resilient). Dengan momentum. Dalam Matlab. Besarnya efek perubahan bobot terdahulu (disebut faktor momentum) bisa diatur dengan suatu bilangan antara 0 dan 1. A. variabel laju pemahaman. Perubahan bobot saat ini dilakukan dengan memperhitungkan juga perubahan bobot pada epoch sebelumnya. Kategori kedua adalah menggunakan metode optimisasi numerik selain penurunan tercepat. tapi metode penurunan gradien sangat lambat dalam kecepatan proses iterasinya. quasi Newton. Secara umum. pelatihan backpropagation dengan menggunakan metode penurunan gradien dengan momentum dilakukan dengan mendefinisikan fungsi pelatihan ‘traingdm’ dalam pembentukan . Berikutnya barulah dibahas tentang beberapa metode yang masuk dalam kategori kedua. Beberapa metode yang dipakai sebagai modifikasi adalah metode gradien conjugate. Ini terjadi karena kadangkadang arah penurunan tercepat bukanlah arah yang tepat untuk mencapai titik minimum globalnya.Metode standar backpropagation seringkali terlalu lambat untuk keperluan praktis.

Dalam Matlab. Pada titik yang cukup jauh dari x = 0. Akibatnya.mc (default = 0. Secara praktis. Parameter lain yang dapat diatur dalam traingdm sama dengan traingd. sulit untuk menentukan besarnya laju pemahaman yang paling optimal sebelum pelatihan dilakukan. C. Jika error sekarang lebih besar dibandingkan error sebelumnya. hal ini menimbulkan masalah pada waktu menggunakan metode penurunan . Dengan demikian laju pemahaman dapat dibuat sebesar besarnya dengan tetap mempertahankan kestabilan proses. gradiennya mendekati 0. penggunaan variabel laju pemahaman dilakukan dengan menggunakan ‘traingda’ pada parameter fungsi pelatihan newff. Fungsi pelatihan yang dipakai di Matlab adalah ‘traingdx’.jaringannya. laju pemahaman berupa suatu konstanta yang nilainya tetap selama iterasi. Laju pemahaman yang terlalu besar maupun terlalu kecil akan menyebabkan pelatihan menjadi lambat. Pelatihan akan lebih cepat apabila laju pemahaman dapat diubah ubah besarnya selama proses pelatihan. Penggunaan laju pemahaman juga bisa dikombinasikan dengan menambahkan faktor momentum. Resilient Backpropagation (trainrp) Jaringan backpropagation umumnya menggunakan fungsi aktivasi sigmoid. B. Fungsi pelatihan ini memiliki kecepatan pelatihan yang tinggi sehingga dipakai sebagai default dalam pelatihan backpropagation di Matlab. maka laju pemahaman diturunkan.trainParam.9). Besarnya faktor momentum dilakukan dengan memberi nilai antara 0 – 1 pada net. Jika sebaliknya. unjuk kerja algoritma sangat dipengaruhi oleh besarnya laju pemahaman yang dipakai. traingdx) Dalam standar backpropagation. maka laju pemahaman diperbesar. Variabel Laju Pemahaman (traingda. Semakin jauh titik dari x = 0. semakin kecil gradiennya. Fungsi sigmoid akan menerima masukan dari range tak berhingga menjadi keluaran pada range [0.1].

Besarnya perubahan bobot dilakukan dengan cara lain. Meskipun penurunan fungsi berjalan cepat. BAB III . yang diambil hanya arahnya saja.tercepat (yang iterasinya didasarkan atas gradien). Dalam algoritma gradien konjugate. Ketika menggunakan penurunan tercepat. Dalam Matlab resilient backpropagation dilakukan dengan menuliskan ‘trainrp’ pada fungsi pelatihannya. Gradien yang kecil menyebabkan perubahan bobot juga kecil. Powel Beale (‘traincgb’). Polak-Ribiere (‘traincgp’). meskipun masih jauh dari titik optimal. Masalah ini diatasi dalam resilient backpropagation dengan cara membagi arah dan perubahan bobot menjadi dua bagian yang berbeda. traincgp. D. pencarian ini lebih cepat. traincgb) Dalam standar backpropagation. Algoritma Gradien Conjugate (traincgf. bobot dimodifikasi pada arah penurunan tercepat. tapi tidak menjamin akan konvergen dengan cepat. Dalam banyak kasus. antara lain Fletcher-Reeves (‘traincgf’). Ada berbagai metode pencarian yang dilakukan berdasarkan prinsip gradien conjugate. pencarian dilakukan sepanjang arah conjugate.

xlsx'. Pada penelitian ini.'B:B'). Matrix input yang kita masukkan ditransposekan agar sesuai dengan format hitungan pada MatLab.1. Dan untuk menghapus semua data dan syntax pada command window dituliskan instruksi clear.1.METODA PELAKSANAAN 3. % Mengambil data dari excel di worksheet 1 kolom A x=xlsread ('C:\Documents and Settings\user\Recent\My Documents\Book1. Proses Pelatihan (Training) 1. terlebih dahulu dibuat instruksi-instruksi (syntax) dalam M-file editor. a=x'. Data masukan dan target tersebut disusun pada Spreadsheet Excel.1.'A:A'). size(a) p = a(1:70). Sebelum melakukan simulasi (running) pada command window matlab.xlsx'. yang diakhiri dengan tanda titik koma (seperti:clear). Masukan data input dan target. . Data-data yang diperoleh disimpan dalam Spreadsheet Excel lalu dimuat ke M-File. y=xlsread ('C:\Documents and Settings\user\Recent\My Documents\Book1. Pada penginputan data ini data dalam Spreadsheet Excel dibuat dalam bentuk suatu matrix. size(b) t = b(1:70). 3. b=y'. 2. JST didesain dan dilatih untuk mengenali pola curah hujan dan memprediksi ketinggian air dengan masukan curah hujan tersebut.

lapisan dan bias. Proses awal sebelum dilakukan pelatihan.2} BobotAwal_Bias_Lapisan2 = net.LW{3.'traingdm') 6.LW{2. 5.{'tansig' 'logsig' 'purelin'}.tn. % Membangun jaringan dengan propagasi umpan balik berbasis jaringan syaraf tiruan net = newff(minmax(pn). instruksi yang digunakan newff.1} BobotAwal_Lapisan2 = net. Proses normalisasi dapat dilakukan dengan bantuan mean dan deviasi standar.stdp.1} . Melihat bobot awal input.1} BobotAwal_Bias_Input = net.1} BobotAwal_Bias_Lapisan1 = net. data input dan target harus dinormalisasi. Membangun jaringan dengan algoritma propagasi umpan balik berbasis jaringan syaraf tiruan.IW{1. % Preprocessing [pn.1} BobotAwal_Lapisan1 = net.4.stdt] = prestd(P.dan bias BobotAwal_Input = net.meanp. Normalisasi kita lakukan agar nilai-nilai data bisa dihitung dengan nilai yang lebih kecil tanpa kehilangan karakteristiknya sendiri.T). lapisan.meant.b{1.[10 5 1].b{3.b{2. % Melihat bobot-bobot awal input. Fungsi prestd akan membawa data ke bentuk normal dengan mean = 0 dan deviasi standar = 1.

meant. % Melihat bobot akhir input.1} BobotAkhir_Lapisan1 = net.pn) a = poststd(an.2))' a'] .epochs = 30000.lr = 0.LW{2. learning rate. target error. net.trainParam.IW{1.trainParam.trainParam.7. Seting maksimum epoh. % Set max epoh.tn).trainParam. dan bias BobotAkhir_Input = net.pn.b{2.5. net.trainParam. lapisan.stdt) H = [(1:size(P.momentum dan epoh show net.goal = 1e-3.1} BobotAkhir_Lapisan2 = net.b{1. Melakukan pembelajaran/pelatihan terhadap data input dan target.2} BobotAkhir_Bias_Lapisan2 = net.tr] = train(net. Melakukan simulasi dan hasilnya didenormalisasi pada data aslinya. 8. Melihat bobot akhir input. % Melakukan simulasi an = sim(net.b{3. learning rate. % Melakukan pembelajaran [net. pause 9. net.show = 250. net.7. target error.1} 10.LW{3.1} BobotAkhir_Bias_Input = net.1} BobotAkhir_Bias_Lapisan1 = net.mc = 0. momentum dan epoh show. lapisan.

T) 12.pause 3.Qn) b = poststd(bn.T. plot(b.ylabel('Target').sprintf('%2d %5. %Melakukan evaluasi terhadap output jaringan [m1.'bo'.stdt) 3.a'. Menampilkan hasil pelatihan dalam bentuk grafik.stdp) bn = sim(net.H') 11.2.2)]'.'r*') title('Pengujian dengan data training: Target(o). Melakukan evaluasi terhadap output jaringan. %Menampilkan hasil pelatihan dalam bentuk grafik. plot([1:size(P.a1.2)]'.r1]=postreg(a. output (*)') xlabel('data ke-').[1:size(P. Melakukan simulasi jaringan. % Simulasi jaringan Qn = trastd(Q.'b-*') . Menampilkan hasil perbandingan antara target yang didapat melalui metode propagasi umpan balik dengan target yang diinginkan dalam bentuk grafik %grafik [b' TQ'].meanp. Proses Tes (Testing ) 1. yaitu data hasil pelatihan dengan target.meant.2f\n'.

{'tansig' 'logsig' 'purelin'}. % Melihat bobot-bobot awal input. BobotAwal_Bias_Lapisan1 = net.1.'K:K').'r-o') 3. . b=y'. size(a) p = a(1:24). a=x'.stdt] = prestd(p.1}.IW{1.stdp.t).1}.xlsx'. close all.b{2.1}. BobotAwal_Bias_Input = net. clear all.tn.hold plot(TQ. BobotAwal_Lapisan1 = net. y=xlsread ('C:\Documents and Settings\user\Recent\My Documents\Book1.3 Program function ekosatria clc.1. lapisan.meanp.meant.xlsx'. % Mengambil data dari excel di worksheet 1 kolom J x=xlsread ('C:\Documents and Settings\user\Recent\My Documents\Book1. % Preprocessing [pn.'J:J').LW{2. size(b) t = b(1:24).b{1.1}.[10 5 1].dan bias BobotAwal_Input = net.'traingdm'). % Membangun jaringan dengan propagasi umpan balik berbasis jaringan syaraf % tiruan net = newff(minmax(pn).

stdt). BobotAwal_Bias_Lapisan2 = net. net.1}.b{1.pause % Simulasi jaringan Qn = trastd(Q.b{3.'r*') title('Pengujian dengan data training: Target(o). % Set max epoh. lapisan. net.pn.lr = 0.IW{1.a'. output (*)') xlabel('data ke-').b{2. target error.2}.meanp. %Menampilkan hasil pelatihan dalam bentuk grafik. pause % Melihat bobot akhir input. .stdp). BobotAkhir_Bias_Input = net.BobotAwal_Lapisan2 = net.goal = 1e-3. dan bias BobotAkhir_Input = net. H = [(1:size(p. sprintf('%2d %5.7.trainParam.trainParam.meant.2f\n'.tn).Qn).~.trainParam.pn).t). BobotAkhir_Bias_Lapisan1 = net.t.momentum dan epoh show net. BobotAkhir_Lapisan2 = net.b{3.2)]'.LW{3.LW{3.2}. BobotAkhir_Bias_Lapisan2 = net.mc = 0.[1:size(p.r1]=postreg(a.ylabel('Target'). % Melakukan simulasi an = sim(net.1}.1}. learning rate. bn = sim(net. net.trainParam.1}.tr] = train(net.show = 250.'bo'. a = poststd(an.H') %Melakukan evaluasi terhadap output jaringan [~.5.2))' a'].1}.LW{2.epochs = 30000.1}. plot([1:size(p. BobotAkhir_Lapisan1 = net.trainParam. % Melakukan pembelajaran [net. net.2)]'.

'r-o'). %grafik [b' TQ'].b = poststd(bn.meant.stdt). hold plot(TQ.'b-*'). . plot(b.

dari training neural network pada program didapatkan performance error sebesar 0.001.1 Arsitektur running program Adapun layer/hidden layer yang digunakan pada program Backpropagation ini adalah sebanyak tiga lapis Hidden Layer.00175. Setiap lapis pada Hidden Layer ini digunakan fungsi aktifasi yang berbeda-beda pada layer pertama terdapat 10 neuron dengan fungsi aktifasi sigmoid bipolar (tansig). Sehingga dapat dikatakan error maksimum yang dihasilkan . Hasil ini didapatkan dari iterasi sebanyak epoch yang dimasukkan (epoch maksimum). pada layer kedua terdapat 5 neuron dengan fungsi aktifasi sigmoid unipolar (logsig) dan pada layer ketiga terdapat 1 neuron dengan fungsi aktifasi identitas (purelin).BAB IV HASIL DAN PEMBAHASAN 4.1. Arsitektur Program Dari fungsi dan perintah yang telah diketik pada editor maka arsitektur dari JNA ini adalah sebagai berikut: Gambar 4. Dari targetan error yang dimasukkan pada program yaitu sebesar 0.

Gradient dan Validation Cheks untuk Epoch maksimum dapat dilihat pada gambar Gambar 4.oleh program telah mendekati error minimum yang dihasilkan dan dapat dianggap bahwa arsitektur program dan fungsi aktivasi yang dipakai sangat cocok pada pembelajaran program ini.3 Training State . Gambar 4.2 Performance plotform Dari grafik di atas terlihat bahwa training performance dari program ini (garis biru) hampir mendekati hasil terbaik yang diinginkan (garis putus-putus).

korelasi yang sangat kuat akan mengkasilkan nilai R=1 Gambar 4.99909 (korelasi yang kuat). 4. pmbuatan program ini dimaksudkan untuk prediksi dan melihat pengaruh intensitas(curah) hujan terhadap debit dan ketinggian air. dengan curah hujan sebagai input dan debit air sebagai target dan program diharapkan dapat mengenali pola ini serta dapat melakukan prediksi untuk curah hujan dan debit air pada masa yang akan dating dengan pengenalan pola tersebut.4 Regression potregression Pada gambar terlihat bahwa selama masa training output yang dihasilkan oleh program memiliki korelasi yang cukup kuat dengan target. Korelasi antara output dan target yang hendak dicapai dalam program dituliskan dengan R.2. koefisien korelasi yang dihasilkan yaitu sebesar 0.2 4.Sebagaimana yang kita ketahui bahwa suatu program pengenalan pola dapat dikatakan tepat apabila terdapat korelasi antara target dan output yang dihasilkan oleh program. . Seperti yang terlihat.1 Pelatihan Program Data Input Seperti yang telah dijelaskan pada bagian terdahulu bahwa.

2.86 96.7 87.75 4.1 Perolehan Output Data Setelah dilakukan training dengan capaian epoch maksimum sebanyak 30.02 104.57 45.75 43.96 79.96 69.66 86.57 40.72 97.1 Curah hujan bulanan kota bogor (mm) dan debit air manggarai (m3/s) Debit Aliran Curah Hujan 1274 1343 1468 1690 1896 1842 1898 1632 1620 1488 1454 1687 1908 1697 1629 1743 1582 1678 1865 1788 1878 1762 1719 1482 Sungai 40.2 114.02 72.54 110.26 103.28 72.25 121.000 iterasi selama 4 menit 24 detik didapatkan .68 97.Input dan target untuk program ini adalah seperti pada tabel Tabel 4.2 106.17 83.43 83.71 96.96 103.17 69.

titik-titik berwarna merah menunjukkan output (keluaran) dari program sdangkan bulatan-bulatan biru adalah data target. Seperti yang terlihat pada gambar. yaitu apabila output yang dihasilkan nanti lebih besar dari debit maksium yang dapat ditampung oleh sungai. kejadian banjir bisa diprediksi. Dengan melihat keluaran pada program. Berdasarkan sumber yang didapatkan. Adapun data curah hujan yang di inputkan yaitu curah hujan kota Bogor dan target yaitu debit air pada pintu air manggarai. 4.5 Pengujian dengan data training dan output Pada gambar di atas.Gambar 4. maka kemungkinan akan terjadi banjir pada daerah aliran sungai. sebagian besar output yang dihasilkan oleh program berimpit dengan target yang diinginkan (pola) yang akan dikenali. Dengan demikian program telah dapat mengenali pola dengan baik. Adapun out put dari program dapat dilihat pada jendela program seperti pada gambar berikut . debitmaksimum yang dapat ditampung leh pintu air manggarai yaitu sebesar 100 m3/s.2 Prediksi Banjir Prediksi terjadinya banjir dapat dilakukan dengan melihat keluaran dari program yaitu berupa debit air sungai dari waktu ke waktu dan membandingkannya dengan debit air maksimum yang dapat ditampung oleh sungai tersebut.

BAB V KESIMPULAN DAN SARAN 4. Kesimpulan . Dapat dilihat bahwa pada bulan ke 5.20.21 kemungkinan akan terjadi banjir dengan banjir terbesar kemungkinan akan terjadi pada bulan ke 13 sebab memiliki selisih yang sangat besar dengan debit maksimum dari sungai.Gambar 4.6 Keluaran program Pada gambar di atas 1 sampai 24 menunjukkan bulan dan data-data di sebelah kanannya merupakan prediksi debit air pada bulan-bulan tersebut.13.7.19.1.6.

Untuk epoch. jaringan syaraf buatan Backpropagation sangat cocok. Erlangga.\ program dapat mengenali pola dengan baik. DAFTAR KEPUSTAKAAN Markidakis. Saran Agar mendapatkan hasil yang diingin kan hendaklah menetapkan jumlah layer yang sesuai dengan keluaran yang diharapkan. Metode dan Aplikasi Peramalan. 1999. disarankan untuk memasukkan epoch yang besar sehingga proses iterasi dan pembelajaran akan semakin banyak dan akan menghasilkan nilai eror maksimum yang mendekati nilai yang diharapkan. 4.Dari pelaksanaan program dan output yang telah dihasilkan dapat disimpulkan bahwa untuk kasus pengenalan pola dan prediksi. Jakarta . pemilihan jumlah layer dan fungsi aktivasi dapat dilakukan dengan trial and error saja.1. Dengan jumlah neuron yang banyak pada layer pertama dan fungsi aktivasi yang berbeda-beda akan menghasilkan nilai eror mendekati nilai eror maksimum yang kita harapkan. Dari plot korelasi dan grafik antara output dan target terlihat bahwa sebagian besar data output berimpit dengan data target yang dapat dikatakan bahwa.

Artificial Intelligence. Van Nostrand Reinhold. S. Winston. 1992.Russel and Norvig. S. Yogyakarta. Pengendalian Banjir Pemerintah Provinsi DKI Jakarta. Yogyakarta. Jaringan Saraf Tiruan (Teori dan Aplikasi).Mengapa Jakarta Banjir. Graha Ilmu. . Andi Offset. Yogyakarta. 2009.. 2004. Stasiun Klimatologi Bogor.. New Jersey. A. Prentice Hall. 2004.. Neural Network Architectures. 1990. New York. Addison Wesley Pub.. Siang. Massachusetts. Jaringan Syaraf Tiruan (Konsep Dasar. Prentice Hall. (2002) Buku Ajar Kecerdasan Buatan. Artificial Intelligence (Teknik dan Aplikasinya). 1994. H. 2010. Fausett.Jakarta: PT MIRAH SAKETHI Hermawan. Yogyakarta: Jurusan Teknik Informatika. L. J. New Jersey. TUGAS AKHIR JARINGAN NEURAL ARTIFISIAL PERAMALAN BANJIR DENGANJARINGAN SYARAF TIRUAN PERAMBATAN-BALIK . 2006. Jaringan Syaraf Tiruan Dan Pemrogramannya Menggunakan Matlab. Kusumadewi. 1995. JJ. E. Kristanto. 2003. LAPORAN ANALISIS HUJAN DI WILAYAH BOGOR. Artifi cial Intelligence: A Modern Approach. 3rd ed.. Dayhoff. Fundamentals of Neural Networks. Algoritma dan Aplikasi). Andi Offset. A. Graha Media Yogyakarta Kusumadewi.. Universitas Islam Indonesia. P.

2011 .EKO SATRIA 0810441004 LABORATORIUM FISIKA ATOM DAN INTI JURUSAN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS ANDALAS PADANG.

Sign up to vote on this title
UsefulNot useful