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
i
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IIALAMAN PERSETUJUAI{
PREDIKSI JI,]MLAH PRODUKSI ROTI MENGGIJNAKAN METODE
BACKPROPAGATION
Pembimbing
Tanggd, 26 J,.[i totbDr. C. Kuntoro Adt, $L, MA, M.Sc.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SKRIPSI
PREDIKSI JI]MI,AH PRODUKSI ROTI MENGGIJNAKAN METbDEBACKPROPAGANON
Dipersiapkan dan ditulis oleh:
DIIESA ARDHTYA}ITA
NIM:125314038
Tanda Tangan
Yogyakarra, ?.t.Ju /; 3?.16Fakultas Sains dan Teknologi
Universitas Sanata Dharma
ps'r,*"H*"*,-.ln-ry ffi*r'ts$tl tl**:ry,:-.\\ beffiF7^ffi?IN.tryffi,Hd}
S. Si.,M.lvIath. Sc.,Ph.D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PEnI{YATAAI I(EASLIAN KARYA
Sayr maSdm dErgan ffiegphmya b&wa tugas drhir 1mg sap tulis
tidak mqufug a*E reB,Ed kdl kfrltr oragfui4 ke€udi png tel&
die*dkan ddm & lu*e e kifm solaloya lcar:a ilmiah.
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 : Dhesa Ardhiyanta
NIM :125314038
Demi pengembangan ilmu pengetahuan, sya memberikan kepada
perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :
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
viii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
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 last-
three-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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
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.
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
kekurangan dan jauh dari sempurnzl. oleh sebab itu penulis sangat
mengharapkan kritik dan saran dari pembaca yang dapat bermanfaat bagi
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
xii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
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
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
5
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
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.
X1
Xi
Xn Ym
Yj
Y1
W11
Wji
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, bobot-
bobot 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.
Xi
Xn
Zp
Z1
X1
Ym
Yj
Y1
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 = { − ≥ < (2.2)
b. Fungsi Sigmoid = + − (2.3)
Fungsi ini sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1
dapat diturunkan dengan mudah. ′ = − (2.4)
c. Fungsi identitas = (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
1
Y
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
1
1
Y1
X1
Z1
Xi
Yk
Zj
Xn
Zp
Ym
Wkj
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 + ∑ = (2.6)
Zj = f (Z_netj) = + − _� (2.7)
6. Hitung semua keluaran jaringan di unit yk (k=1,2,… , m)
Y_netk = Wko + ∑ �= (2.8)
Yk = f(y_netk) = + − _� (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)
8. Hitung faktor error lapisan output (δ) unit tersembunyi berdasarkan
kesalahan di setiap unit tersembunyi zj (j=1,2,…,p)
δ _netj =∑ = (2.12)
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 : = − + − (2.15)
Dimana 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 �6 (2.17)
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 meningkat
filter output lebih lambat untuk merespon
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)
Dimana adalah gradien evaluasi lama : = ∇� | = (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 :
∆ ={ �+ ∗ ∆ − , �� −� ∗ ��� >�− ∗ ∆ − , �� −� ∗ ��� <∆ − , < �− < < �+}
(2.25)
Setiap waktu bobot 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’), Polak-
Ribiere (‘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 + adalah ∆ = + − = � + + − � + = �∆ (2.32)
Dimana dari rumus ∆ = + − = � (2.33)
Dan adalah dipilih untuk meminimalkan � dalam arah � .
Lalu didaptkan sebuah kondisi konjugasi :
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 transformasi atau pengubahan bentuk dan
menambah nilai mengkombinasikan dan mengubah 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
28
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 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 32
Data InputData Target
Gambar 3.1. Contoh pembagian data input dan target dengan nilai delay 7
3.2.Gambaran Penelitian
Data Input
Uji
BackpropagationTraining
Testing 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-5
Xn-4
Xn-3
Xn-2
Z1
Zj
Z2
Z1
Xn
Z2
Zj
Xn-6
Hasil
Xn-1
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
Input Layer Hidden Layer 1 Hidden Layer 2
Output Layer
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
34
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
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
Gambar 4.2. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 7
66
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
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.
Gambar 4.4. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 14
Gambar 4.5. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 14
70
72
74
76
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
30
Akurasi 2 HL
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.
Gambar 4.6. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 21
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.
66
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
707172737475
25 30 35 40 45 50 55 60 65 70
30
Akurasi 2 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.8. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 28
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.
Gambar 4.10. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 7
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
70
72
74
76
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
67
68
69
70
71
72
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
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.
Gambar 4.12. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 14
Gambar 4.13. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 14
66
68
70
72
25 30 35 40 45 50 55 60 65 70
30
Akurasi 2 HL
66
68
70
72
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
68
70
72
74
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
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.
Gambar 4.14. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 21
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.
60
65
70
75
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
66
68
70
72
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4.16. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 28
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.
Gambar 4.18. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 7
64
66
68
70
72
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
66
68
70
72
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
66
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
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.
Gambar 4.20. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 14
Gambar 4.21. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 14
7071727374
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
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.
Gambar 4.22. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 21
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.
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
6870727476
25 30 35 40 45 50 55 60 65 70
30
Akurasi 2 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4.24. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 28
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 :
66
68
70
72
74
76
25 30 35 40 45 50 55 60 65 70
Akurasi 1 HL
70
71
72
73
74
25 30 35 40 45 50 55 60 65 70
25
Akurasi 2 HL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Tabel 4.1. Tabel Kesimpulan Percobaan Hidden Layer dan Delay
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
No Jenis Roti
Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Delay
Data
Akurasi
(%)
1 Pisang Coklat 25 - 7 74.88
2 Pisang Keju 25 25 14 71.84
3 Pisang Spesial 30 25 21 74.05
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
51
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.
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
53
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.
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_akhir)'); 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_testing3,a1,a2,a3] = BackpropagationRoti_PisangCoklat(hl1num,hl2num,epochnum,data_kel,delayData,ratenum,maxVec,minVec); end if k==4 [rata_akurasi,label_data_testing1,label_data_testing2,label_data_testing3,a1,a2,a3] = BackpropagationRoti_PisangKeju(hl1num,hl2num,epochnum,data_kel,delayData,ratenum,maxVec,minVec); end if k==2 [rata_akurasi,label_data_testing1,label_data_testing2,label_data_testing3,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_testing3,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'},'traingdx'); 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'},'traingdx'); 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'},'traingdx'); 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_testing3,a1,a2,a3] = BackpropagationRoti_PisangKeju(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'},'traingdx'); 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'},'traingdx'); 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'},'traingdx'); 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_testing3,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'},'traingdx'); 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'},'traingdx'); 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'},'traingdx'); 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
b. Percobaan 2 Roti Pisang Coklat Delay Data : 14
Jumlah
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 73.94
30
25 74.17
30 74.21 30 74.28
35 73.45 35 74.38
Jumlah
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 74.88
25
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
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 73.4
30
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 74.73
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 71.50
30
25 71.23
30 71.58 30 71.04
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 71.52
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 71.65
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 71.50
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 73.93
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 73.66
25
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 73.59
30
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
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
Neuron
(1)
Akurasi Jumlah
Neuron
(1)
Jumlah
Neuron
(2)
Akurasi
25 74.02
25
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
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI