Anda di halaman 1dari 95

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PREDIKSI JUMLAH PRODUKSI ROTI MENGGUNAKAN METODE


BACKPROPAGATION

SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer


Program Studi Teknik Informatika

Oleh :
Dhesa Ardhiyanta
125314038

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA

2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PREDICTION OF TOTAL PRODUCTION OF BREAD USING


BACKPROPAGATION

A THESIS

Presented as Partial Fulfillment of Requirements to Obtain Sarjana


Komputer

Degree in Informatics Engineering Department

By :

Dhesa Ardhiyanta

125314038

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE TECHNOLOGY

SANATA DHARMA UNIVERSITY

2016

i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

IIALAMAN PERSETUJUAI{

PREDIKSI JI,]MLAH PRODUKSI ROTI MENGGIJNAKAN METODE


BACKPROPAGATION

Pembimbing

Dr. C. Kuntoro Adt, $L, MA, M.Sc. Tanggd, 26 J,.[i totb


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

SKRIPSI

PREDIKSI JI]MI,AH PRODUKSI ROTI MENGGIJNAKAN METbDE


BACKPROPAGANON

Dipersiapkan dan ditulis oleh:

DIIESA ARDHTYA}ITA
NIM:125314038

ps'r,*"H*"*,-.ln
-ry ffi*r'ts
$tl tl**:ry,:-.\\ b Tanda Tangan

effiF
7^ffi
?IN
.tryffi,Hd}

Yogyakarra, ?.t.Ju /; 3?.16


Fakultas Sains dan Teknologi

Universitas Sanata Dharma

S. Si.,M.lvIath. Sc.,Ph.D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

MOTTO

Jangan menunggu karena tak akan ada waktu yang tepat. Mulailah dari sekarang,
dan berusahalah dengan segala yang ada. Seiring waktu, akan ada cara yang lebih
baik asalkan tetap berusaha.

(Napoleon Hill)

iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSEMBAHAN

Segala hasil ini saya persembahkan kepada Tuhan Yesus Kristus atas
segala rahmat dan berkat yang diberikan, sehingga semua dapat
terselesaikan.

Kepada bapak Benediktus Samidja dan ibu El. Sir Hartini , yang telah
memberikan doa, dukungan dan semangat selama proses perkuliahan.

Kepada Mba Indri, Mba Lusi, Ivan atas dukungan dan doa yang
diberikan.

Kepada Dosen-dosen Teknik Informatika Sanata Dharma, terima kasih


atas segala bimbingan dari awal proses sampai akhir perkuliahan.

Kepada teman-teman Teknik Informatika Sanata Dharma angkatan 2012,


terima kasih telah saling memberikan semangat dan berjuang bersama
serta doa yang diberikan.

