PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PREDIKSI JUMLAH PRODUKSI ROTI MENGGUNAKAN METODE BACKPROPAGATION
SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh : Dhesa Ardhiyanta 125314038
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PREDICTION OF TOTAL PRODUCTION OF BREAD USING BACKPROPAGATION A THESIS Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer Degree in Informatics Engineering Department
By : Dhesa Ardhiyanta 125314038
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT FACULTY OF SCIENCE TECHNOLOGY SANATA DHARMA UNIVERSITY 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IIALAMAN PERSETUJUAI{
PREDIKSI JI,]MLAH PRODUKSI ROTI MENGGIJNAKAN METODE BACKPROPAGATION
Pembimbing
Dr. C. Kuntoro Adt, $L,
MA,
M.Sc.
Tanggd, 26
J,.[i totb
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SKRIPSI PREDIKSI JI]MI,AH PRODUKSI ROTI MENGGIJNAKAN METbDE BACKPROPAGANON
Dipersiapkan dan ditulis oleh:
DIIESA ARDHTYA}ITA NIM:125314038
ps'r,*"H*"*,-.ln
ffi*r'ts -ry $tl tl**:ry,:-.\\ b
effiF 7^ffi
Tanda Tangan
?IN .tryffi,Hd}
Yogyakarra,
?.t.Ju /; 3?.16
Fakultas Sains dan Teknologi Universitas Sanata Dharma
S.
Si.,M.lvIath. Sc.,Ph.D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO Jangan menunggu karena tak akan ada waktu yang tepat. Mulailah dari sekarang, dan berusahalah dengan segala yang ada. Seiring waktu, akan ada cara yang lebih baik asalkan tetap berusaha.
(Napoleon Hill)
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN
Segala hasil ini saya persembahkan kepada Tuhan Yesus Kristus atas segala rahmat dan berkat yang diberikan, sehingga semua dapat terselesaikan. Kepada bapak Benediktus Samidja dan ibu El. Sir Hartini , yang telah memberikan doa, dukungan dan semangat selama proses perkuliahan. Kepada Mba Indri, Mba Lusi, Ivan atas dukungan dan doa yang diberikan. Kepada Dosen-dosen Teknik Informatika Sanata Dharma, terima kasih atas segala bimbingan dari awal proses sampai akhir perkuliahan. Kepada teman-teman Teknik Informatika Sanata Dharma angkatan 2012, terima kasih telah saling memberikan semangat dan berjuang bersama serta doa yang diberikan.
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PEnI{YATAAI I(EASLIAN KARYA Sayr
maSdm
dErgan
ffiegphmya b&wa
tugas drhir 1mg
sap tulis
mqufug a*E reB,Ed kdl kfrltr oragfui4 ke€udi png tel& die*dkan ddm & lu*e e kifm solaloya lcar:a ilmiah. tidak
Yqr*rtq t7 ndi St6
ffi"
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNTYATAATI PERSETUJUAN PUBLIKASI KARYA ILMIAH TJNTUK KEPENTINGAII AKADEMIS Yang bertanda angan di bawah ini, saya mahasiswa Universitas Sanata Dharrna Yogyakarta:
Nama NIM
: Dhesa
Ardhiyanta
:125314038
Demi pengembangan ilmu pengetahuan, sya memberikan perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul
kepada
:
PREDIKSI JUMLAH PRODUKSI ROTI MENGGTJNAKAN METODE BACXPROPAGATION Beserta perangkat yang diperlukan
( bila
ada ). Dengan demikian saya
memberikan kepada perpustakaan Universitas Sanata Dharrna Yogyakarta hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelola dalmr bentuk pangkalan data, mendistribusikan s@ara terbatas, dan mempublikasikan di internet atau media lain untuk kepentingan akademis tanpa meminta
ijin dari
saya maupun
memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan yang saya buat dengan sebenanrya.
Dibuat di : Yogyakarta Pada tanggal :
2|
TUti lotG
Yang menyatakan,
vil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK Toko roti Muntjul merupakan salah satu toko roti yang setiap hari melakukan produksi roti. Berbagai jenis roti yang diproduksi sangat bervariasi, dan permintaan konsumen yang paling tinggi jenis roti seperti roti pisang coklat, roti pisang keju, roti pisang spesial. Dalam memenuhi permintaan konsumen yang selalu berubah, toko roti ini memproduksi produk dengan jumlah yang berbeda untuk roti tersebut. Hal ini menyebabkan toko roti muntjul tidak menentu dalam menghasilkan jumlah suatu produk. Karena hal itu, dibutuhkan sebuah sistem yang akurat untuk prediksi jumlah produksi roti sebagai pertimbangan untuk memproduksi jumlah roti selanjutnya. Penelitian ini menghasilkan sebuah model prediksi untuk jumlah roti yang seharusnya diproduksi. Data yang digunakan merupakan data produksi tiga tahun terakhir yaitu mulai tahun 2013-2015. Pendekatan yang digunakan untuk prediksi jumlah
produksi
roti
adalah
dengan
metode
Jaringan
Syaraf
Tiruan
Backpropagation dengan fungsi transfer layer log-sigmoid dan fungsi transfer output purelin dan model pengujian yang digunakan pada proses prediksi adalah 3 fold cross validation dalam menguji data training. Berdasarkan hasil penelitian, diperoleh model prediksi untuk jumlah produksi roti di Toko Roti Muntjul Klaten yang berbeda untuk setiap roti. Untuk roti pisang coklat dengan model satu hidden layer dengan jumlah neuron 25 dengan delay 7 data menghasilkan akurasi 74.88 %, roti pisang keju dengan model dua hidden layer dengan masing-masing jumlah neuron 25 dan 25 dengan delay 14 data menghasilkan akurasi 71.84 % , roti pisang spesial dengan model dua hidden layer dengan masing-masing jumlah neuron 30 dan 25 dengan delay 21 data menghasilkan akurasi 74.05 %. Kata Kunci : Prediksi, Jumlah Produksi Roti, Jaringan Syaraf Tiruan Backpropagation
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT Muntjul Bakery is one of bakeries which produces bread every day. Various kinds of bread are produced here everyday. The favorite bread which become the big demand which comes from the consumer are banana chocolate bread, banana cheese bread, and special banana bread. In order to fulfill the consumers’ demand, this bakery produces those variant of bread in different quantity based on the demand. That condition makes Muntjul bakery produces inconsistent number of breads everyday. From that condition, it is required an accurate system to sum up the production of bread as a consideration to produce the amount of the next bread. This research results a model of prediction amount of bread which are supposed to be produced. The data which was used in this research was the lastthree-year production data between 2013-2015. The approach which was used to predict the production amount of bread was the artificial neural networks backpropagation method with the transfer layer log-sigmoid function and the transfer of output purelin function and the used method of 3-fold cross validation in validation data training. The result of the research showed the prediction model of the production amount of bread in Muntjul Bakery was different each day. For banana chocolate bread with a hidden layer model with the number of neurons were 25 with a delay of 7 data , showed the accuracy for about 74.88 %. For banana cheese bread with a two hidden layer model with the number of neurons were 25 and 25 with a delay of 14 data, showed the accuracy for about 71.84 %. For special banana bread with two hidden layer model with the number of neurons were 30 and 25 with a delay of 21 data, showed the accuracy for about 74.05 %. Keywords: Prediction, Total Production Bread, Neural Network Backpropagation
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan ke hadirat Tuhan Yesus Kristus karena atas berkat dan rahmatnya sehingga penulis dapat menyelesaikan tugas akhir sesuai dengan waktu yang telah ditentukan. Skripsi ini disusun sebagai salah satu syarat guna memperoleh gelar sarjana Teknik Informatika di Universitas Sanata Dharma Yogyakarta. Penulis telah menyadari bahwa dalam penyusunan skripsi ini, tanpa melibatkan bantuan dan dukungan banyak pihak skripsi ini sulit untuk selesai, namun berkat dukungan dan bantuan dari banyak pihak, akhirnya skripsi ini dapat diselesaikan. Oleh sebab itu atas bantuan dan dukungannya, penulis menghaturkan ucapan terimakasih kepada : 1. Tuhan Yesus Kristus, yang telah memberikan bimbingan dan kekuatan dalam proses penyelesaian tugas akhir. 2. Sudi Mungkasi ,S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 3. Dr. Anastasia Rita selaku Ketua Program Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta. 4. Dr. C. Kuntoro Adi, SJ. M.A., M.Sc. selaku dosen pembimbing yang telah meluangkan waktu untuk membimbing penulis selama pembuatan skripsi ini. 5. Iwan Binanto M. Cs selaku dosen pembimbing akademik yang telah membimbing penulis selama melakukan kuliah di Universitas Sanata Dharma. 6. Orang tua, Benedictus Samidja dan Elisabeth Sir Hartini, serta keluarga yang memberikan dukungan, doa, dan motivasi dalam penyelesaian tugas akhir.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7.
Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan selama menuntut ilmu dan sangat membantu penulis dalam mengerjakan tugas akhir.
8. Teman-teman Teknik Informatika
2012 yang selalu memberi semangat dan
bantuan selama menyelesaikan skripsi ini.
9.
Rekan seperjuanganyang dibimbing oleh Rm. Kun (wiga, Agustin, Nita,
Ria, Bondan, Nada, dkk) yang selalu bersemangat ketika bimbingan dan senantiasa saling memberikan semangat dan doa satu sama lain selama menyelesaikan skripsi ini. 10. Kepada teman-teman kost 21
(Dwi Tunggal), Kanca pait voice (cik rippa.
Kak Flo, Roy, Paul, Titus, Alm. Vinsen) , JANGKREK Klaten, dan OMK Natalia Birin atas dukungan dan doa yang diberikan. 11. Kepada teman-teman
l(anca Dolan crew (Dhanu, Fr.Willy, Christ, Raka,
Putri, Bagas, dkk) yang senantiasa mendengarkan keluh kesah selama pengerjaan tugas akhir dan atas doa yang diberikan.
Penulis dalam menulis skripsi
ini
sudah berusaha semaksimal mungkin,
namun penulis juga menyadari bahwa slaipsi yang dibuat ini masih banyak
jauh dari sempurnzl. oleh sebab itu penulis sangat mengharapkan kritik dan saran dari pembaca yang dapat bermanfaat bagi kekurangan dan
perbaikan pada masa mendatang. Penulis berharap semoga skripsi ini dapat bermanfaat bagi pihak-pihak yang
berkepentingan untuk menambah wav/asan dan pengetahuan dan juga bagi pembaca.
Yogyakarta,
?|
Juli 20 I 6
Penulis
&
Dhesa Ardhiyanta
xt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL …………………………………………………………….. i HALAMAN PERSETUJUAN ................................................................................ ii MOTTO.................................................................................................................. iv HALAMAN PERSEMBAHAN.............................................................................. v PERNYATAAN KEASLIAN KARYA ................................................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI................................ vii KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................... vii ABSTRAK ........................................................................................................... viii ABSTRACT ............................................................................................................. ix KATA PENGANTAR ............................................................................................ x DAFTAR ISI ......................................................................................................... xii DAFTAR GAMBAR ........................................................................................... xiv DAFTAR TABEL ................................................................................................ xvi BAB I Pendahuluan .............................................................................................. 1 1.1. Latar Belakang.............................................................................................. 1 1.2. Rumusan Masalah......................................................................................... 2 1.3. Tujuan Penelitian .......................................................................................... 2 1.4. Manfaat Penelitian ........................................................................................ 2 1.5. Batasan Masalah ........................................................................................... 3 1.6. Metodologi Penelitian................................................................................... 3 1.7. Sistematika Penulisan ...…………………………………………………….………………….. 4 BAB II Landasan Teori ........................................................................................ 5 2.1. Jaringan Syaraf Tiruan ................................................................................. 5 2.1.1. Arsitektur Jaringan................................................................................. 6 2.1.2. Fungsi Aktivasi, Bias dan Threshold ..................................................... 8 2.1.3. Backpropagation (Propagasi Balik) ...................................................... 9 2.1.4. Fungsi Aktivasi .................................................................................... 10 2.1.5. Mempercepat Pelatihan Backpropagation ........................................... 13 2.2. K-Fold Cross Validation ............................................................................ 23 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3. Konsep Manajemen Produksi ..................................................................... 24 2.3.1. Produksi ............................................................................................... 25 2.3.2. Fungsi Produksi ................................................................................... 25 2.4. Peramalan atau Prediksi ............................................................................. 26 2.4.1. Karakteristik Peramalan ....................................................................... 26 2.4.2. Metode Peramalan/ Prediksi ................................................................ 27 BAB III Metodologi Penelitian .......................................................................... 28 3.1. Data............................................................................................................. 28 3.2. Gambaran Penelitian................................................................................... 29 3.2.1. Arsitektur Jaringan .............................................................................. 30 3.3. Validasi ....................................................................................................... 31 3.4. Spesifikasi Alat ........................................................................................... 32 3.5. Tahapan Penelitian ..................................................................................... 32 BAB IV Implementasi dan Analisa Hasil ......................................................... 34 4.1. Implementasi Sistem .................................................................................. 34 4.2. Pengujian .................................................................................................... 35 4.2.1. Optimalisasi Arsitektur Jaringan dan Jumlah Delay Data ................... 35 4.3. Hasil Pengujian ........................................................................................... 47 BAB V Penutup ................................................................................................... 51 5.1. Kesimpulan ................................................................................................. 51 5.2. Saran ........................................................................................................... 51 Daftar Pustaka ....................................................................................................... 53 LAMPIRAN .......................................................................................................... 55
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Gambar 2.1 Jaringan Layar Tunggal (Siang, 2009) ................................................ 6 Gambar 2.2 Jaringan Layar Jamak (Siang, 2009) ................................................... 7 Gambar 2.3 Jaringan Reccurent .............................................................................. 8 Gambar 2.3 Jaringan dengan Bias (Siang, 2009) .................................................... 9 Gambar 2.4 Arsitektur Jaringan Backpropagation (Siang, 2009) ........................ 10 Gambar 2.5. Pengaruh Perubahan Momentum (Hagan & Demuth, 1996) …….. 15 Gambar 2.6. Lintasan dengan momentum (Hagan & Demuth, 1996) …………. 16 Gambar 2.7. Perubahan bobot learning rate=0.01 (Hagan & Demuth, 1996) …. 18 Gambar 4.1. Tampilan Utama Program ………………………………………... 34 Gambar 4.3. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 7 ............................................................................................................................. ..36 Gambar 4.4. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 14 ............................................................................................................................... 36 Gambar 4.5. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 14 ............................................................................................................................... 36 Gambar 4.6. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 21 ............................................................................................................................... 37 Gambar 4.7. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 21 ............................................................................................................................... 37 Gambar 4.8. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 28 ............................................................................................................................... 38 Gambar 4.9. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 28 ............................................................................................................................... 38 Gambar 4.10. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 7 ........................................................................................................................... …38 Gambar 4.11. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 7 ........................................................................................................................... …39 Gambar 4.12. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 14 .............................................................................................................................. .39 Gambar 4.13. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 14 .............................................................................................................................. .39
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.14. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 21. ............................................................................................................................... 40 Gambar 4.15. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 21 .............................................................................................................................. .40 Gambar 4.16. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 28 .............................................................................................................................. .41 Gambar 4.17. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 28 ... ………………………………………………………………………………….. 41 Gambar 4.18. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 7 ............................................................................................................................... 41 Gambar 4.19. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 7 ............................................................................................................................... 42 Gambar 4.20. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 14 ............................................................................................................................... 42 Gambar 4.21. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 14 ............................................................................................................................... 42 Gambar 4.22. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 21 ............................................................................................................................... 43 Gambar 4.23. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 21 ............................................................................................................................... 43 Gambar 4.24. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 28 ............................................................................................................................... 44 Gambar 4.25. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 28 ............................................................................................................................... 44 Gambar 4.26. Contoh Grafik Output Program untuk Roti Pisang Coklat ............ 48 Gambar 4.27. Contoh Grafik Output Program untuk Roti Pisang Keju ............... 48 Gambar 4.28. Contoh Grafik Output Program untuk Roti Pisang Spesial ........... 49
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Tabel 3.1 Proses Validasi ………………………………………………………. 31 Tabel 4.1. Tabel Kesimpulan Percobaan Hidden Layer dan Delay ...................... 45 Tabel 4.2. Tabel Pengujian Metode Training (Roti Pisang Coklat) ...................... 46 Tabel 4.3. Tabel Pengujian Metode Training (Roti Pisang Keju)......................... 46 Tabel 4.5. Tabel Pengujian Metode Training (Roti Pisang Spesial) ..................... 47
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.Latar Belakang Perusahaan masa kini bergerak dalam pasar yang tidak menentu dan terus berubah-ubah. Untuk itu setiap perusahaan dituntut untuk selalu mengerti dan memahami apa yang terjadi dipasar dan apa yang menjadi keinginan konsumen serta berbagai perubahan yang ada di lingkungan bisnisnya sehingga mampu bersaing dengan perusahaan lain (Agung, 2008). Dalam memenuhi permintaan pasar yang selalu berubah, suatu perusahaan memproduksi produk dengan jumlah yang berbeda. Hal ini menyebabkan perusahaan tidak menentu dalam menghasilkan jumlah suatu produk. Selain itu, dengan banyaknya permintaan dari konsumen ataupun pesanan yang terus menerus, maka perusahaan harus cepat tanggap dalam mengeluarkan keputusan dalam memproduksi produknya. Toko Roti Muntjul merupakan salah satu toko roti yang ada di Klaten. Produksi roti merupakan hal rutin yang dilakukan untuk dapat memenuhi kebutuhan konsumen, terutama ketika konsumen banyak membeli roti di toko tersebut. Dalam memproduksi roti yang harus diproduksi ada beberapa hal yang mempengaruhinya diantaranya bahan baku dan jumlah permintaan. Selama ini dalam memprediksi jumlah produksi roti yang harus dibuat hanya mengandalkan perhitungan manual saja. Belum terdapat sistem tertentu yang digunakan dalam membantu memprediksi jumlah produksi roti pada setiap harinya. Dalam produksi setiap harinya, toko roti tersebut tidak menentu dalam memproduksinya untuk setiap jenis roti khusus penjualan toko tersebut. melihat data produksi yang sudah ada, terdapat beberapa roti yang paling banyak diminati seperti roti pisang coklat, pisang keju, dan pisang spesial. Jenis roti tersebut memiliki peminat konsumennya paling tinggi daripada jenis roti yang lainnya. Sehingga untuk memuaskan konsumen perlu membuat prediksi jumlah produksi terhadap jenis roti tersebut agar stok di toko tersebut tidak kehabisan stok. Pada penelitian sebelumnya telah dilakukan penelitian terkait dengan memprediksi jumlah produksi dengan studi kasus produksi air PDAM dengan
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
Jaringan Syaraf Tiruan dengan menggunakan Backpropagation. Dalam penelitian tersebut menghasilkan akurasi yang sangat baik mencapai 95,56 % dengan data laporan bulanan perusahaan selama 5 tahun terakhir yaitu mulai tahun 2008-2012 (Pramonoaji dkk, 2013). Berkaitan permasalahan di Toko Roti Muntjul dan juga penelitian yang telah ada sebelumnya, selanjutnya akan dilakukan sebuah penelitian untuk menentukan jumlah produksi roti menggunakan metode Backpropagation. Metode tersebut merupakan algoritma dari jaringan syaraf tiruan yang dapat digunakan sebagai peramalan (forecasting) (Siang, 2009). Sehingga dalam penelitian ini menggunakan metode backpropagation dalam memprediksi jumlah produksi rotinya.
1.2.Rumusan Masalah Dari latar belakang diatas, maka dapat dirumuskan masalah sebagai berikut: 1. Bagaimana pendekatan backpropagation mampu melakukan prediksi jumlah produksi roti ? 2. Berapakah tingkat keakuratan yang dihasilkan dalam memprediksi jumlah produksi roti di Toko Roti Muntjul ?
1.3.Tujuan Penelitian Penelitian ini bertujuan untuk memprediksi jumlah produksi roti dengan menggunakan metode Backpropagation.
1.4.Manfaat Penelitian Berdasarkan tujuan penelitian diatas manfaat yang dapat diberikan adalah dapat membantu produsen dalam proses produksi menjadi lebih tepat dan efisien dan diharapkan menghasilkan informasi yang dapat dijadikan bahan pertimbangan dalam melakukan kegiatan produksi roti.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
1.5.Batasan Masalah Melihat cakupan topik yang sangat luas, maka penulis memberi batasan masalah, yaitu : 1.
Data yang digunakan adalah seluruh data produksi roti tiap hari di Toko Roti Muntjul Klaten.
2.
Data produksi Toko Roti Muntjul yang digunakan hanya menggunakan produksi roti pisang coklat, roti pisang spesial, dan roti pisang keju.
3.
Data yang digunakan adalah data produksi dari tahun 2013 sampai dengan 2015 di Toko Roti Muntjul.
1.6.Metodologi Penelitian Metode penelitian pada penyusunan penulisan ini, adalah : 1. Studi Literatur dengan tujuan : 1.1.Mempelajari dan memahami manajemen produksi 1.2.Mempelajari dan memahami Algoritma Backpropagation Jaringan Syaraf Tiruan. 2. Pengumpulan data melalui penelitian di Toko Roti Muntjul. 3. Pengujian algoritma dengan perhitungan manual terhadap jumlah produksi. 4. Perancangan sistem perhitungan otomatis terhadap prediksi jumlah produksi. 5. Implementasi algoritma ke dalam system perhitungan jumlah produksi. 6. Membandingkan hasil penentuan secara manual dan dengan rekomendasi sistem. 7. Menghitung tingkat akurasi dari algoritma yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
1.7.Sistematika Penulisan Dokumen ini terdiri atas enam bab, yaitu : 1. BAB I PENDAHULUAN Bab ini akan dijelaskan mengenai latar belakang, rumusan masalah, tujuan dan manfaat penulisan, batasan masalah, metodologi penulisan dan sistematika penulisan. 2. BAB II LANDASAN TEORI Bab ini akan dijelaskan tentang metode yang digunakan yaitu Backpropagation serta rumus-rumus yang akan dipergunakan, dan mengenai teori-teori produksi. 3. BAB III METODOLOGI PENELITIAN Bab ini berisi tentang analisis dan perancangan sistem, meliputi: gambaran umum penelitian, data yang digunakan, tahap penelitian, spesifikasi alat dan gambaran perancangan. 4. BAB IV IMPLEMENTASI DAN ANALISIS SISTEM Bab ini berisi tentang implementasi dan melakukan analisis dari prediksi jumlah produksi setiap roti menggunakan metode Backpropagation. 5. BAB V PENUTUP Bab ini berisi tentang jawaban singkat dari rumusan masalah atau kesimpulan dan saran dalam pengembangan serta penyempurnaan penilitian yang dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI Bab ini akan membahas dasar teori serta hasil penelitian terdahulu yang akan digunakan dalam proses penyusunan dan pembahasan penelitian, tercakup di dalamnya beberapa pengertian tentang jaringan syaraf tiruan dan konsep manajemen produksi. 2.1. Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2009). Jaringan Syaraf Tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi :
Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
Sinyal
dikirimkan
melalui
neuron-neuron
melalui
penghubung-
penghubung.
Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.
Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
Jaringan Syaraf Tiruan ditentukan oleh 3 hal : Pola hubungan antar neuron Metode untuk menentukan bobot penghubung Fungsi aktivasi
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
2.1.1. Arsitektur Jaringan Menurut Siang (2009) ada beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan, antara lain : 1. Jaringan Layar Tunggal (Single Layer Network) Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan outputnya. Dalam beberapa model (misal perceptron), hanya ada sebuah unit neuron output. W11 X1
Xi
Xn
Y1
Wji
Yj
Ym
Gambar 2.1 Jaringan Layar Tunggal (Siang, 2009) Gambar di atas menunjukan arsitektur jaringan dengan n unit input (X) dan m unit output (Y). Dalam jaringan tersebut, semua unit input dihubungkan dengan semua unit output, meskipun dengan bobot yang berbeda-beda. Tidak ada unit input yang dihubungkan dengan unit input lainnya. Demikian pula dengan unit output. Besaran w menyatakan bobot hubungan antara unit onput dengan urut output. Bobot-bobot ini aling independen. Selama proses pelatihan, bobotbobot ini saling independen. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasi. Model semacam ini tepat digunakan untuk pengenalan pola karena kesederhanaannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
2. Jaringan Layar Jamak (Multi Layer Network) Jaringan layar jamak merupakan perluasan dari layar tunggal. Dalam jaringan ini, selain unit input dan output, ada unit-unit lain (sering disebut layar tersembunyi). Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan.
X1
Y1
Z1
Xi
Yj
Zp
Xn
Ym
Gambar 2.2 Jaringan Layar Jamak (Siang, 2009) Gambar di atas adalah jaringan dengan n buah unit input (X) sebuah layar tersembunyi yang terdiri dari p buah unit (Z) dan m buah unit output (Y). Jaringan ini dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan layar tunggal, meskipun kadangkala proses pelatihan lebih kompleks dan lama. 3. Jaringan Reccurent Model jaringan reccurent mirip dengan jaringan layar tunggal ataupun ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
Gambar 2.3 Jaringan Reccurent Jaringan ini terdiri dari satu lapisan neuron tunggal dengan masing-masing neuron memberikan kembali outputnya sebagai input (X) pada semua neuron yang lain. 2.1.2. Fungsi Aktivasi, Bias dan Threshold Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Argument fungsi aktivasi adalah net masukan (kombinasi linear masukan dan bobotnya). Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut : a. Fungsi Threshold (batas ambang) ≥ <
={
(2.1)
Untuk beberapa kasus, fungsi threshold yang tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar) jadi ≥ <
={ −
b. Fungsi Sigmoid =
(2.2)
(2.3)
+ −
Fungsi ini sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1 dapat diturunkan dengan mudah. ′
=
c. Fungsi identitas =
−
(2.4)
(2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
Fungsi identitas sering dipakai apabila kita menginginkan keluaran berupa sembarang bilangan riil (bukan hanya pada rentan [0,1] atau [-1,1] Kadang-kadang dalam jaringan ditambahkan sebuah unit masukan yang nilainya selalu = 1. Unit yang sedemikian itu disebut bias. Bias dapat dipandang sebagai sebuah unit input yang nilainya = 1. Bias berfungsi untuk mengubah nilai threshold menjadi = 0 (bukan = a). jika melibatkan bias, maka keluaran unit penjumlahan adalah Fungsi aktivasi threshold menjadi : ={ X1
, ,
X2
=
+ ∑
<
Y
1
Gambar 2.3 Jaringan dengan Bias (Siang, 2009) 2.1.3. Backpropagation (Propagasi Balik) Backpropagation merupakan suatu teknik pembelajaran atau pelatihan jenis supervised learning yang sering digunakan. Metode ini merupakan salah satu metode yang sangat baik dalam menangani masalah pengenalan pola yang kompleks. Di dalam jaringan ini, setiap unit yang berada di lapisan input output. Arsitektur backpropagation termasuk dalam jaringan layar jamak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
Y1
Yk
Ym
Wkj
1
Z1
Zj
Zp
1
X1
Xn Xi
Gambar 2.4 Arsitektur Jaringan Backpropagation (Siang, 2009) Pada gambar di atas merupakan arsitektur jaringan syaraf tiruan propagasi balik dengan n buah masukan ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran. 2.1.4. Fungsi Aktivasi Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi baberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki rentang(0,1). =
+ −
′
dengan turunan
=
( −
)
Fungsi lain yang juga memenuhi syarat tersebut adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan rentang (-1, 1). =
+
−
− dengan turunan
′
=
( +
)
−
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditransformasikan sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternative lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
layar yang bukan layar keluaran. Pada layar keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas : f(x) = x. Algoritma pelatihan backpropagation terdiri dari 3 tahapan utama yaitu 1. Tahap Propagasi Maju Selama propagasi maju, sinyal masukan (=Xi) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layar tersembunyi (=Zj) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi diatasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (=yk). Berikutnya, keluaran jaringan (=yk) dibandingkan dengantarget yang harus dicapai (=tk). Selisih tk-yk adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi. 2. Tahap Propagasi Mundur Berdasarkan kesalahan tk-yk, dihitung faktor
k
(k= 1,2,……,m) yang
dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk.
k
juga dipakai untuk
mengubah bobot garis yang berhubungan langsung dengan unit masukan dihitung. Dengan cara yang sama, dihitung
j
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
3. Tahap Perubahan Bobot Setelah semua faktor
dihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor
neuron
dilayar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas
k yang
ada di unit keluaran.
Ketiga tahap tersebut 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. Secara umum algoritma pelatihan untuk jaringan backpropagation adalah sebagai berikut : 1. Inisialisasi semua bobot dengan nilai bilangan acak kecil 2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9 3. Untuk setiap pasang data pelatihan, lakukan langkah 3-8 4. Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi di atasnya 5. Hitung semua keluaran di unit tersembunyi Zj (j=1,2,3, ….,p) Z_netj = vjo + ∑ = Zj = f (Z_netj) =
+ − _�
(2.6) (2.7)
6. Hitung semua keluaran jaringan di unit yk (k=1,2,… , m) � Y_netk = Wko + ∑ =
Yk = f(y_netk) =
+ − _�
(2.8) (2.9)
7. Hitung faktor error lapisan output (δ) unit keluaran berdasarkan kesalahan di setiap unit keluaran yk (k=1,2,…,m) δk = (tk – yk) f `(y_netk) = (tk – yk) yk (1 - yk)
(2.10)
δk merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar dibawahnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
Hitung suku perubahan wkj (yang akan dipakai nanti untuk merubah bobot wkj) dengan laju percepatan α ∆wkj = α δk zj ; k = 1,2,3,…,m ; j= 0,1,….,p
(2.11)
δ _netj =∑
(2.12)
8. Hitung faktor error lapisan output (δ) unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,…,p) =
faktor δ unit tersembunyi : δj = δ_netj f `(z_netj) = δ_netj zj (1- zj)
(2.13)
hitung suku perubahan bobot vji (yang akan dipakai nanti untuk merubah bobot vij) ∆vji = α δj xi ; j = 1,2,3,…,p ; i= 0,1,….,n
(2.14)
9. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran : Wkj (baru) = wkj (lama) + ∆wkj (k=1,2,…..,m ; j = 0,1,…..,p)
Perubahan bobot garis yang menuju ke unit tersembunyi : Vji (baru) = vji (lama) + ∆vji (j=1,2,…..,p ; i = 0,1,…..,n)
10. Uji kondisi berhenti (akhir iterasi)
2.1.5. Mempercepat Pelatihan Backpropagation Menurut Siang (2009) Metode standar backpropagation seringkali terlalu lambat untuk keperluan praktis. Beberapa modifikasi dilakukan terhadap standar backpropagation dengan cara mengganti fungsi pelatihannya. Secara umum, modifikasi dapat dikelompokkan dalam dua kategori. Kategori pertama adalah metode yang menggunakan teknik heuristik yang dikembangkan dari metode penurunan tercepat yang dipakai dalam standar backpropagation. Kategori kedua adalah menggunakan metode optimisasi numerik selain penurunan tercepat. Beberapa metode yang dipakai sebagai modifikasi adalah metode conjugate gradien, quasi Newton, dan lain-lain. Dalam sub bab berikut ini dibicarakan dahulu tentang beberapa modifikasi yang masuk dalam kategori pertama (backpropagation dengan momentum, variabel laju pemahaman,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
dan backpropagation resilient). Berikutnya barulah dibahas tentang beberapa metode yang masuk dalam kategori kedua. Beberapa
metode
yang
dipakai
untuk
mempercepat
pelatihan
backpropagation sebagai berikut : a. Metode Penurunan Gradien dengan Momentum (traingdm) Modifikasi metode penurunan tercepat dilakukan dengan menambahkan momentum. Dengan momentum, perubahan bobot tidak hanya didasarkan atas error yang terjadi pada epoch pada waktu itu. Perubahan bobot saat ini dilakukan dengan memperhitungkan juga perubahan bobot pada epoch sebelumnya. Dengan demikian kemungkinan terperangkap ke titik minimum lokal dapat dihindari. Menurut Hagan dan Demuth (1996) Sebelum mengimplementasikan ke dalam sebuah aplikasi jaringan syaraf, akan dibuktikan dalam sebuah ilustrasi efek penghalusan dengan mempertimbangkan : =
Dimana
−
+
−
(2.15)
adalah input ke filter,
adalah output dari filter dan
adalah koefisien momentum yang harus memenuhi <
(2.16)
Efek dari filter ditunjukan dengan gambar 2.5. Contoh ini input diambil dari gelombang sinus : =
+ sin
�
(2.17)
6
Dan koefisien momentum ditetapkan untuk
= . (a) dan
= .
(b).
Dari gambar tersebut dapat dilihat osilasi dari output filter kurang dari osilasi dalam filter input. Selain itu, sebagai
meningkat osilasi dalam output filter
berkurang. Sangat penting juga memperhatikan bahwa output filter rata-rata sama dengan rata-rata menyaring masukan, meskipun sebagai filter output lebih lambat untuk merespon
meningkat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
Gambar 2.5. Pengaruh Perubahan Momentum (Hagan & Demuth, 1996) Untuk meringkas, filter cenderung mengurangi jumlah perubahan, sementara masih mengikuti nilai rata-rata. Untuk cara implementasi dalam jaringan sayaraf tiruan, pertama menggunakan parameter sebagai berikut : ∆
∆
= −
= −
−
�
.
,
(2.18) (2.19)
Ketika filter momentum ditambahkan untuk mengganti parameter, sehingga mendapatkan persamaan perubahan backpropagation : ∆
∆
=
=
∆
∆
−
−
−
−
−
−
−
.
�
,
(2.20) (2.21)
Apabila menggunakan persamaan modifikasi ini maka akan memperoleh hasilnya seperti gambar 2.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
Gambar 2.6. Lintasan dengan momentum (Hagan & Demuth, 1996) Dari gambar 2.6. cenderung untuk membuat lintasan terus ke arah yang sama. Semakin besar , semakin cepat t lintasannya. b. Variabel Laju Pemahaman (traingda, traingdx) Dalam standar backpropagation, laju pemahaman berupa suatu konstanta yang nilainya tetap selama iterasi. Akibatnya, unjuk kerja algoritma sangat dipengaruhi oleh besarnya laju pemahaman yang dipakai. Secara praktis, sulit untuk menentukan besarnya laju pemahaman yang paling optimal sebelum pelatihan dilakukan. Laju pemahaman yang terlalu besar maupun terlalu kecil akan menyebabkan pelatihan menjadi lambat. Pelatihan akan lebih cepat apabila laju pemahaman dapat diubah ubah besarnya selama proses pelatihan. Jika error sekarang lebih besar dibandingkan error sebelumnya, maka laju pemahaman diturunkan. Jika sebaliknya, maka laju pemahaman diperbesar. Dengan demikian laju pemahaman dapat dibuat sebesar besarnya dengan tetap mempertahankan kestabilan proses.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
Menurut Hagan dan Demuth (1996) Menggunakan iterasi dibawah ini merupakan proses dari metode steepest descent : +
=
−
(2.22)
adalah gradien evaluasi lama
Dimana = ∇�
|
: (2.23)
=
Ada dua metode umum untuk menentukan determinan dari learning rate, ∝ . Satu pendekatan untuk meminimalkan kinerja indeks �
dengan
sehubungan untuk ∝ pada setiap iterasi. Dalam pilihan meminimalkan setiap baris.
−∝
Metode lainnya dalam menyeleksi ∝ adalah guna untuk menetapkan nilai (∝ = . ∝ =
, atau menggunakan variabel, tetapi nilai yang telah ditentukan
.
Dalam perhitungan algoritma steepest descent untuk fungsi berikut : �
=
Memulai dengan menginisialisasi
Langkah pertama mencari gradient
∇�
=[
�
� � �
� �
]=[
+ =[
, . ] .
]
(2.24)
Apabila mengevaluasi gradient yang telah ditemukan maka akan menemukan = ∇�
|
=
=[
]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Menganggap learning rate bernilai ∝= .
. iterasi pertama dari algoritma
steepest descent akan menjadi : =
−∝
=[
. ]− . .
. .
]− .
Iterasi kedua dari steepest descent : =
−∝
=[
[ [
]=[ .
.
]=[
. . .
]
.
]
Jika iterasi dilanjutkan maka akan menjadi ilustrasi dibawah ini :
Gambar 2.7. Perubahan bobot learning rate=0.01 (Hagan & Demuth, 1996) c. Resilient Backpropagation (trainrp) Jaringan backpropagation umumnya menggunakan fungsi aktivasi sigmoid. Fungsi sigmoid akan menerima masukan dari range tak berhingga menjadi keluaran pada range [0,1]. Semakin jauh titik dari x = 0, semakin kecil gradiennya. Pada titik yang cukup jauh dari x = 0, gradiennya mendekati 0. hal ini menimbulkan masalah pada waktu menggunakan metode penurunan tercepat (yang iterasinya didasarkan atas gradien). Gradien yang kecil menyebabkan perubahan bobot juga kecil, meskipun masih jauh dari titik optimal .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
Masalah ini diatasi dalam resilient backpropagation dengan cara membagi arah dan perubahan bobot menjadi dua bagian yang berbeda. Ketika menggunakan penurunan tercepat, yang diambil hanya arahnya saja. Besarnya perubahan bobot dilakukan dengan cara lain (Siang, 2009). Menurut Riedmiller dan Braun (1996) Untuk mencapai hal ini, setiap bobot akan selalu diperbarui nilainya ∆ yang akan menentukan nilai bobot
terbaru. Pembaharuan nilai bobot ini selama proses pembelajaran dalam fungsi error E. berikut learning-rule yang digunakan :
∆ =
−
�+ ∗ ∆ {∆
−
�− ∗ ∆ −
,
Setiap waktu bobot
�� −
,
�
�� −
,
�
∗
∗
�� �
�� �
< �− <
>
<
(2.25)
< �+ }
selalu berubah, yang menunjukan bahwa perubahan
terakhir terlalu besar , perubahan nilai ∆ dari faktor nilai �− .
Selama perubahan nilai setiap bobot mengikuti aturan : jika turunan adalah positif, nilai bobot akan turun, jika turunan adalah negative maka perubahan nilai akan ditambahkan :
= +
��
−∆ , {
=
+∆ ,
�
,
+∆
�� �
> <
(2.26) }
(2.27)
Namun, ada satu pengecualian: Jika turunan parsial perubahan tanda, yaitu langkah sebelumnya terlalu besar dan minimum, pembaharuan bobot sebelumnya adalah dikembalikan:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
−
= −∆
∆
�� −
,
∗
�
��
(2.28)
�
Nilai dan bobot berubah setiap waktu seluruh pola yang ditetapkan telah dimasukan ke dalam jaringan. d. Algoritma Gradien Conjugate (traincgf, traincgp, traincgb) Dalam standar backpropagation, bobot dimodifikasi pada arah penurunan
tercepat. Meskipun penurunan fungsi berjalan cepat, tapi tidak menjamin akan konvergen dengan cepat. Dalam algoritma gradien konjugate, pencarian dilakukan sepanjang arah conjugate. Dalam banyak kasus, pencarian ini lebih cepat. Ada berbagai metode pencarian yang dilakukan berdasarkan prinsip gradien conjugate, antara lain Fletcher-Reeves (‘traincgf’), PolakRibiere (‘traincgp’), Powel Beale (‘traincgb’). Menurut Hagan dan Demuth (1996) Satu set vector saling conjugate sehubungan dengan pasti positif matriks Hessian jika dan hanya jika �� �� = ,
≠
(2.29)
Apabila tanpa matriks Hessian maka perlu fungsi kuadrat : =� +
∇�
∇ �
(2.30)
=�
(2.31)
Dengan menggabungkan persamaan ini dapat menemukan bahwa perubahan gradien terdapat perulangan
∆
=
∆
=
+
−
= �
−
=
Dimana dari rumus
Dan
+
+
+
+
adalah − �
�
+
adalah dipilih untuk meminimalkan �
Lalu didaptkan sebuah kondisi konjugasi :
= �∆
(2.32)
(2.33) dalam arah � .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
�� �� = ∆
�
�� = ∆
�
� = ,
≠
(2.34)
Dengan memperhatikan bahwa tidak lagi perlu mengetahui matriks Hessian. Kami telah disajikan kembali kondisi conjugacy dalam hal perubahan gradien di berturut-turut iterasi dari algoritma. Petunjuk pencarian akan konjugat jika vektor ortogonal dengan perubahan gradien. Semua algoritma conjugate gradient memulai dengan mencari di arah keturunan curam (negatif dari gradien) pada iterasi pertama. � =−
(2.35)
Perihal lain dari algoritma conjugate gradient dari beberapa usulan arah pencarian pada setiap iterasi ditentukan oleh : � =−
+
�
(2.36)
−
Berbagai versi dari algoritma conjugate gradient dibedakan oleh cara di mana βk konstan dihitung. Untuk Fletcher-Reeves memperbarui prosedur ini : �� �
= ��
−
(2.37)
� −
Ini adalah rasio norma kuadrat dari gradien saat ini untuk norma kuadrat dari gradien sebelumnya. Untuk rumus Polak-Ribiere yang =
∆��− �
konstan dihitung dengan : (2.38)
��− � −
Untuk semua algoritma conjugate gradient, arah pencarian secara berkala ulang ke negatif dari gradien. Titik ulang standar terjadi ketika jumlah iterasi adalah sama dengan jumlah parameter jaringan (bobot dan bias), tetapi ada metode ulang lain yang dapat meningkatkan efisiensi pelatihan. Teknik ini restart jika ada sangat sedikit orthogonality meninggalkan antara gradien saat ini dan gradien sebelumnya. Ini diuji dengan ketidaksetaraan berikut: |
� −
|
. ||
||
(2.39)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Jika kondisi ini dipenuhi, arah pencarian ulang ke negatif dari gradien. Dengan contoh perhitungan sebagai ilustrasi dengan meminimalkan linear dengan rumus
Dengan inisialisasi input :
�� [
� � =
]�
.� ] =[ − . �
dengan fungsi gradient
∇�
=[
� +� ] � + �
Dengan steepest descent, perintah pencarian pertama adalah nilai negative dari gradient : � =−
�
= −∇ �
| =
=[
− . ] − .
Learning rate untuk iterasi pertama akan menjadi :
∝ =
[− .
[ .
− . . ][ ] − . = . − . ] [ − . ][ ] − .
Langkah pertama dari conjugate gradient antara lain : =
+∝ � = [
. − .
]+ .
[
. − . ]=[ − . − .
]
Langkah diatas sama dengan untuk langkah pertama steepest descent dengan meminimalkan sebuah baris. Sekarang unutk mencari pencarian kedua dibutuhkan gradient pada = ∇�
| =
=[
][
.
− .
]=[
. ] − .
:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
Jadi dapat mencari nilai �
=
=
�
:
. − . ][ ] − . = . ][ . ] .
[ .
[ .
. .
= .
Penggunaan metode dari Fletcher and Reeves. Perintah pencarian kedua ketika dari : � = −
− . � =[ .
+
]+ .
[
− . − . ]=[ − . .
]
Learning rate untuk iterasi kedua akan menjadi :
∝ = −
[− .
[ .
.
− . ] [− . . ][
]
− . ][ .
]
=
. .
= .
Langkah kedua dari conjugate gradient antara lain : =
+∝ � = [
.
− .
]+ .
[
− . .
]=[ ]
Sehingga iterasi sudah dihentikan karena nilai minimum sudah didapatkan dalam dua iterasi. 2.2. K-Fold Cross Validation Alternative lain yang lebih baik daripada random subsampling adalah validasi silang atau cross validation. Pada pendekatan ini, setiap data digunakan dalam jumlah yang sama untuk pelatihan dan tepat satu kali untuk pengujian. Bentuk umum pendekatan ini disebut dengan k-fold cross-validation, yang memecah set data menjadi k bagian set data dengan ukuran yang sama. Setiap kali berjalan, satu pecahan berperan sebagai set data latih sedangkan pecahan lainnya menjadi data uji. Prosedur tersebut dilakukan sebanyak k kali sehingga setiap data berkesempatan menjadi data uji tepat satu kali dan menjadi data latih sebanyak k-1 kali. Total error didapatkan dengan menjumlah semua error yang didapatkan dari k kali proses.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
Bentuk khusus dari metode ini adalah ketika k di set k=N, jumlah data dalam set data. Metode ini disebut dengan leave-one-out, yaitu set data uji hanya berisi satu data saja, sedangkan proses pelatihan dan pengujian dilakukan sebanyak N kali. Pendekatan ini mempunyai keuntungan penggunaan sebanyak mungkin data sebagai set data latih sehingga data latih yang digunakan hamper seluruh data dalam set data. Hanya saja, pendekatan ini mempunyai kelemahan, yaitu komputasi yang mahal untuk mengulang prosedur sebanyak N kali. Selanjutnya, karena set data uji hanya berisi satu data saja, maka varian nilai kinerja yang diperkirakan bisa jadi tinggi. Sebagai contoh data dibagi menjadi 3 bagian dengan jumlah data yang sama. Data bagian 1 dan data bagian 2 digunakan sebagai data pelatihan dan data bagian 3 digunakan sebagai data pengujian. Contoh ini disebut dengan 3-Fold Cross Validation. K-Fold Cross Validation menjadikan data pelatihan dan data pengujian tidak sama. Data pelatihan tidak digunakan sebagai data pengujian dan sebaliknya. 2.3. Konsep Manajemen Produksi Secara umum, manajemen produksi adalah kegiatan di mana sumberdaya, yang mengalir di dalam sistem tertentu, dikombinasikan dan diubah bentuk dengan cara tertentu sehingga menambah nilai (Reksohadiprodjo, 1995). Manajemen produksi bertanggung jawab atas disatukannya masukan dalam rencana produksi yang secara efektif memanfaatkan bahan, kapasitas dan pengetahuan yang ada dalam fasilitas produksi. Dengan adanya permintaan tertentu terhadap sistem, maka kerja dijadwalkan dan dikendalikan untuk menghasilkan barang-barang dan jasa yang dibutuhkan. Terdapat tiga konsep penting yaitu : 1. Sumberdaya Sumberdaya adalah masukan bahan, manusia dan modal, serta teknologi informasi dan energi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
2. Sistem Sistem adalah susunan komponen yang dirancang bangun untuk mencapai tujuan sesuai rencana. Badan usaha merupakan subsistem terdiri atas kegiatan pemasaran, produksi, personalia, keuangan dan administrasi-akuntansi. 3. Proses transformasi dan kegiatan yang menambah nilai Kegiatan menambah
nilai
transformasi
atau
pengubahan
mengkombinasikan dan
bentuk
mengubah
dan
bentuk
sumberdaya dengan memanfaatkan teknologi. 2.3.1. Produksi Menurut Reksohadiprodjo (1995) produksi merupakan pengubahan bentuk atau transformasi sumberdaya menjadi barang-barang dan jasa-jasa. Produktivitas adalah peningkatan proses produksi. Peningkatan produksi berarti perbandingan yang membaik jumlah sumberdaya yang dipergunakan (masukan) dengan jumlah barang-barang dan jasa-jasa yang diproduksikan (keluaran). Pengurangan dalam masukan dengan keluaran tetap atau kenaikan keluaran sedang masukan tetap merupakan peningkatan dalam produktivitas. 2.3.2. Fungsi Produksi Secara umum fungsi produksi terkait dengan pertanggung jawaban dalam pengolahan dan mengubah masukan (input) menjadi keluaran (output) berupa barang atau jasa yang akan dapat memberikan hasil pendapatan bagi perusahaan. Untuk melaksanakan fungsi tersebut diperlukan serangkaian kegiatan yang saling keterkaitan dan menyatu sebagai suatu sistem. Berbagai kegiatan yang berkaitan dengan fungsi produksi dan operasi ini dilaksanakan oleh beberapa bagian yang terdapat dalam suatu perusahaan, baik perusahaan itu berupa perusahaan besar, maupun perusahaan itu adalah perusahaan kecil. Empat fungsi terpenting dalam fungsi produksi dan operasi adalah a. Proses pengolahan, merupakan metode atau teknik yang digunakan untuk pengolahan masukan (input).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
b. Jasa-jasa penunjang, merupakan sarana yang berupa pengorganisasian yang perlu untuk penetapan teknik dan metode yang akan dijalankan, sehingga proses pengolahan dapat dilaksanakan secara efektif dan efisien. c. Perencanaan, merupakan penetapan keterkaitan dan pengorganisasian dari kegiatan produksi dan operasi yang akan dijalankan dalam suatu dasar waktu atau periode tertentu. d. Pengendalian atau pengawasan, merupakan fungsi untuk menjamin terlaksananya kegiatan sesuai dengan yang direncanakan, sehingga maksud dan tujuan untuk penggunaan dan pengolahan masukan (input) pada kenyataanya dapat dilaksanakan. 2.4. Peramalan atau Prediksi Menurut Reksohadiprodjo (1995) peramalan atau prediksi merupakan penelaahan tentang situasi yang menyelimuti lingkungan masa dating sebagai dasar pengambilan keputusan. Faktor-faktor yang mempengaruhi nya sangat banyak seperti halnya oleh berbagai faktor lingkungan yang saling bernteraksi dalampasar yang berada di luar kendali perusahaan, dimana faktor-faktor lingkungan tersebut akan mempengaruhi peramalan. 2.4.1. Karakteristik Peramalan Menurut Nasution (1999), bahwa peramalan yang baik mempunyai beberapa kriteria yang penting, antara lain akurasi, biaya, dan kemudahan. 1. Akurasi Akurasi dari suatu hasil peramalan diukur dengan kebiasaan dan kekonsistensian peramalan. Hasil peramalan dikatakan bila peramalan tersebut terlalu tinggi atau rendah disbanding dengan kenyataan yang sebenarnya terjadi. Hasil peramalan dikatakan bila kesalahan peramalan relative kecil. 2. Biaya Biaya yang diperlukan untuk pembuatan suatu peramalan tergantung dari jumlah item yang diramalkan, lamanya periode peramalan, dan metode peramalan yang dipakai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
3. Kemudahan Penggunaan metode peramalan yang sederhana, mudah dibuat, dan mudah diaplikasikan akan memberikan keuntungan bagi perusahaan. 2.4.2. Metode Peramalan/ Prediksi Berdasarkan metode peramalan yang digunakan peramalan dibedakan menjadi metode kualitatif dan kuantitatif. a. Metode Kualitatif Didasarkan pada intuisi dan penilaian orang yang melakukan peramalan dari pada pemanipulasi (pengolahan dan penganalisisan) data. b. Metode Kuantitatif Didasarkan pada pemanipulasian atas data yang tersedia secara memadai dan tanpa intuisi maupun penilaian subyektif dari orang yang melakukan peramalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III METODOLOGI PENELITIAN Bab ini akan dibahas mengenai cara kerja algoritma yang digunakan dan proses yang akan dibangun untuk melakukan perhitungan prediksi harga saham. 3.1. Data Data yang digunakan dalam penelitian ini adalah data produksi roti harian dari tahun 2013 hingga tahun 2015 di Toko Roti Muntjul Klaten untuk jenis roti sebagai berikut : 1. Roti Pisang Coklat 2. Roti Pisang Keju 3. Roti Pisang Spesial Seluruh data produksi roti yang digunakan diambil langsung dari toko tersebut diatas dalam format Excel dengan menghilangkan hari yang toko roti tersebut tidak melakukan produksi, dan setiap roti memiliki 1002 data. Data tersebut akan dibagi kedalam data yang akan digunakan untuk pelatihan dan pengujian dalam jaringan syaraf tiruan. Setelah data dikumpulkan maka dilakukan preprocessing data yaitu dengan min-max normalization untuk mendapatkan bentuk data yang optimal dengan mengubah data dalam range 0 sampai 1. Adapun rumus normalisasi yang digunakan: ′
=
�−
∗
−
−
(3.1)
+
Dengan X’ adalah data hasil perhitungan dan X adalah data asli, sedangkan a adalah data maksimum yang diharapkan dan b adalah data minimum yang diharapkan, datamax adalah nilai data terbesar dari data sedangkan datamin adalah nilai data terkecil dari data. Untuk melakukan prediksi produksi roti perlu diketahui seberapa banyak data yang akan digunakan agar prediksi produksi roti lebih optimal. Karena hal itu perlu dilakukan
perhitungan
dengan
data
28
input
jumlah
produksi
roti
dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
memperhitungkan delay hari yaitu dimulai dari 7 kemudian akan ditambah 7 untuk variabel selanjutnya. Contohnya dengan nilai delay 7 berarti dalam perhitungan akan digunakan data 6 hari sebelumnya untuk melakukan prediksi hari ini seperti Gambar 3.1. Pencarian delay terbaik ini merupakan tahap pertama dari penelitian ini.
26
36
12
18
36
36
Data Input
32
Data Target
Gambar 3.1. Contoh pembagian data input dan target dengan nilai delay 7
3.2.Gambaran Penelitian
Data Input
Testing
Training
Backpropagation
Uji
Hasil
Gambar 3.2. Gambaran Proses
Data input merupakan data yang sudah diubah kedalam range [0 1] atau sudah melewati proses preprocessing. Data tersebut akan dibagi sebagi data training dan testing.
Untuk proses training, langkah selanjutnya masuk kedalam jaringan syaraf tiruan backpropagation dengan arsitektur seperti Gambar 3.3.
Proses uji merupakan proses untuk menguji data testing terhadap data training yang sudah melewati proses backpropagation.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
Setelah melewati proses tersebut maka data hasil akan diperoleh.
3.2.1. Arsitektur Jaringan Xn-6
Xn-5 Z1
Z1
Z2
Z2
Xn-4
Xn-3
Xn
Hasil
Xn-2
Output Layer Zj
Zj
Xn-1
Input Layer
Hidden Layer 1
Hidden Layer 2
Gambar 3.3. Arsitektur Jaringan Gambar diatas merupakan rancangan arsitektur jaringan dengan delay 7 data yang akan digunakan sebagai berikut :
input layer yang mempunyai 6 data masukan yang berisi data produksi hasil normalisasi, dengan setiap neuron mewakili 1 data masukan dan n menyatakan jumlah delay data yang digunakan.
Mempunyai dua hidden layer dengan jumlah neuron j, dan fungsi transfer yang digunakan adalah logsig (sigmoid biner) karena data yang digunakan setelah melewati proses normalisasi memiliki rentang [0 1]. Sedangkan untuk menghasilkan sebuah output menggunakan fungsi transfer purelin. Untuk mendapatkan yang optimal dalam jaringan dilakukan pengujian terhadap jumlah hidden layer yaitu 1 dan 2 hidden layer dengan variasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
jumlah neuron yang digunakan dimulai dengan jumlah 25 neuron sampai 70 neuron
Mempunyai satu neuron output layer yang mewakili 1 data ke n ,yang menyatakan jumlah delay yang dijadikan data target yang akan menghasilkan hasil prediksi.
3.3.Validasi Dalam melakukan pengujian dari penelitian ini baik makan akan dilakukan dengan 3-fold cross validation. Proses 3-fold cross validation adalah sebagai berikut: data produksi selama 3 tahun akan dibagi menjadi 3 kelompok. Setiap kelompok memiliki data yang berbeda untuk setiap data roti karena setiap hari terdapat roti yang tidak melakukan produksi dan setiap kelompok data juga selalu berubah tergantung delay data yang digunakan. Proses validasi akan dilakukan sesuai tabel di bawah: Tabel 3.1 Proses Validasi No
Data Training
Data Testing
1
Kelompok A dan B Kelompok C
2
Kelompok A dan C Kelompok B
3
Kelompok B dan C Kelompok A
Setelah dilakukan pengujian sebanyak 3 kali seperti ketentuan diatas maka dilakukan perhitungan akurasi dengan cara menghitung selisih antara hasil prediksi produksi dengan nilai sebenarnya dan dengan rumus sebagai berikut :
=
−(
(|
�
�
−ℎ �
�
�
|)
)
%
(3.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
Untuk setiap pengujian data testing akan dilakukan perhitungan akurasi dengan rumus diatas. Tetapi dalam sistem yang akan ditampilkan adalah rata-rata akurasi dari masing-masing jenis roti dengan rumus sebagai berikut :
−
=
+
+
(3.3)
3.4. Spesifikasi Alat Sistem ini mempunyai kebutuhan perangkat keras dan lunak untuk mendapatkan hasil yang maksimal. a. Kebutuhan Perangkat Keras Sistem ini membutuhkan perangkat keras dengan spesifikasi minimal sebagai berikut : Processor
: Intel® Core ™ i3-3217U CPU @ 1.80GHz
Memory
: 4096 MB
Harddisk
: 500 GB
b. Kebutuhan Perangkat Lunak Sistem ini membutuhkan perangkat lunak untuk pembuatan dan menjalankannya, perangkat lunak tersebut adalah sebagai berikut : Microsoft Windows 10 Matlab 2012 Matlab 2012 digunakan untuk membuat sistem sekaligus menjalankan sistem yang dibuat.
3.5.Tahapan Penelitian Dalam sub bab ini akan membahas tentang metode perancangan yang akan digunakan dan langkah-langkah dalam penelitian ini, adapun sebagai berikut : 1. Tahap wawancara Tahap ini dilakukan dengan narasumber secara langsung, dan yang menjadi sumber adalah pihak dari Toko Roti Muntjul.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
2. Pencarian informasi mengenai segala sesuatu yang berhubungan dengan penelitian ini. 3. Pengumpulan data. 4. Analisa terhadap data dan perancangan mengenai sistem yang akan dibuat. 5. Analisa dan perancangan yang telah dilakukan sebelumnya, selanjutnya diimplementasikan ke dalam perangkat lunak. 6. Dilakukan pengujian terhadap sistem dengan memasukkan data latih dan data uji. 7. Dilakukan analisa terhadap sistem yang telah diuji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV IMPLEMENTASI DAN ANALISA HASIL Bab ini akan berisikan tentang implementasi dan analisis keluaran dari sistem dengan algoritma yang telah digunakan serta perancangan antarmuka. 4.1. Implementasi Sistem
Gambar 4.1. Tampilan Utama Program Pada tampilan antar muka sistem terdapat 4 panel fungsi dari sistem, yaitu : a. Data Kelompok Proses uji data kelompok dilakukan dengan cara memilih jenis roti terlebih dahulu dengan memilih satu jenis roti. Kemudian memasukan nilai variabel jaringan syaraf tiruan, yaitu: hidden layer 1, hidden layer 2, epoch dan learning rate. Setelah itu menekan tombol “prediksi”. b. Grafik Proses ini dilakukan untuk menampilkan perbandingan grafik antara data asli dan data hasil prediksi. Grafik akan muncul ketika menekan tombol “Grafik”. c. Data Tunggal Proses ini dilakukan untuk menguji satu data saja. Cara nmenguji data tersebut adalah memasukan tanggal prediksi dengan format tanggal (bulan/hari/tahun) kemudian menekan tombol Prediksi. Kemudian akan
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
muncul hasil dan waktu prediksi. Tabel data input digunakan untuk menampilkan data input yang digunakan untuk menguji data tunggal. 4.2. Pengujian Pengujian sistem telah dilakukan beberapa kali untuk mendapatkan hasil yang paling optimal dimulai dari menguji dan merubah jumlah neuron dalam setiap hidden layer, fungsi aktivasi dan metode training yang digunakan dalam arsitektur jaringan. Selain itu pengujian juga dilakukan terhadap jumlah data input dengan beberapa kombinasi delay data yang dilakukan dalam pengujian sistem tersebut. 4.2.1. Optimalisasi Arsitektur Jaringan dan Jumlah Delay Data Pada proses optimalisasi jaringan ini akan dilakukan terhadap data pelatihan sebanyak 1002 data untuk setiap jenis roti dengan beberapa kombinasi hidden layer dan delay data. Kombinasi hidden layer dimulai dengan jumlah satu hidden layer dengan 25 neuron akan bertambah 5 neuron untuk setiap percobaan dan delay data dimulai dengan 7 dan akan bertambah 7 untuk setiap percobaan yang dilakukan sampai delay 28 data. Dan setelah itu akan menambah kombinasi dengan dua hidden layer dengan kombinasi yang sama. Berikut hasil proses optimalisasi jaringan yang dilakukan : Fungsi transfer hidden layer 1 = Logsig Fungsi transfer hidden layer 2 = Logsig Fungsi Aktivasi = Purelin ; Metode Train = traingdx
Akurasi 1 HL 76 74 72 70 68 66 25
30
35
40
45
50
55
60
65
70
Gambar 4.2. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Akurasi 2 HL 76 74 72 70
25
30
35
40
45
50
55
60
65
70
25
Gambar 4.3. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 7
Dapat dilihat dari Gambar 4.2 dan Gambar 4.3 hasil dari percobaan roti pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan dua hidden layer akurasi tertinggi mencapai 74.45 % dengan variasi jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.88 % untuk percobaan dengan jumlah delay 7 data.
Akurasi 1 HL 76 74 72 70 68 25
30
35
40
45
50
55
60
65
70
Gambar 4.4. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 14
Akurasi 2 HL 76 74 72 70 68
25
30
35
40
45
50
55
60
65
70
30
Gambar 4.5. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
Dapat dilihat dari Gambar 4.4 dan Gambar 4.5 hasil dari percobaan roti pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 74.21 % dengan variasi jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tingggi akurasinya. Yaitu pada variasi jumlah neuron 30 dan 35 dengan akurasi 74.38 % untuk percobaan dengan jumlah delay 14 data.
Akurasi 1 HL 76 74 72 70 68 66 25
30
35
40
45
50
55
60
65
70
Gambar 4.6. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 21
Akurasi 2 HL 75 74 73 72 71 70 25
30
35
40
45
50
55
60
65
70
30
Gambar 4.7. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 21 Dapat dilihat dari Gambar 4.6 dan Gambar 4.7 hasil dari percobaan roti pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 74.09 % dengan variasi jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 30 dan 35 dengan akurasi 74.63 % untuk percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
Akurasi 1 HL 76 74 72 70 68
25
30
35
40
45
50
55
60
65
70
Gambar 4.8. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 28
Akurasi 2 HL 76 74 72 70 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.9. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 28 Dapat dilihat dari Gambar 4.8 dan Gambar 4.9 hasil dari percobaan roti pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan dua hidden layer akurasi tertinggi mencapai 74.06 % dengan variasi jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.73 % untuk percobaan dengan jumlah delay 28 data.
Akurasi 1 HL 72 71 70 69 68 67 25
30
35
40
45
50
55
60
65
70
Gambar 4.10. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
Akurasi 2 HL 72 70 68 66
25
30
35
40
45
50
55
60
65
70
30
Gambar 4.11. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 7
Dapat dilihat dari Gambar 4.10 dan Gambar 4.11 hasil dari percobaan roti pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 71.58 % dengan variasi jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 30 dan 45 dengan akurasi 71.61 % untuk percobaan dengan jumlah delay 7 data.
Akurasi 1 HL 72 70 68 66 25
30
35
40
45
50
55
60
65
70
Gambar 4.12. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 14
Akurasi 2 HL 74 72 70 68 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.13. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Dapat dilihat dari Gambar 4.12 dan Gambar 4.13 hasil dari percobaan roti pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 71.52 % dengan variasi jumlah neuron 25, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dan 25 dengan akurasi 71.84 % untuk percobaan dengan jumlah delay 14 data.
Akurasi 1 HL 75
70 65 60 25
30
35
40
45
50
55
60
65
70
Gambar 4.14. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 21
Akurasi 2 HL 72 70 68 66 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.15. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 21
Dapat dilihat dari Gambar 4.14 dan Gambar 4.15 hasil dari percobaan roti pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 71.65 % dengan variasi jumlah neuron 25, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dan 30 dengan akurasi 71.69 % untuk percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
Akurasi 1 HL 72 70 68 66 64 25
30
35
40
45
50
55
60
65
70
Gambar 4.16. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 28
Akurasi 2 HL 72 70 68 66 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.17. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 28 Dapat dilihat dari Gambar 4.16 dan Gambar 4.17 hasil dari percobaan roti pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan dua hidden layer akurasi tertinggi mencapai 71.1 % dengan variasi jumlah neuron 25 dan 35, sedangkan, hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 71.5 % untuk percobaan dengan jumlah delay 28 data.
Akurasi 1 HL 76 74 72 70 68 66 25
30
35
40
45
50
55
60
65
70
Gambar 4.18. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
Akurasi 2 HL 74 73 72 71 70
25
30
35
40
45
50
55
60
65
70
25
Gambar 4.19. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 7
Dapat dilihat dari Gambar 4.18 dan Gambar 4.19 hasil dari percobaan roti pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan dua hidden layer akurasi tertinggi mencapai 73.48 % dengan variasi jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 73.93 % untuk percobaan dengan jumlah delay 7 data.
Akurasi 1 HL 76 74 72 70 68 25
30
35
40
45
50
55
60
65
70
Gambar 4.20. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 14
Akurasi 2 HL 76 74 72 70 68 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.21. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Dapat dilihat dari Gambar 4.20 dan Gambar 4.21 hasil dari percobaan roti pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 73.66 % dengan variasi jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.04 % untuk percobaan dengan jumlah delay 14 data.
Akurasi 1 HL 76 74 72 70 68 25
30
35
40
45
50
55
60
65
70
Gambar 4.22. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 21
Akurasi 2 HL 76 74 72 70 68 25
30
35
40
45
50
55
60
65
70
30
Gambar 4.23. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 21
Dapat dilihat dari Gambar 4.22 dan Gambar 4.23 hasil dari percobaan roti pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan satu hidden layer akurasi tertinggi mencapai 74.03 % dengan variasi jumlah neuron 30, sedangkan, hasil dari dua hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 30 dan 25 dengan akurasi 74.05 % untuk percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
Akurasi 1 HL 76 74 72 70 68 66 25
30
35
40
45
50
55
60
65
70
Gambar 4.24. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 28
Akurasi 2 HL 74 73 72 71 70 25
30
35
40
45
50
55
60
65
70
25
Gambar 4.25. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 28 Dapat dilihat dari Gambar 4.24 dan Gambar 4.25 hasil dari percobaan roti pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan menggunakan dua hidden layer akurasi tertinggi mencapai 73.76 % dengan variasi jumlah neuron 25 dan 30, sedangkan hasil dari satu hidden layer lebih tinggi akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.02 % untuk percobaan dengan jumlah delay 28 data. Setelah didapatkan hasil pengujian terhadap setiap jenis roti, pengujian data dimulai dengan input 25 neuron kemudian dilanjutkan dengan ditambahkan 5 neuron untuk setiap percobaan sampai dengan 70 neuron. Selain jumlah neuron, delay data juga diuji dengan sebanyak 7, 14, 21 dan 28 yang dikombinasikan dengan jumlah neuron. Dari beberapa hasil grafik diatas beberapa kombinasi yang mencapai akurasi tertinggi untuk setiap jenis roti, sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
Tabel 4.1. Tabel Kesimpulan Percobaan Hidden Layer dan Delay
No
Jenis Roti
Jumlah
Jumlah
Neuron
Neuron
(1)
(2)
Delay
Akurasi
Data
(%)
1
Pisang Coklat
25
-
7
74.88
2
Pisang Keju
25
25
14
71.84
3
Pisang Spesial
30
25
21
74.05
Hasil kesimpulan diatas menunjukan akurasi paling optimal untuk setiap jenis roti. Beberapa kombinasi yang telah dilakukan hasil paling optimal berbeda untuk setiap roti. Untuk jenis roti pisang coklat akurasi tertinggi 74.88 % dari beberapa hasil percobaan dengan spesifikasi arsitekturnya 1 hidden layer dengan masing-masing hidden neuronnya 25 dengan delay atau perpotongan 7 data. Sedangkan pisang keju akurasi yang optimal dengan 71.84 % dengan arsitekturnya 2 hidden layer dengan jumlah hidden neuronnya 25 dan 25 dengan perpotongan 14 data, dan jenis roti pisang spesial dengan spesifikasi arsitekturnya 2 hidden layer dengan masing-masig jumlah hidden neuronnya 30 dan 25 dengan perpotongan data 21 mencapai akurasi paling optimal sebesar 74.05 %. Pengujian dilakukan dengan jumlah 2 hidden layer dan neuron dihentikan pada jumlah 70 dikarenakan hasil akurasi yang didapatkan semakin menurun akan pun naik hasilnya tidak terlalu signifikan sehingga percobaan dihentikan. Selain mendapatkan hasil yang maksimal dengan kombinasi diatas maka akan dilakukan pengujian metode training terhadap setiap jenis roti, seperti berikut: 1. Percobaan Metode Training terhadap Data Roti Coklat Jumlah Hidden Layer = 1 Hidden Layer 1 =25 Fungsi transfer 1 = logsig ; fungsi transfer 2 = logsig Delay = 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
Tabel 4.2. Tabel Pengujian Metode Training (Roti Pisang Coklat) No
Metode Training
Akurasi
1
Traingdm
66.87
2
Traingda
73.82
3
Trainrp
72.23
4
Traincgf
68.58
5
Traincgp
73.91
6
Traincgb
74.34
2. Percobaan Metode Training terhadap Data Roti Keju Jumlah Hidden Layer = 2 Hidden Layer 1 =25 ; Hidden Layer 2 = 25 Fungsi transfer 1 = logsig ; fungsi transfer 2 = logsig Delay = 14 Tabel 4.3. Tabel Pengujian Metode Training (Roti Pisang Keju) No
Metode Training Akurasi
1
Traingdm
70.89
2
Traingda
70.47
3
Trainrp
60.23
4
Traincgf
66.51
5
Traincgp
67.02
6
Traincgb
71.47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
3. Percobaan Metode Training terhadap Data Roti Spesial Jumlah Hidden Layer = 2 Hidden Layer 1 =30 , Hidden Layer 2=25 Fungsi transfer 1 = logsig, fungsi transfer 1 = logsig Delay = 21 Tabel 4.5. Tabel Pengujian Metode Training (Roti Pisang Spesial) No
Metode Training Akurasi
1
Traingdm
71.68
2
Traingda
73.82
3
Trainrp
60.13
4
Traincgf
60.80
5
Traincgp
64.17
6
Traincgb
73.26
3.3.Hasil Pengujian Dari hasil percobaan diatas dengan parameter jumlah hidden layer dan jumlah delay data telah didapat hasil optimal dengan beberapa kombinasi antara kedua parameter terhadap data setiap roti, dan hasil pengujiannya sebagai berikut : 1. Pengujian Terhadap Data Roti Pisang Coklat Jumlah Hidden Layer = 1 Hidden Layer 1 = 25 Fungsi Transfer Hidden layer 1 = Logsig Metode Train = traingdx Delay Data = 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
Gambar 4.26. Contoh Grafik Output Program untuk Roti Pisang Coklat Grafik yang berwarna biru merupakan nilai produksi yang sebenarnya sedangkan yang berwarna hijau merupakan hasil prediksi sistem. 2. Pengujian Terhadap Data Roti Pisang Keju Jumlah Hidden Layer = 2 Hidden Layer 1 = 25 , Hidden Layer 2 = 25 Fungsi Transfer Hidden layer 1 = Logsig Fungsi Transfer Hidden layer 2 = Logsig Metode Train = traingdx Delay Data = 14
Gambar 4.27. Contoh Grafik Output Program untuk Roti Pisang Keju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
Grafik yang berwarna hijau merupakan nilai produksi yang sebenarnya sedangkan yang berwarna merah merupakan hasil prediksi sistem. 3. Pengujian Terhadap Data Roti Pisang Spesial Jumlah Hidden Layer = 2 Hidden Layer 1 = 30 , Hidden Layer 2 = 25 Fungsi Transfer Hidden layer 1 = Logsig Fungsi Transfer Hidden layer 2 = Logsig Metode Train = traingdx Delay Data = 21
Gambar 4.28. Contoh Grafik Output Program untuk Roti Pisang Spesial Grafik berwarna ungu merupakan nilai produksi sebenarnya sedangkan grafik berwarna kuning adalah hasil prediksi sistem. Masing-masing grafik ditampilkan menjadi 3 sesuai dengan hasil 3-fold cross validation. Dalam melakukan prediksi, hasil yang didapatkan dengan kedekatan antara hasil prediksi sistem dengan nilai produksi sebenarnya dapat digambarkan dengan beberapa contoh grafik output diatas. Dengan menghitung selisih antara hasil prediksi sistem dengan nilai produksi sebenarnya yang akan didapatkan sebuah error yang sebelumnya data yang digunakan dari proses normalisasi,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
dibandingkan dengan jumlah data testing yang digunakan, sehingga hasil yang didapatkan seperti pada tabel 4.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V PENUTUP 5.1. Kesimpulan Dalam hasil penelitian prediksi jumlah produksi roti menggunakan metode backpropagation dapat disimpulkan sebagai berikut : 1. Hasil percobaan beberapa arsitektur jaringan untuk memprediksi jumlah produksi berbeda untuk setiap roti, sebagai berikut : a. Roti pisang Coklat dengan memiliki variasi 1 hidden layer dengan jumlah neuron 25 dengan perpotongan atau delay 7 data dengan menghasilkan akurasi 74.88 %. b. Roti pisang keju dengan memiliki variasi 2 hidden layer dengan jumlah neuron 25 dan 25 dengan perpotongan atau delay 14 data dengan menghasilkan 71.84 %. c. Roti pisang spesial dengan memiliki variasi 2 hidden layer dengan jumlah neuron 30 dan 25 dengan perpotongan atau delay 21 data dengan menghasilkan 74.05 %. 2. Berdasarkan hasil grafik yang dihasilkan sistem ini masih ada kekurangan adalah selisih hasil jumlah produksi hasil prediksi dengan jumlah produksi real masih cukup besar jika dilihat secara grafik. Hal ini dikarenakan jumlah produksi yang tidak menentu tanpa mempertimbangkan faktor lain seperti musiman dan jumlah permintaan sehingga belum cukup akurat dalam melakukan sebuah prediksi. 5.2. Saran Saran yang dapat diberikan untuk mengembangkan sistem ini adalah : a. Pengembangan sistem ini dapat dilakukan dengan menambah variasi perpotongan delay. b. Pengembangan percobaan metode Normalisasi lain sehingga akan mendapatkan hasil lebih optimal lagi.
51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
c. Pengembangan dari sisi tampilan dapat dilakukan untuk memudahkan membaca grafik sehingga pengguna dapat mengerti maksud dari grafik yang ditampilkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Daftar Pustaka Aditya, Kevin. 2014. Uji Akurasi Algoritma Fuzzy Neural Network Untuk Memprediksi
Pergerakan
Harga
Saham.
Skripsi.
Tidak
dipublikasikan. Yogyakarta: Universitas sanata Dharma. Agung, I Gusti ngurah. 2008. Teori Ekonomi Mikro ; Suatu Analisis Produksi Terapan. Jakarta: Raja Grafindo Persada. Assauri, Sofjan. 1993. Manajemen Produksi dan Operasi. Jakarta : Lembaga Penerbit Fakultas Ekonomi Universitas Indonesia. Bagus, Widodo, A. 2015. Klasifikasi Lagu Berdasarkan Pencipta Lagu Menggunakan Jaringan Syaraf Tiruan Propagasi Balik. Skripsi. Tidak dipublikasikan. Yogyakarta: Universitas Sanata Dharma. Daryanto. 2012. Sari Kuliah Manajemen Produksi. Bandung: PT. Sarana Tutorial Nurani Sejahtera. Hagan,M.T., Demuth,H.B., Beale,M.H. (1996). Neural Network Design. Boston PWS Publishing Company. Nasution, A.H. (1999). Perencanaan dan Pengendalian Produksi, Guna Widya ITS, Surabaya. Powell,
M.J.D.,
"Restart
procedures
for
the
conjugate
gradient
method," Mathematical Programming, Vol. 12, 1977, pp. 241–254. Pramonoaji, Yudha Tirto., Santosa, Stefanus, Pramunendar, Ricardus Anggi,. 2013. Prediksi Produksi Air PDAM dengan Jaringan Syaraf Tiruan. http://eprints.dinus.ac.id/id/eprints/5153. Diakses tanggal 22 Oktober 2015. Prasetyo, Eko. 2014. Data Mining Mengolah Data Menjadi Informasi Menggunakan Matlab. Yogyakarta : Andi. Siang, J, J. 2009. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan MATLAB. Yogyakarta : Andi.
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
Suwanto, Tri, A. 2015. Prediksi Nilai Tukar Rupiah Terhadap Dolar Amerika Serikat Dengan Menggunakan Metode Backpropagation. Skripsi. Tidak dipublikasikan. Yogyakarta: Universitas Sanata Dharma. Reksohadiprodjo, Sukanto. 1995. Manajemen Produksi dan Operasi Ed.1. Yogyakarta : BPFE-Yogyakarta. Riedmiller M, Braun H. 1993. A Direct adaptive Method for Faster Backpropagation Learning: The RPROP Algorithm. http://deeplearning.cs.cmu.edu/pdfs/Rprop.pdf. Diakses 9 Juni 2016. Shewchuk ,Jonathan R. 1994. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain Ed.
. https://www.cs.cmu.edu/~quake-
papers/painless-conjugate-gradient.pdf. Diakses tanggal 26 Mei 2016. William H, Hidayatno A, Zahra A.A,. 2014. Aplikasi Jaringan Syaraf Tiruan Perambatan Balik Untuk Prakiraan Valuta GBP/USD Dalam Forex Trading. Semarang : Jurusan Teknik Elektro, Universitas Diponegoro.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
LAMPIRAN 1. Source Code Kelas GUI function varargout = HalamanUtamaPrediksi(varargin) % HALAMANUTAMAPREDIKSI MATLAB code for HalamanUtamaPrediksi.fig % HALAMANUTAMAPREDIKSI, by itself, creates a new HALAMANUTAMAPREDIKSI or raises the existing % singleton*. % % H = HALAMANUTAMAPREDIKSI returns the handle to a new HALAMANUTAMAPREDIKSI or the handle to % the existing singleton*. % % HALAMANUTAMAPREDIKSI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in HALAMANUTAMAPREDIKSI.M with the given input arguments. % % HALAMANUTAMAPREDIKSI('Property','Value',...) creates a new HALAMANUTAMAPREDIKSI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before HalamanUtamaPrediksi_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to HalamanUtamaPrediksi_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help HalamanUtamaPrediksi Last Modified by GUIDE v2.5 21-Apr-2016 12:28:01 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @HalamanUtamaPrediksi_OpeningFcn, ... 'gui_OutputFcn', @HalamanUtamaPrediksi_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before HalamanUtamaPrediksi is made visible. function HalamanUtamaPrediksi_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to HalamanUtamaPrediksi (see VARARGIN) % Choose default command line output for HalamanUtamaPrediksi % handles.output = hObject; handles.output = hObject; axes(handles.axes2); I=imread('USD-logo.jpg'); imshow(I); % Update handles structure guidata(hObject, handles); % UIWAIT makes HalamanUtamaPrediksi wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = HalamanUtamaPrediksi_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function input_tanggal_Callback(hObject, eventdata, handles) % hObject handle to input_tanggal (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of input_tanggal as text % str2double(get(hObject,'String')) returns contents of input_tanggal as a double % --- Executes during object creation, after setting all properties. function input_tanggal_CreateFcn(hObject, eventdata, handles) % hObject handle to input_tanggal (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in prediksi_tunggal. function prediksi_tunggal_Callback(hObject, eventdata, handles) % hObject handle to prediksi_tunggal (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) hl1num= handles.gui.hl1num; hl2num=handles.gui.hl2num; epochnum=handles.gui.epochnum; ratenum=handles.gui.ratenum; k=handles.gui.k; vecN=handles.gui.vecN; delayData=handles.gui.delayData; data_produksi = handles.gui.data_produksi; tanggal_Produksi = handles.gui.tanggal_Produksi; tanggal=get(handles.input_tanggal,'String'); [cri_tanggal] = tanggalIndex(tanggal,tanggal_Produksi); [saveLatih,saveTarget]=BagiData(vecN,cri_tanggal,delayData); saveTarget=saveTarget'; assignin('base','savelatih',saveLatih); assignin('base','saveTarget',saveTarget); assignin('base','saveTarget',vecN); assignin('base','delay',delayData); uji_awal = (cri_tanggal+1) - delayData; uji_akhir = cri_tanggal; data_uji = vecN(uji_awal:uji_akhir); data_uji_tes= data_uji'; assignin('base','data_uji_tes',data_uji_tes); latih=saveLatih(:,1:delayData-1); latih_target=saveLatih(:,delayData); uji=data_uji_tes(:,1:delayData-1); assignin('base','latih',latih); assignin('base','latih_target',latih_target); assignin('base','uji',uji); assignin('base','indek',cri_tanggal); assignin('base','awal',uji_awal); assignin('base','akhir',uji_akhir); %Menampilkan Data Di tabel myform=guidata(gcbo); set(myform.tabel_input_output,'data',data_produksi(uji_awal:uji_ak hir)'); tic [hasil] = backpro(latih,latih_target,uji,hl1num,hl2num,epochnum,ratenum); target_hasil_uji = data_produksi(cri_tanggal); assignin('base','target_hasil_tes',target_hasil_uji); assignin('base','hasil',hasil); %Denormalisasi maxVec=max(data_produksi); minVec=min(data_produksi); [vecD] = thp_Denorm(hasil,maxVec,minVec); assignin('base','vecD',vecD);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
%Akurasi error = abs(target_hasil_uji-vecD); akurasi = (1-(error/target_hasil_uji))*100; akurasi_1=sprintf('%.2f',akurasi); set(handles.Hasil,'String',vecD); set(handles.akurasi,'String',error); toc set(handles.waktu,'String',toc); % --- Executes on selection change in jenisrotiPop. function jenisrotiPop_Callback(hObject, eventdata, handles) % hObject handle to jenisrotiPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns jenisrotiPop contents as cell array % contents{get(hObject,'Value')} returns selected item from jenisrotiPop % --- Executes during object creation, after setting all properties. function jenisrotiPop_CreateFcn(hObject, eventdata, handles) % hObject handle to jenisrotiPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in DelayPop. function DelayPop_Callback(hObject, eventdata, handles) % hObject handle to DelayPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns DelayPop contents as cell array % contents{get(hObject,'Value')} returns selected item from DelayPop % --- Executes during object creation, after setting all properties. function DelayPop_CreateFcn(hObject, eventdata, handles) % hObject handle to DelayPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
set(hObject,'BackgroundColor','white'); end function hl1_Callback(hObject, eventdata, handles) % hObject handle to hl1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of hl1 as text % str2double(get(hObject,'String')) returns contents of hl1 as a double % --- Executes during object creation, after setting all properties. function hl1_CreateFcn(hObject, eventdata, handles) % hObject handle to hl1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function hl2_Callback(hObject, eventdata, handles) % hObject handle to hl2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of hl2 as text % str2double(get(hObject,'String')) returns contents of hl2 as a double % --- Executes during object creation, after setting all properties. function hl2_CreateFcn(hObject, eventdata, handles) % hObject handle to hl2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function epoch_Callback(hObject, eventdata, handles) % hObject handle to epoch (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of epoch as text % str2double(get(hObject,'String')) returns contents of epoch as a double % --- Executes during object creation, after setting all properties.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60
function epoch_CreateFcn(hObject, eventdata, handles) % hObject handle to epoch (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in prediksibutton. function prediksibutton_Callback(hObject, eventdata, handles) % hObject handle to prediksibutton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) k=0; contents = get(handles.jenisrotiPop,'String'); delay = get(handles.DelayPop,'String'); pilihanrotivalue = contents{get(handles.jenisrotiPop,'Value')}; pilihanDelayvalue = delay{get(handles.DelayPop,'Value')}; switch pilihanrotivalue case'-' msgbox('Data Yang Dipilih Tidak Ada'); return; case 'Roti Pisang Coklat' [data_produksi, tanggal_Produksi] = xlsread('pisangcoklat.xlsx'); k=1; case 'Roti Pisang Spesial' [data_produksi, tanggal_Produksi] = xlsread('pisangspesial.xlsx'); k=2; case 'Roti Pisang Keju' [data_produksi, tanggal_Produksi] = xlsread('pisangkeju.xlsx'); k=4; end switch pilihanDelayvalue case'-' msgbox('Delay Yang Dipilih Tidak Ada'); return; case '7' delayData=7; case '14' delayData=14; case '21' delayData=21; case '28' delayData=28; end hl1=get(handles.hl1,'String'); hl2=get(handles.hl2,'String');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
learning_rate=get(handles.edit6,'String'); if hl1=='0' msgbox('Hidden Layer Harus Tidak Bernilai 0'); return; end epoch=get(handles.epoch,'String'); if epoch=='0' msgbox('Epoch Harus Tidak Bernilai 0'); return; end hl1num=str2num(hl1); hl2num=str2num(hl2); epochnum=str2num(epoch); ratenum=str2num(learning_rate); if learning_rate=='0' msgbox('Learning Rate Harus Tidak Bernilai 0'); return; end %Tahap Normalisasi maxVec=max(data_produksi); minVec=min(data_produksi); [vecN] = thp_norm(data_produksi,maxVec,minVec); %Bagi Data [data_kel] = BagiDataTunggal(vecN,delayData); if k==1 [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangCoklat(hl1num,hl2num,epochnum,data_kel,d elayData,ratenum,maxVec,minVec); end if k==4 [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangKeju(hl1num,hl2num,epochnum,data_kel,del ayData,ratenum,maxVec,minVec); end if k==2 [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangSpesial(hl1num,hl2num,epochnum,data_kel, delayData,ratenum,maxVec,minVec); end rata_akurasi1=sprintf('%.2f',rata_akurasi); set(handles.akurasi_kel,'String',rata_akurasi1); handles.gui.vecN=vecN; handles.gui.label_data_testing1= label_data_testing1; handles.gui.label_data_testing2= label_data_testing2; handles.gui.label_data_testing3=label_data_testing3; handles.gui.a1 =a1; handles.gui.a2 =a2; handles.gui.a3 =a3; assignin('base','data_Normalisasi',vecN); assignin('base','label_data_testing1',label_data_testing1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
assignin('base','label_data_testing2',label_data_testing2); assignin('base','label_data_testing3',label_data_testing3); assignin('base','hasil_prediksi_1',a1); assignin('base','hasil_prediksi_2',a2); assignin('base','hasil_prediksi_3',a3); assignin('base','data_produksi',data_produksi); handles.gui.ratenum =ratenum; handles.gui.hl1num =hl1num; handles.gui.hl2num = hl2num; handles.gui.epochnum = epochnum; handles.gui.k = k; handles.gui.delayData = delayData; handles.gui.data_produksi = data_produksi; handles.gui.tanggal_Produksi = tanggal_Produksi; handles.gui.maxVec=maxVec; handles.gui.minVec=minVec; guidata(hObject,handles); % --- Executes on button press in plot. % function plot_Callback(hObject, eventdata, handles) % % hObject handle to plot (see GCBO) % % eventdata reserved - to be defined in a future version of MATLAB % % handles structure with handles and user data (see GUIDATA) % % --- Executes on button press in grafikbutton. function grafikbutton_Callback(hObject, eventdata, handles) % hObject handle to grafikbutton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % label_data_testing1= handles.gui.label_data_testing1; label_data_testing2= handles.gui.label_data_testing2; label_data_testing3=handles.gui.label_data_testing3; a1 =handles.gui.a1; a2 =handles.gui.a2; a3 =handles.gui.a3; maxVec=handles.gui.maxVec; minVec=handles.gui.minVec; [Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec); [Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec); [Denorm_label3] =thp_Denorm(label_data_testing3,maxVec,minVec); [hasil1] = thp_Denorm(a1,maxVec,minVec); [hasil2] = thp_Denorm(a2,maxVec,minVec); [hasil3] = thp_Denorm(a3,maxVec,minVec); % %Membuat Plot cla(handles.axes5); cla(handles.axes6); cla(handles.axes7); axes(handles.axes5); plot(label_data_testing1(1:40,:)); hold all; plot(a1(:,1:40)); xlabel('data produksi'); ylabel('jumlah produksi'); axes(handles.axes6);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
plot(label_data_testing2(1:40,:)); hold all; plot(a2(:,1:40)); xlabel('data produksi'); ylabel('jumlah produksi'); axes(handles.axes7); plot(label_data_testing3(1:40,:)); hold all; plot(a3(:,1:40)); xlabel('data produksi'); ylabel('jumlah produksi'); handles.gui.label_data_testing1= label_data_testing1; handles.gui.label_data_testing2= label_data_testing2; handles.gui.label_data_testing3=label_data_testing3; handles.gui.a1 =a1; handles.gui.a2 =a2; handles.gui.a3 =a3; guidata(hObject,handles); function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties.
2. Kelas thp_norm function [vecN] = thp_norm(data,maxVec,minVec) %UNTITLED Summary of this function goes here % Detailed explanation goes here vecN=(data-minVec)*(1-0)/(maxVec-minVec)+0; end
3. Kelas thp_Denorm function [vecD] = thp_Denorm(hasil,maxVec,minVec) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here vecD=(hasil*(maxVec-minVec)+0)+minVec; end
4. Kelas BackpropagationRoti_PisangCoklat.m function [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangCoklat(hl1,hl2,epoch,data_kel,delayData, ratenum,maxVec,minVec) %UNTITLED Summary of this function goes here % Detailed explanation goes here
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
%Bagi Data Training dan Testing dataatribut=data_kel(:,1:delayData-1); datatarget=data_kel(:,delayData); jum_data=size(data_kel,1); bagidata1=jum_data/3; bagidata=round(bagidata1); datapelatihan1=dataatribut(1:bagidata,:); datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:); datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:); %label label_datapelatihan1=datatarget(1:bagidata,:); label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,: ); label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data ,:); %data training dan data testing (1) data_training1=[ datapelatihan2 datapelatihan3 ]; label_data_training1=[ label_datapelatihan2 label_datapelatihan3 ]; data_testing1= datapelatihan1; label_data_testing1=label_datapelatihan1; if hl2==0 net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = ratenum; [net,tr]=train(net,data_training1.',label_data_training1.'); a1=sim(net,data_testing1.') [vecD1] = thp_Denorm(a1,maxVec,minVec) [Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec) error1=abs(Denorm_label1.'-vecD1) akurasi1 = (1-(error1/Denorm_label1.'))*100 % akurasi1=100-((sum(error1)/size(label_datapelatihan1,1))*100); %data training dan data testing (2) data_training2=[ datapelatihan1 datapelatihan3 ]; label_data_training2=[ label_datapelatihan1 label_datapelatihan3 ];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
data_testing2= datapelatihan2; label_data_testing2=label_datapelatihan2; if hl2==0 net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = ratenum; [net,tr]=train(net,data_training2.',label_data_training2.'); a2=sim(net,data_testing2.'); [vecD2] = thp_Denorm(a2,maxVec,minVec); [Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec); error2=abs(Denorm_label2.'-vecD2) akurasi2 = (1-(error2/Denorm_label2.'))*100; % akurasi2=100-((sum(error2)/size(label_datapelatihan2,1))*100); %data training dan data testing (3) data_training3=[ datapelatihan1 datapelatihan2 ]; label_data_training3=[ label_datapelatihan1 label_datapelatihan2 ]; data_testing3= datapelatihan3; label_data_testing3=label_datapelatihan3; if hl2==0 net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = 0.01; [net,tr]=train(net,data_training3.',label_data_training3.'); a3=sim(net,data_testing3.'); [vecD3] = thp_Denorm(a3,maxVec,minVec); [Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec); error3=abs(Denorm_label3.'-vecD3); akurasi3 = (1-(error3/Denorm_label3.'))*100; % akurasi3=100-((sum(error3)/size(label_datapelatihan3,1))*100); rata_akurasi = (akurasi1+akurasi2+akurasi3)/3; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66
5. Kelas BackpropagationRoti_PisangKeju.m function [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangKeju(hl1,hl2,epoch,data_kel,delayData,ra tenum,maxVec,minVec) %UNTITLED Summary of this function goes here % Detailed explanation goes here %Bagi Data Training dan Testing dataatribut=data_kel(:,1:delayData-1); datatarget=data_kel(:,delayData); jum_data=size(data_kel,1); bagidata1=jum_data/3; bagidata=round(bagidata1); datapelatihan1=dataatribut(1:bagidata,:); datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:); datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:); %label label_datapelatihan1=datatarget(1:bagidata,:); label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,: ); label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data ,:); %data training dan data testing (1) data_training1=[ datapelatihan2 datapelatihan3 ]; label_data_training1=[ label_datapelatihan2 label_datapelatihan3 ]; data_testing1= datapelatihan1; label_data_testing1=label_datapelatihan1; if hl2==0 net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = ratenum; [net,tr]=train(net,data_training1.',label_data_training1.'); a1=sim(net,data_testing1.'); [vecD1] = thp_Denorm(a1,maxVec,minVec); [Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec); error1=abs(Denorm_label1.'-vecD1); akurasi1 = (1-(error1/Denorm_label1.'))*100;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67
%data training dan data testing (2) data_training2=[ datapelatihan1 datapelatihan3 ]; label_data_training2=[ label_datapelatihan1 label_datapelatihan3 ]; data_testing2= datapelatihan2; label_data_testing2=label_datapelatihan2; if hl2==0 net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = 0.05; [net,tr]=train(net,data_training2.',label_data_training2.'); a2=sim(net,data_testing2.'); [vecD2] = thp_Denorm(a2,maxVec,minVec); [Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec); error2=abs(Denorm_label2.'-vecD2); akurasi2 = (1-(error2/Denorm_label2.'))*100; %data training dan data testing (3) data_training3=[ datapelatihan1 datapelatihan2 ]; label_data_training3=[ label_datapelatihan1 label_datapelatihan2 ]; data_testing3= datapelatihan3; label_data_testing3=label_datapelatihan3; if hl2==0 net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = 0.05; [net,tr]=train(net,data_training3.',label_data_training3.'); a3=sim(net,data_testing3.');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68
[vecD3] = thp_Denorm(a3,maxVec,minVec); [Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec); error3=abs(Denorm_label3.'-vecD3); akurasi3 = (1-(error3/Denorm_label3.'))*100; rata_akurasi = (akurasi1+akurasi2+akurasi3)/3; end
6. Kelas BackpropagationRoti_PisangSpesial.m function [rata_akurasi,label_data_testing1,label_data_testing2,label_data_t esting3,a1,a2,a3] = BackpropagationRoti_PisangSpesial(hl1,hl2,epoch,data_kel,delayData ,ratenum,maxVec,minVec) %UNTITLED Summary of this function goes here % Detailed explanation goes here %Bagi Data Training dan Testing dataatribut=data_kel(:,1:delayData-1); datatarget=data_kel(:,delayData); jum_data=size(data_kel,1); bagidata1=jum_data/3; bagidata=round(bagidata1); datapelatihan1=dataatribut(1:bagidata,:); datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:); datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:); %label label_datapelatihan1=datatarget(1:bagidata,:); label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,: ); label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data ,:); %data training dan data testing (1) data_training1=[ datapelatihan2 datapelatihan3 ]; label_data_training1=[ label_datapelatihan2 label_datapelatihan3 ]; data_testing1= datapelatihan1; label_data_testing1=label_datapelatihan1; if hl2==0 net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = ratenum;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69
[net,tr]=train(net,data_training1.',label_data_training1.'); a1=sim(net,data_testing1.'); [vecD1] = thp_Denorm(a1,maxVec,minVec); [Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec); error1=abs(Denorm_label1.'-vecD1) akurasi1 = (1-(error1/Denorm_label1.'))*100; %data training dan data testing (2) data_training2=[ datapelatihan1 datapelatihan3 ]; label_data_training2=[ label_datapelatihan1 label_datapelatihan3 ]; data_testing2= datapelatihan2; label_data_testing2=label_datapelatihan2; if hl2==0 net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx'); end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = 0.05; [net,tr]=train(net,data_training2.',label_data_training2.'); a2=sim(net,data_testing2.'); [vecD2] = thp_Denorm(a2,maxVec,minVec); [Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec); error2=abs(Denorm_label2.'-vecD2) akurasi2 = (1-(error2/Denorm_label2.'))*100; %data training dan data testing (3) data_training3=[ datapelatihan1 datapelatihan2 ]; label_data_training3=[ label_datapelatihan1 label_datapelatihan2 ]; data_testing3= datapelatihan3; label_data_testing3=label_datapelatihan3; if hl2==0 net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t raingdx'); else net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig', 'purelin'},'traingdx');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70
end net=init(net); net.trainParam.epochs = epoch; net.trainParam.lr = 0.05; [net,tr]=train(net,data_training3.',label_data_training3.'); a3=sim(net,data_testing3.'); [vecD3] = thp_Denorm(a3,maxVec,minVec); [Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec); error3=abs(Denorm_label3.'-vecD3) akurasi3 = (1-(error3/Denorm_label3.'))*100 rata_akurasi = (akurasi1+akurasi2+akurasi3)/3; end
7.
Kelas tanggalIndex.m function [cri_tanggal] = tanggalIndex( tanggal,dataTanggal ) %UNTITLED Summary of this function goes here % Detailed explanation goes here [B K] = size(dataTanggal); for i=1:B if strcmp(dataTanggal(i,1),tanggal) cri_tanggal=i; end end
8. Kelas BagiData.m function [saveTrain,saveTarget]=BagiData(data,index,delay) % trainAwal=index-701; trainAwal=1; targetAwal=trainAwal; jum_data=size(data,1); for i=1:jum_data-delay for j=1:delay saveTrain(i,j)=data(trainAwal); trainAwal=trainAwal+1; end saveTarget(i)=data(trainAwal); trainAwal=targetAwal+1; targetAwal=targetAwal+1; end
9. Rincian Optimalisasi Jaringan Pada proses optimalisasi jaringan ini akan dilakukan data pelatihan 1002 data untuk setiap jenis roti dengan beberapa jumlah delay data yaitu 7, 14, 21, dan 28 dan total epoch 1000 kali. Berikut hasil proses optimalisasi jaringan yang dilakukan : Fungsi Transfer Hidden Layer 1 = Logsig ;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71
Fungsi Transfer Hidden Layer 2 = Logsig ; Fungsi Aktivasi = Purelin Metode Train = traingdx a. percobaan 1 Roti Pisang Coklat Delay Data : 7 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
74.88
25
74.45
30
74.13
30
73.90
35
73.88
35
73.62
40
74.17
40
74.05
45
72.87
45
73.47
25 50
73.14
50
73.39
55
72.89
55
72.04
60
71.37
60
72.91
65
71.55
65
72.90
70
69.53
70
72.62
b. Percobaan 2 Roti Pisang Coklat Delay Data : 14 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
25
73.94
30
74.21
35
73.45
30
Akurasi
25
74.17
30
74.28
35
74.38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72
40
73.68
40
73.36
45
72.72
45
72.56
50
73.16
50
72.33
55
72.03
55
72.07
60
72.01
60
71.17
65
70.86
65
71.53
70
71.15
70
71.87
c. Percobaan 3 Roti Pisang Coklat Delay Data : 21 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
73.4
25
73.86
30
74.09
30
73.81
35
73.71
35
74.63
40
73.68
40
73.31
45
72.64
45
73.57
30 50
72.43
50
72.70
55
70.71
55
73.01
60
71.55
60
72.15
65
71.32
65
72.66
70
69.78
70
72.16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73
d. Percobaan 4 Roti Pisang Coklat Delay Data : 28 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
74.73
25
74.06
30
74.72
30
74.00
35
73.84
35
73.87
40
73.59
40
73.37
45
73.18
45
73.57
25 50
73.57
50
73.21
55
72.97
55
73.30
60
71.22
60
71.74
65
71.89
65
72.20
70
71.87
70
71.45
e. Percobaan 1 Roti Pisang Keju Delay Data : 7 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
25
71.50
30
71.58
Akurasi
25
71.23
30
71.04
30 35
70.65
35
70.58
40
70.57
40
70.95
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
45
70.03
45
71.61
50
69.80
50
70.12
55
70.65
55
69.91
60
68.57
60
69.80
65
69.29
65
69.33
70
68.88
70
69.09
f. Percobaan 2 Roti Pisang Keju Delay Data : 14 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
71.52
25
71.84
30
71.34
30
70.98
35
71.03
35
71.45
40
71.20
40
71.23
45
70.32
45
70.02
25 50
70.00
50
70.22
55
70.34
55
70.17
60
69.28
60
70.32
65
68.37
65
69.38
70
68.26
70
69.30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75
g. Percobaan 3 Roti Pisang Keju Delay Data : 21 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
71.65
25
71.59
30
71.42
30
71.69
35
70.94
35
70.86
40
70.73
40
71.39
45
70.48
45
70.59
25 50
70.88
50
70.31
55
69.71
55
69.77
60
68.81
60
69.78
65
67.78
65
70.47
70
67.14
70
69.05
h. Percobaan 4 Roti Pisang Keju Delay Data : 28 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
71.50
25
70.67
30
71.40
30
71.06
35
71.24
35
71.10
40
70.99
40
71.07
45
70.91
45
70.75
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76
50
70.55
50
69.86
55
69.48
55
69.87
60
68.23
60
69.56
65
67.66
65
69.71
70
67.93
70
68.81
i. Percobaan 1 Roti Pisang Spesial Delay Data : 7 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
73.93
25
73.48
30
73.64
30
73.60
35
73.53
35
73.27
40
72.66
40
72.52
45
73.10
45
73.31
25 50
72.79
50
73.11
55
72.71
55
72.92
60
71.59
60
72.70
65
71.48
65
71.21
70
69.90
70
71.69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77
j. Percobaan 2 Roti Pisang Spesial Delay Data : 14 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
73.66
25
74.04
30
73.90
30
73.43
35
73.13
35
72.69
40
73.34
40
72.49
45
72.52
45
73.10
25 50
71.82
50
72.80
55
71.66
55
72.84
60
70.55
60
71.09
65
70.38
65
71.55
70
70.83
70
70.38
k. Percobaan 3 Roti Pisang Spesial Delay Data : 21 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
73.59
25
74.05
30
74.03
30
73.63
35
72.97
35
73.62
40
72.54
40
72.49
45
72.45
45
72.07
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
50
71.94
50
72.33
55
71.80
55
71.73
60
70.23
60
71.89
65
70.51
65
70.97
70
70.56
70
71.63
l. Percobaan 4 Roti Pisang Spesial Delay Data : 28 Jumlah
Akurasi
Jumlah
Jumlah
Neuron
Neuron
Neuron
(1)
(1)
(2)
Akurasi
25
74.02
25
73.58
30
73.68
30
73.76
35
73.61
35
73.17
40
73.21
40
73.09
45
72.91
45
73.17
25 50
72.23
50
72.89
55
70.96
55
71.98
60
70.50
60
72.31
65
70.85
65
71.53
70
69.97
70
72.16