• Tidak ada hasil yang ditemukan

Jaringan syaraf tiruan (Artificial Neural Network) merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba mensimulasikan proses pembelajaran pada otak manusia tersebut (Siang 2009). Dinyatakan pula oleh Fausett (1994) bahwa jaringan syaraf tiruan adalah pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari sistim pemrosesan informasi. Jaringan syaraf tiruan memiliki kelebihan yaitu dapat mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya. Sehingga dengan menggunakan jaringan syaraf tiruan dapat dikenali pola data berdasarkan data input di masa lalu yang dapat mempermudah dalam melakukan peramalan.

Jaringan syaraf tiruan berkembang secara pesat pada beberapa tahun terakhir, dan telah dikembangkan sebelum adanya suatu komputer konvensional yang canggih dan terus berkembang walaupun pernah mengalami masa vakum selama beberapa tahun. Tahun 1943 McCulloch dan Pitts memperkenalkan jaringan syaraf tiruan, dimana saat itu disimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasi. McCulloch dan Pitts mengusulkan pembobotan jaringan diatur dengan fungsi logika sederhana. Fungsi aktivasi yang dipakai dalam jaringan ini adalah fungsi treshlod.

Pengembangan model jaringan perceptron dilakukan oleh Rosenblatt pada tahun 1958, dengan memperkenalkan metode pelatihan untuk mengoptimalkan hasil iterasinya. Pada tahun 1960 Widrow dan Holf memperkenalkan aturan pelatihan jaringan yang merupakan pengembangan perceptron. Aturan ini dikenal sebagai aturan delta atau disebut juga kuadrat rata-rata terkecil. Aturan ini akan mengubah bobot perceptron bila keluaran yang diperoleh tidak sesuai dengan target yang ingin dicapai. Jaringan syaraf tiruan yang digunakan oleh para peneliti tersebut menggunakan jaringan dengan layer tunggal (single layer). Pada tahun 1986 Rumelhart mengembangkan perceptron menjadi backpropagation, yang memungkinkan jaringan menggunakan beberapa layer. Jaringan syaraf tiruan ini juga dikembangkan oleh Kohonen pada 1972 dan Hopfield pada tahun 1982. Sejak tahun 1990 aplikasi model-model jaringan syaraf tiruan banyak digunakan untuk menyelesaikan masalah-masalah di dunia nyata.

Beberapa aplikasi jaringan syaraf tiruan antara lain pengenalan pola (Pattern Recognition), Signal Processing, dan Forecasting atau peramalan (Siang, 2009). Pada pengenalan pola data, jaringan syaraf tiruan dapat digunakan untuk mengenali pola seperti huruf, angka, tanda tangan, yang sudah sedikit berubah. Sama halnya dengan otak manusia yang masih mengenali orang yang sudah lama tak bertemu. Berdasarkan kemampuan jaringan syaraf tiruan untuk mengingat dan melakukan generalisasi dari apa yang sudah ada sebelumnya, maka jaringan syaraf tiruan juga dapat digunakan untuk meramalkan atau melakukan prakiraan tentang apa yang terjadi di masa datang berdasarkan pola data masa lalu. Selain itu jaringan syaraf tiruan juga digunakan di bidang kontrol, bidang kedokteran dan bidang lainnya.

Selain kelebihan-kelebihannya yang dapat diaplikasikan dalam berbagai bidang, jaringan syaraf tiruan juga memiliki keterbatasan. Keterbatasannya adalah hasil yang diperoleh tidak akurat, dan hanya bekerja berdasarkan pola yang terbentuk pada inputnya.

2.5.1 Arsitektur Jaringan

Beberapa arsitektur jaringan pada jaringan syaraf tiruan adalah jaringan layar tunggal (single layer) dan jaringan layar jamak (multi layer network). Pada awal pengenalannya arsitektur jaringan yang digunakan adalah jaringan layar

tunggal. Pada perkembangan selanjutnya analisis permasalahan dengan jaringan syaraf tiruan menggunakan jaringan layar jamak.

Dalam jaringan layar tunggal (single layer network), input neuron dihubungkan langsung dengan neuron outputnya. Semua unit input (X1, X2, ..., Xn) dihubungkan dengan semua unit output (Y1, Y2, ..., Ym). Nilai Wji menunjukkan bobot hubungan antara unit input ke-i dengan unit output ke-j. Bobot-bobot yang saling independen akan dimodifikasi untuk meningkatkan keakuratan hasil selama proses pelatihan. Bentuk jaringannya dapat dilihat pada Gambar 6. X1 Ym Yj Y1 Xn Xi w11 wj1 wm1 w1i wji wmi w1n wmn wjn

Gambar 6 Jaringan layar tunggal (Siang 2009).