v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PEnI{YATAAI I(EASLIAN KARYA

Sayr maSdm dErgan ffiegphmya b&wa tugas drhir 1mg sap tulis
tidakmqufug 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

ABSTRAK
Toko roti Muntjul merupakan salah satu toko roti yang setiap hari
melakukan produksi roti. Berbagai jenis roti yang diproduksi sangat bervariasi, dan
permintaan konsumen yang paling tinggi jenis roti seperti roti pisang coklat, roti
pisang keju, roti pisang spesial. Dalam memenuhi permintaan konsumen yang
selalu berubah, toko roti ini memproduksi produk dengan jumlah yang berbeda
untuk roti tersebut. Hal ini menyebabkan toko roti muntjul tidak menentu dalam
menghasilkan jumlah suatu produk. Karena hal itu, dibutuhkan sebuah sistem yang
akurat untuk prediksi jumlah produksi roti sebagai pertimbangan untuk
memproduksi jumlah roti selanjutnya.

Penelitian ini menghasilkan sebuah model prediksi untuk jumlah roti yang
seharusnya diproduksi. Data yang digunakan merupakan data produksi tiga tahun
terakhir yaitu mulai tahun 2013-2015. Pendekatan yang digunakan untuk prediksi
jumlah produksi roti adalah dengan metode Jaringan Syaraf Tiruan
Backpropagation dengan fungsi transfer layer log-sigmoid dan fungsi transfer
output purelin dan model pengujian yang digunakan pada proses prediksi adalah 3
fold cross validation dalam menguji data training. Berdasarkan hasil penelitian,
diperoleh model prediksi untuk jumlah produksi roti di Toko Roti Muntjul Klaten
yang berbeda untuk setiap roti. Untuk roti pisang coklat dengan model satu hidden
layer dengan jumlah neuron 25 dengan delay 7 data menghasilkan akurasi 74.88
%, roti pisang keju dengan model dua hidden layer dengan masing-masing jumlah
neuron 25 dan 25 dengan delay 14 data menghasilkan akurasi 71.84 % , roti pisang
spesial dengan model dua hidden layer dengan masing-masing jumlah neuron 30
dan 25 dengan delay 21 data menghasilkan akurasi 74.05 %.

Kata Kunci : Prediksi, Jumlah Produksi Roti, Jaringan Syaraf Tiruan


Backpropagation

viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT

Muntjul Bakery is one of bakeries which produces bread every day. Various
kinds of bread are produced here everyday. The favorite bread which become the
big demand which comes from the consumer are banana chocolate bread, banana
cheese bread, and special banana bread. In order to fulfill the consumers’ demand,
this bakery produces those variant of bread in different quantity based on the
demand. That condition makes Muntjul bakery produces inconsistent number of
breads everyday. From that condition, it is required an accurate system to sum up
the production of bread as a consideration to produce the amount of the next bread.

This research results a model of prediction amount of bread which are


supposed to be produced. The data which was used in this research was the 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

ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR

Puji dan syukur penulis panjatkan ke hadirat Tuhan Yesus Kristus karena
atas berkat dan rahmatnya sehingga penulis dapat menyelesaikan tugas akhir
sesuai dengan waktu yang telah ditentukan. Skripsi ini disusun sebagai salah
satu syarat guna memperoleh gelar sarjana Teknik Informatika di Universitas
Sanata Dharma Yogyakarta.

Penulis telah menyadari bahwa dalam penyusunan skripsi ini, tanpa


melibatkan bantuan dan dukungan banyak pihak skripsi ini sulit untuk selesai,
namun berkat dukungan dan bantuan dari banyak pihak, akhirnya skripsi ini
dapat diselesaikan. Oleh sebab itu atas bantuan dan dukungannya, penulis
menghaturkan ucapan terimakasih kepada :

1. Tuhan Yesus Kristus, yang telah memberikan bimbingan dan kekuatan


dalam proses penyelesaian tugas akhir.
2. Sudi Mungkasi ,S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Dr. Anastasia Rita selaku Ketua Program Studi Teknik Informatika
Universitas Sanata Dharma Yogyakarta.
4. Dr. C. Kuntoro Adi, SJ. M.A., M.Sc. selaku dosen pembimbing yang telah
meluangkan waktu untuk membimbing penulis selama pembuatan skripsi
ini.
5. Iwan Binanto M. Cs selaku dosen pembimbing akademik yang telah
membimbing penulis selama melakukan kuliah di Universitas Sanata
Dharma.
6. Orang tua, Benedictus Samidja dan Elisabeth Sir Hartini, serta keluarga
yang memberikan dukungan, doa, dan motivasi dalam penyelesaian tugas
akhir.

x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

7. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan selama
menuntut ilmu dan sangat membantu penulis dalam mengerjakan tugas
akhir.
8. Teman-teman Teknik Informatika 2012 yang selalu memberi semangat dan
bantuan selama menyelesaikan skripsi ini.
9. Rekan seperjuanganyang dibimbing oleh Rm. Kun (wiga, Agustin, Nita,
Ria, Bondan, Nada, dkk) yang selalu bersemangat ketika bimbingan dan
senantiasa saling memberikan semangat dan doa satu sama lain selama
menyelesaikan skripsi ini.

10. Kepada teman-teman kost 21 (Dwi Tunggal), Kanca pait voice (cik rippa.
Kak Flo, Roy, Paul, Titus, Alm. Vinsen) , JANGKREK Klaten, dan OMK
Natalia Birin atas dukungan dan doa yang diberikan.
11. Kepada teman-teman l(anca Dolan crew (Dhanu, Fr.Willy, Christ, Raka,
Putri, Bagas, dkk) yang senantiasa mendengarkan keluh kesah selama
pengerjaan tugas akhir dan atas doa yang diberikan.

Penulis dalam menulis skripsi ini sudah berusaha semaksimal mungkin,


namun penulis juga menyadari bahwa slaipsi yang dibuat ini masih banyak
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

DAFTAR ISI

HALAMAN JUDUL …………………………………………………………….. i


HALAMAN PERSETUJUAN ................................................................................ ii
MOTTO.................................................................................................................. iv
HALAMAN PERSEMBAHAN.............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI................................ vii
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................... vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ............................................................................................................. ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
DAFTAR GAMBAR ........................................................................................... xiv
DAFTAR TABEL ................................................................................................ xvi
BAB I Pendahuluan .............................................................................................. 1
1.1. Latar Belakang.............................................................................................. 1
1.2. Rumusan Masalah......................................................................................... 2
1.3. Tujuan Penelitian .......................................................................................... 2
1.4. Manfaat Penelitian ........................................................................................ 2
1.5. Batasan Masalah ........................................................................................... 3
1.6. Metodologi Penelitian................................................................................... 3
1.7. Sistematika Penulisan ...…………………………………………………….………………….. 4
BAB II Landasan Teori ........................................................................................ 5
2.1. Jaringan Syaraf Tiruan ................................................................................. 5
2.1.1. Arsitektur Jaringan................................................................................. 6
2.1.2. Fungsi Aktivasi, Bias dan Threshold ..................................................... 8
2.1.3. Backpropagation (Propagasi Balik) ...................................................... 9
2.1.4. Fungsi Aktivasi .................................................................................... 10
2.1.5. Mempercepat Pelatihan Backpropagation ........................................... 13
2.2. K-Fold Cross Validation ............................................................................ 23

xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.3. Konsep Manajemen Produksi ..................................................................... 24


2.3.1. Produksi ............................................................................................... 25
2.3.2. Fungsi Produksi ................................................................................... 25
2.4. Peramalan atau Prediksi ............................................................................. 26
2.4.1. Karakteristik Peramalan ....................................................................... 26
2.4.2. Metode Peramalan/ Prediksi ................................................................ 27
BAB III Metodologi Penelitian .......................................................................... 28
3.1. Data............................................................................................................. 28
3.2. Gambaran Penelitian................................................................................... 29
3.2.1. Arsitektur Jaringan .............................................................................. 30
3.3. Validasi ....................................................................................................... 31
3.4. Spesifikasi Alat ........................................................................................... 32
3.5. Tahapan Penelitian ..................................................................................... 32
BAB IV Implementasi dan Analisa Hasil ......................................................... 34
4.1. Implementasi Sistem .................................................................................. 34
4.2. Pengujian .................................................................................................... 35
4.2.1. Optimalisasi Arsitektur Jaringan dan Jumlah Delay Data ................... 35
4.3. Hasil Pengujian ........................................................................................... 47
BAB V Penutup ................................................................................................... 51
5.1. Kesimpulan ................................................................................................. 51
5.2. Saran ........................................................................................................... 51
Daftar Pustaka ....................................................................................................... 53
LAMPIRAN .......................................................................................................... 55

xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR

Gambar 2.1 Jaringan Layar Tunggal (Siang, 2009) ................................................ 6


Gambar 2.2 Jaringan Layar Jamak (Siang, 2009) ................................................... 7
Gambar 2.3 Jaringan Reccurent .............................................................................. 8
Gambar 2.3 Jaringan dengan Bias (Siang, 2009) .................................................... 9
Gambar 2.4 Arsitektur Jaringan Backpropagation (Siang, 2009) ........................ 10
Gambar 2.5. Pengaruh Perubahan Momentum (Hagan & Demuth, 1996) …….. 15
Gambar 2.6. Lintasan dengan momentum (Hagan & Demuth, 1996) …………. 16
Gambar 2.7. Perubahan bobot learning rate=0.01 (Hagan & Demuth, 1996) …. 18
Gambar 4.1. Tampilan Utama Program ………………………………………... 34
Gambar 4.3. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 7
............................................................................................................................. ..36
Gambar 4.4. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 14
............................................................................................................................... 36
Gambar 4.5. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 14
............................................................................................................................... 36
Gambar 4.6. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 21
............................................................................................................................... 37
Gambar 4.7. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 21
............................................................................................................................... 37
Gambar 4.8. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 28
............................................................................................................................... 38
Gambar 4.9. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 28
............................................................................................................................... 38
Gambar 4.10. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 7
........................................................................................................................... …38
Gambar 4.11. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 7
........................................................................................................................... …39
Gambar 4.12. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 14
.............................................................................................................................. .39
Gambar 4.13. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 14
.............................................................................................................................. .39

xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 4.14. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 21.
............................................................................................................................... 40
Gambar 4.15. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 21
.............................................................................................................................. .40
Gambar 4.16. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 28
.............................................................................................................................. .41
Gambar 4.17. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 28 ...
………………………………………………………………………………….. 41
Gambar 4.18. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 7
............................................................................................................................... 41
Gambar 4.19. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 7
............................................................................................................................... 42
Gambar 4.20. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 14
............................................................................................................................... 42
Gambar 4.21. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 14
............................................................................................................................... 42
Gambar 4.22. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 21
............................................................................................................................... 43
Gambar 4.23. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 21
............................................................................................................................... 43
Gambar 4.24. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 28
............................................................................................................................... 44
Gambar 4.25. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 28
............................................................................................................................... 44
Gambar 4.26. Contoh Grafik Output Program untuk Roti Pisang Coklat ............ 48
Gambar 4.27. Contoh Grafik Output Program untuk Roti Pisang Keju ............... 48
Gambar 4.28. Contoh Grafik Output Program untuk Roti Pisang Spesial ........... 49

xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR TABEL

Tabel 3.1 Proses Validasi ………………………………………………………. 31


Tabel 4.1. Tabel Kesimpulan Percobaan Hidden Layer dan Delay ...................... 45
Tabel 4.2. Tabel Pengujian Metode Training (Roti Pisang Coklat) ...................... 46
Tabel 4.3. Tabel Pengujian Metode Training (Roti Pisang Keju)......................... 46
Tabel 4.5. Tabel Pengujian Metode Training (Roti Pisang Spesial) ..................... 47

xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I
PENDAHULUAN

1.1.Latar Belakang
Perusahaan masa kini bergerak dalam pasar yang tidak menentu dan terus
berubah-ubah. Untuk itu setiap perusahaan dituntut untuk selalu mengerti dan
memahami apa yang terjadi dipasar dan apa yang menjadi keinginan konsumen
serta berbagai perubahan yang ada di lingkungan bisnisnya sehingga mampu
bersaing dengan perusahaan lain (Agung, 2008). Dalam memenuhi permintaan
pasar yang selalu berubah, suatu perusahaan memproduksi produk dengan jumlah
yang berbeda. Hal ini menyebabkan perusahaan tidak menentu dalam menghasilkan
jumlah suatu produk. Selain itu, dengan banyaknya permintaan dari konsumen
ataupun pesanan yang terus menerus, maka perusahaan harus cepat tanggap dalam
mengeluarkan keputusan dalam memproduksi produknya.
Toko Roti Muntjul merupakan salah satu toko roti yang ada di Klaten. Produksi
roti merupakan hal rutin yang dilakukan untuk dapat memenuhi kebutuhan
konsumen, terutama ketika konsumen banyak membeli roti di toko tersebut. Dalam
memproduksi roti yang harus diproduksi ada beberapa hal yang mempengaruhinya
diantaranya bahan baku dan jumlah permintaan.
Selama ini dalam memprediksi jumlah produksi roti yang harus dibuat hanya
mengandalkan perhitungan manual saja. Belum terdapat sistem tertentu yang
digunakan dalam membantu memprediksi jumlah produksi roti pada setiap harinya.
Dalam produksi setiap harinya, toko roti tersebut tidak menentu dalam
memproduksinya untuk setiap jenis roti khusus penjualan toko tersebut. melihat
data produksi yang sudah ada, terdapat beberapa roti yang paling banyak diminati
seperti roti pisang coklat, pisang keju, dan pisang spesial. Jenis roti tersebut
memiliki peminat konsumennya paling tinggi daripada jenis roti yang lainnya.
Sehingga untuk memuaskan konsumen perlu membuat prediksi jumlah produksi
terhadap jenis roti tersebut agar stok di toko tersebut tidak kehabisan stok.
Pada penelitian sebelumnya telah dilakukan penelitian terkait dengan
memprediksi jumlah produksi dengan studi kasus produksi air PDAM dengan

1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

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

1.7.Sistematika Penulisan
Dokumen ini terdiri atas enam bab, yaitu :
1. BAB I PENDAHULUAN
Bab ini akan dijelaskan mengenai latar belakang, rumusan masalah, tujuan
dan manfaat penulisan, batasan masalah, metodologi penulisan dan
sistematika penulisan.
2. BAB II LANDASAN TEORI
Bab ini akan dijelaskan tentang metode yang digunakan yaitu
Backpropagation serta rumus-rumus yang akan dipergunakan, dan
mengenai teori-teori produksi.
3. BAB III METODOLOGI PENELITIAN
Bab ini berisi tentang analisis dan perancangan sistem, meliputi: gambaran
umum penelitian, data yang digunakan, tahap penelitian, spesifikasi alat dan
gambaran perancangan.
4. BAB IV IMPLEMENTASI DAN ANALISIS SISTEM
Bab ini berisi tentang implementasi dan melakukan analisis dari prediksi
jumlah produksi setiap roti menggunakan metode Backpropagation.
5. BAB V PENUTUP
Bab ini berisi tentang jawaban singkat dari rumusan masalah atau
kesimpulan dan saran dalam pengembangan serta penyempurnaan penilitian
yang dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II
LANDASAN TEORI

Bab ini akan membahas dasar teori serta hasil penelitian terdahulu yang
akan digunakan dalam proses penyusunan dan pembahasan penelitian, tercakup di
dalamnya beberapa pengertian tentang jaringan syaraf tiruan dan konsep
manajemen produksi.

2.1. Jaringan Syaraf Tiruan


Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang memiliki
karakteristik mirip dengan jaringan syaraf biologis (Siang, 2009). Jaringan Syaraf
Tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf
biologi, dengan asumsi :

 Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).


 Sinyal dikirimkan melalui neuron-neuron melalui penghubung-
penghubung.
 Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
 Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang.

Jaringan Syaraf Tiruan ditentukan oleh 3 hal :

 Pola hubungan antar neuron


 Metode untuk menentukan bobot penghubung
 Fungsi aktivasi

5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.1.1. Arsitektur Jaringan


Menurut Siang (2009) ada beberapa arsitektur jaringan yang sering dipakai dalam
jaringan syaraf tiruan, antara lain :

1. Jaringan Layar Tunggal (Single Layer Network)

Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung


dengan sekumpulan outputnya. Dalam beberapa model (misal perceptron),
hanya ada sebuah unit neuron output.

W11
X1 Y1

Xi Wji Yj

Xn Ym

Gambar 2.1 Jaringan Layar Tunggal (Siang, 2009)


Gambar di atas menunjukan arsitektur jaringan dengan n unit input (X)
dan m unit output (Y).

Dalam jaringan tersebut, semua unit input dihubungkan dengan semua unit
output, meskipun dengan bobot yang berbeda-beda. Tidak ada unit input yang
dihubungkan dengan unit input lainnya. Demikian pula dengan unit output.

Besaran w menyatakan bobot hubungan antara unit onput dengan urut


output. Bobot-bobot ini aling independen. Selama proses pelatihan, 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

2. Jaringan Layar Jamak (Multi Layer Network)

Jaringan layar jamak merupakan perluasan dari layar tunggal. Dalam jaringan
ini, selain unit input dan output, ada unit-unit lain (sering disebut layar
tersembunyi). Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti
pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan.

X1 Y1

Z1

Xi Yj

Zp

Xn Ym

Gambar 2.2 Jaringan Layar Jamak (Siang, 2009)


Gambar di atas adalah jaringan dengan n buah unit input (X) sebuah layar
tersembunyi yang terdiri dari p buah unit (Z) dan m buah unit output (Y).

Jaringan ini dapat menyelesaikan masalah yang lebih kompleks dibandingkan


dengan layar tunggal, meskipun kadangkala proses pelatihan lebih kompleks dan
lama.

3. Jaringan Reccurent

Model jaringan reccurent mirip dengan jaringan layar tunggal ataupun ganda.
Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering
disebut feedback loop).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

Fungsi identitas sering dipakai apabila kita menginginkan keluaran


berupa sembarang bilangan riil (bukan hanya pada rentan [0,1] atau [-1,1]
Kadang-kadang dalam jaringan ditambahkan sebuah unit masukan
yang nilainya selalu = 1. Unit yang sedemikian itu disebut bias. Bias dapat
dipandang sebagai sebuah unit input yang nilainya = 1. Bias berfungsi untuk
mengubah nilai threshold menjadi = 0 (bukan = a). jika melibatkan bias,
maka keluaran unit penjumlahan adalah = + ∑
Fungsi aktivasi threshold menjadi :
,
={
, <

X1

X2 Y

Gambar 2.3 Jaringan dengan Bias (Siang, 2009)


2.1.3. Backpropagation (Propagasi Balik)
Backpropagation merupakan suatu teknik pembelajaran atau pelatihan jenis
supervised learning yang sering digunakan. Metode ini merupakan salah satu
metode yang sangat baik dalam menangani masalah pengenalan pola yang
kompleks. Di dalam jaringan ini, setiap unit yang berada di lapisan input output.
Arsitektur backpropagation termasuk dalam jaringan layar jamak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

Y1 Yk Ym

Wkj
Z1 Zj Zp

X1 Xn
Xi

Gambar 2.4 Arsitektur Jaringan Backpropagation (Siang, 2009)


Pada gambar di atas merupakan arsitektur jaringan syaraf tiruan propagasi
balik dengan n buah masukan ditambah sebuah bias, sebuah lapis tersembunyi yang
terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.

2.1.4. Fungsi Aktivasi


Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi
baberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi
yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga
sering dipakai adalah fungsi sigmoid biner yang memiliki rentang(0,1).

′ ( − )
= + −
dengan turunan =

Fungsi lain yang juga memenuhi syarat tersebut adalah fungsi sigmoid bipolar
yang bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan rentang
(-1, 1).


( + ) −
= −
− dengan turunan =
+

Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang


targetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditransformasikan
sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang
dipakai. Alternative lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

layar yang bukan layar keluaran. Pada layar keluaran, fungsi aktivasi yang dipakai
adalah fungsi identitas : f(x) = x.

Algoritma pelatihan backpropagation terdiri dari 3 tahapan utama yaitu

1. Tahap Propagasi Maju

Selama propagasi maju, sinyal masukan (=Xi) dipropagasikan ke layar


tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari
setiap unit layar tersembunyi (=Zj) tersebut selanjutnya dipropagasikan
maju lagi ke layar tersembunyi diatasnya menggunakan fungsi aktivasi yang
ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan
(=yk).

Berikutnya, keluaran jaringan (=yk) dibandingkan dengantarget yang


harus dicapai (=tk). Selisih tk-yk adalah kesalahan yang terjadi. Jika
kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi
dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas
toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi
untuk mengurangi kesalahan yang terjadi.

2. Tahap Propagasi Mundur

Berdasarkan kesalahan tk-yk, dihitung faktor k (k= 1,2,……,m) yang


dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit
tersembunyi yang terhubung langsung dengan yk. k juga dipakai untuk
mengubah bobot garis yang berhubungan langsung dengan unit masukan
dihitung.

Dengan cara yang sama, dihitung j di setiap unit di layar tersembunyi


sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua
faktor di unit tersembunyi yang berhubungan langsung dengan unit
masukan dihitung.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

3. Tahap Perubahan Bobot

Setelah semua faktor dihitung, bobot semua garis dimodifikasi


bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron
dilayar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke
layar keluaran didasarkan atas k yang ada di unit keluaran.
Ketiga tahap tersebut diulang-ulang terus hingga kondisi penghentian
dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah
iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang
dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau
jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang
diijinkan.

Secara umum algoritma pelatihan untuk jaringan backpropagation adalah


sebagai berikut :

1. Inisialisasi semua bobot dengan nilai bilangan acak kecil


2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9
3. Untuk setiap pasang data pelatihan, lakukan langkah 3-8
4. Tiap unit masukan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya
5. Hitung semua keluaran di unit tersembunyi Zj (j=1,2,3, ….,p)
Z_netj = vjo + ∑ = (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 (2.17)
6

Dan koefisien momentum ditetapkan untuk = . (a) dan = . (b).


Dari gambar tersebut dapat dilihat osilasi dari output filter kurang dari osilasi
dalam filter input. Selain itu, sebagai meningkat osilasi dalam output filter
berkurang. Sangat penting juga memperhatikan bahwa output filter rata-rata
sama dengan rata-rata menyaring masukan, meskipun sebagai 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

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

28
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 Input
Data Target

Gambar 3.1. Contoh pembagian data input dan target dengan nilai delay 7

3.2.Gambaran Penelitian

Data Input Training Backpropagation

Testing Uji Hasil

Gambar 3.2. Gambaran Proses


 Data input merupakan data yang sudah diubah kedalam range [0 1] atau sudah
melewati proses preprocessing. Data tersebut akan dibagi sebagi data training
dan testing.
 Untuk proses training, langkah selanjutnya masuk kedalam jaringan syaraf
tiruan backpropagation dengan arsitektur seperti Gambar 3.3.
 Proses uji merupakan proses untuk menguji data testing terhadap data training
yang sudah melewati proses backpropagation.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

 Setelah melewati proses tersebut maka data hasil akan diperoleh.

3.2.1. Arsitektur Jaringan

Xn-6

Xn-5
Z1 Z1

Xn-4

Z2 Z2

Xn-3

Xn Hasil

Xn-2

Output Layer
Zj Zj
Xn-1

Hidden Layer 1 Hidden Layer 2


Input Layer

Gambar 3.3. Arsitektur Jaringan


Gambar diatas merupakan rancangan arsitektur jaringan dengan delay 7 data yang
akan digunakan sebagai berikut :
 input layer yang mempunyai 6 data masukan yang berisi data produksi hasil
normalisasi, dengan setiap neuron mewakili 1 data masukan dan n
menyatakan jumlah delay data yang digunakan.
 Mempunyai dua hidden layer dengan jumlah neuron j, dan fungsi transfer
yang digunakan adalah logsig (sigmoid biner) karena data yang digunakan
setelah melewati proses normalisasi memiliki rentang [0 1]. Sedangkan
untuk menghasilkan sebuah output menggunakan fungsi transfer purelin.
Untuk mendapatkan yang optimal dalam jaringan dilakukan pengujian
terhadap jumlah hidden layer yaitu 1 dan 2 hidden layer dengan variasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

jumlah neuron yang digunakan dimulai dengan jumlah 25 neuron sampai 70


neuron
 Mempunyai satu neuron output layer yang mewakili 1 data ke n ,yang
menyatakan jumlah delay yang dijadikan data target yang akan
menghasilkan hasil prediksi.

3.3.Validasi
Dalam melakukan pengujian dari penelitian ini baik makan akan dilakukan dengan
3-fold cross validation. Proses 3-fold cross validation adalah sebagai berikut: data
produksi selama 3 tahun akan dibagi menjadi 3 kelompok. Setiap kelompok
memiliki data yang berbeda untuk setiap data roti karena setiap hari terdapat roti
yang tidak melakukan produksi dan setiap kelompok data juga selalu berubah
tergantung delay data yang digunakan. Proses validasi akan dilakukan sesuai tabel
di bawah:
Tabel 3.1 Proses Validasi
No Data Training Data Testing

1 Kelompok A dan B Kelompok C

2 Kelompok A dan C Kelompok B

3 Kelompok B dan C Kelompok A

Setelah dilakukan pengujian sebanyak 3 kali seperti ketentuan diatas maka


dilakukan perhitungan akurasi dengan cara menghitung selisih antara hasil prediksi
produksi dengan nilai sebenarnya dan dengan rumus sebagai berikut :

(| � � −ℎ � |)
= −( ) % (3.2)
� �
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

Untuk setiap pengujian data testing akan dilakukan perhitungan akurasi dengan
rumus diatas. Tetapi dalam sistem yang akan ditampilkan adalah rata-rata akurasi
dari masing-masing jenis roti dengan rumus sebagai berikut :

+ +
− = (3.3)

3.4. Spesifikasi Alat

Sistem ini mempunyai kebutuhan perangkat keras dan lunak untuk mendapatkan
hasil yang maksimal.

a. Kebutuhan Perangkat Keras


Sistem ini membutuhkan perangkat keras dengan spesifikasi minimal
sebagai berikut :
Processor : Intel® Core ™ i3-3217U CPU @ 1.80GHz
Memory : 4096 MB
Harddisk : 500 GB
b. Kebutuhan Perangkat Lunak
Sistem ini membutuhkan perangkat lunak untuk pembuatan dan
menjalankannya, perangkat lunak tersebut adalah sebagai berikut :
Microsoft Windows 10
Matlab 2012
Matlab 2012 digunakan untuk membuat sistem sekaligus menjalankan
sistem yang dibuat.

3.5.Tahapan Penelitian

Dalam sub bab ini akan membahas tentang metode perancangan yang akan
digunakan dan langkah-langkah dalam penelitian ini, adapun sebagai berikut :

1. Tahap wawancara

Tahap ini dilakukan dengan narasumber secara langsung, dan yang menjadi
sumber adalah pihak dari Toko Roti Muntjul.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

2. Pencarian informasi mengenai segala sesuatu yang berhubungan dengan


penelitian ini.
3. Pengumpulan data.
4. Analisa terhadap data dan perancangan mengenai sistem yang akan dibuat.
5. Analisa dan perancangan yang telah dilakukan sebelumnya, selanjutnya
diimplementasikan ke dalam perangkat lunak.
6. Dilakukan pengujian terhadap sistem dengan memasukkan data latih dan
data uji.
7. Dilakukan analisa terhadap sistem yang telah diuji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV
IMPLEMENTASI DAN ANALISA HASIL

Bab ini akan berisikan tentang implementasi dan analisis keluaran dari
sistem dengan algoritma yang telah digunakan serta perancangan antarmuka.

4.1. Implementasi Sistem

Gambar 4.1. Tampilan Utama Program


Pada tampilan antar muka sistem terdapat 4 panel fungsi dari sistem, yaitu :

a. Data Kelompok
Proses uji data kelompok dilakukan dengan cara memilih jenis roti terlebih
dahulu dengan memilih satu jenis roti. Kemudian memasukan nilai variabel
jaringan syaraf tiruan, yaitu: hidden layer 1, hidden layer 2, epoch dan
learning rate. Setelah itu menekan tombol “prediksi”.
b. Grafik
Proses ini dilakukan untuk menampilkan perbandingan grafik antara data
asli dan data hasil prediksi. Grafik akan muncul ketika menekan tombol
“Grafik”.
c. Data Tunggal
Proses ini dilakukan untuk menguji satu data saja. Cara nmenguji data
tersebut adalah memasukan tanggal prediksi dengan format tanggal
(bulan/hari/tahun) kemudian menekan tombol Prediksi. Kemudian akan

34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

muncul hasil dan waktu prediksi. Tabel data input digunakan untuk
menampilkan data input yang digunakan untuk menguji data tunggal.

4.2. Pengujian
Pengujian sistem telah dilakukan beberapa kali untuk mendapatkan hasil yang
paling optimal dimulai dari menguji dan merubah jumlah neuron dalam setiap
hidden layer, fungsi aktivasi dan metode training yang digunakan dalam arsitektur
jaringan. Selain itu pengujian juga dilakukan terhadap jumlah data input dengan
beberapa kombinasi delay data yang dilakukan dalam pengujian sistem tersebut.

4.2.1. Optimalisasi Arsitektur Jaringan dan Jumlah Delay Data


Pada proses optimalisasi jaringan ini akan dilakukan terhadap data pelatihan
sebanyak 1002 data untuk setiap jenis roti dengan beberapa kombinasi hidden layer
dan delay data. Kombinasi hidden layer dimulai dengan jumlah satu hidden layer
dengan 25 neuron akan bertambah 5 neuron untuk setiap percobaan dan delay data
dimulai dengan 7 dan akan bertambah 7 untuk setiap percobaan yang dilakukan
sampai delay 28 data. Dan setelah itu akan menambah kombinasi dengan dua
hidden layer dengan kombinasi yang sama. Berikut hasil proses optimalisasi
jaringan yang dilakukan :

Fungsi transfer hidden layer 1 = Logsig

Fungsi transfer hidden layer 2 = Logsig

Fungsi Aktivasi = Purelin ; Metode Train = traingdx

Akurasi 1 HL
76
74
72
70
68
66
25 30 35 40 45 50 55 60 65 70

Gambar 4.2. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

Akurasi 2 HL
76
74
72
70
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.3. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 7

Dapat dilihat dari Gambar 4.2 dan Gambar 4.3 hasil dari percobaan roti
pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan dua hidden layer akurasi tertinggi mencapai 74.45 % dengan variasi
jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.88 % untuk
percobaan dengan jumlah delay 7 data.

Akurasi 1 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70

Gambar 4.4. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 14

Akurasi 2 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70
30

Gambar 4.5. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

Dapat dilihat dari Gambar 4.4 dan Gambar 4.5 hasil dari percobaan roti
pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 74.21 % dengan variasi
jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tingggi akurasinya.
Yaitu pada variasi jumlah neuron 30 dan 35 dengan akurasi 74.38 % untuk
percobaan dengan jumlah delay 14 data.

Akurasi 1 HL
76
74
72
70
68
66
25 30 35 40 45 50 55 60 65 70

Gambar 4.6. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 21

Akurasi 2 HL
75
74
73
72
71
70
25 30 35 40 45 50 55 60 65 70
30

Gambar 4.7. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 21

Dapat dilihat dari Gambar 4.6 dan Gambar 4.7 hasil dari percobaan roti
pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 74.09 % dengan variasi
jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya.
Yaitu pada variasi jumlah neuron 30 dan 35 dengan akurasi 74.63 % untuk
percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

Akurasi 1 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70

Gambar 4.8. Grafik Akurasi 1 Hidden Layer Roti Pisang Coklat Delay Data : 28

Akurasi 2 HL
76
74
72
70
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.9. Grafik Akurasi 2 Hidden Layer Roti Pisang Coklat Delay Data : 28

Dapat dilihat dari Gambar 4.8 dan Gambar 4.9 hasil dari percobaan roti
pisang coklat masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan dua hidden layer akurasi tertinggi mencapai 74.06 % dengan variasi
jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.73 % untuk
percobaan dengan jumlah delay 28 data.

Akurasi 1 HL
72
71
70
69
68
67
25 30 35 40 45 50 55 60 65 70

Gambar 4.10. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

Akurasi 2 HL
72
70
68
66
25 30 35 40 45 50 55 60 65 70
30

Gambar 4.11. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 7

Dapat dilihat dari Gambar 4.10 dan Gambar 4.11 hasil dari percobaan roti
pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 71.58 % dengan variasi
jumlah neuron 30, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya.
Yaitu pada variasi jumlah neuron 30 dan 45 dengan akurasi 71.61 % untuk
percobaan dengan jumlah delay 7 data.

Akurasi 1 HL
72
70
68
66
25 30 35 40 45 50 55 60 65 70

Gambar 4.12. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 14

Akurasi 2 HL
74
72
70
68
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.13. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

Dapat dilihat dari Gambar 4.12 dan Gambar 4.13 hasil dari percobaan roti
pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 71.52 % dengan variasi
jumlah neuron 25, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya.
Yaitu pada variasi jumlah neuron 25 dan 25 dengan akurasi 71.84 % untuk
percobaan dengan jumlah delay 14 data.

Akurasi 1 HL
75
70
65
60
25 30 35 40 45 50 55 60 65 70

Gambar 4.14. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 21

Akurasi 2 HL
72
70
68
66
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.15. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 21

Dapat dilihat dari Gambar 4.14 dan Gambar 4.15 hasil dari percobaan roti
pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 71.65 % dengan variasi
jumlah neuron 25, sedangkan hasil dari dua hidden layer lebih tinggi akurasinya.
Yaitu pada variasi jumlah neuron 25 dan 30 dengan akurasi 71.69 % untuk
percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

Akurasi 1 HL
72
70
68
66
64
25 30 35 40 45 50 55 60 65 70

Gambar 4.16. Grafik Akurasi 1 Hidden Layer Roti Pisang Keju Delay Data : 28

Akurasi 2 HL
72
70
68
66
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.17. Grafik Akurasi 2 Hidden Layer Roti Pisang Keju Delay Data : 28

Dapat dilihat dari Gambar 4.16 dan Gambar 4.17 hasil dari percobaan roti
pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan dua hidden layer akurasi tertinggi mencapai 71.1 % dengan variasi
jumlah neuron 25 dan 35, sedangkan, hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 71.5 % untuk
percobaan dengan jumlah delay 28 data.

Akurasi 1 HL
76
74
72
70
68
66
25 30 35 40 45 50 55 60 65 70

Gambar 4.18. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

Akurasi 2 HL
74
73
72
71
70
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.19. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 7

Dapat dilihat dari Gambar 4.18 dan Gambar 4.19 hasil dari percobaan roti
pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan dua hidden layer akurasi tertinggi mencapai 73.48 % dengan variasi
jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 73.93 % untuk
percobaan dengan jumlah delay 7 data.

Akurasi 1 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70

Gambar 4.20. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 14

Akurasi 2 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.21. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

43

Dapat dilihat dari Gambar 4.20 dan Gambar 4.21 hasil dari percobaan roti
pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 73.66 % dengan variasi
jumlah neuron 25 dan 25, sedangkan hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.04 % untuk
percobaan dengan jumlah delay 14 data.

Akurasi 1 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70

Gambar 4.22. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 21

Akurasi 2 HL
76
74
72
70
68
25 30 35 40 45 50 55 60 65 70
30

Gambar 4.23. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 21

Dapat dilihat dari Gambar 4.22 dan Gambar 4.23 hasil dari percobaan roti
pisang spesial masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan satu hidden layer akurasi tertinggi mencapai 74.03 % dengan variasi
jumlah neuron 30, sedangkan, hasil dari dua hidden layer lebih tinggi akurasinya.
Yaitu pada variasi jumlah neuron 30 dan 25 dengan akurasi 74.05 % untuk
percobaan dengan jumlah delay 21 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

44

Akurasi 1 HL
76
74
72
70
68
66
25 30 35 40 45 50 55 60 65 70

Gambar 4.24. Grafik Akurasi 1 Hidden Layer Roti Pisang Spesial Delay Data : 28

Akurasi 2 HL
74
73
72
71
70
25 30 35 40 45 50 55 60 65 70
25

Gambar 4.25. Grafik Akurasi 2 Hidden Layer Roti Pisang Spesial Delay Data : 28

Dapat dilihat dari Gambar 4.24 dan Gambar 4.25 hasil dari percobaan roti
pisang keju masing-masing variasi. Jika dibandingkan dengan percobaan
menggunakan dua hidden layer akurasi tertinggi mencapai 73.76 % dengan variasi
jumlah neuron 25 dan 30, sedangkan hasil dari satu hidden layer lebih tinggi
akurasinya. Yaitu pada variasi jumlah neuron 25 dengan akurasi 74.02 % untuk
percobaan dengan jumlah delay 28 data.

Setelah didapatkan hasil pengujian terhadap setiap jenis roti, pengujian data
dimulai dengan input 25 neuron kemudian dilanjutkan dengan ditambahkan 5
neuron untuk setiap percobaan sampai dengan 70 neuron. Selain jumlah neuron,
delay data juga diuji dengan sebanyak 7, 14, 21 dan 28 yang dikombinasikan
dengan jumlah neuron. Dari beberapa hasil grafik diatas beberapa kombinasi yang
mencapai akurasi tertinggi untuk setiap jenis roti, sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

45

Tabel 4.1. Tabel Kesimpulan Percobaan Hidden Layer dan Delay

Jumlah Jumlah
Delay Akurasi
No Jenis Roti Neuron Neuron
Data (%)
(1) (2)

1 Pisang Coklat 25 - 7 74.88

2 Pisang Keju 25 25 14 71.84

3 Pisang Spesial 30 25 21 74.05

Hasil kesimpulan diatas menunjukan akurasi paling optimal untuk setiap


jenis roti. Beberapa kombinasi yang telah dilakukan hasil paling optimal berbeda
untuk setiap roti. Untuk jenis roti pisang coklat akurasi tertinggi 74.88 % dari
beberapa hasil percobaan dengan spesifikasi arsitekturnya 1 hidden layer dengan
masing-masing hidden neuronnya 25 dengan delay atau perpotongan 7 data.
Sedangkan pisang keju akurasi yang optimal dengan 71.84 % dengan arsitekturnya
2 hidden layer dengan jumlah hidden neuronnya 25 dan 25 dengan perpotongan 14
data, dan jenis roti pisang spesial dengan spesifikasi arsitekturnya 2 hidden layer
dengan masing-masig jumlah hidden neuronnya 30 dan 25 dengan perpotongan
data 21 mencapai akurasi paling optimal sebesar 74.05 %.

Pengujian dilakukan dengan jumlah 2 hidden layer dan neuron dihentikan


pada jumlah 70 dikarenakan hasil akurasi yang didapatkan semakin menurun akan
pun naik hasilnya tidak terlalu signifikan sehingga percobaan dihentikan.

Selain mendapatkan hasil yang maksimal dengan kombinasi diatas maka


akan dilakukan pengujian metode training terhadap setiap jenis roti, seperti berikut:

1. Percobaan Metode Training terhadap Data Roti Coklat


Jumlah Hidden Layer = 1
Hidden Layer 1 =25
Fungsi transfer 1 = logsig ; fungsi transfer 2 = logsig
Delay = 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

Tabel 4.2. Tabel Pengujian Metode Training (Roti Pisang Coklat)

No Metode Training Akurasi

1 Traingdm 66.87

2 Traingda 73.82

3 Trainrp 72.23

4 Traincgf 68.58

5 Traincgp 73.91

6 Traincgb 74.34

2. Percobaan Metode Training terhadap Data Roti Keju


Jumlah Hidden Layer = 2
Hidden Layer 1 =25 ; Hidden Layer 2 = 25
Fungsi transfer 1 = logsig ; fungsi transfer 2 = logsig
Delay = 14
Tabel 4.3. Tabel Pengujian Metode Training (Roti Pisang Keju)

No Metode Training Akurasi

1 Traingdm 70.89

2 Traingda 70.47

3 Trainrp 60.23

4 Traincgf 66.51

5 Traincgp 67.02

6 Traincgb 71.47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

3. Percobaan Metode Training terhadap Data Roti Spesial


Jumlah Hidden Layer = 2
Hidden Layer 1 =30 , Hidden Layer 2=25
Fungsi transfer 1 = logsig, fungsi transfer 1 = logsig
Delay = 21
Tabel 4.5. Tabel Pengujian Metode Training (Roti Pisang Spesial)

No Metode Training Akurasi

1 Traingdm 71.68

2 Traingda 73.82

3 Trainrp 60.13

4 Traincgf 60.80

5 Traincgp 64.17

6 Traincgb 73.26

3.3.Hasil Pengujian
Dari hasil percobaan diatas dengan parameter jumlah hidden layer dan jumlah
delay data telah didapat hasil optimal dengan beberapa kombinasi antara kedua
parameter terhadap data setiap roti, dan hasil pengujiannya sebagai berikut :

1. Pengujian Terhadap Data Roti Pisang Coklat


Jumlah Hidden Layer = 1

Hidden Layer 1 = 25

Fungsi Transfer Hidden layer 1 = Logsig

Metode Train = traingdx

Delay Data = 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

Gambar 4.26. Contoh Grafik Output Program untuk Roti Pisang Coklat

Grafik yang berwarna biru merupakan nilai produksi yang sebenarnya sedangkan
yang berwarna hijau merupakan hasil prediksi sistem.

2. Pengujian Terhadap Data Roti Pisang Keju

Jumlah Hidden Layer = 2

Hidden Layer 1 = 25 , Hidden Layer 2 = 25

Fungsi Transfer Hidden layer 1 = Logsig

Fungsi Transfer Hidden layer 2 = Logsig

Metode Train = traingdx

Delay Data = 14

Gambar 4.27. Contoh Grafik Output Program untuk Roti Pisang Keju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

Grafik yang berwarna hijau merupakan nilai produksi yang sebenarnya sedangkan
yang berwarna merah merupakan hasil prediksi sistem.

3. Pengujian Terhadap Data Roti Pisang Spesial

Jumlah Hidden Layer = 2

Hidden Layer 1 = 30 , Hidden Layer 2 = 25

Fungsi Transfer Hidden layer 1 = Logsig

Fungsi Transfer Hidden layer 2 = Logsig

Metode Train = traingdx

Delay Data = 21

Gambar 4.28. Contoh Grafik Output Program untuk Roti Pisang Spesial

Grafik berwarna ungu merupakan nilai produksi sebenarnya sedangkan


grafik berwarna kuning adalah hasil prediksi sistem. Masing-masing grafik
ditampilkan menjadi 3 sesuai dengan hasil 3-fold cross validation.

Dalam melakukan prediksi, hasil yang didapatkan dengan kedekatan antara


hasil prediksi sistem dengan nilai produksi sebenarnya dapat digambarkan
dengan beberapa contoh grafik output diatas. Dengan menghitung selisih antara
hasil prediksi sistem dengan nilai produksi sebenarnya yang akan didapatkan
sebuah error yang sebelumnya data yang digunakan dari proses normalisasi,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

dibandingkan dengan jumlah data testing yang digunakan, sehingga hasil yang
didapatkan seperti pada tabel 4.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V
PENUTUP

5.1. Kesimpulan
Dalam hasil penelitian prediksi jumlah produksi roti menggunakan metode
backpropagation dapat disimpulkan sebagai berikut :
1. Hasil percobaan beberapa arsitektur jaringan untuk memprediksi jumlah
produksi berbeda untuk setiap roti, sebagai berikut :
a. Roti pisang Coklat dengan memiliki variasi 1 hidden layer
dengan jumlah neuron 25 dengan perpotongan atau delay 7 data
dengan menghasilkan akurasi 74.88 %.
b. Roti pisang keju dengan memiliki variasi 2 hidden layer dengan
jumlah neuron 25 dan 25 dengan perpotongan atau delay 14 data
dengan menghasilkan 71.84 %.
c. Roti pisang spesial dengan memiliki variasi 2 hidden layer
dengan jumlah neuron 30 dan 25 dengan perpotongan atau delay
21 data dengan menghasilkan 74.05 %.
2. Berdasarkan hasil grafik yang dihasilkan sistem ini masih ada kekurangan
adalah selisih hasil jumlah produksi hasil prediksi dengan jumlah produksi
real masih cukup besar jika dilihat secara grafik. Hal ini dikarenakan jumlah
produksi yang tidak menentu tanpa mempertimbangkan faktor lain seperti
musiman dan jumlah permintaan sehingga belum cukup akurat dalam
melakukan sebuah prediksi.

5.2. Saran
Saran yang dapat diberikan untuk mengembangkan sistem ini adalah :

a. Pengembangan sistem ini dapat dilakukan dengan menambah variasi


perpotongan delay.
b. Pengembangan percobaan metode Normalisasi lain sehingga akan
mendapatkan hasil lebih optimal lagi.

51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

c. Pengembangan dari sisi tampilan dapat dilakukan untuk memudahkan


membaca grafik sehingga pengguna dapat mengerti maksud dari grafik yang
ditampilkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Daftar Pustaka
Aditya, Kevin. 2014. Uji Akurasi Algoritma Fuzzy Neural Network Untuk
Memprediksi Pergerakan Harga Saham. Skripsi. Tidak
dipublikasikan. Yogyakarta: Universitas sanata Dharma.

Agung, I Gusti ngurah. 2008. Teori Ekonomi Mikro ; Suatu Analisis Produksi
Terapan. Jakarta: Raja Grafindo Persada.

Assauri, Sofjan. 1993. Manajemen Produksi dan Operasi. Jakarta : Lembaga


Penerbit Fakultas Ekonomi Universitas Indonesia.

Bagus, Widodo, A. 2015. Klasifikasi Lagu Berdasarkan Pencipta Lagu


Menggunakan Jaringan Syaraf Tiruan Propagasi Balik. Skripsi. Tidak
dipublikasikan. Yogyakarta: Universitas Sanata Dharma.

Daryanto. 2012. Sari Kuliah Manajemen Produksi. Bandung: PT. Sarana Tutorial
Nurani Sejahtera.

Hagan,M.T., Demuth,H.B., Beale,M.H. (1996). Neural Network Design. Boston


PWS Publishing Company.

Nasution, A.H. (1999). Perencanaan dan Pengendalian Produksi, Guna Widya


ITS, Surabaya.

Powell, M.J.D., "Restart procedures for the conjugate gradient


method," Mathematical Programming, Vol. 12, 1977, pp. 241–254.

Pramonoaji, Yudha Tirto., Santosa, Stefanus, Pramunendar, Ricardus Anggi,. 2013.


Prediksi Produksi Air PDAM dengan Jaringan Syaraf Tiruan.
http://eprints.dinus.ac.id/id/eprints/5153. Diakses tanggal 22 Oktober
2015.

Prasetyo, Eko. 2014. Data Mining Mengolah Data Menjadi Informasi


Menggunakan Matlab. Yogyakarta : Andi.

Siang, J, J. 2009. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan


MATLAB. Yogyakarta : Andi.

53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

Suwanto, Tri, A. 2015. Prediksi Nilai Tukar Rupiah Terhadap Dolar Amerika
Serikat Dengan Menggunakan Metode Backpropagation. Skripsi.
Tidak dipublikasikan. Yogyakarta: Universitas Sanata Dharma.

Reksohadiprodjo, Sukanto. 1995. Manajemen Produksi dan Operasi Ed.1.


Yogyakarta : BPFE-Yogyakarta.

Riedmiller M, Braun H. 1993. A Direct adaptive Method for Faster


Backpropagation Learning: The RPROP Algorithm.
http://deeplearning.cs.cmu.edu/pdfs/Rprop.pdf. Diakses 9 Juni 2016.

Shewchuk ,Jonathan R. 1994. An Introduction to the Conjugate Gradient Method


Without the Agonizing Pain Ed. . https://www.cs.cmu.edu/~quake-

papers/painless-conjugate-gradient.pdf. Diakses tanggal 26 Mei 2016.

William H, Hidayatno A, Zahra A.A,. 2014. Aplikasi Jaringan Syaraf Tiruan


Perambatan Balik Untuk Prakiraan Valuta GBP/USD Dalam Forex
Trading. Semarang : Jurusan Teknik Elektro, Universitas Diponegoro.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

LAMPIRAN
1. Source Code Kelas GUI
function varargout = HalamanUtamaPrediksi(varargin)
% HALAMANUTAMAPREDIKSI MATLAB code for HalamanUtamaPrediksi.fig
% HALAMANUTAMAPREDIKSI, by itself, creates a new
HALAMANUTAMAPREDIKSI or raises the existing
% singleton*.
%
% H = HALAMANUTAMAPREDIKSI returns the handle to a new
HALAMANUTAMAPREDIKSI or the handle to
% the existing singleton*.
%
%
HALAMANUTAMAPREDIKSI('CALLBACK',hObject,eventData,handles,...)
calls the local
% function named CALLBACK in HALAMANUTAMAPREDIKSI.M with the
given input arguments.
%
% HALAMANUTAMAPREDIKSI('Property','Value',...) creates a new
HALAMANUTAMAPREDIKSI or raises the
% existing singleton*. Starting from the left, property
value pairs are
% applied to the GUI before HalamanUtamaPrediksi_OpeningFcn
gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to
HalamanUtamaPrediksi_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help


HalamanUtamaPrediksi

Last Modified by GUIDE v2.5 21-Apr-2016 12:28:01

% Begin initialization code - DO NOT EDIT


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@HalamanUtamaPrediksi_OpeningFcn, ...
'gui_OutputFcn',
@HalamanUtamaPrediksi_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

56

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});


else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before HalamanUtamaPrediksi is made visible.
function HalamanUtamaPrediksi_OpeningFcn(hObject, eventdata,
handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to HalamanUtamaPrediksi (see
VARARGIN)
% Choose default command line output for HalamanUtamaPrediksi
% handles.output = hObject;
handles.output = hObject;
axes(handles.axes2);
I=imread('USD-logo.jpg');
imshow(I);
% Update handles structure
guidata(hObject, handles);

% UIWAIT makes HalamanUtamaPrediksi wait for user response (see


UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = HalamanUtamaPrediksi_OutputFcn(hObject,
eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
function input_tanggal_Callback(hObject, eventdata, handles)
% hObject handle to input_tanggal (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of input_tanggal
as text
% str2double(get(hObject,'String')) returns contents of
input_tanggal as a double
% --- Executes during object creation, after setting all
properties.
function input_tanggal_CreateFcn(hObject, eventdata, handles)
% hObject handle to input_tanggal (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

57

if ispc && isequal(get(hObject,'BackgroundColor'),


get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in prediksi_tunggal.
function prediksi_tunggal_Callback(hObject, eventdata, handles)
% hObject handle to prediksi_tunggal (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
hl1num= handles.gui.hl1num;
hl2num=handles.gui.hl2num;
epochnum=handles.gui.epochnum;
ratenum=handles.gui.ratenum;
k=handles.gui.k;
vecN=handles.gui.vecN;
delayData=handles.gui.delayData;
data_produksi = handles.gui.data_produksi;
tanggal_Produksi = handles.gui.tanggal_Produksi;
tanggal=get(handles.input_tanggal,'String');
[cri_tanggal] = tanggalIndex(tanggal,tanggal_Produksi);
[saveLatih,saveTarget]=BagiData(vecN,cri_tanggal,delayData);
saveTarget=saveTarget';
assignin('base','savelatih',saveLatih);
assignin('base','saveTarget',saveTarget);
assignin('base','saveTarget',vecN);
assignin('base','delay',delayData);
uji_awal = (cri_tanggal+1) - delayData;
uji_akhir = cri_tanggal;
data_uji = vecN(uji_awal:uji_akhir);
data_uji_tes= data_uji';
assignin('base','data_uji_tes',data_uji_tes);
latih=saveLatih(:,1:delayData-1);
latih_target=saveLatih(:,delayData);
uji=data_uji_tes(:,1:delayData-1);
assignin('base','latih',latih);
assignin('base','latih_target',latih_target);
assignin('base','uji',uji);
assignin('base','indek',cri_tanggal);
assignin('base','awal',uji_awal);
assignin('base','akhir',uji_akhir);
%Menampilkan Data Di tabel
myform=guidata(gcbo);
set(myform.tabel_input_output,'data',data_produksi(uji_awal:uji_ak
hir)');
tic
[hasil] =
backpro(latih,latih_target,uji,hl1num,hl2num,epochnum,ratenum);
target_hasil_uji = data_produksi(cri_tanggal);
assignin('base','target_hasil_tes',target_hasil_uji);
assignin('base','hasil',hasil);
%Denormalisasi
maxVec=max(data_produksi);
minVec=min(data_produksi);
[vecD] = thp_Denorm(hasil,maxVec,minVec);
assignin('base','vecD',vecD);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

58

%Akurasi
error = abs(target_hasil_uji-vecD);
akurasi = (1-(error/target_hasil_uji))*100;
akurasi_1=sprintf('%.2f',akurasi);
set(handles.Hasil,'String',vecD);
set(handles.akurasi,'String',error);
toc
set(handles.waktu,'String',toc);
% --- Executes on selection change in jenisrotiPop.
function jenisrotiPop_Callback(hObject, eventdata, handles)
% hObject handle to jenisrotiPop (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns
jenisrotiPop contents as cell array
% contents{get(hObject,'Value')} returns selected item from
jenisrotiPop
% --- Executes during object creation, after setting all
properties.
function jenisrotiPop_CreateFcn(hObject, eventdata, handles)
% hObject handle to jenisrotiPop (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on selection change in DelayPop.
function DelayPop_Callback(hObject, eventdata, handles)
% hObject handle to DelayPop (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns
DelayPop contents as cell array
% contents{get(hObject,'Value')} returns selected item from
DelayPop
% --- Executes during object creation, after setting all
properties.
function DelayPop_CreateFcn(hObject, eventdata, handles)
% hObject handle to DelayPop (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

59

set(hObject,'BackgroundColor','white');
end
function hl1_Callback(hObject, eventdata, handles)
% hObject handle to hl1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of hl1 as text
% str2double(get(hObject,'String')) returns contents of hl1
as a double
% --- Executes during object creation, after setting all
properties.
function hl1_CreateFcn(hObject, eventdata, handles)
% hObject handle to hl1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function hl2_Callback(hObject, eventdata, handles)
% hObject handle to hl2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of hl2 as text
% str2double(get(hObject,'String')) returns contents of hl2
as a double
% --- Executes during object creation, after setting all
properties.
function hl2_CreateFcn(hObject, eventdata, handles)
% hObject handle to hl2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function epoch_Callback(hObject, eventdata, handles)
% hObject handle to epoch (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of epoch as text
% str2double(get(hObject,'String')) returns contents of
epoch as a double
% --- Executes during object creation, after setting all
properties.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

60

function epoch_CreateFcn(hObject, eventdata, handles)


% hObject handle to epoch (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in prediksibutton.
function prediksibutton_Callback(hObject, eventdata, handles)
% hObject handle to prediksibutton (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
k=0;
contents = get(handles.jenisrotiPop,'String');
delay = get(handles.DelayPop,'String');
pilihanrotivalue = contents{get(handles.jenisrotiPop,'Value')};
pilihanDelayvalue = delay{get(handles.DelayPop,'Value')};
switch pilihanrotivalue
case'-'
msgbox('Data Yang Dipilih Tidak Ada');
return;
case 'Roti Pisang Coklat'
[data_produksi, tanggal_Produksi] =
xlsread('pisangcoklat.xlsx');
k=1;
case 'Roti Pisang Spesial'
[data_produksi, tanggal_Produksi] =
xlsread('pisangspesial.xlsx');
k=2;

case 'Roti Pisang Keju'


[data_produksi, tanggal_Produksi] =
xlsread('pisangkeju.xlsx');
k=4;
end
switch pilihanDelayvalue
case'-'
msgbox('Delay Yang Dipilih Tidak Ada');
return;
case '7'
delayData=7;
case '14'
delayData=14;
case '21'
delayData=21;
case '28'
delayData=28;
end
hl1=get(handles.hl1,'String');
hl2=get(handles.hl2,'String');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

61

learning_rate=get(handles.edit6,'String');

if hl1=='0'
msgbox('Hidden Layer Harus Tidak Bernilai 0');
return;
end

epoch=get(handles.epoch,'String');
if epoch=='0'
msgbox('Epoch Harus Tidak Bernilai 0');
return;
end
hl1num=str2num(hl1);
hl2num=str2num(hl2);
epochnum=str2num(epoch);
ratenum=str2num(learning_rate);

if learning_rate=='0'
msgbox('Learning Rate Harus Tidak Bernilai 0');
return;
end
%Tahap Normalisasi
maxVec=max(data_produksi);
minVec=min(data_produksi);
[vecN] = thp_norm(data_produksi,maxVec,minVec);
%Bagi Data
[data_kel] = BagiDataTunggal(vecN,delayData);
if k==1
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangCoklat(hl1num,hl2num,epochnum,data_kel,d
elayData,ratenum,maxVec,minVec);
end
if k==4
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangKeju(hl1num,hl2num,epochnum,data_kel,del
ayData,ratenum,maxVec,minVec);
end
if k==2
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangSpesial(hl1num,hl2num,epochnum,data_kel,
delayData,ratenum,maxVec,minVec);
end
rata_akurasi1=sprintf('%.2f',rata_akurasi);
set(handles.akurasi_kel,'String',rata_akurasi1);
handles.gui.vecN=vecN;
handles.gui.label_data_testing1= label_data_testing1;
handles.gui.label_data_testing2= label_data_testing2;
handles.gui.label_data_testing3=label_data_testing3;
handles.gui.a1 =a1;
handles.gui.a2 =a2;
handles.gui.a3 =a3;
assignin('base','data_Normalisasi',vecN);
assignin('base','label_data_testing1',label_data_testing1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

62

assignin('base','label_data_testing2',label_data_testing2);
assignin('base','label_data_testing3',label_data_testing3);
assignin('base','hasil_prediksi_1',a1);
assignin('base','hasil_prediksi_2',a2);
assignin('base','hasil_prediksi_3',a3);
assignin('base','data_produksi',data_produksi);
handles.gui.ratenum =ratenum;
handles.gui.hl1num =hl1num;
handles.gui.hl2num = hl2num;
handles.gui.epochnum = epochnum;
handles.gui.k = k;
handles.gui.delayData = delayData;
handles.gui.data_produksi = data_produksi;
handles.gui.tanggal_Produksi = tanggal_Produksi;
handles.gui.maxVec=maxVec;
handles.gui.minVec=minVec;
guidata(hObject,handles);
% --- Executes on button press in plot.
% function plot_Callback(hObject, eventdata, handles)
% % hObject handle to plot (see GCBO)
% % eventdata reserved - to be defined in a future version of
MATLAB
% % handles structure with handles and user data (see GUIDATA)
%
% --- Executes on button press in grafikbutton.
function grafikbutton_Callback(hObject, eventdata, handles)
% hObject handle to grafikbutton (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
%
label_data_testing1= handles.gui.label_data_testing1;
label_data_testing2= handles.gui.label_data_testing2;
label_data_testing3=handles.gui.label_data_testing3;
a1 =handles.gui.a1;
a2 =handles.gui.a2;
a3 =handles.gui.a3;
maxVec=handles.gui.maxVec;
minVec=handles.gui.minVec;
[Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec);
[Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec);
[Denorm_label3] =thp_Denorm(label_data_testing3,maxVec,minVec);
[hasil1] = thp_Denorm(a1,maxVec,minVec);
[hasil2] = thp_Denorm(a2,maxVec,minVec);
[hasil3] = thp_Denorm(a3,maxVec,minVec);
% %Membuat Plot
cla(handles.axes5);
cla(handles.axes6);
cla(handles.axes7);
axes(handles.axes5);
plot(label_data_testing1(1:40,:));
hold all;
plot(a1(:,1:40));
xlabel('data produksi');
ylabel('jumlah produksi');
axes(handles.axes6);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

63

plot(label_data_testing2(1:40,:));
hold all;
plot(a2(:,1:40));
xlabel('data produksi');
ylabel('jumlah produksi');
axes(handles.axes7);
plot(label_data_testing3(1:40,:));
hold all;
plot(a3(:,1:40));
xlabel('data produksi');
ylabel('jumlah produksi');
handles.gui.label_data_testing1= label_data_testing1;
handles.gui.label_data_testing2= label_data_testing2;
handles.gui.label_data_testing3=label_data_testing3;
handles.gui.a1 =a1;
handles.gui.a2 =a2;
handles.gui.a3 =a3;
guidata(hObject,handles);
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of
edit6 as a double
% --- Executes during object creation, after setting all
properties.

2. Kelas thp_norm

function [vecN] = thp_norm(data,maxVec,minVec)


%UNTITLED Summary of this function goes here
% Detailed explanation goes here
vecN=(data-minVec)*(1-0)/(maxVec-minVec)+0;
end

3. Kelas thp_Denorm

function [vecD] = thp_Denorm(hasil,maxVec,minVec)


%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
vecD=(hasil*(maxVec-minVec)+0)+minVec;
end

4. Kelas BackpropagationRoti_PisangCoklat.m

function
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangCoklat(hl1,hl2,epoch,data_kel,delayData,
ratenum,maxVec,minVec)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

64

%Bagi Data Training dan Testing


dataatribut=data_kel(:,1:delayData-1);
datatarget=data_kel(:,delayData);
jum_data=size(data_kel,1);
bagidata1=jum_data/3;
bagidata=round(bagidata1);
datapelatihan1=dataatribut(1:bagidata,:);
datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:);
datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:);
%label
label_datapelatihan1=datatarget(1:bagidata,:);
label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,:
);
label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data
,:);
%data training dan data testing (1)
data_training1=[
datapelatihan2
datapelatihan3
];

label_data_training1=[
label_datapelatihan2
label_datapelatihan3
];
data_testing1= datapelatihan1;
label_data_testing1=label_datapelatihan1;
if hl2==0

net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = ratenum;
[net,tr]=train(net,data_training1.',label_data_training1.');
a1=sim(net,data_testing1.')
[vecD1] = thp_Denorm(a1,maxVec,minVec)
[Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec)
error1=abs(Denorm_label1.'-vecD1)
akurasi1 = (1-(error1/Denorm_label1.'))*100
% akurasi1=100-((sum(error1)/size(label_datapelatihan1,1))*100);

%data training dan data testing (2)


data_training2=[
datapelatihan1
datapelatihan3
];

label_data_training2=[
label_datapelatihan1
label_datapelatihan3
];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

65

data_testing2= datapelatihan2;
label_data_testing2=label_datapelatihan2;

if hl2==0

net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = ratenum;
[net,tr]=train(net,data_training2.',label_data_training2.');
a2=sim(net,data_testing2.');
[vecD2] = thp_Denorm(a2,maxVec,minVec);
[Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec);
error2=abs(Denorm_label2.'-vecD2)
akurasi2 = (1-(error2/Denorm_label2.'))*100;
% akurasi2=100-((sum(error2)/size(label_datapelatihan2,1))*100);

%data training dan data testing (3)


data_training3=[
datapelatihan1
datapelatihan2
];

label_data_training3=[
label_datapelatihan1
label_datapelatihan2
];
data_testing3= datapelatihan3;
label_data_testing3=label_datapelatihan3;

if hl2==0

net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = 0.01;
[net,tr]=train(net,data_training3.',label_data_training3.');
a3=sim(net,data_testing3.');
[vecD3] = thp_Denorm(a3,maxVec,minVec);
[Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec);
error3=abs(Denorm_label3.'-vecD3);
akurasi3 = (1-(error3/Denorm_label3.'))*100;
% akurasi3=100-((sum(error3)/size(label_datapelatihan3,1))*100);
rata_akurasi = (akurasi1+akurasi2+akurasi3)/3;
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

66

5. Kelas BackpropagationRoti_PisangKeju.m

function
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangKeju(hl1,hl2,epoch,data_kel,delayData,ra
tenum,maxVec,minVec)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here

%Bagi Data Training dan Testing


dataatribut=data_kel(:,1:delayData-1);
datatarget=data_kel(:,delayData);
jum_data=size(data_kel,1);
bagidata1=jum_data/3;
bagidata=round(bagidata1);
datapelatihan1=dataatribut(1:bagidata,:);
datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:);
datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:);
%label
label_datapelatihan1=datatarget(1:bagidata,:);
label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,:
);
label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data
,:);
%data training dan data testing (1)
data_training1=[
datapelatihan2
datapelatihan3
];

label_data_training1=[
label_datapelatihan2
label_datapelatihan3
];
data_testing1= datapelatihan1;
label_data_testing1=label_datapelatihan1;
if hl2==0

net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = ratenum;
[net,tr]=train(net,data_training1.',label_data_training1.');
a1=sim(net,data_testing1.');
[vecD1] = thp_Denorm(a1,maxVec,minVec);
[Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec);
error1=abs(Denorm_label1.'-vecD1);
akurasi1 = (1-(error1/Denorm_label1.'))*100;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

67

%data training dan data testing (2)


data_training2=[
datapelatihan1
datapelatihan3
];

label_data_training2=[
label_datapelatihan1
label_datapelatihan3
];
data_testing2= datapelatihan2;
label_data_testing2=label_datapelatihan2;

if hl2==0

net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = 0.05;
[net,tr]=train(net,data_training2.',label_data_training2.');
a2=sim(net,data_testing2.');
[vecD2] = thp_Denorm(a2,maxVec,minVec);
[Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec);
error2=abs(Denorm_label2.'-vecD2);
akurasi2 = (1-(error2/Denorm_label2.'))*100;
%data training dan data testing (3)
data_training3=[
datapelatihan1
datapelatihan2
];

label_data_training3=[
label_datapelatihan1
label_datapelatihan2
];
data_testing3= datapelatihan3;
label_data_testing3=label_datapelatihan3;

if hl2==0

net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = 0.05;
[net,tr]=train(net,data_training3.',label_data_training3.');
a3=sim(net,data_testing3.');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

68

[vecD3] = thp_Denorm(a3,maxVec,minVec);
[Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec);
error3=abs(Denorm_label3.'-vecD3);
akurasi3 = (1-(error3/Denorm_label3.'))*100;
rata_akurasi = (akurasi1+akurasi2+akurasi3)/3;
end

6. Kelas BackpropagationRoti_PisangSpesial.m

function
[rata_akurasi,label_data_testing1,label_data_testing2,label_data_t
esting3,a1,a2,a3] =
BackpropagationRoti_PisangSpesial(hl1,hl2,epoch,data_kel,delayData
,ratenum,maxVec,minVec)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here

%Bagi Data Training dan Testing


dataatribut=data_kel(:,1:delayData-1);
datatarget=data_kel(:,delayData);
jum_data=size(data_kel,1);
bagidata1=jum_data/3;
bagidata=round(bagidata1);
datapelatihan1=dataatribut(1:bagidata,:);
datapelatihan2=dataatribut(bagidata+1:(bagidata+1)+bagidata,:);
datapelatihan3=dataatribut((bagidata+1)+(bagidata+1):jum_data,:);
%label
label_datapelatihan1=datatarget(1:bagidata,:);
label_datapelatihan2=datatarget(bagidata+1:(bagidata+1)+bagidata,:
);
label_datapelatihan3=datatarget((bagidata+1)+(bagidata+1):jum_data
,:);
%data training dan data testing (1)
data_training1=[
datapelatihan2
datapelatihan3
];

label_data_training1=[
label_datapelatihan2
label_datapelatihan3
];
data_testing1= datapelatihan1;
label_data_testing1=label_datapelatihan1;
if hl2==0

net=newff(minmax(data_training1.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training1.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = ratenum;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

69

[net,tr]=train(net,data_training1.',label_data_training1.');
a1=sim(net,data_testing1.');
[vecD1] = thp_Denorm(a1,maxVec,minVec);
[Denorm_label1] = thp_Denorm(label_data_testing1,maxVec,minVec);
error1=abs(Denorm_label1.'-vecD1)
akurasi1 = (1-(error1/Denorm_label1.'))*100;
%data training dan data testing (2)
data_training2=[
datapelatihan1
datapelatihan3
];

label_data_training2=[
label_datapelatihan1
label_datapelatihan3
];
data_testing2= datapelatihan2;
label_data_testing2=label_datapelatihan2;

if hl2==0

net=newff(minmax(data_training2.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training2.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = 0.05;
[net,tr]=train(net,data_training2.',label_data_training2.');
a2=sim(net,data_testing2.');
[vecD2] = thp_Denorm(a2,maxVec,minVec);
[Denorm_label2] = thp_Denorm(label_data_testing2,maxVec,minVec);
error2=abs(Denorm_label2.'-vecD2)
akurasi2 = (1-(error2/Denorm_label2.'))*100;
%data training dan data testing (3)
data_training3=[
datapelatihan1
datapelatihan2
];

label_data_training3=[
label_datapelatihan1
label_datapelatihan2
];
data_testing3= datapelatihan3;
label_data_testing3=label_datapelatihan3;

if hl2==0

net=newff(minmax(data_training3.'),[hl1,1],{'logsig','purelin'},'t
raingdx');
else
net=newff(minmax(data_training3.'),[hl1,hl2,1],{'logsig','logsig',
'purelin'},'traingdx');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

70

end
net=init(net);
net.trainParam.epochs = epoch;
net.trainParam.lr = 0.05;
[net,tr]=train(net,data_training3.',label_data_training3.');
a3=sim(net,data_testing3.');
[vecD3] = thp_Denorm(a3,maxVec,minVec);
[Denorm_label3] = thp_Denorm(label_data_testing3,maxVec,minVec);
error3=abs(Denorm_label3.'-vecD3)
akurasi3 = (1-(error3/Denorm_label3.'))*100
rata_akurasi = (akurasi1+akurasi2+akurasi3)/3;
end

7. Kelas tanggalIndex.m

function [cri_tanggal] = tanggalIndex( tanggal,dataTanggal )


%UNTITLED Summary of this function goes here
% Detailed explanation goes here
[B K] = size(dataTanggal);
for i=1:B
if strcmp(dataTanggal(i,1),tanggal)
cri_tanggal=i;
end
end

8. Kelas BagiData.m

function [saveTrain,saveTarget]=BagiData(data,index,delay)
% trainAwal=index-701;
trainAwal=1;
targetAwal=trainAwal;
jum_data=size(data,1);
for i=1:jum_data-delay
for j=1:delay
saveTrain(i,j)=data(trainAwal);
trainAwal=trainAwal+1;
end
saveTarget(i)=data(trainAwal);
trainAwal=targetAwal+1;
targetAwal=targetAwal+1;
end

9. Rincian Optimalisasi Jaringan

Pada proses optimalisasi jaringan ini akan dilakukan data pelatihan 1002 data untuk
setiap jenis roti dengan beberapa jumlah delay data yaitu 7, 14, 21, dan 28 dan total
epoch 1000 kali. Berikut hasil proses optimalisasi jaringan yang dilakukan :

Fungsi Transfer Hidden Layer 1 = Logsig ;


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

71

Fungsi Transfer Hidden Layer 2 = Logsig ; Fungsi Aktivasi = Purelin

Metode Train = traingdx

a. percobaan 1 Roti Pisang Coklat Delay Data : 7

Jumlah Akurasi Jumlah Jumlah Akurasi


Neuron Neuron Neuron
(1) (1) (2)

25 74.88 25 74.45

30 74.13 30 73.90

35 73.88 35 73.62

40 74.17 40 74.05

45 72.87 45 73.47
25
50 73.14 50 73.39

55 72.89 55 72.04

60 71.37 60 72.91

65 71.55 65 72.90

70 69.53 70 72.62

b. Percobaan 2 Roti Pisang Coklat Delay Data : 14


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 73.94 25 74.17

30 74.21 30 30 74.28

35 73.45 35 74.38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

72

40 73.68 40 73.36

45 72.72 45 72.56

50 73.16 50 72.33

55 72.03 55 72.07

60 72.01 60 71.17

65 70.86 65 71.53

70 71.15 70 71.87

c. Percobaan 3 Roti Pisang Coklat Delay Data : 21


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 73.4 25 73.86

30 74.09 30 73.81

35 73.71 35 74.63

40 73.68 40 73.31

45 72.64 45 73.57
30
50 72.43 50 72.70

55 70.71 55 73.01

60 71.55 60 72.15

65 71.32 65 72.66

70 69.78 70 72.16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

73

d. Percobaan 4 Roti Pisang Coklat Delay Data : 28


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 74.73 25 74.06

30 74.72 30 74.00

35 73.84 35 73.87

40 73.59 40 73.37

45 73.18 45 73.57
25
50 73.57 50 73.21

55 72.97 55 73.30

60 71.22 60 71.74

65 71.89 65 72.20

70 71.87 70 71.45

e. Percobaan 1 Roti Pisang Keju Delay Data : 7


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 71.50 25 71.23

30 71.58 30 71.04
30
35 70.65 35 70.58

40 70.57 40 70.95
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

74

45 70.03 45 71.61

50 69.80 50 70.12

55 70.65 55 69.91

60 68.57 60 69.80

65 69.29 65 69.33

70 68.88 70 69.09

f. Percobaan 2 Roti Pisang Keju Delay Data : 14


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 71.52 25 71.84

30 71.34 30 70.98

35 71.03 35 71.45

40 71.20 40 71.23

45 70.32 45 70.02
25
50 70.00 50 70.22

55 70.34 55 70.17

60 69.28 60 70.32

65 68.37 65 69.38

70 68.26 70 69.30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

75

g. Percobaan 3 Roti Pisang Keju Delay Data : 21


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 71.65 25 71.59

30 71.42 30 71.69

35 70.94 35 70.86

40 70.73 40 71.39

45 70.48 45 70.59
25
50 70.88 50 70.31

55 69.71 55 69.77

60 68.81 60 69.78

65 67.78 65 70.47

70 67.14 70 69.05

h. Percobaan 4 Roti Pisang Keju Delay Data : 28


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 71.50 25 70.67

30 71.40 30 71.06

35 71.24 25 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 Akurasi Jumlah Jumlah Akurasi


Neuron Neuron Neuron
(1) (1) (2)

25 73.93 25 73.48

30 73.64 30 73.60

35 73.53 35 73.27

40 72.66 40 72.52

45 73.10 45 73.31
25
50 72.79 50 73.11

55 72.71 55 72.92

60 71.59 60 72.70

65 71.48 65 71.21

70 69.90 70 71.69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

77

j. Percobaan 2 Roti Pisang Spesial Delay Data : 14


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 73.66 25 74.04

30 73.90 30 73.43

35 73.13 35 72.69

40 73.34 40 72.49

45 72.52 45 73.10
25
50 71.82 50 72.80

55 71.66 55 72.84

60 70.55 60 71.09

65 70.38 65 71.55

70 70.83 70 70.38

k. Percobaan 3 Roti Pisang Spesial Delay Data : 21


Jumlah Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 73.59 25 74.05

30 74.03 30 73.63

35 72.97 30 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 Akurasi Jumlah Jumlah Akurasi
Neuron Neuron Neuron
(1) (1) (2)

25 74.02 25 73.58

30 73.68 30 73.76

35 73.61 35 73.17

40 73.21 40 73.09

45 72.91 45 73.17
25
50 72.23 50 72.89

55 70.96 55 71.98

60 70.50 60 72.31

65 70.85 65 71.53

70 69.97 70 72.16

Anda mungkin juga menyukai