III. METODOLOGI PENELITIAN A. Kerangka Pemikiran Perusahaan dalam era globalisasi pada saat ini, banyak tumbuh dan berkembang, baik dalam bidang perdagangan, jasa maupun industri manufaktur. Perusahaan sering dihadapkan pada masalah persediaan bahan baku. Kekurangan bahan baku menyebabkan unit produk tidak dapat di delivery kepada konsumen sedangkan kelebihan bahan baku menyebabkan produk mengalami kerusakan karena produk terlalu lama tidak didistribusikan kepada konsumen. Hal ini berpengaruh terhadap banyaknya produk yang akan diproduksi sehingga mempengaruhi juga tingkat penjualan produk yang terjual. Untuk mengatasi hal tersebut diperlukan sistem pengambilan keputusan yang tepat dalam mengatasi permasalahan ketidaksesuaian penyediaan bahan baku. Salah satu sistem penunjang keputusan yang dapat digunakan adalah sistem intelijen berbasis jaringan syaraf propagasi balik. Sistem intelijen berbasis jaringan syaraf propagasi balik (JSPB) merupakan salah satu sistem pemprosesan informasi yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Penggunaan JSPB dengan mempertimbangkan tiga hal (Zhang, Patuwo, & Hu, 1998) sebagai berikut : pertama, JSPB memiliki kemampuan untuk belajar dan beradaptasi dalam mengidentifikasi hubungan antar data. Kedua, secara umum JSPB dikatakan adalah penduga universal fungsional (universal functional approximators), maka berimplikasi bahwa JST mampu memprediksi bentuk-bentuk relasi fungsional, variabel dalam jumlah yang banyak sehingga sulit didefinisikan dan dimodelkan jika menggunakan metode peramalan konvensioanal. Ketiga, JST bersifat non-linier, yaitu dapat memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Ini berarti JST diharapkan mampu menunjukkan kinerja peramalan yang lebih baik. Penelitian ini terdiri dari dua tahapan. Pertama, tahapan analisis kebutuhan untuk mendapatkan hasil berupa atribut yang berpengaruh terhadap 31
penjualan. Beberapa hasil yang diharapkan dari analisis kebutuhan ini diantaranya adalah atribut-atribut yang dapat digunakan untuk melakukan peramalan. Tahapan kedua adalah pengimplementasian atribut-atribut hasil analisis kebutuhan. Hasil dari tahapan ini adalah sebuah sistem yang dapat melakukan peramalan penjualan produk susu menggunakan pendekatan propagasi balik (backpropagation neural network). B. Tahapan Percobaan Dalam melakukan penelitian ini, dilakukan beberapa tahapan. Kerangka metodologi penelitian disajikan pada Gambar 9. Mulai Identifikasi Masalah Pengumpulan Data dan Informasi Lapang Pengolahan Data Awal Pelatihan JST Tidak Pengujian JST Ya Pengolahan Data Akhir Selesai Gambar 9. Bagan alir penelitian 1. Identifikasi Masalah Pada jaringan syaraf, identifikasi masalah diperlukan untuk menganalisis hasil yang diharapkan. Hal ini penting dilakukan untuk 32
mendapatkan gambaran secara umum data yang relevan dengan masalah penelitian yang akan dilakukan sehingga hasil yang diharapakan dapat digunakan pada tahap selanjutnya. 2. Pengumpulan Data dan Informasi Lapang Setelah dilakuakan identifikasi masalah maka langkah selanjutnya adalah mengumpulkan data yang relevan dengan masalah penelitian berdasarkan informasi lapang yang telah dilakukan. 3. Pengolahan Data Awal (Preprocessing) Pengolahan data awal merupakan tahapan setelah dilakukan pemeriksaan terhadap data yang diperoleh. Hal ini dilakukan dalam rangka melihat tingkat kualitas dari data yang diperoleh. Permasalahan yang ada pada data antara lain mungkin data yang diperoleh terlalu banyak, terlalu sedikit, ada data yang hilang, ada data aktual diluar hasil yang diinginkan (outlier), data yang diperoleh dalam skala yang berbeda, mungkin datanya bersifat musiman (trend) dan nonstationary data. Hal ini dilakukan agar hasil peramalan yang diinginkan memiliki tingkat keakurasian dan presisi yang tinggi. Tahapan pengolahan data awal ini meliputi tahapan pemeriksaan data dan proses pengolahan data. Permasalahan yang ada setelah dilakukan pemeriksaan terhadap data dapat diselesaikan dengan beberapa solusi. Data yang terlalu banyak dapat diselesaikan dengan menyampling terhadap data yang diperoleh. Data yang terlalu sedikit dan data yang hilang dapat diselesaikan dengan mengumpulkan kembali data yang dianggap masih kurang dan hilang tersebut. Data aktual yang bersifat outlier dapat diselesaikan dengan mereduksi data tersebut. Data dengan skala yang berbeda dapat diselesaikan dengan normalisasi data. Data yang bersifat trend dapat diselesaikan dengan menghilangkan trend (detrending) dan data yang bersifat nonstationary dapat diselesaikan dengan membedakan dari tiap-tiap data yang diperoleh. 33
4. Merancang Model Jaringan Syaraf Penentuan model jaringan syaraf yang akan dipakai harus ditentukan dengan model manakah yang paling mudah beradaptasi, dan yang paling sering dipakai untuk membandingkan setiap kemungkinan. Disini model jaringan syaraf yang digunakan telah tersedia dalam software MATLAB (Siang, 2009). Hanya saja disini dilakukan inputan berupa poinpoin penting agar model jaringan syaraf yang telah tersedia dalam toolbox MATLAB dapat difungsikan dengan baik. Poin-poin dalam menjalankan fungsi jaringan syaraf untuk prediksi penjualan yang telah tersedia pada MATLAB adalah sebagai berikut : 1. Jumlah neuron input : jumlah ini mudah ditentukan karena telah dilakukan pada tahap sebelumnya. 2. Jumlah hidden layer : pada umumnya jumlah hidden layer yang dipakai adalah satu atau dua saja. 3. Jumlah hidden neuron : teknik yang umum digunakan dalam menentukan jumlah neuron hidden adalah percobaan. Hal penting yang harus diperhatikan adalah selalu memilih jaringan dengan performa terbaik dan jumlah hidden neuron yang sedikit. 4. Jumlah neuron output : umumnya aplikasi jaringan saraf untuk prediksi memakai satu output neuron saja. 5. Fungsi aktivasi : fungsi aktivasi digunakan untuk menentukan output dari neuron yang diproses. Fungsi aktivasi yang umum dipakai dalam jaringan syaraf propagasi balik adalah sigmoid (Siang, 2009). Kriteria penentu yang dipakai untuk menentukan fungsi aktivasi adalah kemampuannya untuk mempercepat fase pembelajaran dan meningkatkan keakuratan dari jaringan syaraf. Pelatihan Pelatihan pada jaringan syaraf meliputi proses iteratif dari data input sehingga jaringan tersebut sesuai dan dapat dipakai untuk prediksi. Tujuan dari pelatihan adalah meminimalkan error, yang mengindikasikan bahwa model jaringan syaraf sudah sesuai dengan input. Fungsi error yang 34
dipakai pada model jaringan syaraf MSE. Data pelatihan yang banyak pada jaringan syaraf dapat meminimalkan nilai error yang diperoleh. Mean kuadrat kesalahan atau MSE estimator adalah salah satu dari banyak cara untuk mengukur perbedaan antara estimator dan nilai sebenarnya dari kuantitas yang diperkirakan. MSE adalah fungsi risiko, sesuai dengan nilai yang diharapkan dari kuadrat kesalahan (error) kerugian atau kerugian kuadratik. MSE mengukur rata-rata dari kuadrat kesalahan. Fungsi error ini digunakan untuk penggantian bobot dari jaringan. Penggantian bobot dari jaringan dilakukan sehingga output dari jaringan dapat sesuai dengan target. Proses ini disebut dengan propagasi balik. Tujuan dari pelatihan adalah untuk mencari nilai bobot yang menghubungkan semua neuron sehingga nilai error yang dihasilkan pada jaringan syaraf menurun. Untuk melakukan ini dibutuhkan data input dan data target. Ada dua macam pelatihan pada jaringan syaraf yang umum digunakan, yaitu backpropagation dan backpropagation dengan momentum. Berikut adalah rumus dari backpropagation : η adalah learning rate. Nilainya 0.25 atau 0.5. n i adalah nilai dari neuron ke-i. Contoh perhitungan perubahan bobot pada iterasi 0 dapat dilihat pada Lampiran 1. Untuk mengganti bobot adalah dengan cara menambahkan bobot yang lama dengan Δw. Akan tetapi, bobot pada iterasi sebelumnya memberikan pengaruh besar terhadap performa jaringan syaraf. Oleh karena itu, persamaan di bawah ini ditambahkan dengan bobot lama dikalikan dengan momentum menjadi persamaan berikut : Δw = η * ε * n i + α * Δw α adalah momentum faktor. Nilainya antara 0 dan 1 Δw adalah bobot pada iterasi sebelumnya Pengujian Pengujian dilakukan dengan terhadap JST hasil pelatihan dengan menggunakan pola data uji. 35
Pelatihan Propagasi Balik Pada backpropagation ada dua hal penting, yaitu learning rate dan momentum. Learning rate menentukan seberapa cepat jaringan syaraf tersebut mempelajari pola dari data training. Momentum meningkatkan kecepatan dalam menemukan nilai yang diinginkan. Pemakaian parameter momentum ini bertujuan agar proses penyesuaian bobot tetap cenderung dalam arah yang sama. Nilai ini harus dipilih dengan benar, jika terlalu kecil maka proses pembelajaran akan lama dan jika terlalu besar maka akan terjadi penyimpangan. Sedangkan momentum menunjukkan bahwa bobot pada iterasi sebelumnya mempengaruhi bobot sekarang. Penentuan nilai parameter learning rate dan momentum pada penelitian ini ditentukan dengan trial dan error. Berikut adalah algoritma dari backpropagation : 1. Mulai pelatihan dengan sekumpulan input data dan target ouput. 2. Inisialisasi semua bobot jaringan dengan beberapa nilai random angka kecil. 3. Dengan setiap kumpulan input data, masukan inputan ke jaringan saraf dan hitung hasil outputnya. 4. Bandingkan hasil dari output jaringan dengan target output dan hitung errornya. 5. Penggantian bobot jaringan untuk menurunkan error, dan ulangi proses. Perhitungan Kesalahan (Error) Perhitungan error bertujuan untuk pengukuran keakurasian. Ada tiga macam perhitungan error yang sering dipakai, yaitu Mean Square Error (MSE), Mean Absolute Error (MAE), dan Mean Absolute Percentage Error (MAPE). MSE merupakan salah satu dari beberapa macam error yang sering dipakai. MSE merupakan rata-rata kuadrat dari selisih antara output jaringan dengan target output. Tujuan utama adalah memperoleh nilai error ini sekecil-kecilnya dengan secara iteratif mengganti nilai bobot yang 36
terhubung pada semua neuron pada jaringan syaraf. Untuk mengetahui seberapa banyak bobot harus diganti, setiap iterasi memerlukan perhitungan error yang berasosiasi dengan setiap neuron pada output dan hidden layer. Rumus dari MSE yang akan digunakan pada metode jaringan syaraf adalah sebagai berikut : MSE = ( ) MAE merupakan perhitungan error yang biasa digunakan karena merupakan hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Formula untuk MAE adalah sebagai berikut : Perhitungan MAPE hampir sama dengan perhitungan MAE, hanya hasilnya dinyatakan dalam persentase. Formula berikut merupakan rumus dari MAPE : 5. Pengolahan Data Akhir (Postprocessing) Setelah data dilatih dan diuji, hasil pengujian kemudian dilakukan perhitungan selisihnya dengan data aktual. Untuk menghitung hasil pengujian dengan data aktual digunakan metode K-fold cross validation. Perhitungan yang digunakan adalah perhitungan error menggunakan metode perhitungan error means square error (MSE). Cara perhitungan MSE adalah sebagai berikut : dimana : MSE = ( ) n c adalah nilai output dari neuron pada metode jaringan syaraf. n d adalah nilai target atau hasil sebenarnya yang harus dicapai. m adalah jumlah output dari neuron. C. Data Percobaan Dikarenakan jaringan syaraf tiruan bekerja berdasarkan pola waktu masa lalu, maka pada penelitian ini digunakan sejumlah data deret yaitu data penjualan produk susu jenis cup rasa coklat, data penjualan produk susu jenis 37
cup rasa strawberry, data penjualan produk susu jenis prepack, data kualitas susu yang meliputi kandungan lemak (fat), SNF (solid non fat), TS (total solid), berat jenis (density), TPC (total plate count). Data input ini merupakan data deret waktu yang diambil dari Januari 2008 hingga Juni 2010. Atributatribut tersebut dipilih dengan beberapa alasan, yaitu : a. Keterkaitan antar atribut diperoleh dengan menggunakan metode kausalitas antar atribut data. b. Data-data tersebut adalah data deret waktu yang up-to-date D. Arsitektur JST Propagasi Balik Kelemahan JST yang terdiri dari layar tunggal membuat perkembangan JST menjadi terhenti pada sekitar tahun 1970an. Penemuan backpropagation yang terdiri dari beberapa layar membuka cakrawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan backpropagation. 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 serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. Masalah utama yang dihadapi dalam backpropagation adalah lamanya iterasi yang harus dilakukan. Backpropagation tidak dapat memberikan kepastian tentang berapa epoch yang harus dilalui untuk mencapai kondisi yang diinginkan. Oleh karena itu dalam penelitian ini akan dibuat parameter-parameter jaringan sehingga menghasilkan jumlah iterasi yang relatif sedikit. Pada penelitian ini, arsitektur jaringan backpropagation yang diujicobakan terdiri dari dua, yaitu pola 8-2-1. D.1 Fungsi Aktivasi Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun (Siang, 2009). Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid 38
biner yang memiliki range (0,1). Pada penelitian ini digunakan fungsi aktivasi jenis sigmoid biner. dengan turunan f (x) = f(x) Gambar 10. Grafik fungsi sigmoid biner (Siang, 2009) D.2 Pemilihan Bobot Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobot menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasi menjadi kecil juga. Oleh karena itu dalam standar backpropagation, bobot diisi dengan bilangan acak kecil. Pada penelitian ini, bobot diperoleh secara acak dari perhitungan menggunakan MATLAB. D.3 Penentuan Iterasi pada Proses Belajar Tujuan utama penggunaan backpropagation adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis (disebut data pengujian). Jaringan dapat dilatih terus menerus hingga semua pola pelatihan dikenali dengan benar. Akan tetapi hal itu tidak menjamin jaringan mampu mengenali pola pengujian dengan tepat (Siang, 2009). Akan tetapi selama pelatihan, kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujian). Selama kesalahan ini menurun, pelatihan terus dijalankan. Akan tetapi jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya untuk diteruskan lagi. 39
Satu epoch adalah satu siklus yang melibatkan seluruh pola data training (training pattern). Dalam proses belajar jaringan backpropagation biasanya memerlukan banyak epoch. Pada penelitian ini ditentukan banyaknya iterasi yang dilakukan pada proses belajar adalah 1000 epoch. Jumlah ini diperkirakan cukup dan dapat menghasilkan performansi jaringan yang baik. D.4 Penentuan Jumlah Unit dalam Input dan Hidden Layer Penentuan arsitektur hidden layer terdiri dari dua bagian, yaitu penentuan jumlah layar dan ukuran layar. Jumlah layar yang digunakan dalam hidden layer adalah satu layar. Hal ini dilakukan karena dua pertimbangan, yaitu karena jumlah data training dan waktu training. Selain itu performansi dengan satu hidden layer juga baik untuk network dengan node yang tidak begitu banyak (Medsker, 1994). Dalam penelitian ini, digunakan jumlah unit input terdiri dari 8 input data dengan 2 unit hidden layer dan 1 unit output. D.5 Penentuan Learning Rate dan Momentum Proses belajar jaringan dengan algoritma backpropagation standar biasanya lambat. Beberapa hal yang bisa membuat proses belajar jaringan lebih cepat adalah penambahan parameter learning rate. Parameter learning rate menakar besarnya penyesuaian pada bobot ketika dilakukan proses belajar. Proses belajar menjadi sangat lambat jika learning rate yang digunakan terlalu kecil akan tetapi bila learning rate yang digunakan terlalu besar maka proses belajar jaringan akan berisolasi atau menyebar (Suyanto, 2007). Pada penelitian ini digunakan nilai learning rate sebesar 0,3. Permasalahan di atas dapat diminisasi oleh suatu parameter yang dinamakan momentum. Dalam algoritma backpropagation dengan menggunakan momentum, perubahan bobot didasarkan atas gradien yang terjadi untuk pola yang dimasukkan itu. Momentum akan membuat jaringan melakukan penyesuaian bobot yang lebih besar selama koreksinya memiliki arah yang sama dengan pola yang ada. Sedangkan learning rate yang kecil 40
digunakan untuk mencegah respon yang besar terhadap error dari satu pola proses pelatihan. Nilai leaning rate dan momentum yang baik ditentukan dengan cara trial dan error terhadap beberapa nilai learning rate dan momentum. Parameter learning rate dan momentum bernilai antara 0 dan 1. Untuk melihat pengaruh parameter terhadap MSE yang dihasilkan, maka penelitian ini dilakukan dengan cara melakukan proses pembelajaran melalui parameter learning rate dan momentum yang berbeda-beda. Pada penelitian ini dilakukan trial dan error terhadap parameter nilai momentum dan learning rate. Nilai learning rate yang diujicobakan pada penelitian ini adalah 0.005, 0.3, 0.2, 0.1 sedangkan nilai momentum yaitu 0.1, 0.6 dan 0.9. Tabel 1. Arsitektur JST propagasi balik Karakteristik Spesifikasi - Jumlah lapisan tersembunyi 2 - Neuron lapisan input 8 - Neuron lapisan tersembunyi 1 30, 60 - Neuron lapisan tersembunyi 2 20 - Neuron lapisan output 1 (prediksi penjualan) - Fungsi aktivasi lapisan tersembunyi Sigmoid biner - Fungsi aktivasi lapisan output Pureline - Laju pembelajaran 0.1, 0.2, 0.3, 0.005 - Jumlah epoch 1000, 10000 - Momentum 0.1, 0.9 E. Spesifikasi Sistem Pengimplementasian sistem jaringan syaraf tiruan ini menggunakan MATLAB versi 7.8.0.347 (R2009a). MATLAB merupakan perangkat lunak yang cocok dipakai sebagai alat komputasi yang melibatkan data yang banyak dan menggunakan matriks dan vektor. Fungsi-fungsi yang terdapat pada toolbox MATLAB memudahkan pengguna melakukan perhitungan dengan menggunakan data yang besar. Selain itu, MATLAB juga menyediakan fungsifungsi khusus untuk menyelesaikan model jaringan syaraf tiruan (Siang, 2009). 41