PERAMALAN PRODUKSI CABAI RAWIT DENGAN NEURAL NETWORK Muhammad Fajar Abstrak Tujuan penelitian ini untuk melakukan peramalan produksi cabai rawit dengan menggunakan neural network. Data yang digunakan dalam penelitian bersumber dari BPS. Metode yang digunakan dalam penelitian adalah neural network dengan tipe backpropagation (BPNN, Backpropagation Neural Network), dimana data yang digunakan dibagi menjadi training sample dan testing sample. Hasil penelitian ini menunjukkan bahwa arsitektur BPNN yang tepat digunakan untuk melakukan peramalan produksi cabai rawit adalah BPNN 8-12-1 karena memiliki MSFE minimum dibandingkan arsitektur BPNN lainnya dan hasil peramalan produksi cabai rawit selama tujuh bulan mendatang mengalami puncaknya Juli dan Agustus 2017 kemudian menurun lagi pada bulan berikutnya, hal ini sesuai historis pola naik turun yang terjadi pada periode sebelumnya yang bersifat pengulangan (yang dikenal dengan pola musiman). Artinya, walaupun neural network tidak memasukkan pola musiman ke dalam perumusan algoritma tetapi metode ini mampu menghasilkan peramalan yang menyesuaikan dengan pola historis data sebagai implikasi proses pembelajaran neural network yang dibentuk. Kata Kunci: Neural Network, Backpropagation, Produksi Cabe Rawit. Peramalan. I. Pendahuluan Cabai rawit merupakan salah satu komoditas tanaman sayuran semusim, dimana harga komoditas tersebut selalu volatil pada setiap tahunnya. Pada bulan tertentu, biasanya di awal dan akhir tahun, stok cabai rawit turun drastis yang memicu kenaikan harga. Sedangkan pada pertengahan tahun justru sebaliknya, stok melimpah dan harga anjlok. Jika diperhatikan pergerakan produksi cabai rawit yang divisualisasikan pada gambar 1.1, berikut: 1200000 1000000 800000 600000 400000 200000 0 1 5 9 1 5 9 1 5 9 1 5 9 1 5 9 1 5 9 1 5 9 1 5 Sumber: BPS, diolah. 2010 2011 2012 2013 2014 2015 2016 2017 Gambar 1.1 Pergerakan Produksi Cabai Rawit (kuintal) Periode Januari 2010 Mei 2017 Jika diperhatikan gambar 1.1, terdapat adanya gelombang naik turun musiman yang memiliki magnitudo cenderung stabil yang bergerak disepanjang trend menaik, sehingga peramalan dengan metode ordinary ARIMA yang biasa dilakukan, dapat memberikan hasil yang kurang memuaskan. Berdasarkan pola data produksi cabai rawit tersebut, menurut penulis terdapat beberapa metode yang cocok diterapkan antara lain seasonal ARIMA, regresi spektral, dan neural network. Seasonal ARIMA merupakan pengembangan ARIMA dengan memasukkan unsur musiman, regresi spektral adalah metode time series dalam domain frekuensi yang dapat memberikan informasi periodisitas tersembunyi dalam data. Neural network adalah suatu teknik data mining dengan menggunakan proses pembelajaran berdasarkan kinerja sel sel neuron dalam melakukan peramalan. Namun dalam penelitian ini, penulis menggunakan neural network untuk melakukan peramalan produksi cabai rawit, dikarenakan dalam metode neural network tidak menggunakan asumsi tertentu dalam model dan fleksibel untuk pola yang dihasilkan data kuantitatif. Kemudian untuk metode seasonal ARIMA dan regresi spektral akan dibahas dalam paper selanjutnya.
II. Tinjauan Pustaka 2.1 Pengertian Peramalan Peramalan adalah seni dan ilmu memprediksi peristiwa-peristiwa yang akan terjadi dengan menggunakan data historis dan memproyeksikannya ke masa depan dengan beberapa bentuk model matematis. Terdapat dua pendekatan untuk melakukan peramalan yaitu dengan pendekatan kualitatif dan pendekatan kuantitatif. Metode peramalan kualitatif digunakan ketika data historis tidak tersedia. Metode peramalan kualitatif adalah metode subyektif (intuitif). Metode ini didasarkan pada informasi kualitatif. Dasar informasi ini dapat memprediksi kejadian-kejadian di masa yang akan datang. Keakuratan dari metode ini sangat subjektif. Metode peramalan kuantitatif dapat dibagi menjadi dua tipe, causal dan time series. Metode peramalan causal meliputi faktor-faktor yang berhubungan dengan variabel yang diprediksi seperti analisis regresi. Peramalan time series merupakan metode kuantitatif untuk menganalisis data masa lampau yang telah dikumpulkan secara teratur menggunakan teknik yang tepat. Hasilnya dapat dijadikan acuan untuk peramalan nilai di masa yang akan datang (Makridakis, et al, 1999). 2.2 Neural Network Neural network atau lengkapnya artificial neural network (istilah dalam Bahasa Indonesia disebut dengan jaringan saraf tiruan) lahir setelah McCulloc dan W.H. Pitts, pada tahun 1943, memperkenalkan pemodelan matematis neuron. Lalu pada tahun 1949, Hebb mencoba mengkaji proses pembelajaran yang dilakukan oleh neuron yang dikenal sebagai Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan konsep perseptron, suatu jaringan yang terdiri dari beberapa lapisan yang saling berhubungan melalui umpan maju (feed forward). Pada tahun 1962, beliau membuktikan bahwa bila setiap perseptron dapat memilah-milah dua buah pola yang berbeda maka siklus pelatihannya dapat dilakukan dalam jumlah yang terbatas. Teorema ini dikenal juga sebagai perceptron convergence theorem. Pada tahun 1960, Widrow dan Hodd menemukan ADALINE (Adaptive Linear Neuron). ADALINE mampu beradaptasi dan beroperasi secara linier. Penemuan ini telah memperluas aplikasi jaringan syaraf tiruan, tidak hanya untuk pemilihan pola saja, namun juga untuk pengiriman sinyal khususnya dalam bidang adaptive filtering. Pada tahun 1969, konsep perseptron yang diperkenalkan oleh Rosenblatt mendapat kritikan dari Minsky dan Papert atas kelemahannya dalam memilah polapola yang tidak linier. Sejak saat itu, penelitian mengenai jaringan syaraf tiruan terhenti selama satu dasawarsa. Hopfield, pada tahun 1982, berhasil memperhitungkan fungsi energi ke dalam jaringan syaraf agar dapat mengingat atau memperhitungkan suatu obyek dengan obyek yang telah dikenal/ diingat sebelumnya (associative memory). Hasil penelitian Hopfield ini sering disebut sebagai recurrent network atau Hopfield Net. Pada tahun 1986 Rumelhart, Hinton, dan William menciptakan suatu algoritma pembelajaran yang disebut dengan propagasi balik (back propagation). Metode ini dapat menyelesaikan masalah yang telah dilontarkan oleh Minsky dan Papert apabila algoritma ini diterapkan dalam perseptron dengan banyak lapisan (multi-layer perceptron) (Rahajaan, 2011). 2.2.1 Arsitektur Neural Network Di dalam neural network (JST, jaringan saraf tiruan), istilah simpul (node) sering digunakan untuk menggantikan neuron, dimana setiap simpul pada jaringan menerima atau mengirim sinyal dari/ ke simpul-simpul lainnya. Pengiriman sinyal disampaikan melalui penghubung. Kekuatan hubungan yang terjadi antara setiap simpul yang saling terhubung dikenal dengan nama bobot atau weight.
Gambar 2.1 Artificial Neural network sederhana Berdasarkan arsitekturnya, model JST terbagi menjadi 3, yaitu: 1. Jaringan Layar Tunggal (Single Layer Network) Pada jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan outputnya. Sinyal mengalir searah dari lapisan input sampai ke lapisan output. Setiap simpul dihubungkan dengan simpul lainnya yang berada di atasnya dan di bawahnya, tetapi tidak dengan simpul yang berada pada lapisan yang sama. Contoh: ADALINE, Hopfield, Perceptron, LVQ, dan lain-lain. Gambar 2.2 Jaringan Layar Tunggal 2. Jaringan Layar Jamak (Multiple Layer Network) Model ini merupakan pengembangan dari single layer network. Dalam jaringan ini, selain unit input dan output, terdapat pula unit-unit lain yang sering disebut dengan layar tersembunyi (hidden layer). Layar tersembunyi ini tidak pasti satu. Bisa saja sebuah multiple layer network memiliki lebih dari satu hidden layer. Contoh: back propagation dan MADALINE. Gambar 2.3 Jaringan Layar Jamak 3. Jaringan Recurrent Model jaringan recurrent mirip dengan jaringan layar tunggal maupun jamak. Hanya saja, pada jaringan ini terdapat simpul keluaran yang memberikan sinyal pada unit masukan, sering juga disebut dengan feedback loop. Dengan kata lain, pada model ini sinyal berjalan dua arah, yaitu maju dan mundur. Contoh: Hopfield network, Jordan network, dan Elmal network. 2.2.2 Fungsi Aktivasi Dalam neural network, bagian yang paling penting adalah fungsi aktivasinya atau seringkali disebut juga dengan threshold function maupun transfer function. Fungsi aktivasi digunakan untuk membatasi output yang dihasilkan oleh neuron. Beberapa contoh fungsi aktivasi yang sering digunakan adalah: fungsi sigmoid biner dan fungsi sigmoid bipolar (Karlik & Olgac, 2011).
1. Sigmoid Biner Fungsi aktivasi sigmoid biner f(x) = 1 1 + e x Gambar 2.4 Grafik Fungsi Aktivasi Sigmoid Biner Fungsi ini sangat berguna untuk digunakan dalam Neural network yang melakukan proses pelatihan dengan metode Back propagation karena mudah dibedakan dan mengurangi kapasitas yang diperlukan. 2. Sigmoid Bipolar Fungsi aktivasi ini mirip dengan fungsi aktivasi sigmoid biner. Fungsi ini bekerja dengan baik untuk aplikasi yang memproduksi nilai dalam jarak [-1, 1]. Fungsi aktivasi sigmoid bipolar f(x) = 1 e x 1 + e x 3. Fungsi Hyperbolic Tangent Fungsi ini sangat mirip dengan fungsi sigmoid bipolar, yaitu: Gambar 2.5 Grafik Fungsi Aktivasi Sigmoid Bipolar Fungsi aktivasi sigmoid bipolar f(x) = ex e x e x + e x Gambar 2.6 Grafik Fungsi Aktivasi Sigmoid Bipolar
2.3 Definisi Tanaman Sayuran Semusim dan Produksi Tanaman Sayuran Semusim adalah tanaman sumber vitamin, mineral dan lain lain yang dikonsumsi dari bagian tanaman berupa daun, bunga, buah dan umbinya, yang berumur kurang dari satu tahun. Tidak dibedakan antara tanaman sayuran yang ditanam di daerah dataran tinggi dan dataran rendah, begitu juga yang ditanam dilahan sawah dan lahan bukan sawah. Produksi adalah banyaknya hasil dari setiap tanaman hortikultura menurut bentuk produksi (hasil) yang diambil berdasarkan luas yang dipanen pada bulan laporan. III. Metodologi 3.1 Sumber Data Data yang digunakan dalam penelitian menggunakan produksi bulanan cabai rawit dari periode Januari 2010 Mei 2017 yang bersumber dari Badan Pusat Statistik (BPS). Data tersebut dibagi untuk training sample sebanyak 85 observasi pertama dan sisanya 4 observasi digunakan untuk testing sample. 3.2 Metode Analisis 3.2.2 Backpropagation Neural Network (BPNN) Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Gambar 3.1 adalah ilustrasi visual arsitektur backpropagation dengan n buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran. v ji merupakan bobot garis dari input x i ke unit layar tersembunyi z j (v ji merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi z j). w kj merupakan bobot dari unit layar tersembunyi z j ke unit keluaran Y k (w k0 merupakan bobot dari bias di layar tersembunyi ke unit keluaran z k ). 3.2.2.1 Algoritma Backpropagation Network Gambar 2.7 Arsitektur Backpropagation Algoritma pelatihan backpropagation terdiri dari dua proses, yaitu feedforward dan backpropagation dari erornya. Algoritmanya sebagai berikut: Langkah 0: Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil).
Langkah 1: Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 9. Langkah 2: untuk setiap pasang data pelatihan, lakukan langkah 3 8. Fase I: Feedforward Langkah 3: tiap unit masukan (x i, i = 1,2,, n) menerima sinyal dan meneruskannya ke unit selanjutnya yaitu lapisan tersembunyi Langkah 4: hitung semua keluaran pada lapisan tersembunyi (z j, i = 1,2,, p). z netj = v jo + x i + v ji i=1 Gunakan fungsi aktivasi untuk menghitung sinyal outputnya: z j = f(z netj ) Dan kirimkan sinyal tersebut ke semua unit lapisan atasnya (unit-unit output). Langkah ini dilakukan sebanyak jumlah lapisan tersembunyi. Langkah 5: hitung semua keluaran jaringan di lapisan output (Y k, i = 1,2,, m) Y_net k = w k0 + z j w kj j=1 Gunakan fungsi aktivasi untuk menghitung sinyal outputnya: Y k = f(y_net k ) Fase II: Backpropagation Langkah 6: hitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit keluaran (Y k, i = 1,2,, m) δ k = (target k Y k )f (Y_net k ) δ merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer di bawahnya (langkah 7). Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki w kj ) dengan laju percepatan α. Δw kj = αδ k Z j Kemudian hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w k0 ) memperbaiki nilai w k0 ) Δw k0 = αδ k Langkah 7: Hitung faktor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi (z j, i = 1,2,, p). m n p δ_net j = δ k w kj Faktor δ unit tersembunyi (hidden): δ j = δ_net j f (z netj ) Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai v j0 ): k=1 Δv j0 = αδ j Fase III: Perubahan bobot Langkah 8: Tiap-tiap unit output (Y k, k = 1,2,, m) memperbaiki bias dan bobotnya (j = 0,1,2,, p). w kj (baru) = w kj (lama) + Δw kj Tiap-tiap unit tersembunyi (Z j, j = 1,2,, p) memperbaiki bias dan bobotnya (i = 0,1,2,, n). v ji (baru) = v ji (lama) + Δv ji Langkah 9: Kondisi pelatihan berhenti sampai sebanyak iterasi yang telah ditentukan.
Dalam penelitian ini menggunakan 12 hidden neuron saja, jumlah input neuron (input neuron adalah lagged variable) dari satu sampai dua kali lipat hidden neuron sehingga arsitektur BPNN adalah 1 12 1 sampai 24 12 1. Pada BPNN menggunakan learning rate 1 dan momentum 2 masing masing sebesar 0.05 dan 0.5 serta fungsi aktivasi sigmoid bipolar. Untuk memilih arsitektur BPNN yang telah proses training sebanyak 500000 iterasi didasarkan pada mean squared forecast error (MSFE) yang dirumuskan: u MSFE = 1 h (N t F t ) 2 1 = u n + 1 (N t F t ) 2 t=n+1 u t=n+1 dengan: N t : nilai aktual (testing sample); F t : nilai peramalan dari berbagai model, n: banyaknya training sample, dan h: forecast period. IV. Pembahasan Karena BPNN menggunakan input neuron sebanyak 1 sampai 24 input neuron dan 12 hidden neuron serta menghasilkan 1 output, sehingga menghasilkan MSFE dari berbagai arsitektur BPNN tersebut sebagai berikut: Tabel 4.1 Nilai MSFE Dari Berbagai Arsitektur BPNN 8 12-1 Arsitektur BPNN Arsitektur BPNN input neuron hidden neuron-output MSFE input neuron hidden neuron-output MSFE 1-12-1 33120927680.420 13-12-1 79657646999.173 2-12-1 21569215500.663 14-12-1 49801777857.470 3-12-1 165720871768.097 15-12-1 108390042314.983 4-12-1 71595059167.820 16-12-1 122664937140.393 5-12-1 58183746077.251 17-12-1 47287214968.051 6-12-1 220345528759.875 18-12-1 142578544995.753 7-12-1 174718120302.500 19-12-1 115080175307.629 8-12-1 10417363117.656 20-12-1 36947044270.967 9-12-1 149871946878.571 21-12-1 52801531284.494 10-12-1 77734786795.739 22-12-1 90340259699.570 11-12-1 37586721858.695 23-12-1 109150790690.194 12-12-1 99378385106.434 24-12-1 71816907735.271 Sumber: pengolahan penulis. Berdasarkan tabel 4.1 dapat diketahui bahwa dengan membuat jumlah hidden neuron konstan, maka MSFE tidak menunjukkan kecenderungan menurun atau meningkat seiring kenaikan input neuron. Arsitektur BPNN yang memiliki nilai MSFE minimum adalah 8 12 1 sebesar 10417363117.656. Secara visual, prediksi BPNN 8-12-1 terhadap training sample disajikan pada gambar 4.1 terlihat hasil prediksinya sangat fit pada data aktual ditunjukkan garis merah (hasil prediksi) tidak terlihat karena berimpit hampir sempurna dengan garis biru. Hal mengindikasikan mean square error yang dihasilkan BPNN 8 12 1 sangat kecil sekali. 1 Suatu parameter yang menunjukkan intensitas dalam proses belajar, parameter ini juga menentukan efektifitas dan konvergensi dari pelatihan. Umumnya harga optimum dari kecepatan belajar dipilih antara 0 sampai 1. Nilai learning rate yang besar dapat menyebabkan meningkatnya kecepatan dalam menentukan nilai yang diinginkan tetapi juga memungkinkan adanya suatu overshoot. 2 Suatu parameter yang berguna untuk meningkatkan kecepatan proses training dilakukan dengan menambahkan parameter momentum. Range nilai yang umum digunakan antara 0 sampai dengan 1.
Sumber: pengolahan penulis. Gambar 4.1 Pergerakan Data Aktual Produksi Cabe Rawit (Training Sample) dan Hasil Prediksi Training Sample dengan BPNN 8-12-1 Dengan menggunakan BPNN 8 12 1 maka dilakukan peramalan sebanyak tujuh bulan mendatang dari periode terakhir training sample. Berikut hasil peramalan produksi cabai rawit tujuh bulan mendatang: Tabel 4.1 Hasil Peramalan BPNN 8-12-1 Periode Peramalan Produksi Cabe Rawit (Kuintal) dengan BPNN 8-12 - 1 Juni 2017 973950.1446 Juli 2017 1168168.926 Agustus 2017 1163825.593 September 2017 1127312.445 Oktober 2017 1002483.067 November 2017 838300.9513 Desember 2017 619686.694 Sumber: pengolahan penulis. Kemudian hasil peramalan secara visual disajikan oleh gambar berikut: Sumber: pengolahan penulis, Gambar 4.2 Pergerakan Data Aktual Produksi Cabe Rawit (Training Sample) dan Hasil Peramalan(Forecasted) dengan BPNN 8-12-1
Terlihat pergerakan hasil peramalan produksi cabai rawit selama tujuh bulan mendatang mengalami puncaknya Juli dan Agustus 2017 kemudian menurun lagi pada bulan berikutnya, hal ini sesuai historis pola naik turun yang terjadi pada periode sebelumnya yang bersifat pengulangan (yang dikenal dengan pola musiman). Artinya, walaupun neural network tidak memasukkan pola musiman ke dalam perumusan algoritma tetapi metode ini mampu menghasilkan peramalan yang menyesuaikan dengan pola historis data sebagai implikasi proses pembelajaran sel sel neuron yang dibentuk. V. Penutup 5.1 Simpulan Berdasarkan pembahasan sebelumnya dapat disimpulkan bahwa arsitektur BPNN yang tepat digunakan untuk melakukan peramalan produksi cabai rawit adalah BPNN 8-12-1 karena memiliki MSFE minimum dibandingkan arsitektur BPNN lainnya. Hasil peramalan produksi cabai rawit selama tujuh bulan mendatang mengalami puncaknya Juli dan Agustus 2017 kemudian menurun lagi pada bulan berikutnya, hal ini sesuai historis pola naik turun yang terjadi pada periode sebelumnya yang bersifat pengulangan (yang dikenal dengan pola musiman). Artinya, walaupun neural network tidak memasukkan pola musiman ke dalam perumusan algoritma tetapi metode ini mampu menghasilkan peramalan yang menyesuaikan dengan pola historis data sebagai implikasi proses pembelajaran neural network yang dibentuk. 5.2 Saran Untuk penelitian selanjutnya dapat digunakan metode Hybrid ARIMA NN yang merupakan penggabungan metode ARIMA dan neural network. Kemudian bisa diselidiki periodisitas musiman yang terjadi sehingga dapat diketahui kurun waktu puncak produksi. REFERENSI Fausset, L. 1994. Fundamental of Neural network (Archetectures, Algorithms, and Applications). Upper Saddle River, New-Jersey: Prentice-Hall. Günther, F. dan Fritsch, S. 2010. Neuralnet: Training of Neural networks. https://journal.rproject.org/archive/2010-1/rjournal_2010-1_guenther+fritsch.pdf Karlik, B., dan Olgac, A. V. 2011. Performance Analysis of Various Activation Function in Generalized MLP Architectures of Neural networks. International Juurnal of Artificial Intelligence and Expert Systems (IJAE), 1 (4), 1. Makridakis, Wheelwright, dan MacGee. 1999. Metode dan Aplikasi Peramalan. Jakarta: Binarupa Aksara. Paul, D. 2005. Neural network in Finance: Gaining Predictive Edge in the market. USA: Elsevier. Rahajaan, Jusro Ali. 2011. Pengembangan Wahana Pencitraan Bawah Air Guna Identifikasi dan Kuantifikasi Terumbu Karang dengan Metode Jaringan Syaraf Tiruan [Tesis]. Bogor: IPB.
Salamah, M., Suhartono, dan Wulandari, S. 2003. Buku Ajar: Analisis Time series. Surabaya: FMIPA ITS. Soejoeti, Z. 1987. Analisis Runtun Waktu. Jakarta: Universitas Terbuka.