II. TINJAUAN PUSTAKA A. Peramalan Peramalan (forecasting) adalah sebuah prediksi terhadap peristiwa di masa depan. Tujuan dari peramalan adalah untuk mengurangi resiko dalam pembuatan keputusan (Douglas, Jonson, dan Gradiner, 1990). Seiring terdapat waktu senjang (time lag) antara kesadaran akan peristiwa atau kebutuhan mendatang dengan peristiwa itu sendiri. Adanya waktu senjang (time lag) ini merupakan alasan utama bagi perencanaan dan peramalan. Dalam hal manajemen dan administrasi, perencanaan merupakan kebutuhan yang besar, karena waktu tenggang dan pengambilan keputusan dapat berkisar dari beberapa tahun (untuk kasus penanaman modal) sampai beberapa hari atau bahkan beberapa jam (untuk penjadwalan produksi dan transportasi).
Peramalan merupakan alat bantu yang penting dalam
perencanaan yang efektif dan efisien. Kebutuhan akan peramalan meningkat seiring dengan usaha organisasi atau perusahaan untuk mengurangi ketergantungan pada hal-hal yang belum pasti. Suatu peramalan akan memberikan suatu manfaat yang besar bagi perusahaan, yaitu: 1. Sebagai penentu kebijaksanaan dalam penyusunan anggaran bagi segala aktivitas yang dilakukan perusahaan 2. Sebagai pedoman dalam melakukan aktivitas pengendalian persediaan, sehingga persediaan bahan baku tidak terlalu besar ataupun terlalu kecil sehingga dapat menghambat proses produksi 3. Membantu kegiatan perencanaan dan pengendalian produksi. Melalui peramalan jumlah produksi, maka perusahaan akan dapat mengetahui kemungkinan kegiatan yang akan dilakukan dengan mempertimbangkan kapasitas pabrik yang dimiliki, perencanaan tenaga kerja dan lain-lain 4. Sebagai bahan evaluasi dalam kebijaksanaan untuk peningkatan pelayanan konsumen 5. Sebagai bahan pertimbangan untuk mengadakan perencanaan jangka panjang, perluasan (ekspansi) perusahaan
4
B. Jaringan Syaraf Tiruan (JST) 1. Sejarah Jaringan Syaraf Tiruan Saat ini kecerdasan buatan dalam usahanya menirukan intelijensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelijensi. Bidang ini disebut “cognitive science”. Dari teori dasar ini dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang salah satunya adalah jaringan syaraf tiruan. Dibandingkan dengan bidang ilmu yang lain, jaringan syaraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa konsep jaringan syaraf tiruan bermula pada makalah Waffen McCulloch dn Walter Pitts pada tahun
1943.
Dalam
memformulasikan
makalah
model
tersebut
matematis
mereka
sel-sel
otak.
mencoba
untuk
Metode
yang
dikembangkan berdasarkan sistem syaraf biologi ini, merupakan suatu langkah maju dalam industri komputer. 2. Terminologi Meskipun banyak model JST sama atau identik dengan model statistik, terminologi dalam literatur JST berbeda dengan literatur yang ada dalam statistik. Berikut ini adalah beberapa literatur dalam JST: - Variabels disebut features - Independent variabel disebut inputs - Predict values dinamakan outputs - Dependent variabels disebut targets atau training values - Residuals disebut errors - Estimation disebut training, learning, adaptation, atau self-organization - Observations dinamakan patterns atau training pairs - Parameter estimates dinamakan (synaptic) weights - Interactions dinamakan higher-order neurons - Transformations dinamakan functional links
5
- Regression and discriminant analysis dinamakan supervised learning atau heteroassociation - Data reduction dinamakan unsupervised learning, encoding, atau autoassociation - Cluster analysis dinamakan competitive learning atau adaptive vector quatization - Interpolation and extrapolation dinamakan generalization Terminologi sampel dan populasi tidak sama dengan istilah dalam JST. Bagaimanapun, data sering dibagi menjadi training set dan test sets untuk cross-validation. 3. Definisi Menurut Fausett (1994) JST adalah suatu sistem pemrosesan informasi yang memiliki karakteristik-karakteristik menyerupai jaringan syaraf biologi. Jaringan syaraf manusia terdiri atas sel-sel yang disebut neuron. Ada tiga komponen utama neuron yang fungsinya dapat dianalogikan dengan yang terjadi pada NN, yaitu dendrit, soma, dan akson. Dendrit akan menerima sinyal-sinyal dari neuro lain. Sinyal tersebut merupakan impuls listrik yang ditransmisikan melalui synaptic gap melalui proses kimia. Sedangkan soma atau badan sel akan menjumlahkan sinyalsinyal input yang masuk. Jika ada input yang masuk, sel akan aktif dan mentransmisikan sinyal ke sel lain melalui akson dan synaptic gap.
Gambar 1. Susunan syaraf manusia (Hermawan, 2006)
6
Pada JST istilah neuron sering disebut dengan unit, sel, atau node. Setiap node terhubung dengan node-node lain melalui layer dengan bobot (weight) tertentu. Bobot disini melambangkan informasi yang digunakan oleh jaringan untuk menyelesaikan persoalan, dan dapat dianalogikan dengan aksi pada proses kimia yang terjadi pada synaptic gap. Layer adalah suatu tempat dimana node-node tersusun. Jika suatu node berada dalam layer yang sama dengan node lain, biasanya akan memiliki sifat yang sama. Setiap node memiliki internal state yang disebut aktivasi, yaitu fungsi dari input yang diterima. JST dapat juga didefinisikan sebagai kerangka kerja fleksibel untuk pemodelan komputasi berbagai masalah nonlinier (Wong et al., 2000). Salah satu keuntungan yang signifikan dari model JST atas kelas model nonlinier lain adalah bahwa JST adalah approximators universal yang dapat memperkirakan kelas besar dari fungsi dengan tingkat akurasi yang tinggi (Chen et al., 2003). Kekuatannya berasal dari pengolahan paralel informasi dari data. Tidak ada asumsi sebelumnya bentuk model diperlukan dalam proses pembentukan model. Sebaliknya, model jaringan sangat ditentukan oleh karakteristik dari data. Layar tunggal tersembunyi jaringan feedforward adalah bentuk model yang paling banyak digunakan untuk pemodelan seri waktu dan peramalan (Zhang and Hu, 2004). Model ini dicirikan oleh jaringan tiga lapis unit pengolahan sederhana yang dihubungkan dengan hubungan asiklik. Jaringan syaraf tiruan memiliki karakteristik sebagai berikut: 1. Pola hubungan antar neuron yang disebut arsitektur 2. Metode penentuan bobot pada hubungan yang disebut pelatihan (training) atau pembelajaran (learning) atau algoritme 3. Fungsi aktivasi yang dijalankan masing-masing neuron pada input jaringan untuk menentukan output Sebuah jaringan dalam JST merupakan kombinasi dari beberapa neuron. Jaringan tersebut terdiri dari sebuah lapisan input (input layer ), sebuah lapisan output ( output layer ) dan kemungkinan satu atau lebih lapisan atau sering disebut sebagai lapisan tersembunyi (hidden layer). Setiap layer terdiri
7
dari beberapa neuron dan neuron-neuron ini terhubungkan dengan neuronneuron lain pada layer terdekat. Arsitektur jaringan syaraf sederhana ditunjukkan pada Gambar 2 (Fausett, 2004 dalam Pusparianti, 2008).
X1
X2
X3
Z1
W1 W2
Y
W3
Z2
Gambar 2. Jaringan syaraf tiruan sederhana (Siang, 2009) 4. Kelebihan Jaringan Syaraf Tiruan Kelebihan sistem jaringan syaraf tiruan : - Kemampuan melakukan proses pembelajaran - Kemampuan beradaptasi - Implementasi peralatan dalam bentuk paralel secara besar-besaran 5. Komponen-Komponen Jaringan Syaraf Tiruan Jaringan syaraf tiruan terdiri dari beberapa neuron. Neuron tersebut akan berhubungan satu dengan yang lain. Neuron ini mengubah informasi yang diterima dan mengirimnya menuju neuron lain. Pada jaringan syaraf tiruan hubungan ini disebut bobot. Input akan dikirim ke neuron dengan bobot kedatangan tertentu. Input diproses oleh suatu fungsi perambatan yang menjumlahkan nilai semua bobot. Hasil penjumlahan kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila neuron diaktifkan, maka akan menghasilkan output ke semua neuron yang berhubungan. Jaringan syaraf tiruan terdiri dari beberapa elemen proses yang disebut neuron, units, cells, atau nodes. Setiap neuron berhubungan dengan
8
neuron lainnya dengan bobot yang telah ditentukan. Setiap neuron mempunyai fungsi aktivasi yang mengirimkan nilai aktivasi sebagai sinyal kepada beberapa neuron lainnya pada satu waktu. Jaringan syaraf tiruan sederhana dengan bobot ditunjukkan pada Gambar 3.
X1 W1 X2
X3
Y
W2 W3
Gambar 3. Jaringan syaraf tiruan dengan bobot (Siang, 2009) Pada Gambar 3, sebuah neuron akan mengolah Y input (X1, X2, …, XN) yang masing-masing memiliki bobot W1, W2, …, WN dengan rumus : _
=
6. Arsitektur Jaringan Syaraf Tiruan Susunan neuron dan pola keterkaitan antar layer, disebut net architecture. Arsitektur jaringan syaraf tiruan diklasifikasikan sebagai single layer, multilayer dan competitive layer. Untuk menentukan banyak layer yang digunakan, input layer tidak diikutsertakan sebagai layer yang digunakan. Banyaknya layer yang disertakan dalam jaringan syaraf tiruan menunjukkan banyaknya nilai bobot yang berhubungan antar layer tersebut, karena itu nilai bobot merupakan hal yang penting dalam jaringan syaraf tiruan.
9
a. Single layer net Single layer net mempunyai satu layer untuk menghubungkan nilai bobotnya. Neuron input langsung berhubungan dengan neuron output.
Jaringan ini hanya menerima
informasi dan
langsung
mengolahnya menjadi output tanpa melalui hidden layer. Ciri-ciri yang dimiliki single layer net ini hanya mempunyai satu layer input dan satu layer output. b. Multilayer net Multilayer net adalah jaringan yang mempunyai tambahan satu layer atau lebih (hidden neuron) diantara layer input dan output. Jaringan dengan banyak layer ini dapat menyelesaikan permasalahan yang lebih rumit dibandingkan jaringan dengan satu layer. c. Competitive layer net Competitive layer net terdiri dari dua atau lebih jaringan syaraf tiruan. Arsitektur jaringan ini bisa menghubungkan satu neuron dengan neuron lainnya (Fausett, 2004 dalam Pusparianti, 2008). 7. Algoritma Pembelajaran Pada otak manusia, informasi yang dilewatkan dari satu neuron ke neuron yang lainnya berbentuk rangsangan listrik melalui dendrit. Tentu saja sulit dalam memahami bagaimana otak manusia bisa belajar. Selama proses pembelajaran, terjadi perubahan yang cukup berarti pada bobot-bobot yang menghubungkan antar neuron. Apabila ada rangsangan yang sama dengan rangsangan yang telah diterima oleh neuron, maka neuron akan memberikan reaksi dengan cepat. Namun apabila kelak ada rangsangan yang berbeda dengan apa yang telah diterima oleh neuron, maka neuron akan segera beradaptasi untuk memberikan reaksi yang sesuai. Jaringan syaraf akan mencoba untuk mensimulasikan kemampuan otak manusia untuk belajar. JST juga tersusun atas neuron-neuron dendrit. Tidak seperti model biologis, jaringan syaraf memiliki struktur yang tidak
10
dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu yang menunjukan seberapa besar koneksi antara neuron (dikenal bobot). Nilai bobot akan bertambah jika informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidak disampaikan oleh suatu neuron ke neuron lain, maka nilai bobot yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakukan pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yang cukup seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiap-tiap input telah berhubungan dengan output yang diharapkan. Pada dasarnya terdapat dua metode pembelajaran yaitu: a. Supervised Learning Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokkan pada pola output targetnya. Apabila terjadi perbedaan antara pola output hasil pembelajaran dengan pola target, maka disini akan muncul error. Apabila nilai error ini masih cukup besar, mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. b. Unsupervised Learning Tujuan dari pembelajaran ini adalah mengelompokkan input yang serupa. Metode pembelajaran ini tidak memerlukan target output. Jaringan ini mengubah nilai bobot sehingga nilai input yang serupa akan dikategorikan sebagai output yang sama. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan selama proses pembelajaran.
Pembelajaran
ini
biasanya
sangat
cocok
untuk
pengelompokan (klasifikasi) pola. Secara umum proses pemodelan JST terbagi menjadi dua bagian yaitu proses training dan testing. Proses training merupakan proses
11
pembelajaran dari sistem NN yang mengatur input-input serta bagaimana pemetaannya pada output sampai diperoleh model yang sesuai. Proses training terjadi pada saat pengaturan weight (bobot) dan bias. Sedangkan proses testing adalah proses pengujian ketelitian dari model yang telah diperoleh dari proses training. Dalam kajian secara statistik, proses training dan testing dapat disetarakan dengan proses estimasi dan crossvalidation. Proses learning terjadi pada saat pengaturan weight dan bias. Backpropagation merupakan salah satu metode yang paling umum digunakan untuk proses learning. Dalam metode ini, weight-weight tersebut diatur untuk meminimalisasi nilai kuadrat beda antara output model dan output taksiran, atau secara umum disebut sebagai SSE (sum of square errors). Proses pengaturan weight biasanya berdasarkan pada algoritma sederhana steepest descent yang didasarkan pada turunan pertama dari fungsi cost. Pada dasarnya sebuah sistem syaraf tiruan berbentuk sebuah graph berarah (directed graph). Graph berarah adalah sebuah obyek geometris yang terdiri dari sekumpulan titik yang disebut simpul (node) dan sekumpulan segmen garis terarah yang disebut sambungan (link) yang menghubungkan simpul-simpul tersebut. Artificial Neural Network adalah suatu struktur pemrosesan informasi yang paralel dan terdistribusi dalam bentuk graph terarah dengan definisi–definisi sebagai berikut : a. Simpul dari graph disebut dengan elemen pemroses (processing element) atau satuan pemroses (processing unit) atau kadang-kadang disebut satuan (unit) saja b. Sambungan pada graph tersebut disebut hubungan (connection). Setiap hubungan berfungsi sebagai sebuah jalur konduksi satu arah yang melewatkan sinyal tanpa penundaan c. Setiap satuan pemroses dapat menerima banyak hubungan ke dalam yang disebut juga dengan hubungan masukan d. Setiap satuan pemroses dapat mempunyai banyak hubungan keluar, tetapi sinyal–sinyal dalam hubungan–hubungan tersebut haruslah
12
sinyal yang sama. Sebagai akibatnya, setiap satuan pemroses mempunyai sebuah hubungan keluar tunggal yang bercabang menjadi banyak hubungan keluar yang masing–masing membawa salinan dari sinyal yang dibawa hubungan keluar tunggal tadi e. Satuan pemroses dapat mempunyai memori setempat (local memory) f. Setiap satuan pemroses mempunyai sebuah fungsi transfer yang dapat memakai dan mengubah isi memori setempat, memakai sinyal masukan dan memproduksi sinyal keluaran dari satuan pemroses tersebut. Dengan kata lain, masukan dari fungsi transfer yang diperbolehkan adalah nilai yang tersimpan pada memori setempat dan sinyal masukan satuan pemroses pada waktu perhitungan fungsi transfer dilakukan. Keluaran fungsi transfer yang diperbolehkan adalah nilai yang akan disimpan dalam memori setempat dan sinyal keluaran dari satuan pemroses. Fungsi transfer dapat beroperasi secara terus–menerus (continuosly) atau episodis (episodically). Jika beroperasi secara episodis, maka harus ada satu masukan yang disebut “aktifkan” (activate), yang akan menyebabkan fungsi transfer beroperasi dengan perhitungan yang melibatkan sinyal masukan pada waktu itu dan nilai pada memori setempat, dan memproduksi sinyal keluaran yang telah diperbaharui (updated) serta dapat juga mengubah isi memori setempat. Sinyal “aktifkan” tersebut datang dari hubungan antara satuan pemroses penjadwal yang merupakan bagian dari keseluruhan jaringan. Satuan pemroses dengan fungsi transfer yang bersifat malar selalu beroperasi g. Sinyal masukan dari luar sistem syaraf tiruan yang menuju sistem tersebut datang dari hubungan–hubungan yang berasal dari luar sistem. Sinyal keluaran dari sistem ke luar sistem merupakan hubungan-hubungan yang meninggalkan sistem 8. Fungsi Aktivasi Fungsi
aktivasi
pada
jaringan
syaraf
digunakan
untuk
memformulasikan output dari setiap neuron. Pada jaringan syaraf terdapat
13
tiga macam fungsi aktivasi, yaitu fungsi aktivasi sigmoid atau logistik, fungsi aktivasi tangen hiperbola, dan fungsi aktivasi linier. Fungsi aktivasi sigmoid atau fungsi logistik merupakan fungsi aktivasi yang paling umum dipakai. Hal yang penting dari fungsi ini adalah sebesar apapun nilai x (positif atau negatif) output dari fungsi ini tidak pernah mencapai 0.0 atau 1.0. Hasil dari fungsi ini bernilai antara 1 dan 0. Formula dari fungsi sigmoid adalah :
Gambar 4. Fungsi sigmoid bipolar (Siang, 2009) Fungsi aktivasi tangen hiperbola kadang-kadang digunakan dan dikatakan dapat mempercepat training. Akan tetapi secara umum fungsi sigmoid paling banyak digunakan dan lebih dapat digunakan dalam berbagai macam aplikasi. Berikut adalah formula dari fungsi tangen hiperbola :
Fungsi aktivasi lainnya yang umumnya dipakai adalah fungsi aktivasi linier. Output dari neuron yang memakai fungsi ini sama dengan inputan dari neuron tersebut, dengan kata lain merupakan penjumlahan dari hasil kali antara input neuron dan bobotnya dengan hasil kali antara bias dengan bobotnya. Formula untuk fungsi linier adalah :
14
Gambar 5. Fungsi linier (Siang, 2009) Fungsi aktivasi linier umumnya digunakan pada neuron output. Hal ini menyebabkan output dari neuron yang menggunakan fungsi aktivasi linier merupakan interval antara 0 dan +1. Hal yang perlu diperhatikan adalah neuron-neuron tersembunyi wajib menggunakan fungsi aktivasi nonlinier, misalnya fungsi sigmoid atau fungsi tangen hiperbola, jika tidak maka keluaran dari neuron akan berinterval antara 0 dan +1. C. Jaringan Syaraf Tiruan Propagasi Balik (Backropagation) Jaringan syaraf tiruan propagasi balik (Backropagation) pertama kali diperkenalkan oleh Rumelhart, Hinton dan William pada tahun 1986, kemudian Rumehart dan Mc Clelland mengembangkan pada tahun 1988. Jaringan syaraf tiruan ini tersusun atas sekumpulan elemen pemroses (neuron) atau simpul atau sel yang terinterkoneksi dan terorganisasi dalam lapisanlapisan. Setiap sel memproses sinyal dengan fungsi aktivasinya yaitu fungsi logistik :
Pemilihan fungsi logistik ini karena memenuhi beberapa kriteria diantaranya kontinyu, dapat diturunkan, dan monoton naik. Karena bentuknya yang mempunyai huruf “s” maka fungsi ini sering disebut fungsi sigmoid (Rich & Kevin, 1991). Arsitektur JST propagasi balik merupakan jaringan perseptron lapis jamak (multiplayer). JST ini terdiri dari lapisan masukan (input layer), lapisan tersembunyi (hidden layer) dan lapisan keluaran (output layer). Tiap-tiap unit 15
pada suatu lapisan terhubung ke depan dengan unit-unit pada lapisan selanjutnya. Adanya lapisan tersembunyi pada JST propagasi balik memungkinkan melakukan representasi data yang kompleks. JST
propagasi
balik
melakukan
serangkaian
proses
untuk
mendapatkan hasil sesuai dengan kriteria yang telah ditentukan. Untuk mampu melakukan itu, disediakan serangkaian pelatihan hingga diperoleh kombinasi bobot dan bias yang diinginkan pada tiap neuron. Pada pelatihan ini, JST propagasi balik akan berhenti melakukan pemrosesan dalam beberapa kondisi yaitu derajat error telah mencapai batas toleransi, banyaknya perulangan jumlah-proses penyesuaian bobot (epoch size) telah terlampaui. Pelatihan algoritma propagasi balik meliputi tiga tahapan. Tahap pertama adalah feedforward dari input pelatihan. Tahap kedua adalah penghitungan dan propagasi balik dari galat yang berhubungan. Kemudian tahap ketiga adalah penyesuaian dari bobot yang bersangkutan hingga mencapai galat yang minimum. Bila hasil keluaran tidak sesuai dengan target, maka bobot diperbaharui hingga tercapai penyimpangan minimum. Pada saat pengujian jaringan syaraf tiruan ini hanya meliputi komputasi dari tahap feedforward saja. Multilayer net (dengan satu atau lebih hidden layer) dapat mempelajari pemetaan yang rumit dengan akurasi yang cukup. Lebih dari satu hidden layer akan berguna untuk beberapa aplikasi, tetapi satu hidden layer sudah mencukupi metode pembelajaran. Arsitektur jaringan syaraf tiruan propagasi balik ditunjukkan pada Gambar 6.
16
Gambar 6. Arsitektur jaringan syaraf tiruan propagasi balik (Fausett, 1994) Urutan tahapan pembelajaran pada JST propagasi balik adalah sebagai berikut. Pertama diinisialisasi bobot dan bias serta ditetapkan epoch size, laju pembelajaran (learning rate) dan batas toleransi error. Kemudian dilakukan perhitungan nilai output dengan mempropagasikan input ke tiap lapisan output. Rangkaian
tahapan
ini
dinamakan
panjarmaju
(feedforward).
Selanjutnya, masing-masing neuron output melakukan perhitungan error dengan cara membandingkan output dengan target yang bersesuaian. Jika selisih error masih di atas toleransi, maka nilai bobot dan bias pada neuron bersangkutan akan diperbaharui (update). Hal yang sama dilakukan oleh neuron pada lapisan di atasnya. Proses dilakukan secara berurutan ke belakang oleh semua neuron pada lapisan tersembunyi dan juga lapisan input. Proses propagasi error ke lapisan sebelumnya ini dinamakan propagasi balik (backpropagation). Proses panjarmaju dan propagasi balik ini dilakukan secara terurut berulang kali sampai syarat berhenti tercapai (Rich & Kevin, 1991). Algoritma pelatihan backpropagation terdiri dari dua proses, feed forward dan backpropagation dari galatnya. Berikut adalah rincian algoritma backpropagation :
17
Algoritma Pelatihan Backpropagation Algoritma pelatihan backpropagation terdiri dari dua proses, yaitu feedforward dan backpropagation dari errornya. Adapun rinciannya adalah : a. Langkah 0 : Pemberian inisialisasi penimbang (diberi nilai kecil secara acak). b. Langkah 1 : Mengulangi langkah 2 hingga 9 sampai kondisi akhir iterasi terpenuhi. c. Langkah 2 : Melakukan langkah 3 hingga 8 untuk masing–masing pasangan data pelatihan. Propagasi Maju (Feedforward) d. Langkah 3 : Masing–masing unit masukan (Xi , i = 1,…,n) menerima sinyal masukan Xi dan sinyal tersebut disebarkan ke unit–unit bagian berikutnya (hidden layer). e. Langkah 4 : Masing–masing unit lapisan tersembunyi (hidden layer) dikalikan dengan faktor penimbang dan dijumlahkan serta ditambahkan dengan biasnya : Z
= V +
XV
Kemudian menghitung sesuai dengan fungsi aktivasi yang digunakan : Z = f(Z ) Bila yang digunakan merupakan fungsi sigmoid maka bentuk fungsi tersebut adalah :
Z =
1
1 + exp(
_ )
Kemudian mengirim sinyal tersebut ke semua unit di lapisan keluaran (output). f. Langkah 5 : Masing–masing unit keluaran (Yk, k = 1,2,…,m) dikalikan dengan faktor penimbang dan dijumlahkan : Y
=W
+
ZW
Menghitung kembali sesuai dengan fungsi aktifasi : Yk = f (Y_ink)
18
Backpropagation dan errornya : g. Langkah 6 : Masing–masing unit keluaran (Yk, k = 1,2,…,m) menerima pola target sesuai dengan pola masukan saat pelatihan (training) dan dihitung errornya: δk = (tk – Yk) f’(Y_ink) Karena f’(Y_ink) = Yk menggunakan fungsi sigmoid, maka : f’(Y_ink) = f (Y_ink) f (1- f (Y_ink)) = Yk (1-Yk) Menghitung perbaikan faktor penimbang, kemudian memperbaiki Wjk : ΔWjk = α . δk . Zj Menghitung perbaikan koreksi : ΔW0k = α . δk dan menggunakan nilai δk pada semua unit lapisan sebelumnya. h. Langkah 7 : Masing–masing penimbang yang menghubungkan unit–unit lapisan keluaran dengan unit–unit pada lapisan tersembunyi (Zj , j = 1,…,p) dikalikan δ dan dijumlahkan sebagai masukan unit–unit lapisan berikutnya : δ
=
δW
Selanjutnya dikalikan dengan turunan dari fungsi aktivasinya untuk menghitung error : δj = δ_inj .f’(Y_inj) Kemudian
menghitung
perbaikan
penimbang,
dan
digunakan
untuk
memperbaiki Vij : ΔVij = α . δj . Xi Kemudian menghitung perbaikan bias (untuk memperbaiki Voj) Memperbaiki penimbang dan bias : i. Langkah 8 : Masing–masing keluaran unit (Yk , k = 1,2,…,m) diperbaiki bias dan penimbangnya (j = 0,…,p). Wjk(baru) = Wjk(lama) + ΔWjk
19
Masing–masing unit tersembunyi (Zj , j = 1,…,p) diperbaiki bias dan penimbangnya (j = 0,…,n). Vjk(baru) = Vjk(lama) + ΔVjk j. Langkah 9 : Uji kondisi pemberhentian (akhir iterasi). D. Persiapan Data dalam Analisis Data Jaringan Syaraf Salah satu tahapan yang penting dilakukan sebelum merancang model jaringan syaraf adalah mempersiapkan data. Mempersiapkan data merupakan langkah penting dan kritis dalam melakukan analisis data jaringan syaraf tiruan dan memiliki dampak yang sangat besar terhadap analisis data yang kompleks (Hu, 2003). Alasan utama perlu dilakukan persiapan data adalah bahwa kualitas data masukan ke dalam model jaringan syaraf sangat mempengaruhi hasil analisis data. Secara umum, data yang disiapkan mudah untuk penanganannya sehingga dapat memudahkan dalam melakukan analisis data menjadi sederhana (Sattler dan Schallehn, 2001). Lou (1993) menyatakan bahwa efek pada kinerja jaringan syaraf tidak dapat bekerja secara signifikan jika terdapat data yang hilang dan bersifat stabil (tidak bergerak terhadap atribut data yang lain). Selain itu, persiapan data dapat mempengaruhi tingkat mutu data yang dimasukkan. Data dikatakan memiliki tingkat mutu data yang baik jika memenuhi 5 aspek berikut, yaitu : a. Up – to – date (terbaru) Data yang digunakan sebaiknya merupakan data dalam beberapa tahun terakhir. Terbaru di sini dapat didefinisikan juga sebagai data yang bersifat final dan tidak mengalami revisi di kemudian hari. b. Relevan Data yang bersifat relevan dapat didefinisikan sebagai data yang ada hubungan langsung dengan persoalan yang sedang diteliti.
20
c. Akurasi Akurasi menyatakan seberapa dekat nilai hasil pengukuran dengan nilai sebenarnya (true value) atau nilai yang dianggap benar (accepted value). Jika tidak ada data bila sebenarnya atau nilai yang dianggap benar tersebut maka tidak mungkin untuk menentukan berapa akurasi pengukuran tersebut. d. Presisi Presisi menyatakan seberapa dekat nilai hasil dua kali atau lebih pengulangan pengukuran. Semakin dekat nilai‐nilai hasil pengulangan pengukuran maka semakin presisi pengukuran tersebut. e. Lengkap Data yang digunakan untuk keperluan analisis jaringan syaraf tiruan harus memiliki kelengkapan data yang diinginkan. Ketidaklengkapan data dapat mempengaruhi kinerja jaringan syaraf tiruan dalam melakukan peramalan. 1. Analisis Data untuk Jaringan Syaraf Secara umum, model jaringan syaraf untuk analisis data yang kompleks terdiri dari empat tahapan utama seperti terlihat pada Gambar 7.
21
Proses
Output
Identifikasi Masalah
Definisi masalah
Persiapan Data Analisis Data Awal
Proses Data Awal
Analisis Data Akhir
Karakteristik data, dimensi
Model Jaringan Syaraf Inisialisasi
Pelatihan
Generalisasi
Validasi
-
Analisis Data Kompleks Pencarian Data/Penemuan Pengetahuan Prediksi/Klasifikasi/Diagnosis Pendukung Keputusan/Perencanaan Proses
Model data
Perbandingan hasil analisis
Gambar 7. Proses analisis data pada jaringan syaraf (Yu, 2009) Pemodelan jaringan syaraf tiruan untuk analisis data yang kompleks memiliki lima proses utama, yaitu identifikasi masalah, pengumpuan data dan informasi lapang, pengolahan data, pemodelan jaringan syaraf, dan analisis data. Dalam proses pertama, kita dapat mengidentifikasi masalah dengan menganalisis hasil yang diharapkan dan berkonsultasi dengan pakar. Masalah definisi dan hasil yang diharapkan dapat digunakan pada berikutnya. Tujuan dari proses kedua, data persiapan adalah untuk mempersiapkan data berkualitas tinggi sehingga proses analisis data diperoleh hasil yang memuaskan. Dalam proses ketiga, setelah inisialisasi, model jaringan syaraf yang dilatih secara iterasi. Jika hasil data validasi sesuai untuk model jaringan syaraf, hasil yang diperoleh dari jaringan yang terlatih dapat digunakan untuk analisis data. Akhirnya,
22
tergantung pada hasil secara keseluruhan, tujuan dari analisis data yang kompleks,
seperti
data
mining
dan
pendukung
keputusan,
dapat
direalisasikan. 2. Integrasi Persiapan Data Persiapan data jaringan syaraf untuk analisis data yang kompleks adalah hal yang sangat penting. Namun, tidak ada standar kerangka kerja dalam melakukan pemodelan jaringan syaraf tiruan. a. Fase Analisis Data Awal - Analisis Kebutuhan Data Pada analisis data yang spesifik, langkah awal adalah memahami kebutuhan data yang memiliki hubungan dengan definisi masalah dan tujuan yang ingin diperoleh. Menurut Stein (1993), jika masalah yang diinginkan di luar bidang keahlian seseorang wawancara khusus dengan berbagai pertanyaan dapat dijadikan sebagai permulaan dalam memahami proses sehingga masalah potensial dapat diselesaikan. Pertanyaan tersebut dapat mencakup hal berikut : (i) Apa informasi akan kita inginkan? (ii) Data apa yang diperlukan untuk menyelesaikan masalah? (iii) Dimana data dapat ditemukan? (iv) Apa format data yang masuk? - Pengelompokan Data Tahapan ini merupakan langkah penting karena output dari tahapan ini menentukan langkah selanjutnya. Berdasarkan analisis kebutuhan data, semua data yang diperoleh dengan melakukan pencarian informasi (Ingwersen, 1992) dan penggalian data (Nahm, 2001), akan digunakan untuk mengumpulkan berbagai data dari berbagai sumber. Di beberapa situasi, beberapa data penting mungkin sulit untuk mengumpulkan. Dengan demikian, pengganti data sangat berguna dan penting.
23
- Pemilihan Atribut Data Setelah data dikumpulkan, menentukan atribut data untuk pemodelan menjadi mungkin. Tujuan penentuan atribut atribut adalah untuk menemukan model yang paling sederhana yang menjelaskan tentang fakta-fakta dengan menggunakan atribut data yang paling sedikit. Oleh karena itu, cara yang terbaik adalah mengidentifikasi atribut data yang akan menghemat waktu pemodelan dan mengurangi masalah ruang (Stein, 1993). Ada banyak cara seleksi atribut data diantaranya dengan metode kausalitas (sebab akibat) (Granger, 1969). Banyak faktor yang dapat mempengaruhi proses penjualan diantaranya promosi, new product launching, diversifikasi produk, dan kualitas produk (Hamzacebi, 2000). Kualitas produk akan memberikan dampak positif kepada perusahaan, diantaranya yaitu (1) dampak terhadap biaya produksi dan (2) dampak terhadap pendapatan. Dampak terhadap biaya produksi terjadi melalui proses pembuatan produk yang memiliki derajat kesesuaian yang tinggi terhadap standar sehingga bebas dari kemungkinan kerusakan atau cacat. Hal ini akan menghindarkan terjadinya pemborosan dan inefisiensi sehingga ongkos produksi per unit akan menjadi rendah yang pada gilirannya akan membuat produk menjadi lebih kompetitif. Dampak terhadap peningkatan pendapatan terjadi melalui peningkatan penjualan atas produk berkualitas yang berharga kompetitif. Keadaan ini akan meningkatkan
pangsa
pasar
sehingga
pada
akhirnya
akan
meningkatkan pendapatan perusahaan. - Integrasi Data Jika data dikumpulkan dari berbagai sumber oleh kelompokkelompok yang berbeda, data masih dalam kekacauan dan tersebar, dan melakukan tahapan integrasi data menjadi penting (Famili et al., 1997). Hal ini terutama terjadi saat data masih mengandung teks dan atribut sehingga harus digabungkan untuk analisis lebih lanjut.
24
b. Fase Pengolahan Data Awal - Pemeriksaan Data Langkah
pertama
dalam
data
preprocessing
adalah
pemeriksaan data. Tujuan pemeriksaan data adalah untuk menemukan masalah dengan data. Pemeriksaan data mencakup kuantitas data dan kualitas pemeriksaan. Yang pertama adalah untuk memeriksa ukuran dataset dan yang kedua pola dataset. Pemeriksaan kuantitas data dapat dilakukan dengan observasi. Secara umum, ada dua masalah utama dengan ini dalam pemeriksaan kuantitas, yaitu ukuran data yang terlalu besar atau ukuran data yang terlalu kecil. Kualitas pemeriksaan data juga dapat dilakukan dengan metode statistik termasuk cek noise data, data hilang, data skala yang berbeda, data tren dan data nonstasioner. - Pengolahan Data Tujuan dari pemeriksaan data adalah dapat mengidentifikasi tujuh masalah utama yang biasa ditemukan, yaitu data terlalu banyak, data terlalu sedikit, data noise, data hilang, data dengan multi-skala, data tren (musiman), dan data nonstationary. Tahapan pengolahan data di sini berfungsi untuk menyelesaikan berbagai masalah yang diperoleh pada pemeriksaan data. Oleh karena itu, beberapa teknik dalam menyelesaikan masalah tersebut, yaitu data sampling untuk data yang terlalu banyak, pengumpulan data kembali untuk data yang terlalu sedikit, data denoising untuk data noise data normalisasi untuk data dengan berbagai skala, data perbaikan untuk data yang hilang, data detrending untuk data musiman dan perbedaan data untuk data nonstationary. c. Fase Analisis Data Akhir - Pembagian Data Setelah data preprocessing, data yang diperoleh dari tahap sebelumnya digunakan untuk pelatihan jaringan dan generalisasi.
25
Penyusunan data terutama dalam tahap ini adalah untuk membagi data ke dalam himpunan bagian sehingga dapat digunakan dalam pelatihan jaringan. Biasanya, data set dibagi menjadi data pelatihan dan data pengujian. Menurut Yao dan Tan (2000) menyatakan bahwa sejauh ini, tidak ada aturan baku untuk menentukan komposisi ukuran baik yang digunakan untuk data pelatihan ataupun untuk data pengujian. Data dibagi menjadi dua, yaitu pelatihan dan pengujian. Kemudian dari hasil pelatihan dan pengujian tersebut dilakukan validasi. - Validasi Data Secara umum, kesalahan pelatihan selalu menurun dengan peningkatan jumlah siklus atau pola (epoch). Sebaliknya, kesalahan pengujian tidak memiliki terus kecenderungan di mana nilai minimum terdapat pada kurva. Jadi, ada dua masalah yang mengganggu jaringan, yaitu overfitting dan underfitting. Dalam jaringan, overfitting biasanya membuat kondisi lebih buruk setelah titik tertentu selama pelatihan. Hal ini karena seperti pelatihan yang lama akan membuat jaringan menghafal pola pelatihan, termasuk semua keanehan yang timbul selama pelatihan. Hasil underfitting berasal dari pelatihan yang telah dilakukan. Hal ini membuat generalisasi jaringan sangat minim. Ada beberapa teknik validasi yang digunakan pada analisis jaringan syaraf tiruan diantaranya validasi silang (cross-validation). Validasi silang merupakan suatu metode statistik yang digunakan menganalisa dan mengukur keakuratan hasil percobaan pada data yang independen. Metode ini membagi sebuah data menjadi beberapa subdata
yang
selanjutnya
subdata
satu
digunakan
untuk
mengkonfirmasi kebenaran subdata yang lain. Dalam penelitian ini digunakan K-9 fold cross validation. Kfold cross validation adalah salah satu metode cross validation yang membagi data menjadi k subdata. Salah satu subbagian data dijadikan sebagai validator dan testing sedangkan K-1 data digunakan sebagai data pelatihan. Proses diatas dilakukan berulang sebanyak K kali
26
untuk setiap subbagian data. Hasil dari pengujian kemudian dilakukan perhitungan selisihnya dengan data aktual. Untuk menghitung selisih hasil pengujian dengan data aktual dapat menggunakan perhitungan secara regresi linier, yaitu perhitungan error. Perhitungan error dapat menggunakan means square error (MSE), means absolute percentage error (MAPE) dan means absolute error (MAE). - Penyesuaian Kembali Data Tahapan ini tergantung pada umpan balik dari data hasil validasi dan model pelatihan. Penyesuaian kembali data mungkin sering diperlukan. Data masukan yang berbeda berarti berbeda juga penyesuaian. Misalnya, jika hasil pelatihan jaringan syaraf tiruan tidak memuaskan, maka pembagian ulang data mungkin diperlukan. Jika ada overfitting atau underfitting dalam validasi data, pembagian ulang data juga diperlukan. Setelah penyesuaian data selesai, pembelajaran baru dimulai sekali lagi. Secara umum skema untuk integrasi data persiapan dapat dilihat pada Gambar 8.
27
Analisis Data Awal Analisis Kebutuhan
Koleksi Data
Seleksi Data
Integrasi Data
Solusi
Masalah Penting - Seleksi variabel data
- Analisis Korelasi Proses Awal Data
-
Pemeriksaan Data
Pengolahan Data
Masalah Penting
Solusi
Data yang terlalu banyak Data yang terlalu sedikit Data yang hilang Data yang noise (outlier) Data dengan skala yang berbeda Data trend/musiman Data bukan stasioner
-
Sampling data Pengumpulan kembali data Perbaikan data Menghilangkan data noise Normalisasi data
-
Menghilangkan trend Membedakan
Analisis Data Akhir Pembagian Data
Validasi Data
Masalah Penting -
Undefitting Overfitting
Penyesuaian Kembali Data Solusi
- Meningkatkan kelompok data - Menurunkan kelompok data
Gambar 8. Skema integrasi data persiapan untuk analisis data jaringan syaraf (Yu, 2009) E. Peramalan Menggunakan Regresi Linier Persamaan regresi adalah persamaan matematik yang dapat digunakan untuk meramalkan nilai-nilai suatu variabel tak bebas dari nilai-nilai satu atau
28
lebih variabel bebas (Kurniawan, 2008). Variabel tak bebas yang merupakan fungsi persamaan dari variabel bebas dilambangkan dengan Y, sedangkan variabel bebasnya dilambangkan dengan X, atau dengan X1 dan X2 jika variabel bebasnya dua, dan seterusnya. Hubungan variabel bebas dan variabel tak bebas dalam bentuk persamaan bisa mengambil beberapa bentuk, antara lain hubungan linier, eksponensial dan berganda. Bentuk hubungan ini dapat diliht dengan membuat diagram pencar dari nilai-nilai variabel tak bebas dengan variabel bebasnya, dimana setiap datanya dinyatakan dalam bentuk koordinat (x, y), dan selanjutnya dilakukan pengamatan terhadap kumpulan titik yang digambarkan. Jika titik-titik yang terbentuk mengikuti suatu garis lurus, maka variabel x dan y dikatakan saling berhubungan secara liner. Hubungan kedua variabel ini digambarkan dalam bentuk garis lurus, yang disebut dengan regresi linier. Garis lurus mempunyai persamaan matematik sebagai berikut : =
+
Konstanta a merupakan intersep atau perpotongan dengan sumbu tegak, dan b adalah gradien garis atau kemiringan. Lambing
digunakan
untuk membedakan nilai ramalan yang diperoleh dari persamaan regresinya dengan nilai pengamatan y yang sesungguhnya untuk nilai x tertentu, dan persamaan di atas disebut sebagai persamaan regresi contoh. F. Penelitian Terdahulu Restuwardi (2009), melakukan penelitian mengenai Sistem Intelijen untuk Prediksi Pertumbuhan Ekonomi dengan Menggunakan Jaringan Syaraf Tiruan dan Adaptif Neuro Fuzzy. Terbukti bahwa jaringan syaraf tiruan mampu pendugaan terhadap data dengan jumlah yang besar, sulit dimodelkan jika menggunakan metode regresi, dan bersifat nonlinier. Septiani (2005), melakukan penelitian mengenai Sistem Intelijen Prediksi dan Penilaian Kualitas Susu Pasteurisasi dengan Menggunakan Logika Fuzzy dan Jaringan Syaraf Tiruan. Terbukti bahwa kualitas susu mampu diprediksi menggunakan jaringan syaraf tiruan dan dapat mempengaruhi dalam
29
memenangkan persaingan untuk memuaskan dan memenuhi apa yang menjadi keinginan konsumen. Apabila suatu perusahaan mampu memenangkan persaingan untuk memuaskan dan memenuhi apa yang menjadi keinginan konsumen, maka hal tersebut berpengaruh terhadap jumlah produk yang terjual ke konsumen. Suci (2009) melakukan Prediksi Penjualan Excavator pada PT. Intraco Penta, Tbk dengan Menggunakan Artificial Neural Network. Hasil prediksi menggunakan metode artificial neural network kemudian dibandingkan dengan menggunakan metode ARIMA dan terbukti metode artificial neural network memiliki error yang lebih kecil dibandingkan error yang dihasilkan oleh metode ARIMA sehingga metode artificial neural network dapat diterapkan dalam mengantisipasi ketersediaan bahan baku excavator beberapa bulan ke depan.
30