Analisa Peramalan Penjualan Sepeda Motor Bekas Dengan Menggunakan Jaringan Syaraf Tiruan Backpropagation Randy Permana, S.Kom, M.Kom Fakultas Ilmu Komputer, Universitas Putra Indonesia YPTK Padang Email: randypermana@upiyptk.ac.id Abstrak Pada penelitian ini penulis akan menerapkan backpropagation untuk melakukan peramalan terhadap penjualan sepeda motor bekas dimana pihak perusahaan akan mendapatkan hasil prediksi yang memiliki tingkat keakuratan data yang lebih baik. Penelitian ini mengolah data-data historis penjualan sepeda motor bekas dan memproses kedalam jaringan yang telah dibentuk. Untuk mendapatkan hasil yang terbaik maka peneliti akan melakukan pelatihan dan pengujian terhadap jaringan yang telah ditentukan. Berdasarkan penelitian yang telah dilakukan dari lima pola yang diteliti, backpropagation mampu melakukan peramalan terhadap penjualan sepeda motor bekas dengan memberikan hasil prediksi penjualan untuk tahun yang akan datang. Kata Kunci : Backpropagation, peramalan, Penjualan 1. PENDAHULUAN Artificial Intellingence merupakan salah satu cabang ilmu teknologi informatika yang dapat dipergunakan untuk menyelesaikan banyak permasalahan - permasalahan yang dihadapi oleh manusia. Artificial Intelligence memiliki kemampuan dalam melakukan penalaran (reasoning) dan pembelajaran (learning) terhadap kasus -kasus ataupun keadaan yang diberikan. Sebagai contoh dalam kehidupan nyata Artificial intelligence dapat menalarkan input kejadian dan melakukan pembelajaran terhadap kejadian tersebut sehingga dapat memberikan solusi yang terbaik. 2. TINJAUAN UMUM Backpropagation merupakan salah satu Jaringan Syaraf Tiruan yang memiliki tipe arsitektur jamak ( multilayer). Menurut Dini (2010), 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. Backpropagation atau propagasi dari kesalahan merupakan 143
suatu metode pembelajaran dari Jaringan Syaraf Tiruan tentang suatu cara untuk memecahkan suatu tugas ( Enireddy, 2010). Seperti halnya model JST lain, 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 (Dini, 2010). Algoritma ini umumnya digunakan pada Jaringan Syaraf Tiruan yang berjenis multi-layer feedforward, yang tersusun dari beberapa lapisan dan mengalirkan sinyal secara searah dari input menuju output. Menurut Hardoyono et.al (2008), Algoritma pelatihan Backpropagation pada dasarnya terdiri dari tiga tahapan, yaitu : 1. Input nilai data pelatihan sehingga diperoleh nilai output. 2. Propagasi balik dari nilai error yang diperoleh. 3. Penyesuaian bobot koneksi untuk meminimalkan nilai error. 3. Metodologi Perancangan Berikut merupakan tahapan tahapan didalam melakukan pelatihan algoritma Backpropagation : Tahap 1 : Initialization 1. Menentukan variabel input dan output yang diharapkan. 2. Menentukan nilai bobot secara acak untuk masing masing unit masukan. Tahap 2 : Activation 1. Kalkulasikan semua nilai output yang dihasilkan pada layer tersembunyi dan pada layer output. Rumus keluaran pada hidden layer : Y_in [j] = X [i] * V [ij] ( 6 ) Di mana Y_in [j] = nilai input hidden j (Yj, j= 1,2,,n) X [i] = nilai input neuron i (i = 1,2,.n) V [ij] = nilai bobot neuron i ke j (i = 1,2,,n ; j = 1,2, n) Rumus keluaran pada hidden layer setelah ditambah bias : 144
Y_in [j] = V [oj] +( Y_in [j] ) ( 7 ) Di mana Y_in [j] = nilai input hidden j (Yj, j= 1,2,,n) V [oj] = nilai bias o ke j (o = 1 ; j = 1,2, n) Rumus keluaran pada output layer : Z_in [k] = Y [j] * W [jk] ( 8 ) Di mana Z_in [k] = nilai input output k Y [j] = nilai input neuron j (i = 1,2,.n) W [jk] = nilai bobot neuron j ke k (j = 1,2,,n ; k = 1) Rumus keluaran pada output layer setelah ditambah bias : Z_in [k] = W [ok] +( Z_in [k] ) ( 9) Di mana Z_in [k] = nilai input output k (k = 1) W [ok] = nilai bias o ke k (o = 1 ; k = 1) 2. Gunakan fungsi aktivasi sebagai fungsi aktivasi pada output yang diharapkan. Tahap 3 : Weight Training 1. Hitung nilai error yang terjadi antara output aktual dengan output yang diharapkan baik pada layer tersembunyi serta pada layer keluaran. Rumus : e k (p) =Y d,k (p) Y k (p) 10 ) di mana e k (p) = Nilai error neuron k p = Jumlah iterasi Y d,k (p) = Sinyal output yang diharapkan pada neuron k Y k (p) = Sinyal output aktual pada neuron k 2. Hitung faktor error gradien output layer Rumus : 145
δ k (p) = Y k (p) [1 - Y k (p)] e k (p) ( 11 ) Di mana δ k (p) = faktor error gradient neuron k Y k (p) = Sinyal output aktual pada neuron k e k (p) = Nilai error neuron k 3. Hitung nilai perubahan bobot pada output layer Rumus : w jk (p) = α. Y j (p). δ k (p) ( 12) di mana w jk (p) = Nilai Perubahan bobot antara neuron k dan j α = Laju pembelajaran (Learning Rate) Y j (p) = Sinyal output aktual pada neuron j δ k (p) = faktor error gradient neuron k 4. Ubah nilai bobot pada tiap - tiap neuron keluaran (output layer). Rumus : w jk (p + 1) = w jk (p) + w jk (p) ( 13 ) di mana w jk (p + 1) = Bobot baru pada iterasi berikutnya w jk (p) = Bobot lama antara neuron j dan k w jk (p) = Nilai Perubahan bobot antara neuron k dan j 5. Hitung faktor error gradien hidden layer Rumus : δ j (p) = Y j (p) [1 Y j (p)] δ k (p) w jk (p) ( 14 ) di mana δ j (p) = faktor error gradient neuron j Yj(p) = Sinyal output aktual pada neuron j δ k (p) = faktor error gradient neuron k w jk (p) = Bobot lama antara neuron j dan k 146
6. Hitung nilai perubahan bobot pada hidden layer Rumus : w ij (p) = α. X i (p). δ j (p) ( 15 ) di mana w ij (p) = Nilai Perubahan bobot antara neuron i dan j α = Laju pembelajaran (Learning Rate) X i (p) = Sinyal output aktual pada neuron i δ j (p) = faktor error gradient neuron j 7. Ubah nilai bobot pada tiap neuron tersembunyi (hidden layer). Rumus : w ij (p + 1) = w ij (p) + w ij (p) ( 16 ) di mana w ij (p + 1) = Bobot baru pada iterasi berikutnya w ij (p) = Bobot lama antara neuron i dan j w ij (p) = Nilai Perubahan bobot antara neuron i dan j Tahap 4 : Iteration Gambar 1: Model Jaringan Backpropagation 4. Hasil dan Pembahasan Data transaksi dibagi menjadi dua kelompok yaitu data yang digunakan untuk melakukan pembelajaran ( learning ) dan data yang digunakan untuk pengujian ( target ). Dalam pembagian data 147
tersebut penulis akan melakukan pembagian data sebanyak 70 % untuk data pelatihan dan 30 % untuk pengujian. Tabel 1 : pola pelatihan 4.1 Langkah Analisa Backpropagation a. Normalisasi Data Proses normalisasi data bertujuan untuk menyederhanakan data pelatihan agar dapat mudah diolah dengan menggunakan jaringan syaraf tiruan. Dengan melakukan normalisasi data proses pelatihan terhindar dari kesalahan-kesalahan selama proses pelatihan. b. Pembuatan Jaringan dan Inisialisasi Nilai Bobot dan Bias. Langkah selanjutnya pada proses pelatihan yaitu dengan membuat variabel jaringan syaraf tiruan pada Matlab dengan menggunakan perintah : net = newff (PR, [S1 S2 SN], {TF1 TF2 TFN}, BTF);, di mana: net = variabel dari JST yang dirancang dan dilatih. newff = fungsi matlab untuk membangun jaringan feed forward. PR = matriks yang berisi nilai terbesar dan terkecil dari bilangan input. Si (i = 1,2, ) = jumlah unit pada layar ke i. TFi (i = 1,2, ) = fungsi aktivasi yang dipakai. BTF = Fungsi pelatihan yang dipakai. 148
Untuk PR penulis menggunakan fungsi minmax(pn) pada Matlab. Di mana, pn adalah sekumpulan nilai input yang telah dinormalisasi pada Matlab. Dengan kata lain, Matlab dapat menentukan sendiri berapa nilai maksimum dan nilai minimum dari kumpulan data input pn. Selanjutnya inisialisasi bobot dan bias, nilai bobot dan bias ditentukan secara acak dengan menggunakan fungsi Matlab. Berikut proses inisialisasi bobot dan bias : 1. Inisialisasi bobot (v) secara acak dari neuron input ke neuron hidden. V [ i, j ] di mana i = jumlah neuron input dan j = jumlah neuron hidden V [ o, j ] di mana o = jumlah bias dan j = jumlah neuron hidden Inisialisasi bobot dari neuron masukan ke neuron tersembunyi dapat dilihat pada tabel 2. Tabel 2 : Inisialisasi Bobot Neuron Input ke Neuron Hidden Tabel 3 : Inisialisasi Bobot Neuron Input ke Neuron Hidden (lanjutan) Tabel 4 : Inisialisasi Bias Neuron Input ke Neuron Hidden 149
2. Inisialisasi bobot (w) secara acak dari neuron hidden ke neuron output. W [ j, k ] di mana j = jumlah neuron hidden dan k = jumlah neuron output W [ o, k ] di mana o = jumlah bias dan k = jumlah neuron output Tabel 5 : Inisialisasi Bobot Neuron Hidden ke Neuron Output Tabel 6 : Inisialisasi Bias Hidden Input ke Neuron Output c. Menentukan input pada neuron hidden Untuk mendapatkan nilai input pada masing-masing neuron hidden maka dilakukan perhitungan dengan mengalikan masing masing nilai pada neuron input dengan bobotnya. Lalu seluruh hasil perkalian dijumlahkan, rumus yang digunakan sebagai berikut : Y_in [j] = X [i] * V [ij] 1. variabel input pada hidden layer 1. Y_in [1] = X [1] *V [1,1] + X [2] *V [2,1] + X [3] *V [3,1] + X [4] *V [4,1] +. X [12] *V [12,1] =(0,2307*4,1225)+(0,5078*-0,1284)+(0,9*-0,3987)+(0,2255*- 0,5994)+(0,4399*4,5721)+(0,2673*-0,9284)+(0,7013*-0,8834)+(0,4712*-2,4483)+(0,4033*- 7,3558)+(0,3405*2,6658)+(0,1471*-7,6358)+(0,1471*6.8023) = -1.79969447 150
2. Variabel input pada hidden layer 2. Y_in [2] = X [1] *V [1,2] + X [2] *V [2,2] + X [3] *V [3,2] + X [4] *V [4,2] +.. X [12] *V [12,2] =(0,2307*-2,2593)+(0,5078*3,2882)+(0,9*- 4,0461)+(0,2255*1,148)+(0,4399*2,369)+(0,2673*3,9338)+(0,7013*3,556)+(0,4712*4,7814)+(0, 4033*-5,5553)+(0,3405*-5,3685)+(0,1471*3,5669)+(0,1471*0,4915) = 0.99032237 3. Variabel input pada hidden layer 3. Y_in [3] = X [1] *V [1,3] + X [2] *V [2,3] + X [3] *V [3,3] + X [4] *V [4,3] +. X [12] *V [12,3] =(0,2307*0,8971)+(0,5078*2,2008)+(0,9*2,6988)+(0,2255*2,9011)+(0,4399*- 3,2171)+(0,2673*3,7632)+(0,7013*-6,439)+(0,4712*-7,4776)+(0,4033*-5,6266)+(0,3405*- 7,0922)+(0,1471*-0,7929)+(0,1471*-1,1749) = -9.01433475 d. menentukan output neuron pada neuron hidden Setelah perhitungan input dari masing masing neuron hidden, langkah selanjutnya yaitu menghitung nilai keluaran dari masing masing neuron hidden dengan memasukkan fungsi aktivasi, fungsi aktivasi yang dipakai yaitu logsig (sigmoid biner) dengan rumus : Y_in [j] = V [oj] +( Y_in [j] ) dan Y [j] = 1 1+e Y in[j], sebagai berikut : 1. variabel 1 Y_in [1] = -3,8902 + (-1.79969447) = -5.68989447 Y 1 = 1 1+e ( 5.68989447) = 0.141888261 2. variabel 2 Y_in [2] = -2,6528+ (0.99032237) = -1.66247763 Y 2 = 1 1+e ( 1.66247763 ) = 0.729151592 3. variabel 3 Y_in [3] = 5,7367+ (-9.01433475) = -3.27763475 Y 3 = 1 1+e ( 3.27763475) =0.000121639 151
e. menentukan output di neorun output Selanjutnya menghitung input dari neuron output, yaitu dengan mengalikan nilai keluaran dari lapisan tersembunyi dengan bobot masing masing neuron hidden ke lapisan output. Z_in [k] = Y [j] * W [jk Z_in [1] =Y [1] *W [1,1] +Y [2] *W [2,1] +Y [3] *W [3,1] = 0.141888261*0,6924+0.729151592*0,0503+0.000121639*-0,5947 = 0.134847418 Mencari nilai output k : Masukkan fungsi aktivasi ke dalam output yang telah dijumlahkan dengan bias, fungsi aktivasi yang dipakai adalah purelin ( fungsi identitas ). Z_in [k] = W [ok] +( Z_in [k] ) dan Z [k] = Z_in [k] Z_in [k] = 0,3443+ (0.134847418)= 0.479147418 Z [k] = 0.823447418 f. Mencari Nilai Input dari Output Z_in [1] : Hitung nilai error yang terjadi antara output aktual dengan output yang diharapkan baik pada layar tersembunyi serta pada layar keluaran. Output yang diharapkan dalam bentuk masih ternormalisasi. e k (p) =Y d,k (p) Y k (p) Nilai error pada output iterasi 1 : e k (1) = 0,1-0.823447418 = -0.723447418 Lalu hitung faktor error gradient dengan : δ k (p) = Y k (p) [1 - Y k (p)] e k (p) Faktor error gradient output iterasi 1 : δ k (1) =0.823447418 [1 (0.823447418)] * 0.723447418= -0.105176064 Lalu hitung koreksi nilai bobot yang akan digunakan untuk memperbaharui nilai bobot W [j,k] pada neuron output : w jk (p) = α. Y j (p). δ k (p) 152
Nilai perubahan bobot pada masing masing neuron pada hidden layer : w [1,1] = 0.5 * 0.141888261* -0.105176064= -0.0074616 w [2,1] = 0.5 * 0.729151592* -0.105176064= -0.0383446 w [3,1] = 0.5 * 0.000121639* -0.105176064= -0.0000064 g. Menghitung Nilai Eror Pada Output nilai Hitung koreksi nilai bias pada neuron output yang nantinya akan digunakan untuk memperbarui W [ok] : w [o,k] = α δ k w [o,1] = 0.5 * -0.105176064= -0.052588032 Selanjutnya hitung faktor error gradient pada neuron hidden dengan : δ j = Y j [1 Y j ] δ k w jk Error gradient hidden layer neuron 1 : δ 1 = 0.141888261 [1 0.141888261] ((-0.723447418* 0.6924)) = -0.008867 Error gradient hidden layer neuron 2 : δ 2 = 0.729151592 [1 0.729151592] ((-0.723447418* 0.0503)) = -0.001045 Error gradient hidden layer neuron 3 : δ 3 = -3.27763475 [1-3.27763475] ((-0.723447418* -0.5947)) = 0.000008 h. Hitung nilai perubahan bobot pada neuron output Hitung koreksi nilai bobot pada neuron hidden yang nantinya akan digunakan untuk memperbarui nilai V [i,j]. Nilai perubahan bobot pada masing masing neuron input ke neuron hidden : 153
1. Koreksi bobot dari neuron input ke neuron hidden yang pertama : V [1,1] = 0.5 * 0.2307* -0.008867= -0.0010228 V [2,1] = 0.5 * 0.5078* -0.008867= -0.0022513 V [3,1] = 0.5 * 0.9* -0.008867= -0.0039900 V [n] =. 2. Koreksi bobot dari neuron input ke neuron hidden yang kedua : V [1,2] = 0.5 * 0.2307* -0.001045= -0.0001205 V [2,2] = 0.5 * 0.5078* -0.001045= -0.0002653 V [3,2] = 0.5 * 0.9* -0.001045= -0.0004702 V [n] =. 3. Koreksi bobot dari neuron input ke neuron hidden yang ketiga : V [1,3] = 0.5 * 0.2307* 0.000008= 0.000000878 V [2,3] = 0.5 * 0.5078* 0.000008= 0.000001932 V [3,3] = 0.5 * 0.9* 0.000008= 0.000003423 V [n] =. Selanjutnya hitung koreksi nilai bias pada neuron hidden yang nantinya akan digunakan untuk memperbarui nilai V [oj] : V [o,j] = α δ j V [o,1] = 0.5 *-0.008867 = -0.00443337 V [o,2] = 0.5 * -0.001045 = -0.00052240 V [o,3] = 0.5 * 0.000008 = 0.00000380 i. Memperbaharui nilai bobot dan bias Langkah selanjutnya yaitu memperbaharui segala bobot dan bias yang terdapat pada hidden dan output layer dengan menambahkan bobot lama dengan nilai perubahan bobot yang telah dihitung sebelumnya. w baru = w lama + w lama Memperbarui nilai bobot dan nilai bias pada masing masing neuron : 154
1. Bias baru pada neuron output : w [o,k] (baru) = w [o,k] (lama) + w [o,k] w [o,1] (baru) = 0.3443 +(-0.0074616) = 0.336838376 2. Bobot baru pada neuron output : w [j,k] (baru) = w [j,k] (lama) + w [j,k] w [1,1] (baru) = 0.6924 +(-0.0074616) = 0.684938376 w [2,1] (baru) = 0.0503 + -0.0383446 = 0.011955353 w [3,1] (baru) = -0.5947-0.0000064 = -0.594706397 3. Bias baru pada neuron hidden : V [o,j] (baru) = V [o,j] (lama) + V [o,j] V [o,1] (baru) = -3.8902+ -0.00443337 = --3.894633373 V [o,2] (baru) = -2.6528 + -0.00052240 = -2.653322395 V [o,3] (baru) = 5.7367 + 0.00000380 = 5.736703804 Bobot baru pada neuron hidden : V [i,j] (baru) = V [i,j] (lama) + V [i,j] Neuron 1 : V [1,1] (baru) = 4.1225+ -0.0010228= 4.1215 V [2,1] (baru) = -0.1284+ -0.0022513= -0.1307 V [3,1] (baru) = -0.3987+ -0.0039900= -0.4027 V [n] (baru) =.. Neuron 2 : V [1,2] (baru) = -2.2593+-0.0001205 = -2.2594205 V [2,2] (baru) = 3.2882+ -0.0002653= 3.2879347 V [3,2] (baru) = -4.0461+ -0.0004702= -4.0465702 V [n] (baru) =... Neuron 3 : V [1,3] (baru) = 0.8971+ 0.000000878= 0.897100878 V [2,3] (baru) = 2.2008+ 0.000001932 = 2.200801932 V [3,3] (baru) = 2.6988+ 0.000003423= -1.3477702 155
V [n] (baru) =.. j. Pengujian kondisi berhenti Langkah berikutnya adalah pengujian terhadap kondisi berhenti apakah sudah terpenuhi atau tidak. Kondisi berhenti terpenuhi apabila nilai error yang dihasilkan lebih kecil dari nilai toleransi error. Nilai toleransi error pada pelatihan pola 1 ini adalah 0.01. Pada pelatihan yang dilakukan oleh penulis hasil yang output yang didapatkan adalah 0.12992, dimana toleransi error sebesar 0.01 telah terpenuhi. 4.2 Hasil pelatihan Pelatihan jaringan sayaraf dilakukan dengan menggunakan software Matlab dan dipandu dengan menggunakan pola pola pelatihan yang telah ditentukan. Pola pelatihan yang digunakan pada penelitian ini terdiri atas lima pola yaitu Arsitektur 12-3-1, Arsitektur 12-5-1, Arsitektur 12-10-1, Arsitektur 12-30-1, Arsitektur 12-30-1. Berdasrkan hasil pelatihan maka didapatkan pola terbaik untuk melakukan prediksi terhadap penjualan sepeda motor dengan menggunakan pola arsitektur 12-30 1. Berikut merupakan parameter-parameter pelatihan : a. Jumlah neuron pada input layer sebanyak 12 neuron. b. Jumlah neuron pada hidden layer sebanyak 30 neuron. c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.5 e. Momentum sebesar 0.6 f. Max epoch sebanyak 100.000 epoch 156
Gambar 2 : pola Pelatihan Untuk memperjelas perbandingan nilai output dengan target yang diharapkan dapat dilihat pada tabel 7. Tabel 7 : Perbandingan Nilai Real Dengan Hasil Pelatihan Bulan T real Estimasi Error Jan 0.1 0.099397 0.00060296 Feb 0.21733 0.22664-0.009309 Mar 0.44133 0.42842 0.01291 Apr 0.52667 0.54528-0.018611 Mei 0.50533 0.52936-0.024031 Jun 0.9 0.832 0.068003 Jul 0.40933 0.45572-0.046386 Aug 0.868 0.87154-0.0035354 Dari hasil pelatihan tersebut didapatkan MAPE sebesar 0.51%, sehingga tingkat keakuratan pelatihan sebesar 99.49% dan nilai MSE= 0.000995777. 157
Gambar 3 : Hasil Perbandingan antara target yang diharapkan dengan keluaran Backpropagation 5. KESIMPULAN a. Kesimpulan Berdasarkan penelitian yang telah dilakukan oleh penulis, maka penulis dapat menyimpulkan bahwa: 1. JST yang telah dirancang telah berhasil memprediksi penjualan Sepeda motor bekas pada bulan ke-13 dan seterusnya dengan tingkat akurasi mencapai 100%. 2. Penentuan parameter-parameter jaringan yang optimum hanya dapat dilakukan berdasarkan proses pembelajaran dan penentuan besarnya toleransi error sehingga lamanya waktu belajar tidak dapat ditentukan secara pasti. 3. Jumlah epoch pada JST ditentukan oleh parameter-parameter jaringan yang digunakan, kondisi awal dari jaringan dan karakteristik data-data masukan. 4. Kecepatan untuk mendapatkan pola hasil pelatihan tidak ditentukan oleh kecepatan komputasi tetapi ditentukan oleh parameter jaringan seperti laju pembelajaran dan target yang ingin dicapai. b. Saran Dari kesimpulan di atas dan dari penelitian yang dilakukan maka dapat dikemukakan beberapa saran yang diharapkan dapat menjadi bahan pertimbangan lebih lanjut dalam upaya peningkatan pada penelitian ini. Adapun saran-saran yang ingin disampaikan adalah sebagai berikut : 1. Pengembangan aplikasi untuk dapat melakukan prediksi penjualan sepeda motor bekas, sehingga dapat mudah dipahami dan digunakan oleh pengguna biasa atau awam. 158
2. Hasil yang dihasilkan oleh JST masih belum akurat 100%, sehingga hasil peramalan sebaiknya digunakan sebagai media untuk menganalisa dan memperkirakan kemungkinan unit motor yang akan dijual untuk bulan yang akan datang. REFERENSI [1] Abdulkadir, Said Jadid et. al. Moisture Prediction in Maize using Three Term Back Propagation Neural Network. International Journal of Environmental Science and Development, Vol. 3, No. 2, April 2012. [2] Devi, Ch.Jyosthna et. al. ANN Approach for Weather Prediction using Back Propagation. (IJCSE ) International Journal of Enggineering Trends and Technology Volume 3 Issue 1 2012. ISSN: 2231-5381. [3] Eliyani. 2005. Pengantar Jaringan Syaraf Tiruan. Jurnal. Copyright 2005 MateriKuliah.Com [4] Hardoyono, Fajar dkk. Aplikasi Jaringan Syaraf Tiruan Propagasi Balik Dalam Klasifikasi Jenis Kanker dengan Menggunakan Citra Ultrasonografi Payudara. Seminar on Intelligent Technology and Its Applications 2008. ISBN 978-979-8897-24-5. [5] Jumarwanto, Arif dkk. Aplikasi Jaringan Syaraf Tiruan Backpropagation untuk Memprediksi Penyakit THT di Rumah Sakit Mardi Rahayu Kudus. Jurnal Teknik Elektro Vol. 1 No.1. Januari Juni 2009. [6] Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan MATLAB & EXCEL LINK. Yogyakarta: Graha Ilmu. [7] Maru ao, Dini Oktaviani. 2010. Neural Network Implementation in Foreign Exchange Kurs Prediction. Jurnal. Universitas Gunadarma. [8] Siang, Jong Jek. 2004. Jaringan Saraf Tiruan dan Pemogramannya Menggunakan MATLAB. Yogyakarta: ANDI. [9] Sing, Shaminder et. al. Time Series based Temperature Prediction using Back Propagation with Genetic Algorithm Technique. (IJCSI) International Journal of Computer Science Issues, Vol. 8, Issue 5, No. 3, September 2011. ISSN (Online): 1694-0814. 159