IMPLEMENTASI JARINGAN SYARAF TIRUAN DENGAN ALGORITMA PROPAGASI BALIK UNTUK MEMPREDIKSI KETINGGIAN AIR DI SUATU DAERAH ALIRAN SUNGAI
RENDI PRASETYA
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011
ABSTRACT RENDI PRASETYA. Implementation of Neural Network with Back Propagation Algorithm to Predict Water Level in a Watershed. Under supervision of NGAKAN KOMANG KUTHA ARDANA and PRAPTO TRI SUPRIYO. Prediction of water level is usually performed using conventional methods by using statistical methods. However, conventional method is actually not well suited for observations on dynamical system, such as on water level prediction system. But fortunately, by using technology in the field of artificial intelligence, namely artificial neural network technology, the data pattern identification of water level prediction system can be done through the method of learning or training approaches. Based on its learning ability, neural networks can be trained to study and analyze patterns of past data and to find a function that will link the pattern of past data with the desired output. This study is aimed to implement the back propagation neural networks in predicting the water levels in a watershed and to determine the level of accuracy of predictions generated. The design of water level prediction model using artificial neural networks in scientific work is done by software MATLAB R2010b. In this work, optimization is given to the parameter of artificial neural networks, such as data sharing between training and testing data, the learning rate, momentum, number of hidden neurons, and also the maximum error tolerance of the iteration. This optimization is done in order to obtain the optimal neural network system and to achieve a good level of prediction accuracy. Some numerical experiments are carried out on the neural network with back propagation learning algorithm and a network architecture with an input layer of two neurons, one hidden layer, and an output layer of one neuron. From the experimental results conducted in this study, it can be concluded that the neural network with the appropriate parameters are successfully implemented to predict the water levels in the Ciliwung - Bogor watershed. The results of the model is also found to have a good level of accuracy.
ABSTRAK RENDI PRASETYA. Implementasi Jaringan Syaraf Tiruan dengan Algoritma Propagasi Balik untuk Memprediksi Ketinggian Air di Suatu Daerah Aliran Sungai. Dibimbing oleh NGAKAN KOMANG KUTHA ARDANA dan PRAPTO TRI SUPRIYO. Prediksi ketinggian air selama ini dilakukan dengan menggunakan metode konvensional dengan menggunakan metode-metode statistika. Akan tetapi, akan muncul suatu masalah apabila pengamatan dilakukan pada sistem dinamis, seperti halnya pada sistem prediksi ketinggian air. Dengan menggunakan teknologi di bidang kecerdasan buatan, yaitu teknologi jaringan syaraf tiruan, maka identifikasi pola data dari sistem prediksi ketinggian air dapat dilakukan melalui metode pendekatan pembelajaran atau pelatihan. Berdasarkan kemampuan belajar yang dimilikinya, jaringan syaraf tiruan dapat dilatih untuk mempelajari dan menganalisa pola data masa lalu dan berusaha mencari suatu fungsi yang akan menghubungkan pola data masa lalu dengan keluaran yang diinginkan. Penelitian ini bertujuan untuk mengimplementasikan jaringan syaraf tiruan propagasi balik dalam memprediksi besarnya ketinggian air di suatu daerah aliran sungai dan untuk mengetahui besarnya tingkat keakuratan prediksi yang dihasilkan. Perancangan model prediksi ketinggian air menggunakan jaringan syaraf tiruan dalam karya ilmiah ini dilakukan dengan software MATLAB R2010b. Pada karya ilmiah ini dilakukan optimisasi pada parameter-parameter jaringan syaraf tiruan seperti pembagian data antara data pelatihan dan pengujian, laju pembelajaran, momentum, banyaknya neuron tersembunyi, toleransi galat dan juga maksimum iterasi. Hal ini dilakukan agar mendapatkan sistem jaringan syaraf tiruan yang optimal dan memiliki tingkat keakuratan prediksi yang baik. Dari hasil percobaan yang dilakukan dalam penelitian ini dapat disimpulkan bahwa jaringan syaraf tiruan dengan algoritma pembelajaran propagasi balik dan arsitektur jaringan dengan 1 lapisan masukan dengan 2 neuron, 1 lapisan tersembunyi, dan 1 lapisan keluaran dengan 1 neuron, dengan parameter-parameter yang sesuai berhasil diimplementasikan untuk memprediksi besarnya ketinggian air di daerah aliran sungai Ciliwung - Bogor. Hasil model memiliki tingkat keakuratan yang baik dalam prediksi.
IMPLEMENTASI JARINGAN SYARAF TIRUAN DENGAN ALGORITMA PROPAGASI BALIK UNTUK MEMPREDIKSI KETINGGIAN AIR DI SUATU DAERAH ALIRAN SUNGAI
RENDI PRASETYA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada Departemen Matematika
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011
Judul : Implementasi Jaringan Syaraf Tiruan dengan Algoritma Propagasi Balik untuk Memprediksi Ketinggian Air di Suatu Daerah Aliran Sungai Nama : Rendi Prasetya NRP : G54051730
Menyetujui,
Pembimbing I
Pembimbing II
Ir. Ngakan Komang Kutha Ardana, M.Sc. NIP. 19490609 197412 1 001
Drs. Prapto Tri Supriyo, M.Kom. NIP. 19630715 199002 1 002
Mengetahui, Ketua Departemen,
Dr. Berlian Setiawaty, MS NIP. 19650505 198903 2 004
Tanggal Lulus :
PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan karunia-Nya sehingga skripsi yang berjudul ”Implementasi Jaringan Syaraf Tiruan dengan Algoritma Propagasi Balik untuk Memprediksi Ketinggian Air di Suatu Daerah Aliran Sungai” berhasil diselesaikan. Penyusunan skripsi ini tidak lepas dari bantuan berbagai pihak. Untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada kedua orang tua dan juga seluruh keluarga yang selalu memberikan dukungan dan doa; Ir Ngakan Komang Kutha Ardana, M.Sc. selaku dosen pembimbing utama atas arahan dan bimbingan dalam penulisan dan penyelesaian skripsi ini; Drs. Prapto Tri Supriyo, M.Kom. selaku dosen pembimbing kedua atas semua ilmu, kritik, saran, dan motivasinya; Dr. Ir. Sri Nurdiati, M.Sc selaku dosen penguji atas semua ilmu dan sarannya; seluruh Dosen Departemen Matematika atas semua ilmu yang telah diberikan; Staff dan Pegawai Departemen Matematika atas semua bantuannya; dan untuk semua teman atas saran dan dukungannya. Semoga karya ilmiah ini dapat menambah informasi di dunia keilmuan khususnya matematika dan menjadi inspirasi bagi penelitian-penelitian selanjutnya. Bogor, Agustus 2011
Rendi Prasetya
RIWAYAT HIDUP Penulis dilahirkan di Bogor pada 9 Juni 1988 dari Nurhedi dan Ida Widiawati. Penulis merupakan anak kedua dari empat bersaudara. Pada tahun 1993, penulis mengawali pendidikan formalnya di SDN Cipinang 2 dan lulus pada tahun 1999. Penulis kemudian melanjutkan pendidikan formalnya di SMP Negeri 1 Rumpin pada tahun 1999 dan lulus pada tahun 2002. Pada tahun 2005, penulis menyelesaikan pendidikan formalnya di SMA Negeri 1 Parung dan di tahun yang sama penulis berhasil masuk Institut Pertanian Bogor melalui jalur PMDK. Pada tahun 2006, penulis diterima di Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam setelah di tahun pertama menjalani Tahap Persiapan Bersama. Selama masa perkuliahan, penulis aktif sebagai panitia pada beberapa acara antara lain try out SPMB dan Pesta Sains Nasional.
DAFTAR ISI
Halaman DAFTAR TABEL ...................................................................................................................... viii DAFTAR GAMBAR ................................................................................................................. viii DAFTAR LAMPIRAN .............................................................................................................. ix I
PENDAHULUAN 1.1 1.2
Latar belakang ........................................................................................................... 1 Tujuan karya ilmiah .................................................................................................. 1
II LANDASAN TEORI 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.3 2.3.1 2.3.2 2.3.3 2.4 2.5
Jaringan syaraf biologi .............................................................................................. Jaringan syaraf tiruan ................................................................................................ Sejarah jaringan syaraf tiruan .................................................................................... Aplikasi jaringan syaraf tiruan .................................................................................. Arsitektur jaringan syaraf tiruan ................................................................................ Algoritma pembelajaran ............................................................................................ Jaringan syaraf tiruan propagasi balik ....................................................................... Arsitektur jaringan syaraf tiruan propagasi balik ...................................................... Fungsi aktivasi pada jaringan syaraf tiruan propagasi balik ...................................... Pelatihan jaringan syaraf tiruan propagasi balik ........................................................ Laju pembelajaran ..................................................................................................... Momentum ................................................................................................................
1 3 3 4 4 6 6 7 7 7 10 10
III MODEL SISTEM ................................................................................................................. 11 3.1 3.2
Skema aliran air pada daerah aliran sungai ............................................................... 11 Propagasi balik untuk memprediksi ketinggian air ................................................... 11
IV HASIL DAN PEMBAHASAN ............................................................................................ 13 4.1 4.2
Menentukan komposisi pembagian data dan parameter-parameter jaringan syaraf tiruan yang sesuai ............................................................................. 13 Menguji sistem jaringan syaraf tiruan dengan menggunakan Parameter-parameter yang sesuai .............................................................................. 17
V SIMPULAN DAN SARAN .................................................................................................. 19 5.1 5.2
Simpulan ................................................................................................................... 19 Saran .......................................................................................................................... 19
VI DAFTAR PUSTAKA ........................................................................................................... 19 LAMPIRAN ............................................................................................................................... 21
vii
DAFTAR TABEL
Halaman 1 Peringkat kombinasi nilai laju pembelajaran dan momentum ........................................... 10 2 Nilai MAPE untuk setiap proporsi pembagian data untuk pelatihan dan pengujian ........................................................................................... 14 3 Nilai MAPE untuk tiap kombinasi nilai laju pembelajaran dan momentum .................................................................................................................. 15 4 Nilai MAPE untuk banyaknya neuron tersembunyi .......................................................... 16 5 Nilai MAPE untuk nilai toleransi galat .............................................................................. 16 6 Nilai MAPE untuk maksimum iterasi ................................................................................ 17
DAFTAR GAMBAR
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Halaman Struktur sederhana sebuah neuron ..................................................................................... 2 Proses kerja neuron pada jaringan syaraf biologi .............................................................. 2 Model struktur neuron pada jaringan syaraf tiruan ............................................................ 3 Jaringan dengan lapisan tunggal ........................................................................................ 5 Jaringan lapisan jamak ....................................................................................................... 5 Jaringan reccurent ............................................................................................................. 5 Arsitektur jaringan syaraf tiruan propagasi balik dengan satu lapisan tersembunyi .................................................................................................... 6 Grafik fungsi aktivasi sigmoid biner .................................................................................. 7 Grafik fungsi aktivasi sigmoid bipolar .............................................................................. 7 Alur kerja jaringan syaraf tiruan propagasi balik ............................................................... 8 Osilasi pada proses pembelajaran ...................................................................................... 10 Skema aliran air di pegunungan ......................................................................................... 11 Grafik boxplot untuk nilai MAPE pada setiap iterasi ........................................................ 18 Grafik perbandingan antara nilai aktual dan prediksi ........................................................ 18
viii
DAFTAR LAMPIRAN
Halaman 1 Kode program MATLAB untuk jaringan syaraf tiruan dengan algoritma propagasi balik ...................................................................................... 22 2 Tabel data curah hujan harian ............................................................................................ 23 3 Tabel data penguapan harian ............................................................................................. 24 4 Tabel data ketinggian air rata-rata harian .......................................................................... 25 5 Tabel data uji setelah dikonversi ke dalam kisaran (0,001 0,998) ..................................... 26 6 Hasil percobaan untuk komposisi pembagian data 60% untuk pelatihan dan 40% untuk pengujian dan validasi ..................................................... 28 7 Hasil percobaan untuk komposisi pembagian data 70% untuk pelatihan dan 30% untuk pengujian dan validasi ..................................................... 29 8 Hasil percobaan untuk komposisi pembagian data 80% untuk pelatihan dan 20% untuk pengujian dan validasi ..................................................... 30 9 Hasil uji analisis ragam satu arah untuk nilai MAPE pada komposisi pembagian data untuk pelatihan dan pengujian ....................................... 31 10 Hasil uji analisis ragam satu arah untuk nilai MAPE pada kombinasi nilai laju pembelajaran dan momentum ................................................... 32 11 Hasil uji analisis ragam satu arah untuk nilai MAPE pada banyaknya neuron tersembunyi ................................................................................. 33 12 Hasil uji analisis ragam satu arah untuk nilai MAPE pada nilai toleransi galat .................................................................................................... 34 13 Hasil uji analisis ragam satu arah untuk nilai MAPE 14 pada nilai maksimum pengulangan .................................................................................... 35 15 Hasil percobaan jaringan syaraf tiruan untuk nilai parameter yang sesuai ........................ 36
ix
I PENDAHULUAN 1.1 Latar belakang Hujan merupakan salah satu unsur iklim yang berpengaruh pada suatu daerah aliran sungai (DAS). Pengaruh langsung yang dapat diketahui yaitu potensi sumber daya air. Besar kecilnya sumber daya air yang ada pada suatu DAS sangat tergantung dari jumlah hujan yang turun pada daerah di sekitar DAS tersebut. Untuk keperluan analisis sumber daya air pada suatu kawasan DAS, diperlukan seperangkat data yang memadai, mulai dari data curah hujan dan penguapan sebagai masukan, karakteristik DAS itu sendiri secara keseluruhan dan data ketinggian air sebagai keluaran. Kendala umum yang dihadapi dalam analisis sumber daya air adalah kurang tersedianya data ketinggian air, akan tetapi data curah hujan dan penguapan tersedia cukup memadai. Suatu model hidrologi yang menggambarkan hubungan antara curah hujan dan penguapan dengan ketinggian air berdasarkan beberapa parameter fisik DAS dapat dibuat untuk mengatasi kendala tersebut. Model hidrologi tersebut selanjutnya digunakan untuk memprediksi besarnya ketinggian air di suatu DAS. Akan tetapi, karakteristik dari setiap DAS tentunya berbeda-beda, dan akan sulit untuk menentukkan parameter-parameter fisik DAS dari karakteristik yang berbeda-beda tersebut. Oleh karena itu, hasil dari model hidrologi yang didapatkan pun tidak dapat mempresentasikan model aliran air DAS secara umum. Oleh karena itu, dalam karya ilmiah ini penulis menggunakan jaringan syaraf tiruan (JST) untuk memprediksi besarnya ketinggian air di suatu DAS. JST diharapkan dapat menjadi suatu sistem yang dapat digunakan untuk memprediksi besarnya ketinggian air
secara umum suatu DAS dengan karakteristik fisiknya yang berbeda-beda. Implementasi dari JST dalam makalah ilmiah ini dilakukan dengan menggunakan software MATLAB R2010b yang didesain untuk menyelesaikan suatu model, dengan algoritma pembelajaran yang digunakan adalah propagasi balik. Propagasi balik adalah sebuah metode sistematik untuk pelatihan pada suatu jaringan dengan lapisan jamak. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma pembelajaran ini pun mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat melalui model yang dikembangkan dari suatu proses pelatihan (training set). Konsep praktis dari JST untuk memprediksi ketinggian air ini yaitu dengan cara memasukkan pola data curah hujan, penguapan dan ketinggian air periode masa lalu ke dalam sistem, kemudian dilakukan suatu proses pelatihan menggunakan JST dengan algoritma pembelajaran propagasi balik. Setelah dilakukan proses pelatihan, sistem akan menghasilkan bobot-bobot yang akan digunakan untuk memprediksi ketinggian air pada periode-periode selanjutnya dengan hanya memasukkan data curah hujan dan penguapan. 1.2 Tujuan karya ilmiah Tujuan karya ilmiah dan penulisan makalah ilmiah ini adalah : 1. Mengimplementasikan jaringan syaraf tiruan (JST) untuk memprediksi ketinggian air di suatu daerah aliran sungai (DAS). 2. Melihat komposisi proporsi data pelatihan dan pengujian yang baik. 3. Mencari kombinasi beberapa parameter untuk mendapatkan jaringan syaraf tiruan dengan parameter yang sesuai.
II LANDASAN TEORI 2.1 Jaringan syaraf biologi Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia terdiri dari beberapa neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki neuron
dan sinapsis. Dengan jumlah yang begitu banyak, otak manusia mampu mengenali suatu pola, melakukan perhitungan, dan juga mengontrol organ-organ tubuh dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai topi, memiliki jenggot atau kumis, dll) akan lebih
2
cepat dilakukan manusia dibandingkan komputer. Pada waktu lahir, otak manusia mempunyai struktur yang menakjubkan karena kemampuannya membentuk sendiri aturan/pola berdasarkan pengalaman yang diterima. Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik manusia, terutama pada umur tahun. Pada tahun pertama umur manusia, terbentuk juta sinapsis per detiknya. Gambar 1 menunjukkan struktur sederhana sebuah neuron. Neuron memiliki komponen
penting yaitu dendrit, soma dan akson. Dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim melalui celah sinapsis melalui suatu proses kimiawi. Sinyal tersebut akan dimodifikasi (diperkuat/diperlemah) di celah sinapsis. Berikutnya, soma menjumlahkan semua sinyal-sinyal yang masuk. Jika hasil jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui akson. Frekuensi penerusan sinyal berbeda-beda antara satu sel dengan yang lain (Gambar 2).
Gambar 1 Struktur sederhana sebuah neuron Neuron biologi merupakan sistem yang “fault tolerant” dalam hal. Pertama, manusia dapat mengenali sinyal masukan yang agak berbeda dari yang pernah kita terima sebelumnya. Sebagai contoh, manusia sering dapat mengenali seseorang yang wajahnya agak berbeda karena sudah lama tidak
dijumpainya. Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain kadang-kadang dapat dilatih untuk menggantikan fungsi dari neuron yang rusak tersebut. (Siang, 2005)
Gambar 2 Proses kerja neuron pada jaringan syaraf biologi
3
2.2 Jaringan syaraf tiruan Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi (Siang, 2005). Jaringan syaraf tiruan merupakan sistem komputasi yang didasarkan atas pemodelan sistem syaraf biologis (neuron) melalui pendekatan dari sifat-sifat komputasi biologis (biological computation) (Sekarwati, 2004). Jaringan syaraf tiruan adalah membuat model sistem komputasi yang dapat menirukan cara kerja jaringan syaraf biologi (Subiyanto, 2000). JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi sebagai berikut : o Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron) o Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung o Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal o Untuk menentukan keluaran, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlah masukan yang diterima. Besarnya
keluaran ini selanjutnya dibandingkan dengan suatu batas ambang. JST ditentukan oleh tiga hal sebagai berikut, yaitu : a. Pola hubungan antar neuron disebut arsitektur jaringan b. Metode untuk menentukan bobot penghubung disebut metode pembelajaran c. Fungsi aktivasi. (Siang, 2005) Gambar 3 menjelaskan sebuah sel syaraf tiruan sebagai elemen penghitung. Lapisan keluaran menerima masukan dari lapisan masukkan yang terdiri dari neuron dengan bobot hubungan masingmasing adalah . Fungsi aktivasi adalah kombinasi linear antara masukan dengan bobotnya. Seluruh sinyal neuron yang ada kemudian dijumlahkan. Besarnya sinyal yang diterima oleh lapisan keluaran mengikuti fungsi aktivasi yang digunakan. Apabila nilai fungsi aktivasi cukup kuat maka sinyal akan diteruskan. Nilai fungsi aktivasi juga dapat dipakai sebagai dasar untuk mengubah bobot.
Gambar 3 Model struktur neuron pada jaringan syaraf tiruan 2.2.1 Sejarah jaringan syaraf tiruan Jaringan syaraf tiruan telah dikembangkan sejak tahun 1940. 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 batas ambang (threshold).
Tahun 1949, Hebb mencoba mengkaji proses belajar yang dilakukan oleh neuron. Teori ini dikenal sebagai Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan model jaringan yang disebut perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya. Hasil kerja Rosenblatt yang sangat penting adalah perceptron convergence theorem pada tahun 1962 yang membuktikan bahwa bila setiap perceptron dapat memilah-milah dua buah pola yang berbeda maka siklus pelatihannya dapat dilakukan dalam jumlah yang terbatas.
4
Widrow dan Hoff di tahun 1960 mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta (atau sering disebut sebagai Mean Square Error). Aturan ini akan mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Kemudian pada tahun 1969, Minsky dan Papert melontarkan suatu kritik tentang kelemahan teori perceptron dari Rosenblatt dalam memilah-milah pola yang tidak linear. Sejak saat itu karya ilmiah di bidang jaringan syaraf tiruan telah mengalami masa vakum untuk kurang lebih satu dasawarsa. Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan lapisan tunggal (single layer). Kemudian pada tahun 1986 Rumelhart, Hinton dan William mengembangkan perceptron menjadi propagasi balik, yang memungkinkan jaringan diproses melalui beberapa lapisan. Maka dapat dibuktikan bahwa pemilahan pola-pola yang tidak linear dapat diselesaikan sehingga dapat mengatasi kritik yang dilontarkan oleh Minsky dan Papert. Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen pada tahun 1972, Hopfield di tahun 1982 dengan konfigurasi jaringan yang dikenal sebagai jaringan recurrent, dll. (Siang, 2005)
Aplikasi pemrosesan sinyal ini telah digunakan dalam beberapa jurnal, salah satunya adalah jurnal pemrosesan sinyal dan gambar dengan menggunakan jaringan syaraf tiruan (Masters & Timothy, 1994) c. Peramalan Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang telah ada di masa lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya. Beberapa jurnal yang pernah membahas tentang penggunaan jaringan syaraf tiruan dalam peramalan ini diantaranya adalah : 1. Proses prediksi menggunakan jaringan syaraf tiruan recurrent (Mandic & Chambers, 2001) 2. Pendekatan suatu pola kejadian dengan fungsi aktivasi sigmoid (Cybenko, 1989) 3. Implementasi jaringan syaraf tiruan untuk memprediksi kadar gula dalam darah (Suwarno, 2010) Disamping bidang-bidang yang telah disebutkan di atas, jaringan syaraf tiruan juga dapat menyelesaikan permasalahan di dalam bidang kontrol, kedokteran, ekonomi dan lainlain.
2.2.2 Aplikasi jaringan syaraf tiruan Beberapa aplikasi jaringan syaraf tiruan yang telah dilakukan adalah sebagai berikut : a. Pengenalan pola (pattern recognition) Jaringan syaraf tiruan dapat dipakai untuk mengenali pola (misal huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang masih mampu mengenali orang yang sudah beberapa waktu tidak dijumpainya (mungkin wajah/bentuk tubuhnya sudah sedikit berubah). Jurnal yang pernah membahas tentang pengenalan pola diantaranya yaitu : 1. Pemrosesan dan pengenalan suatu gambar dengan menggunakan jaringan syaraf tiruan (Egmont-Petersen M, de Ridder & Handels, 2002) 2. Pengenalan suatu pola yang terjadi dalam suatu kegiatan industri (Bhagat, 2005) b. Pemrosesan sinyal Jaringan syaraf tiruan model ADALINE dapat dipakai untuk menekan suatu noise yang terdapat dalam saluran telepon.
2.2.3 Arsitektur jaringan syaraf tiruan Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan, antara lain : a. Jaringan dengan lapisan tunggal (single layer network) Dalam jaringan ini, sekumpulan masukan neuron dihubungkan langsung dengan sekumpulan keluarannya. Dalam beberapa model (misal perceptron), hanya terdapat sebuah unit neuron keluaran. Gambar menunjukkan suatu arsitektur jaringan lapisan tunggal dengan unit masukan dan buah unit keluaran . Perhatikan bahwa dalam jaringan ini, semua unit masukan dihubungkan dengan semua unit keluaran, meskipun dengan bobot yang berbeda-beda. Tidak ada unit masukan yang dihubungkan dengan unit masukan lainnya. Demikian pula dengan unit keluaran. Besaran menyatakan bobot hubungan antara unit ke- dalam lapisan masukan dengan unit ke- dalam lapisan
5
keluaran. Bobot-bobot ini saling independen. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasil.
Model semacam ini tepat digunakan untuk pengenalan pola karena kesederhanaannya. (Siang, 2005)
Gambar 4 Jaringan dengan lapisan tunggal b. Jaringan dengan lapisan jamak (multi layer network) Jaringan dengan lapisan jamak merupakan perluasan dari lapisan dengan lapisan tunggal. Dalam jaringan ini, selain unit masukan dan keluaran, ada unit-unit
lain (sering disebut lapisan tersembunyi). Dimungkinkan pula ada beberapa lapisan tersembunyi. Sama seperti pada unit masukan dan keluaran, unit-unit dalam satu lapisan tidak saling berhubungan.
Gambar 5 Jaringan lapisan jamak Gambar adalah arsitektur jaringan lapisan jamak dengan buah unit masukan , sebuah lapisan tersembunyi yang terdiri dari buah unit dan buah unit keluaran . Jaringan dengan lapisan jamak dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan layar tunggal, meskipun kadangkala proses pelatihan lebih kompleks dan lama. (Siang, 2005) c. Jaringan recurrent Model jaringan recurrent sangat mirip dengan jaringan lapisan tunggal ataupun jamak. Hanya saja, ada neuron keluaran yang memberikan sinyal pada unit masukan (sering disebut feedback loop).
Gambar 6 di bawah ini menunjukkan salah satu contoh arsitektur jaringan dengan lapisan recurrent yang memiliki bobot .
Gambar 6 Jaringan reccurent
6
2.2.4 Algoritma pembelajaran Ide dasar jaringan syaraf tiruan adalah konsep belajar atau pelatihan. Jaringanjaringan belajar melakukan generalisasi karakteristik dari tingkah laku obyek. Algoritma pelatihan artinya membentuk pemetaan (fungsi) yang menggambarkan hubungan antara vektor masukan dan vektor keluaran (Sekarwati, 2004). Biasanya diberikan contoh yang cukup penting dalam membangun pemetaan tersebut. Walaupun untuk pasangan masukan-keluaran yang belum pernah digambarkan sebelumnya. Jaringan syaraf tiruan dalam menyelesaikan suatu permasalahan memerlukan algoritma pelatihan, yaitu suatu cara konfigurasi jaringan agar dapat dilatih untuk mempelajari data historis yang ada. Pengetahuan yang terdapat pada data dapat diserap dan direpresentasikan oleh nilai-nilai bobot koneksinya. Tujuan utama dari proses pelatihan adalah penentuan bobot-bobot yang ada pada jaringan syaraf tiruan sehingga diperoleh bobot akhir yang tepat sesuai dengan pola data yang dilatih. Pada dasarnya terdapat dua metode pembelajaran, yaitu : a. Supervised learning (pembelajaran terawasi) Metode pembelajaran pada jaringan syaraf disebut terawasi jika keluaran yang diharapkan telah diketahui sebelumnya. b. Unsupervised Learning (pembelajaran tak terawasi) Metode pembelajaran yang tak terawasi tidak memerlukan target keluaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu kisaran tertentu tergantung pada nilai masukan yang diberikan. Tujuan
pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu. Pembelajaran ini biasanya cocok untuk pengelompokan (klasifikasi) pola. (Kusumadewi, 2004) 2.3 Jaringan syaraf tiruan propagasi balik Kelemahan JST yang terdiri dari lapisan tunggal membuat perkembangan JST menjadi terhenti sekitar tahun 1970-an. Penemuan jaringan syaraf tiruan dengan algoritma propagasi balik yang terdiri dari beberapa lapisan membuka kembali cakrawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan propagasi balik, membuat JST semakin diminati orang. JST dengan lapisan tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu atau beberapa lapisan tersembunyi di antara lapisan masukan dan keluaran. Meskipun penggunaan lebih dari satu lapisan tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya memerlukan waktu yang lama. Maka umumnya orang mulai mencoba dengan sebuah lapisan tersembunyi lebih dahulu. Seperti halnya model JST lain, propagasi balik melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respons yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. (Siang, 2005)
Gambar 7 Arsitektur jaringan syaraf tiruan propagasi balik dengan satu lapisan tersembunyi
7
2.3.1 Arsitektur jaringan syaraf tiruan propagasi balik Propagasi balik memiliki beberapa unit yang ada dalam satu atau lebih lapisan tersembunyi. Gambar 7 adalah arsitektur propagasi balik dengan buah masukan (ditambah sebuah bias) sebuah layar tersembunyi yang terdiri dari unit (ditambah sebuah bias), serta buah unit keluaran. merupakan bobot garis dari unit masukan ke unit lapisan tersembunyi ( merupakan bobot garis yang menghubungkan bias di unit masukan ke unit lapisan tersembunyi ). merupakan bobot dari unit lapisan tersembunyi ke unit keluaran ( merupakan bobot dari bias di lapisan tersembunyi ke unit keluaran ). (Siang, 2005) 2.3.2 Fungsi aktivasi pada jaringan syaraf tiruan propagasi balik Dalam propagasi balik, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat berikut, yaitu : 1. Kontinu 2. Terdiferensialkan 3. Merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering digunakan adalah fungsi sigmoid biner yang memiliki kisaran . Fungsi sigmoid biner didefinisikan sebagai berikut : (1) dengan fungsi turunannya adalah : (2) Berikut ini adalah grafik dari fungsi sigmoid biner :
Gambar 8 Grafik fungsi aktivasi sigmoid biner Fungsi lain yang sering digunakan adalah fungsi sigmoid bipolar dengan kisaran yang didefinisikan sebagai berikut : (3) dengan fungsi turunannya adalah : (4)
Berikut ini diberikan grafik dari fungsi sigmoid bipolar :
Gambar 9 Grafik fungsi aktivasi sigmoid bipolar Fungsi sigmoid memiliki nilai maksimum . Untuk pola yang targetnya lebih dari , pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki kisaran yang sama dengan fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapisan yang bukan lapisan keluaran. Pada lapisan keluaran, fungsi aktivasi yang digunakan adalah fungsi identitas . (Siang, 2005) 2.3.3 Pelatihan jaringan syaraf tiruan propagasi balik Pelatihan propagasi balik meliputi 3 fase, yaitu : a. Fase 1, umpan maju. Selama fase umpan maju, sinyal masukan dipropagasikan ke lapisan tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit lapisan tersembunyi tersebut selanjutnya dipropagasikan maju lagi ke lapisan tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan . Berikutnya, keluaran jaringan dibandingkan dengan target yang harus dicapai . Selisih adalah galat yang terjadi. Jika galat ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila galat masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi galat yang terjadi. a. Fase 2, umpan mundur. Berdasarkan selisih , dihitung faktor yang dipakai untuk mendistribusikan galat di unit ke
8
semua unit tersembunyi yang terhubung langsung dengan . juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor di setiap unit di lapisan tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di lapisan di bawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
b. Fase 3, perubahan bobot. Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di lapisan atasnya. Sebagai contoh , perubahan bobot garis yang menuju ke lapisan keluaran didasarkan atas yang ada di unit keluaran. (Siang, 2005)
Gambar 10 Alur kerja jaringan syaraf tiruan propagasi balik Ketiga fase tersebut diulang terus menerus hingga kondisi penghentian yang diinginkan terpenuhi. Umumnya kondisi penghentian yang sering dipakai adalah maksimum jumlah iterasi atau besarnya galat. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika galat yang terjadi sudah lebih kecil dari batas toleransi yang diizinkan. (Siang, 2005) Algoritma pelatihan untuk jaringan propagasi balik dengan satu lapisan tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut : a. Langkah Inisialisasi semua bobot dengan bilangan acak kecil. b. Langkah Jika kondisi penghentian belum terpenuhi, lakukan langkah . c. Langkah Untuk setiap pasang data pelatihan, lakukan langkah .
Fase I (umpan maju) d. Langkah Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi di atasnya. e. Langkah Setiap unit tersembunyi , jumlahkan bobot sinyal masukannya,
(5) dengan bias pada unit tersembunyi , adalah bobot pada unit tersembunyi . Kemudian fungsi aktivasi digunakan untuk menghitung sinyal keluarannya. Kemudian sinyal ini dikirim keseluruh unit pada lapisan di atasnya yaitu unit keluaran. f. Langkah 5 Tiap unit keluaran , jumlahkan bobot sinyal masukannya,
9
j. Langkah 9 Test kondisi berhenti. (Siang, 2005) (6) dengan bias pada unit keluaran , adalah bobot pada unit keluaran . Kemudian fungsi aktivasi digunakan untuk menghitung sinyal keluarannya. Fase II (umpan mundur) g. Langkah 6 Tiap unit keluaran , menerima pola target yang saling berhubungan pada masukan pola pelatihan kemudian dihitung galat informasinya, (7) merupakan target keluaran, merupakan unit galat yang akan digunakan dalam perubahan bobot lapisan di bawahnya. Kemudian dihitung koreksi bobotnya dengan laju pembelajaran (digunakan untuk memperbaharui bobot ), (8) Kemudian dihitung koreksi bobotnya (digunakan untuk memperbaharui ), (9) h. Langkah 7 Setiap unit lapisan tersembunyi dijumlahkan hasil perubahan masukannya (dari unit-unit lapisan di atasnya), (10) Faktor pada unit tersembunyi : (11) Kemudian dihitung koreksi bobotnya (digunakan untuk memperbaharui bobot ), (12) Kemudian dihitung koreksi bobotnya (digunakan untuk memperbaharui bobot ), (13) Fase III (perubahan bobot) i. Langkah 8 Tiap unit keluaran , perbaharui biasnya dan bobotnya : (14) Tiap unit lapisan tersembunyi perbaharui bias dan bobotnya : (15)
Jika besar Mean Square Error (MSE) lebih kecil dari toleransi yang telah ditentukan atau jumlah iterasi pada proses pelatihan sudah mencapai iterasi maksimum, maka proses selesai. Jika tidak, maka kembali ke langkah 1. Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya umpan maju (langkah 4 dan 5) saja yang dipakai untuk menentukkan keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7. Parameter merupakan laju pembelajaran yang menentukan kecepatan iterasi. Nilai terletak antara nilai dan . Semakin besar harga , maka akan semakin sedikit iterasi yang dipakai. Akan tetapi jika nilai terlalu besar, maka akan merusak pola yang sudah benar sehingga pembelajaran menjadi lambat. Satu siklus pelatihan yang melibatkan semua pola disebut epoch. Pemilihan bobot awal sangat mempengaruhi jaringan syaraf tiruan dalam mencapai minimum global (atau mungkin lokal saja) terhadap nilai galat dan cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila bobot awal terlalu besar maka masukan ke setiap lapisan tersembunyi atau lapisan keluaran akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil. Apabila bobot awal terlalu kecil, maka masukan ke setiap lapisan tersembunyi atau lapisan keluaran akan sangat kecil. Hal ini akan menyebabkan proses pelatihan berjalan sangat lambat. Biasanya bobot awal diinisialisasi secara random dengan nilai antara sampai (atau sampai atau interval yang lainnya). Gambar 11 menunjukkan osilasi pada proses pembelajaran. Bobot-bobot bergerak di sekitar galat minimum tanpa mampu untuk menjangkaunya (arah panah memperlihatkan lompatan yang dibuat oleh proses pembelajaran). Pemilihan bobot awal sangat mempengaruhi jaringan syaraf tiruan dalam mencapai minimum global (atau mungkin minimum lokal) terhadap nilai galat dan kecepatan proses pelatihan menuju kekonvergenan.
10
Gambar 11 Osilasi pada proses pembelajaran 2.4 Laju pembelajaran Dalam standar propagasi balik laju pembelajaran merupakan suatu konstanta yang dipakai dalam seluruh iterasinya. Perubahan dapat dilakukan dengan memberikan laju pembelajaran yang berbeda-beda untuk setiap bobotnya (atau bahkan laju pembelajaran yang berbedabeda untuk tiap bobot dalam tiap iterasinya). Apabila perubahan bobot berada dalam arah yang sama dalam beberapa pola terakhir (dapat dilihat dari tanda suku yang selalu sama), maka laju pembelajaran yang bersesuaian dengan bobot ditambah. Sebaliknya apabila arah perubahan bobot dua pola terakhir berbeda (ditandai dengan suku yang berselang-seling positifnegatif) maka laju pemahaman untuk bobot tersebut harus dikurangi. Perubahan bobot dalam aturan delta-bardelta adalah sebagai berikut : (16) (Siang, 2005) 2.5 Momentum Pada standar propagasi balik, perubahan bobot didasarkan atas gradien yang terjadi untuk pola yang dimasukan saat itu. Modifikasi yang dapat dilakukan adalah melakukan perubahan bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya (disebut momentum) yang dimasukan. Jadi tidak hanya pola masukan terakhir saja yang diperhitungkan. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat berbeda dengan kata lain (outlier). Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah
gradien sudah benar), maka perubahan bobot dilakukan secara cepat. Namun apabila data terakhir yang dimasukan memiliki pola yang berbeda dengan pola sebelumnya, maka perubahan bobot dilakukan secara lambat. Dengan penambahan momentum, bobot baru pada waktu ke didasarkan atas bobot pada waktu dan . Jika adalah konstanta yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan : (17) dengan, = bobot awal pola kedua (hasil iterasi pola pertama) = bobot awal pada iterasi pertama dan, (18) dengan, = bobot awal pola kedua (hasil iterasi pola pertama) = bobot awal pada iterasi pertama (Siang, 2005) Berdasarkan pengalaman dan aplikasi jaringan syaraf tiruan dalam berbagai masalah prediksi atau peramalan dari karya ilmiah sebelumnya diperoleh kombinasi nilai laju pembelajaran ( ) dan momentum ( ) seperti pada Tabel 1 di bawah ini : Tabel 1 Peringkat kombinasi nilai laju pembelajaran dan momentum Peringkat 1 2 3 4 Laju pembelajaran
0,9
0,7
0,5
0,4
Momentum
0,1
0,4
0,5
0,6
(Anugerah, 2007)
III MODEL SISTEM 3.1 Skema aliran air pada daerah aliran sungai Gambar 12 di bawah menunjukkan penggambaran suatu skema aliran air di suatu pegunungan. Skema ini dibangun dari empat lapisan vertikal, dimana dari bagian atas ke bagian bawah merupakan surface flow (aliran permukaan), sub-surface flow (aliran air peralihan permukaan), intermediate flow (aliran tengah), sub-base flow (aliran peralihan), dan base flow (aliran dasar). Dalam konsep seperti ini, air dapat mengisi setiap lapisan yang berada di
bawahnya, dan juga bisa pergi secara reversibel jika proses penguapan di suatu lingkungan sangat dominan. Air yang keluar secara horizontal, yang terdiri dari surface flow (aliran permukaan), sub-surface flow (aliran peralihan permukaan), intermediate flow (aliran tengah), sub-base flow (aliran peralihan), dan base flow (aliran dasar). Untuk skema air seperti di atas telah dilakukan percobaan dan karya ilmiah untuk menentukkan parameter pada tiap lapisan dengan menggunakan sebuah model tangki (Setiawan B, Fukuda & Nakano, 2003).
Gambar 12 Skema aliran air di pegunungan 3.2 Propagasi balik untuk memprediksi ketinggian air Salah satu bidang dimana propagasi balik dapat diaplikasikan dengan baik adalah bidang peramalan (forecasting). Peramalan yang sering kita dengar adalah peramalan besarnya penjualan, nilai tukar valuta asing, prediksi besarnya aliran air sungai, dll. Pernah juga dilakukan karya ilmiah untuk proses peramalan untuk melihat besarnya nilai kadar gula dalam darah (Suwarno, 2010). Dalam karya ilmiah kali ini akan dilakukan suatu proses peramalan dengan propagasi balik untuk memprediksi ketinggian air di suatu daerah aliran sungai. Secara umum, masalah prediksi atau peramalan dapat dinyatakan dengan sejumlah data runtun waktu (time series) . Masalahnya adalah memperkirakan berapa harga berdasarkan .
Implementasi dari JST dalam makalah ilmiah ini dilakukan dengan menggunakan software MATLAB R2010b. Untuk kode program MATLAB R2010b dari jaringan syaraf tiruan dengan algoritma propagasi balik yang digunakan pada karya ilmiah ini dapat dilihat pada Lampiran 1. Langkah-langkah dalam membangun struktur jaringan syaraf tiruan untuk memprediksi ketinggian air di suatu daerah aliran sungai adalah sebagai berikut : 1. Pengumpulan data Pengumpulan data dilakukan secara sekunder. Pengumpulan data yang digunakan mencakup data curah hujan, data penguapan dan juga data ketinggian air. Pengumpulan data curah hujan dan penguapan diambil dari Badan Meteorologi, Klimatologi dan Geofisika Stasiun Klimatologi Darmaga, Bogor.
12
Data curah hujan (Lampiran 2) merupakan akumulasi data harian dari 8 kali pencatatan perharinya, pencatatan dilakukan setiap 3 jam sekali dengan satuannya adalah . Data penguapan (Lampiran 3) merupakan data harian dari satu kali pencatatan setiap harinya dengan satuannya adalah . Semua data diambil pada jam 7 WIB (00.00 GMT), dengan data yang didapat hari ini merupakan data hari sebelumnya. Pengumpulan data ketinggian didapatkan dari Balai Pendayagunaan Sumber Daya Air Wilayah Sungai Ciliwung – Cisadane, Bogor. Data ketinggian air (Lampiran 4) diambil dari rataan 3 kali pengambilan data (pagi, siang dan sore) setiap hari di Bendungan Katulampa, Bogor dengan satuannya adalah . Periode pengambilan data berselang dari awal bulan September 2009 sampai dengan akhir bulan September 2010. Jumlah data yang digunakan dalam karya ilmiah ini sebanyak 395 data. 2. Transformasi data Langkah selanjutnya sebelum melakukan proses pelatihan pada jaringan yang akan digunakan untuk memprediksi adalah transformasi data. Sebab-sebab utama data ditransformasi adalah agar kestabilan tebaran data dicapai. Selain itu berguna untuk menyesuaikan nilai data dengan kisaran fungsi aktivasi yang digunakan dalam jaringan (Siang, 2005). Persamaan yang digunakan untuk transformasi data dalam karya ilmiah ini yaitu :
(19) dengan, = nilai data setelah ditransformasi = nilai data aktual = nilai minimum data transformasi yang diinginkan = nilai maksimum data transformasi yang diinginkan = nilai minimum data aktual keseluruhan = nilai maksimum data aktual keseluruhan (Siang, 2005) Untuk data curah hujan, penguapan, dan ketinggian air pada karya ilmiah ini ditransformasikan ke dalam kisaran nilai
0,001 sampai dengan 0,098. Hasil transformasi dari data tersebut tertera dalam Lampiran 5. 3. Pembagian data Langkah selanjutnya setelah transformasi data adalah pembagian data. Data dibagi menjadi data pelatihan, pengujian dan validasi. Beberapa komposisi data pelatihan, pengujian dan validasi yang sering digunakan adalah sebagai berikut : a. untuk data pelatihan dan untuk data pengujian dan validasi b. untuk data pelatihan dan untuk data pengujian dan validasi c. untuk data pelatihan dan untuk data pengujian dan validasi. Aspek pembagian data ini harus ditekankan agar jaringan syaraf tiruan yang kita gunakan mendapat data pelatihan yang secukupnya dan data pengujian yang dapat menguji kinerja pelatihan yang dilakukan. Bilangan data yang kurang untuk proses pelatihan akan menyebabkan jaringan mungkin tidak dapat mempelajari tebaran data dengan baik. Sebaliknya, data yang terlalu banyak untuk proses pelatihan akan melambatkan proses pemusatan. Masalah overtraining (data pelatihan yang berlebihan) akan menyebabkan jaringan cenderung untuk menghafal data yang dimasukan daripada menggeneralisasi. 4. Perancangan struktur jaringan yang optimum Langkah selanjutnya setelah pembagian data adalah penentuan bilangan neuron pada lapisan masukan, bilangan lapisan tersembunyi, bilangan neuron pada lapisan tersembunyi dan bilangan neuron pada lapisan keluaran yang akan digunakan dalam jaringan. Dalam karya ilmiah ini digunakan lapisan masukan dengan neuron, lapisan tersembunyi dan juga dengan lapisan keluaran dengan neuron. Dalam karya ilmiah ini digunakan hanya lapisan tersembunyi, hal ini dikarenakan arsitektur jaringan yang digunakan masih sederhana. Penentuan bilangan neuron pada lapisan tersembunyi yang terbaik diperoleh secara trial and error dari simpul sampai dengan adalah jumlah neuron pada lapisan masukan. Karena dalam karya ilmiah ini hanya terdapat neuron pada lapisan masukan maka bilangan neuron pada lapisan
tersembunyi berkisar dari sampai dengan 4 neuron. 5. Pemilihan laju pembelajaran dan momentum Pemilihan laju pembelajaran dan momentum mempunyai peranan yang penting untuk struktur jaringan yang akan dibangun. Dalam pembangunan jaringan yang akan digunakan dalam peramalan, hasil keputusan yang kurang memuaskan dapat diperbaiki dengan penggunaan laju pembelajaran dan momentum secara trial and error untuk mendapatkan nilai bobot yang paling optimum agar MAPE dan MSE jaringan dapat diperbaiki. 6. Memilih dan menggunakan struktur jaringan yang optimum Jaringan yang dibangun akan dinilai keakuratannya. Metode penilaian yang digunakan adalah nilai Percentage Error (PE), Mean Absolute Percentage Error (MAPE) dan nilai Mean Square Error (MSE). Pendekatan MSE digunakan untuk menilai kinerja jaringan yang dilatih. Keakuratan model diukur secara relatif berdasarkan nilai MAPE karena dapat mengenal secara pasti signifikasi hubungan diantara data prediksi dengan data aktual. Nilai PE, MAPE dan MSE diperoleh dari persamaan di samping ini :
a. Percentage Error (PE) (20) dengan, = nilai aktual data ke-i = nilai prediksi data ke-i b. Mean Absolute Percentage Error (MAPE) (21) dengan, = banyaknya data yang diprediksi = nilai mutlak dari PE c. Mean Square Error (MSE) (22) dengan, = banyaknya data yang diprediksi = nilai aktual data ke-i = nilai prediksi data ke-i (Makridakis et a1, 1999) Berdasarkan nilai MAPE dan PE yang terendah dari proses pelatihan maka akan diperoleh jaringan syaraf tiruan yang optimum. Keakuratan dari jaringan syaraf tiruan ini dilihat dari nilai MAPE, MSE dan PE pada proses pengujian dan validasi. Semakin kecil nilai MAPE dan MSE maka jaringan syaraf tiruan pun akan semakin akurat untuk melakukan proses prediksi atau pendugaan terhadap parameter yang kita inginkan.
IV HASIL DAN PEMBAHASAN 4.1 Menentukan komposisi pembagian data dan parameter-parameter jaringan syaraf tiruan yang sesuai Pada karya ilmiah ini dilakukan lima jenis percobaan untuk mengetahui dampak perubahan karakteristik JST terhadap nilainilai parameter konvergensi. Kelima percobaan ini bertujuan untuk menemukan kombinasi yang baik antara komposisi dari pembagian data untuk pelatihan dan pengujian dan validasi, kombinasi nilai antara laju pembelajaran dan momentum, banyaknya neuron tersembunyi, besarnya toleransi galat, dan juga untuk besaran maksimum iterasi. Berikut percobaan yang dilakukan dalam karya ilmiah ini, yaitu : 1. Mencari komposisi yang baik dari pembagian data pelatihan dan data pengujian dan validasi Dalam percobaan ini akan dicari komposisi pembagian data pelatihan dan
pengujian yang baik dari beberapa komposisi di bawah ini : a. untuk data pelatihan dan untuk data pengujian dan validasi b. untuk data pelatihan dan untuk data pengujian dan validasi c. untuk data pelatihan dan untuk data pengujian dan validasi. Pada percobaan ini, semua kombinasi nilai dari laju pembelajaran, momentum dan juga banyaknya neuron tersembunyi akan digunakan. Akan tetapi, untuk nilai galat ditentukan sebesar dan besarnya maksimum iterasi ditetapkan sebesar . Percobaan ini dilakukan sebanyak kali pengulangan. Dan, dari hasil kali proses pengulangan yang telah dilakukan maka didapatkan hasil (hasil lengkap lihat Lampiran sampai dengan Lampiran 8) seperti pada Tabel 2 berikut ini :
14
Tabel 2 Nilai MAPE untuk setiap proporsi pembagian data untuk pelatihan dan pengujian Laju Pembelajaran
0,4
0,5
0,7
0,9
Momentum
0,6
0,5
0,4
0,1
Neuron Tersembunyi
Nilai Rataan MAPE (% Pelatihan : % Pengujian) 60 - 40
70 - 30
80 – 20
1
17,17
14,39
11,19
2
17,25
14,74
11,06
3
17,59
14,91
11,38
4
18,24
15,44
14,73
1
17,17
14,39
10,96
2
17,25
14,62
11,07
3
17,70
14,98
11,29
4
18,38
14,91
11,90
1
17,17
14,39
11,14
2
17,15
14,63
11,08
3
17,40
14,53
11,00
4
17,87
15,42
11,50
1
17,17
14,39
11,14
2
17,26
14,57
11,08
3
17,75
14,81
11,35
4
18,22
15,33
11,66
17,55
14,78
11,47
Rataan
Dari Tabel terlihat bahwa pada komposisi pembagian data untuk pelatihan dan untuk pengujian dan validasi didapatkan rataan nilai MAPE yang terkecil, yaitu sebesar . Begitupun dari hasil uji analisis ragam satu arah yang dapat dilihat pada Lampiran 9. Dari hasil pada Lampiran 9 terlihat bahwa nilai (nilai signifikasi hasil pengujian) yang kurang dari (nilai signifikasi yang ditentukan) yaitu sebesar . Ini menyatakan bahwa faktor yang kita ujikan memiliki dampak yang nyata pada variabel respons. Hal ini diperjelas dengan grafik perbandingan berganda (multicompare) yang terdapat pada Lampiran 9. Dari grafik jelas terlihat bahwa tidak ada nilai MAPE pada komposisi pembagian data manapun yang dinilai setara (satu grup) dengan nilai MAPE pada komposisi pembagian data untuk pelatihan dan untuk data pengujian dan validasi. Kemudian pada Tabel di atas juga terlihat bahwa nilai MAPE akan semakin mengecil dengan bertambahnya jumlah data untuk pelatihan. Jadi dari percobaan pertama yang dilakukan ini dapat disimpulkan, bahwa nilai MAPE yang terkecil didapatkan pada komposisi pembagian data untuk data pelatihan dan untuk pengujian dan validasi. Dan selanjutnya nilai komposisi pembagian
data ini akan kita gunakan untuk percobaan-percobaan selanjutnya. Juga terlihat bahwa nilai MAPE akan semakin mengecil dengan bertambahnya jumlah nilai data yang digunakan untuk data pelatihan. 2. Mencari kombinasi dari nilai laju pembelajaran dan momentum Dalam percobaan kedua ini akan dicari kombinasi dari nilai laju pembelajaran dan juga nilai momentum yang sesuai yang akan menghasilkan nilai galat yang terkecil. Kombinasi nilai laju pembelajaran dan momentum yang kita ujikan dalam karya ilmiah ini seperti yang terdapat pada Tabel 1 di bab sebelumnya. Dalam percobaan ini, komposisi pembagian data yang telah didapatkan pada percobaan pertama yang akan digunakan, yaitu untuk data pelatihan dan untuk data pengujian dan validasi. Untuk nilai galat dan maksimum iterasi tetap seperti pada percobaan pertama, yaitu nilai galat ditentukan sebesar dan juga untuk besarnya maksimum iterasi ditetapkan sampai dengan . Dari kali percobaan yang telah dilakukan, maka didapatkan hasil sebagai pada tabel 3. Dari Tabel di bawah terlihat jelas bahwa rataan untuk tiap kombinasi nilai laju pembelajaran dan momentum hampir dapat dikatakan setara (berkisar dari nilai ). Sama seperti pada
15
percobaan pertama, untuk percobaan kedua ini pun dilakukan uji analisis ragam satu arah untuk melihat lebih lanjut korelasi antar tiap kombinasi, dan ditentukan mana yang memiliki nilai yang sesuai. Dari hasil uji analisis ragam satu arah yang telah dilakukan (Lampiran 10). Dapat kita lihat bahwa nilai yang didapatkan lebih besar dari nilai signifikasi yang ditentukan yaitu sebesar . Ini menyatakan bahwa faktor yang kita ujikan memiliki dampak yang tidak nyata pada variabel respons. Hal ini juga dapat jelas terlihat pada grafik perbandingan berganda. Dari grafik perbandingan berganda terlihat
bahwa semua kombinasi nilai laju pembelajaran dan momentum dapat dikatakan setara. Jadi semua kombinasi dapat kita gunakan untuk mendapatkan nilai MAPE terkecil. Jadi untuk percobaan kedua ini kita dapat simpulkan bahwa semua nilai kombinasi nilai laju pembelajaran dan momentum yang terdapat pada Tabel 1 membuat sistem mendapatkan nilai galat yang terkecil. Maka semua kombinasi nilai laju pembelajaran dan momentum ini dapat kita gunakan sebagai parameter jaringan syaraf tiruan pada percobaan-percobaan selanjutnya.
Tabel 3 Nilai MAPE untuk tiap kombinasi nilai laju pembelajaran dan momentum Laju Pembelajaran
0,4
0,5
0,7
0,9
Momentum
0,6
0,5
0,4
0,1
Neuron Tersembunyi
Nilai MAPE (%)
1
11,19
2
11,06
3
11,38
4
14,73
1
10,96
2
11,07
3
11,29
4
11,90
1
11,14
2
11,08
3
11,00
4
11,50
1
11,14
2
11,08
3
11,35
4
11,66
3. Percobaan III. Mencari banyaknya neuron tersembunyi Untuk percobaan III kali ini, akan kita cari banyaknya nilai neuron tersembunyi yang sesuai. Pada percobaan ini jumlah neuron tersembunyi diubah-ubah dengan tujuan untuk mendapatkan jumlah neuron tersembunyi yang sesuai sehingga menghasilkan persentase keakuratan yang baik. Jumlah neuron tersembunyi yang digunakan JST dalam percobaan ini adalah , , , atau neuron. Di sisi lain, toleransi galat ditentukan seperti percobaanpercobaan sebelumnya, yaitu sebesar dan juga untuk besarnya maksimum iterasi ditetapkan sampai dengan . Untuk komposisi pembagian data dan kombinasi nilai laju pembelajaran dan momentum kita gunakan hasil dari percobaan dan .
Rataan MAPE (%)
12,09
11,30
11,18
11,31
Dari percobaan yang dilakukan pengulangan sebanyak kali maka kita dapatkan hasilnya seperti pada Tabel 4. Dari Tabel di bawah dapat kita lihat dengan jelas bahwa pada semua nilai neuron tersembunyi memiliki rataan nilai MAPE yang hampir dapat dikatakan setara hanya pada neuron tersembunyi yang nilainya sedikit membesar. Hal ini dikuatkan pula dengan hasil uji analisis ragam satu arah yang terdapat pada Lampiran . Terlihat bahwa didapatkan nilai yang kurang dari (nilai signifikasi yang ditentukan) yaitu sebesar . Ini menyatakan bahwa faktor yang kita ujikan memiliki dampak yang nyata pada variabel respons. Hal ini diperjelas dengan grafik perbandingan berganda yang terdapat pada Lampiran . Dari grafik
16
jelas terlihat bahwa pada nilai neuron , dan dapat dikatakan setara akan tetapi untuk 4 neuron terdapat perbedaan dengan neuron di atasnya. Hal ini yang menyebabkan faktor ini dapat dikatakan bernilai nyata. Oleh karena itu, kita dapat memilih banyaknya neuron tersembunyi dari , , atau . Untuk banyaknya neuron
tersembunyi terlihat tidak memiliki kesetaraan dengan neuron tersembunyi yang lain (terlihat dari grafik perbandingan berganda pada Lampiran ). Oleh karena itu, dapat kita simpulkan bahwa banyaknya neuron pada lapisan tersembunyi yang sesuai adalah , atau neuron tersembunyi.
Tabel 4 Nilai MAPE untuk banyaknya neuron tersembunyi Nilai MAPE
Neuron Tersembunyi
Percobaan I
Percobaan II
Percobaan III
1
11,21
11,19
2
10,65
3
10,64
4
11,21
Percobaan IV 11,20
Percobaan V 10,62
11,20
11,34
11,18
10,61
11,22
11,20
11,22
11,12
11,50
12,22
11,49
10,69
11,18
1
Percobaan VI 11,19
Percobaan VII 11,19
Percobaan IX 11,20
Percobaan X 11,19
2
11,18
11,16
11,26
11,07
11,21
11,08
3
10,60
11,68
11,04
10,10
11,18
11,00
4
11,19
12,44
11,50
11,62
11,13
11,50
Neuron Tersembunyi
Nilai MAPE Percobaan VIII 11,19
4. Percobaan IV. Mencari besarnya nilai toleransi galat Percobaan selanjutnya bertujuan untuk menentukan toleransi galat yang sesuai, sehingga didapatkan sistem dengan persentase keakuratan yang baik atau dengan nilai MAPE yang terkecil dan juga untuk membuat proses komputasi menjadi lebih efisien. Sistem akan diuji menggunakan jaringan syaraf tiruan dengan komposisi pembagian data untuk pelatihan dan untuk pengujian dan validasi, nilai
Nilai MAPE Percobaan I
Percobaan II
Percobaan III
Percobaan IV
Percobaan V
-2
11,19
10,62
10,62
11,19
11,19
10-3
11,19
11,19
11,19
11,19
11,19
10-4
11,19
10,62
11,19
11,19
11,19
-5
11,19
11,19
11,19
11,19
11,19
Percobaan VI
Percobaan VII
Percobaan VIII
Percobaan IX
Percobaan X
-2
10,62
11,19
11,19
11,18
11,19
10-3
11,18
11,19
10,62
11,19
11,19
10-4
11,19
11,19
11,19
11,19
11,19
-5
11,19
11,19
11,19
11,19
11,19
10
10
Galat 10
10
11,14
laju pembelajaran sebesar , momentum sebesar , neuron tersembunyi dan nilai toleransi galat yang berbeda yaitu , , dan yang masingmasing akan dilakukan percobaan sebanyak kali. Dan untuk nilai maksimum iterasi tetap ditetapkan seperti pada percobaan sebelumnya, yaitu sampai dengan . Dari kali percobaan yang telah dilakukan maka didapatkan hasil seperti pada tabel di bawah ini :
Tabel 5 Nilai MAPE untuk nilai toleransi galat Galat
Rataan MAPE
Nilai MAPE
17
Dari hasil pada Tabel 5 di atas diketahui bahwa nilai MAPE dari semua nilai galat berada pada kisaran yang hampir setara. Dan dengan menggunakan toleransi galat sebesar pun sudah cukup untuk menghasilkan sistem dengan keakuratan yang tinggi. Hal ini dikuatkan pula dengan hasil uji analisis ragam satu arah pada Lampiran . Dari hasil uji dapat kita lihat bahwa didapatkan nilai P yang lebih besar dari (nilai signifikasi yang ditentukan) yaitu sebesar . Ini menyatakan bahwa faktor yang kita ujikan memiliki dampak yang tidak nyata pada variabel respons. Dan dapat dikatakan semua nilai toleransi galat setara. Hal ini juga terlihat pada grafik perbandingan berganda dimana semua nilai galat dikatakan setara. Akan tetapi, jika pada nilai toleransi galat sebesar pun sudah dapat menghasilkan nilai MAPE yang hampir dikatakan setara dengan nilai toleransi galat yang lain, maka dapat diambil kesimpulan bahwa nilai toleransi galat sebesar merupakan
parameter yang sesuai bagi sistem jaringan syaraf tiruan. Dan juga dapat membuat efisiensi dalam proses komputasi yang kita lakukan. 5. Percobaan V. Mencari besarnya maksimum iterasi Dalam percobaan terakhir ini kita akan mencari besarnya maksimum iterasi yang dapat mencapai nilai MAPE terkecil. Seperti pada percobaan untuk komposisi data pelatihan dan pengujian, nilai laju pembelajaran, momentum dan banyaknya neuron tersembunyi kita gunakan dari hasil percobaan sebelumnya. Dan juga untuk nilai galat kita gunakan dari hasil yang telah kita dapatkan dari percobaan 4 yaitu sebesar . Untuk besarnya maksimum iterasi kita ubah-ubah dengan tujuan untuk mendapatkan nilai maksimum iterasi yang tepat. Nilai maksimum iterasi yang diujikan yaitu , , , dan . Dari 10 kali percobaan yang telah dilakukan maka didapatkan hasil seperti pada di bawah ini :
Tabel 6 Nilai MAPE untuk maksimum iterasi Maksimum Pengulangan
Nilai MAPE Percobaan I
Percobaan II
Percobaan III
Percobaan IV
Percobaan V
102
6,15
6,38
7,46
7,21
7,40
3
7,10
7,23
7,69
7,59
7,04
104
6,20
6,22
7,23
6,34
6,24
105
7,83
6,52
7,01
6,27
7,46
10
Maksimum Pengulangan
Nilai MAPE Percobaan VI
Percobaan VII
Percobaan VIII
Percobaan IX
Percobaan X
102
7,34
6,87
7,33
7,76
7,30
3
6,70
6,20
6,23
6,23
7,32
104
6,35
7,81
7,37
7,13
6,32
5
7,47
6,35
6,54
7,09
6,20
10 10
Dari hasil tersebut dapat kita lihat bahwa semua nilai maksimum iterasi yang diujikan dapat menghasilkan nilai MAPE yang dapat dikatakan setara (tidak ada perbedaan yang signifikan). Hal ini dikuatkan dengan adanya uji analisis ragam satu arah yang terdapat pada Lampiran 13. Dari hasil uji tersebut dapat kita lihat bahwa didapatkan nilai P yang lebih besar dari (nilai signifikasi yang ditentukan) yaitu sebesar . Ini menyatakan bahwa faktor yang kita ujikan memiliki dampak yang tidak nyata pada variabel respons. Dan dapat kita lihat pula pada grafik perbandingan berganda terlihat bahwa
semua nilai maksimum iterasi dikatakan setara. Jadi, seperti percobaan sebelumnya mengefisienkan proses komputasi dilakukan, maka nilai maksimum yang dipilih adalah sebesar .
dapat pada untuk yang iterasi
4.2 Menguji sistem jaringan syaraf tiruan dengan menggunakan parameterparameter yang sesuai Dari kelima percobaan yang telah dilakukan di atas, maka kita dapatkan komposisi pembagian data terbaik yaitu data untuk pelatihan dan data untuk pengujian dan validasi. Parameter-parameter
18
yang sesuai untuk jaringan syaraf tiruan yang didapatkan yaitu kombinasi nilai laju pembelajaran dan momentum sebesar dan ; dan ; dan ; atau dan ; dengan banyaknya neuron tersembunyi adalah sebanyak , , atau neuron tersembunyi, toleransi galat sebesar , dan maksimum iterasi sebesar . Parameter-parameter yang telah didapatkan tersebut akan digunakan
untuk pengujian sistem jaringan syaraf tiruan yang digunakan dalam karya ilmiah ini. Pengujian dilakukan seperti pada percobaan sebelumnya, yaitu sebanyak kali pengulangan percobaan. Grafik boxplot dari nilai MAPE pada setiap pengulangan dapat dilihat pada Gambar .
Gambar 13 Grafik boxplot untuk nilai MAPE pada setiap iterasi Pada pengujian ini, dari kali iterasi diperoleh rataan MAPE (untuk hasil selengkapnya lihat Lampiran ). Dari Gambar 14 di atas terlihat bahwa nilai yang dihasilkan model jaringan syaraf tiruan yang dibuat dapat dikatakan mendekati nilai aktual dari ketinggian air di DAS Ciliwung. Terlihat juga dari rataan MAPE yang bernilai . Untuk nilai kesalahan pada setiap pengulangan pun dapat dikatakan seragam
terlihat pada Gambar yang memperlihatkan boxplot antara nilai MAPE pada setiap proses pengulangan percobaan. Maka dapat kita simpulkan bahwa jaringan syaraf tiruan yang kita lakukan pada karya ilmiah kali ini dapat digunakan untuk memprediksi ketinggian air di suatu DAS. Dengan rataan MAPE yang didapatkan pada studi kasus DAS Ciliwung, Bogor sebesar
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi
68 63 58 1
11
21
31
41
51
61
71
Waktu (hari)
Gambar 14 Grafik perbandingan antara nilai aktual dan prediksi
V SIMPULAN DAN SARAN 5.1 Simpulan Berdasarkan dari hasil karya ilmiah yang telah dilakukan maka dapat ditarik beberapa kesimpulan sebagai berikut : 1. Jaringan syaraf tiruan dengan algoritma pembelajaran propagasi balik dan arsitektur jaringan dengan 1 lapisan masukan dengan 2 neuron, 1 lapisan tersembunyi dan juga dengan 1 lapisan keluaran dengan 1 neuron berhasil diimplementasikan untuk memprediksi besarnya ketinggian air di suatu daerah aliran sungai, dalam karya ilmiah ini diterapkan untuk kasus pada DAS Ciliwung, Bogor. 2. Semakin besar data pelatihan yang digunakan maka akan berakibat kepada perubahan nilai MAPE yang akan bernilai semakin kecil. 3. Kombinasi nilai laju pembelajaran dan momentum tidak berbeda nyata. 4. Banyaknya neuron tersembunyi yang optimum untuk studi kasus dalam karya ilmiah ini berkisar antara , atau neuron. 5. Toleransi galat dan maksimun iterasi yang optimum dan juga mengefisienkan proses
komputasi masing-masing berturut-turut adalah dan . 5.2 Saran Berdasarkan hasil karya ilmiah maka saran yang dapat disampaikan adalah : a. Penambahan jumlah data yang akan digunakan agar jaringan syaraf tiruan dapat mempelajari pola tebaran data dengan lebih baik. b. Transformasi data yang lain perlu dicoba untuk mendapatkan tebaran data yang lebih stabil. c. Modifikasi pada pelatihan standar propagasi balik selain dengan faktor momentum dan laju pembelajaran, perlu dicoba untuk mempercepat iterasi selama proses pelatihan jaringan. d. Mencoba dengan metode penilaian (penentuan galat) yang lain selain dengan MSE atau MAPE. e. Mencoba dengan algoritma pembelajaran selain dengan algoritma pembelajaran propagasi balik.
VI DAFTAR PUSTAKA Anugerah PSW. 2007. Perbandingan Jaringan Syaraf Tiruan Backpropagation dan Metode Deret Berkala Box-Jenkins (ARIMA) sebagai Metode Peramalan Curah Hujan [skripsi]. Semarang: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Semarang. Bhagat PM. 2005. Pattern Recognition in Industry. Elsevier. ISBN 0-08-044538-1. Cybenko G. 1989. Approximation by Superpositions of a Sigmoidal function, Mathematics of Control, Signals and Systems, vol. 2, pp. 303–314.
Makridakis, Spyros, Wheelright SC, McGee VE. 1999. Metode dan Aplikasi Peramalan. penerjemah Hari Suminto. Jakarta: Binarupa Aksara. Mandic DP, Chambers JA. 2001. Recurrent Neural Networks for Prediction: Learning Algorithms, Architectures and Stability, Wiley Series in Adaptive and Learning Systems for Signal Processing, Communications, and Control. John Wiley & Sons, Inc. ISBN 0471495174. Masters, Timothy. 1994. Signal and Image Processing with Neural Networks. John Wiley & Sons, Inc. ISBN 0-47104963-8.
Egmont-Petersen M, de Ridder D, Handels H. 2002. Image processing with neural networks - a review, in: Pattern Recognition. Utrecht: Elsevier, pp. 2279– 2301.
Sekarwati AK. 2004. Jaringan Syaraf Tiruan. http://digilab.umm.ac.id/go.php?Node =2475 [10 Juli 2009].
Kusumadewi S. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab & Excel Link. Yogyakarta: Graha Ilmu.
Setiawan B, Fukuda T, Nakano Y. 2003. Developing Procedures for Optimization of Tank’s Model
20
Parameters. Agricultural Engineering International : The CIGR Journal of Scientific Research and Development. Manuscript LW 01 006. June, 2003. Siang JJ. 2005. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab. Yogyakarta: Andi. Subiyanto. 2000. Aplikasi Jaringan Syaraf Tiruan sebagai Metode Alternatif
Prakiraan Beban Jangka Pendek. http://elektroindonesia.com/elektro/en er29.html. [10 Juli 2009]. Suwarno. 2010. Aplikasi Jaringan Syaraf Tiruan Berbasis Metode Backpropagation Untuk Memprediksi Konsentrasi Gula Darah [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
LAMPIRAN
Lampiran 1 Kode Program MATLAB untuk jaringan syaraf tiruan dengan algortima propagasi balik A = xlsread(get(edit1,'string')); InputLatih = A'; B = xlsread(get(edit2,'string')); OutputLatih = B'; C = xlsread(get(edit3,'string')); InputUji = C'; D = xlsread(get(edit4,'string')); OutputUji = D;
% Load data latih masukkan % Load data latih keluaran % Load data uji masukkan % Load data uji keluaran
LajuPembelajaran = str2double(get(edit5,'string')); Momentum = str2double(get(edit6,'string')); Neuron = str2double(get(edit7,'string')); Galat = str2double(get(edit8,'string')); MaxIterasi = str2double(get(edit9,'string'));
% % % % %
Load Load Load Load Load
learning rate momentum neuron tersembunyi besarnya galat maksimum iterasi
net = newff(minmax(InputLatih),[Neuron,1],{'aktivasi','aktivasi'},'training'); net.trainParam.lr = LajuPembelajaran; net.trainParam.goal = Galat; net.trainParam.epochs = Iterasi; net.trainParam.mc = Momentum; net.trainParam.showWindow = 0; % aktivasi = fungsi aktivasi pada masing-masing layer % training = model training yang digunakan [net,tr] = train(net,InputLatih,OutputLatih); AkhirIterasi = tr.epoch(end); MSE = tr.perf(end); Waktu = tr.time(end); IU = sim(net,InputUji); y = IU'; y1 = (((y-0.001)*(MaxData - MinData))/0.998) + MinData; for i = 1:length(OutputUji), error(i) = abs(((OutputUji(i)-y1(i))/OutputUji(i))*100); end Salah = error'; MAPE = sum(Salah)/length(OutputUji);
Lampiran 2 Tabel data curah hujan harian
Lampiran 3 Tabel data penguapan harian
Lampiran 4 Tabel data ketinggian air rata-rata harian
Lampiran 5 Tabel data uji setelah dikonversi ke dalam kisaran (0,001 0,998)
Lampiran 6 Hasil percobaan untuk komposisi pembagian data 60% untuk pelatihan dan 40% untuk pengujian dan validasi
Lampiran 7 Hasil percobaan untuk komposisi pembagian data 70% untuk pelatihan dan 30% untuk pengujian dan validasi
Lampiran 8 Hasil percobaan untuk komposisi data pembagian 80% untuk pelatihan dan 20% untuk pengujian dan validasi
Lampiran 9 Hasil uji analisis ragam satu arah untuk nilai MAPE pada komposisi pembagian data untuk pelatihan dan pengujian
Lampiran 10 Hasil uji analisis ragam satu arah untuk nilai MAPE pada kombinasi nilai laju pembelajaran dan momentum
Lampiran 11 Hasil uji analisis ragam satu arah untuk nilai MAPE pada banyaknya neuron tersembunyi
Lampiran 12 Hasil uji analisis ragam satu arah untuk nilai MAPE pada nilai toleransi galat
Lampiran 13 Hasil uji analisis ragam satu arah untuk nilai MAPE pada nilai maksimum pengulangan
Lampiran 14 Hasil percobaan jaringan syaraf tiruan untuk nilai parameter yang sesuai Percobaan I
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan II
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan III
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan IV
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan V
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan VI
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan VII
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan VIII
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan IX
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71
Percobaan X
93
Ketinggian air (cm)
88 83 78 Aktual
73
Prediksi 68 63 58 1
11
21
31
41
51
Waktu (hari)
61
71