Dalam jaringan layar jamak (multi layer network) terdapat unit-unit neuron lain yang disebut layar tersembunyi (hidden layer) dimana unit-unit neuron ini tidak saling berhubungan satu sama lainnya sama seperti neuron-neuron pada layar input dan neuron-neuron pada layar output.

X1 Ym Yj Y1 Xn Xi Zp Z1 v11 vp1 v1i vpi v1n vpn w11 wj1 wm1 w1p wjp wmp

Gambar 7 Jaringan layar jamak.

Pada jaringan layar jamak terdapat sebanyak n unit neuron input (X1, X2, ..., Xn), sebuah layar tersembunyi dengan sebanyak p unit neuron (Z1, ..., Zp) dan

sebanyak m unit neuron output (Y1, Y2, ..., Ym). Bentuk arsitektur jaringan layar jamak ditunjukkan pada Gambar 7.

Keterbatasan jaringan syaraf tiruan layar tunggal diatasi dengan menambah satu atau beberapa layar tersembunyi di antara layar input dan layar output. Penambahan beberapa layar tersembunyi dapat memberikan manfaat dalam penyelesaian beberapa persoalan, namun memerlukan waktu yang lama untuk proses pelatihan. Pada umumnya dilakukan dengan satu layar tersembunyi. Gambar 8 menunjukkan arsitektur backpropagation. Vji merupakan bobot hubungan unit neuron input Xi ke unit layar tersembunyi Zj. Wkj merupakan obot dari unit layar tersembunyi Zj ke unit output Yk. Wk0 merupakan bobot dari neuron bias di layar tersembunyi ke unit neuron output Zk.

X1 Ym Yk Y1 Xn Xi Zj Z1 v11 vp1 v1i vpi v1n vpn w11 wk1 wm1 w1j wkj wmj 1 1 Zp vjn vji vj1 v10 vp0 vj0 wmp wkp w1p wk0 wm0 w10

Gambar 8 Arsitektur jaringan pada backpropagation.

2.5.2 Algoritma Backpropagasi Umpan Balik

Pelatihan propagasi umpan balik (Feed Forward Back Propagation) berbasis jaringan syaraf tiruan meliputi 3 fase (Siang 2009).

Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Selama propagasi maju, sinyal masukan (= xi ) dipropagasikan ke

layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layar tersembunyi (=zj ) tersebut selanjutnya dipropagasikan maju lagi

ke layer tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (=yk).

Berikutnya, keluaran jaringan (= yk ) dibandingkan dengan target yang harus

dicapai (=tk ).Selisih dari tk terhadap yk yaitu (tkyk ) adalah kesalahan yang t

terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Namun bila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.

Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. Berdasarkan kesalahan tkyk, dihitung faktor δk ( k = 1,2,..., m ) yang dipakai untuk mendistribusikan kesalahan di unit k y ke semua unit tersembunyi yang terhubung langsung dengan yk.δk juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor δj ( j = 1,2,…, p ) di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.

Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas δk yang ada di unit keluaran.

Ketiga fase terebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.

Bidang peramalan (forecasting) merupakan salah satu bidang dimana jaringan syaraf tiruan dapat diaplikasikan. Backpropagation dapat digunakan dalam melakukan peramalan seperti prediksi permintaan suatu produk di masa

mendatang, prediksi nilai penjualan dan lain sebagainya. Peramalan ini didasarkan pada data yang diperoleh pada masa lalu.

Dalam memecahkan masalah peramalan, variabel yang diperhatikan adalah variabel yang mempengaruhi output peramalan yang akan dicapai. Terdapat dua model dalam peramalan yaitu model peramalan berdasarkan runtun waktu (time series) dan model kausal.

Pada model peramalan time series, sejumlah data x1, x2, ..., xn akan digunakan untuk memperkirakan nilai xn+1. Dengan backpropagation, sebagian data dipakai sebagai pelatihan untuk mencapai bobot yang optimal. Periode ditentukan secara intuitif tergantung variabel yang akan diprediksi. Banyaknya data dalam satu periode digunakan sebagai banyaknya input dalam backpropagation. Sebagai contoh, apabila diambil periode bulanan selama setahun, maka data yang digunakan sebagai target adalah data bulan pertama setelah periode berakhir.

Pada model peramalan kausal, unit-unit neuron input merupakan variabel- variabel yang mempengaruhi neuron output. Neuron output y merupakan variabel yang diramalkan dan dipengaruhi oleh variabel-variabel input.

Pada backpropagation ini belum ada teori yang secara pasti dapat digunakan dalam penentuan jumlah layar. Pada awalnya dicoba dengan jaringan kecil lebih dahulu, jika terdapat kesalahan maka jaringan diperbesar dengan menambahkan neuron pada layar tersembunyi, atau dapat menambah layar tersembunyi.