PENYALURAN KREDIT BERDASARKAN PREDIKSI PENJUALAN
SEPEDA MOTOR DI DIY DENGAN MENGGUNAKANBACKPROPAGATION
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh:
Anastasia Kristi Astuti
NIM : 023124064
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan
dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 14 Maret 2007
Penulis
Seberapapun Besarnya Kesulitan yang Dihadapi,
Tetaplah Kuat dan Berjuang untuk Orang – orang
yang Kita Sayangi.
Mereka Semua Mendoakan Kita untuk Memperoleh
yang Terbaik...
Untuk Itu, Berjuang dan Berusahalah
Untuk Mencapai yang Terbaik,
Agar Kita Dapat Membahagiakan Mereka
AnKA-Karya ini kupersembahkan untuk
:
JC, Bunda Maria dan Santo Yusuf
Mama dan Papa Tercinta
Mas Toto, Mbak Iin & Mas Doni, Mbak Titi
Dek’ Ranu – Keponakanku tersayang
ABSTRAK
PENYALURAN KREDIT BERDASARKAN PREDIKSI PENJUALAN
SEPEDA MOTOR DI DIY DENGAN MENGGUNAKAN
BACKPROPAGATION
( Studi Kasus : PT. Adira Dinamika Multifinance untuk Honda )
Jaringan Syaraf Tiruan adalah sistem pemroses informasi yang memiliki
karakteristik mirip dengan jaringan syaraf biologi. Jaringan Syaraf Tiruan
memiliki berbagai macam metode di dalam pembelajarannya, yang dapat
diaplikasikan ke dalam berbagai bidang. Salah satu aplikasi yang dapat dibuat
dengan menggunakan Jaringan Syaraf Tiruan adalah aplikasi dalam bidang
peramalan.
Dalam skripsi ini dibuat program untuk memprediksi jumlah peminat
pembelian sepeda motor di DIY secara kredit melalui PT. Adira Dinamika
Multifinance dengan menggunakan salah satu metode yang terdapat pada mata
kuliah Jaringan Syaraf Tiruan, yaitu metode Backpropagation dan menggunakan
software Matlab 6.5.
Dari pengujian – pengujian didapatkan hasil terbaik (rerata error testing
terkecil), yaitu : fungsi pelatihan menggunakan algoritma Levenberg-Marquardt
(trainlm), pembagian data training dan testing dengan menggunakan tahun ganjil
sebagai data training dan tahun genap sebagai data testing, jumlah unit masukan :
12, arsitektur jaringan : 12−4−2−1. Pengujian menggunakan data Dealer ABC
Motor di Kotamadya Yogyakarta dengan periode tahun 2001-2005. Dari hasil
prediksi yang didapat, maka dapat disimpulkan bahwa prediksi minat pembeli
sepeda motor untuk Dealer ABC Motor dengan menggunakan jasa PT. Adira
Dinamika Multifinance pada periode tahun 2001 – 2005 mengalami peningkatan
ABSTRACT
CREDIT DISTRIBUTION BASED ON SELLING PREDICTION OF
MOTORCYCLE IN DIY USING BACKPROPAGATION METHOD
(Case Study: PT. Adira Dinamika Multifinance for Honda)
Artificial Neural Network is an information processing system which has a
similar characteristic with biological neural network. Artificial Neural Network
has various method of learning, which can be applied to a lot of work field. One
of the fields is forecasting.
In these thesis is made for predicting a sum of person who wants to buy
motorcycle which use PT. Adira Dinamika Multifinance services. The thesis use
one of the methods in Artificial Neural Network subject that is Backpropagation,
and using Matlab 6.5 software.
From the research, there are several best result: training function using
Levenberg-Marquardt algorithm (trainlm), distribution of odd years as training
data and even years as testing data, input unit: 12, network architecture: 12-4-2-1.
The research data is taken from ABC Motor Dealer in central DIY at the years of
2001 until 2005. From the prediction result, the conclusion that can be obtained is
there is an increasing interest in buying motor cycle at ABC motor dealer using
KATA PENGANTAR
Puji Syukur kepada Tuhan Yang Maha Esa atas berkat, rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “ Penyaluran
Kredit Berdasarkan Prediksi Penjualan Sepeda Motor di DIY dengan
Menggunakan Backpropagation ” sebagai salah satu syarat memperoleh gelar
Sarjana Sains (S.Si.) di Fakultas MIPA, program studi Ilmu Komputer Universitas
Sanata Dharma Yogyakarta.
Selama penelitian sampai pada penyusunan skripsi ini, penulis banyak
mendapat bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin
menyampaikan banyak ucapan terima kasih kepada :
1. Tuhan Yesus beserta Bunda Maria dan Santo Yusuf yang selalu setia
membantu dan mendampingiku.
2. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku Kepala Program Studi Ilmu
Komputer Sanata Dharma dan Dosen Pembimbing Akademik.
3. Bapak Drs. Jong Jek Siang, M.Sc., selaku Dosen Pembimbing Skripsi. Trima
kasih atas segala perhatian dan bimbingannya.
4. Bapak Y. Joko Nugroho, S.Si dan bapak Eko Hari, S.Si, M.Kom selaku Dosen
Penguji.
5. Mas Tukijo dan Ibu Linda... Trima kasih atas bantuannya. Kompak selalu ya...
6. Mama dan Papa tercinta, trima kasih atas dukungan, doa dan kasih
7. Kakak-kakakku : mas Toto, mbak Iin, mas Doni dan mbak Titi, yang selalu
memberi semangat dan mengingatkan penulis untuk segera menyelesaikan
skripsi ini & berkumpul kembali dengan keluarga tercinta di Pondok Gede.
8. Adek Ranu, keponakanku tersayang. Cerita-cerita tentangmu membuat
semangat penulis menjadi bertambah.
9. Sahabatku tersayang disaat suka maupun duka, Daru. Thanks for all...
10.Playgroup SC yang selalu ceria : Daru, Hendi, Tina, Anel dan Mbak Kris.
11.Teman-teman seperjuanganku di IKOM Universitas Sanata Dharma angkatan
2002 dan mas Nunu IKOM’00... Ciayoo...
12.Teman-teman kost Benteng Takeshi : Alam, mbak Icha, Titien, Kristin, mbak
Keny, mbak Ria, Veni, Neldi, Aya, Nana, Pipiet, Astu...Ceria kalian sangat
menghibur penulis. Kapan kita ke Pasar Klewer naik Pramex???
13.Eyang Warno&Harjo, Rm. Bass, Mbak Eny & Om Mono, trima kasih atas
dukungan dan doanya. Risky PBI’00, thanks untuk abstract – nya ya...
14.Gank KC & PKK Girl’s on PL-2 Servatius... Friendship Forever.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan
skripsi ini. Penulis memohon kritik dan saran yang akan sangat berarti bagi
penulis. Penulis memiliki harapan yang sangat besar, semoga skripsi ini dapat
bermanfaat bagi pembaca dan perkembangan ilmu pengetahuan.
Yogyakarta, Maret 2007
Penulis,
DAFTAR ISI
HALAMAN JUDUL ...
HALAMAN PERSETUJUAN ...
HALAMAN PENGESAHAN ...
PERNYATAAN KEASLIAN KARYA ...
MOTTO ...
HALAMAN PERSEMBAHAN ...
ABSTRAK ...
F. Metodologi Penelitian ...
G. Sistematika Penulisan ...
BAB II LANDASAN TEORI ...
A. Jaringan Syaraf Biologi ...
B. Jaringan Syaraf Tiruan ...
C. Backpropagation ...
1. Arsitektur Backpropagation ...
3. Pre – Processing (Normalisasi Data) ...
4. Konstruksi Jaringan ...
5. Inisialisasi Bobot Awal Secara Random ...
6. Pelatihan ...
7. Kuadrat Rata – rata Kesalahan (MSE) ...
8. Simulasi ...
9. Post – Processing (Denormalisasi Data) ...
D. Prediksi ...
BAB III PERANCANGAN SISTEM ...
A. Perancangan Umum ...
B. Perancangan Antar Muka ...
1. Training, Testing dan Prediksi ...
2. Training, Testing dan Prediksi dengan Metode 5 ...
3. Perancangan Form Jumlah Unit Hidden Layer ...
4. Perancangan Form Masukan Data Baru ...
5. Perancangan Form Pengubahan Data ...
C. Perancangan Proses ...
1. Proses Pengambilan Data Input dan Target Training ...
2. Proses Normalisasi Data Training (Pre-Processing Data) ...
3. Proses Training ...
4. Proses Pengambilan Data Input dan Target Testing ...
5. Proses Normalisasi Data Testing ...
6. Proses Testing dan Prediksi ...
7. Proses Denormalisasi Data Prediksi (Post-Processing Data) ...
BAB IV IMPLEMENTASI DAN PEMBAHASAN ...
A. Implementasi...
1. Implementasi Sistem ...
a. Pembagian Data Input dan Target Training ...
c. Proses Training ...
d. Proses Pengambilan Data Input dan Target Testing ...
e. Proses Normalisasi Data Testing ...
f. Proses Testing dan Prediksi ...
g. Proses Denormalisasi Data Prediksi (Post-Processing Data) ..
2. Implementasi Antar Muka ...
a. Implementasi Antar Muka Training, Testing dan Prediksi ...
b. Implementasi Antar Muka Training, Testing dan Prediksi
dengan Metode 5 ...
c. Implementasi Jumlah Unit 1 dan 2 Hidden Layer ...
d. Implementasi Antar Muka Masukan Data Baru ...
e. Implementasi Antar Muka Pengubahan Data ...
B. Pembahasan...
1. Menentukan Fungsi Pelatihan yang Tercepat ...
2. Menentukan Jumlah Unit Masukan dan Metode Pembagian Data
Training dan Testing...
a. Pembagian data training dan testing dengan menggunakan
metode 1 ...
b. Pembagian data training dan testing dengan menggunakan
metode 2 ...
c. Pembagian data training dan testing dengan menggunakan
metode 3 ...
d. Pembagian data training dan testing dengan menggunakan
metode 4 ...
e. Pembagian data training dan testing dengan menggunakan
metode 5 ...
f. Pembagian data training dan testing dengan menggunakan
metode 6 ...
3. Menentukan Jumlah Unit Lapisan Tersembunyi...
a. Pengujian Satu Hidden Layer Terhadap Rerata Error Testing ..
4. Pengujian Banyak Iterasi Terhadap MSE dan Rerata Error Testing
5. Pengujian Target Error Terhadap Banyak Iterasi...
6. Pengamatan Hasil Prediksi ...
BAB V PENUTUP ...
A. Kesimpulan ...
B. Saran ...
DAFTAR PUSTAKA ... 68
70
73
74
74
75
DAFTAR GAMBAR
Gambar 2.1 Neuron Biologi ...
Gambar 2.2 Arsitektur Backpropagation ...
Gambar 3.1 Bagan Alir Program Penyaluran Kredit Berdasarkan Prediksi
Penjualan Sepeda Motor di DIY dengan
Menggunakan Backpropagation...
Gambar 3.2 Perancangan Form Training, Testing dan Prediksi dengan Metode 1
Gambar 3.3 Perancangan Form Training, Testing dan Prediksi dengan Metode 5
Gambar 3.4 Perancangan Form Jumlah Unit 1 Hidden Layer ...
Gambar 3.5 Perancangan Form Jumlah Unit 2 Hidden Layer ...
Gambar 3.6 Perancangan Form Masukan Data Baru ...
Gambar 3.7 Perancangan Form Pengubahan Data ...
Gambar 4.1 Hasil Implementasi Training, Testing dan Prediksi dengan Metode 1
Gambar 4.2 Hasil Implementasi Training, Testing dan Prediksi dengan Metode 5
Gambar 4.3 Hasil Implementasi Jumlah Unit 1 Hidden Layer ...
Gambar 4.4 Hasil Implementasi Jumlah Unit 2 Hidden Layer ...
Gambar 4.5 Hasil Implementasi Masukan Data Baru ...
Gambar 4.6 Hasil Implementasi Pengubahan Data ...
Gambar 4.7 Urutan Pengujian dan Pengamatan Hasil Prediksi ...
Gambar 4.8 PengujianFungsi Pelatihan dengan dengan Arsitektur 12 − 10 − 1
Gambar 4.9 PengujianFungsi Pelatihan dengan dengan Arsitektur
12 − 3 − 4 − 1 ...
Gambar 4.10 Pengujian Unit Masukan dengan Menggunakan Metode 1 ...
Gambar 4.11 Pengujian Unit Masukan dengan Menggunakan Metode 2 ...
Gambar 4.12 Pengujian Unit Masukan dengan Menggunakan Metode 3 ...
Gambar 4.13 Pengujian Unit Masukan dengan Menggunakan Metode 4 ...
Gambar 4.14 Pengujian Unit Masukan dengan Menggunakan Metode 5 ...
Gambar 4.15 Pengujian Unit Masukan dengan Menggunakan Metode 6 ...
Gambar 4.16 Pengujian Unit Masukan dengan Menggunakan Metode 1-6 ...
Gambar 4.18 Satu Hidden Layer dengan Rerata Error Testing Terkecil ...
Gambar 4.19 Pengujian Dua Hidden Layer Terhadap Rerata Error Testing ...
Gambar 4.20 Dua Hidden Layer dengan Rerata Error Testing Terkecil ...
Gambar 4.21 Pengujian Banyak Iterasi Terhadap MSE ...
Gambar 4.22 Pengujian Banyak Iterasi Terhadap Rerata Error Testing ...
Gambar 4.23 Pengujian Target Error Terhadap Banyak Iterasi ...
Gambar 4.24 Pengujian Target Error Terhadap Banyak Rerata Error Testing ... 66
67
68
69
70
72
DAFTAR TABEL
Tabel 3.1 Data Penjualan Sepeda Motor di Dealer ABC Motor ...
Tabel 3.2 Data Training dengan Menggunakan Metode 1 ...
Tabel 3.3 Data Testing dengan Menggunakan Metode 1 ...
Tabel 3.4 Data Training dengan Menggunakan Metode 2 ...
Tabel 3.5 Data Testing dengan Menggunakan Metode 2 ...
Tabel 3.6 Data Training dengan Menggunakan Metode 3 ...
Tabel 3.7 Data Testing dengan Menggunakan Metode 3 ...
Tabel 3.8 Data Training dengan Menggunakan Metode 4 ...
Tabel 3.9 Data Testing dengan Menggunakan Metode 4 ...
Tabel 3.10 Data Training dengan Menggunakan Metode 5 ...
Tabel 3.11 Data Testing dengan Menggunakan Metode 5 ...
Tabel 3.12 Data Training dengan Menggunakan Metode 6 ...
Tabel 3.13 Data Testing dengan Menggunakan Metode 6 ...
Tabel 3.14 Data Sebelum dan Sesudah Dilakukan Normalisasi ...
Tabel 4.1 Hasil Pengujian Fungsi Pelatihan dengan Arsitektur 12 − 10 − 1 ...
Tabel 4.2 Hasil Pengujian Fungsi Pelatihan dengan Arsitektur 12 − 3 − 4 − 1 ...
Tabel 4.3 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 1...
Tabel 4.4 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 2...
Tabel 4.5 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 3...
Tabel 4.6 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 4...
Tabel 4.7 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 5...
Tabel 4.8 Hasil Pengujian Unit Masukan dengan Menggunakan Metode 6...
Tabel 4.9 Hasil Pengujian Banyak Iterasi Terhadap MSE dan Rerata Error
Testing ...
Tabel 4.10 Hasil Pengujian Target Error terhadap Banyak Iterasi dan Rerata Error
Testing ...
Tabel 4.11 Hasil Prediksi Data ABC Motor untuk Tahun 2006 ...
BAB I
PENDAHULUAN
A. Latar Belakang Masalah
Perkiraan jumlah stok barang yang laku terjual seringkali menjadi masalah
sebuah perusahaan dalam memperkirakan jumlah penjualan di masa yang akan
datang, apakah akan mengalami kenaikan penjualan atau bahkan akan mengalami
penurunan penjualan. Permasalahan tersebut ada ketika sebuah perusahaan ingin
mengetahui apakah perlu menambah upaya – upaya dalam mempromosikan
barang – barang yang dijual, supaya dapat mengalami peningkatan penjualan
barang yang ditawarkan oleh perusahaan tersebut. Dengan tidak adanya kepastian
besarnya jumlah barang yang laku terjual, maka sebuah perusahaan tidak dapat
mengetahui berapa besar biaya yang kira – kira harus dikeluarkan untuk
membayar biaya promosi.
Permasalahan di atas dapat diatasi dengan membuat sebuah perangkat lunak
yang dapat memprediksi jumlah penjualan barang di bulan atau di masa yang akan
datang. Perangkat lunak yang dibuat menggunakan metode Backpropagation dari
mata kuliah Jaringan Syaraf Tiruan. Backpropagation melatih jaringan untuk
mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola
yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan
respon yang benar terhadap pola masukan yang serupa ( tapi tidak sama ) dengan
pola yang dipakai selama pelatihan. Pola yang dimaksud disini adalah pola
Backpropagation data – data yang ada terlebih dahulu dilakukan proses
pelatihan, setelah itu dilakukan proses pengujian dan kemudian akan didapatkan
hasil prediksi jumlah penjualan barang di bulan atau di masa yang akan datang.
Data – data yang akan digunakan, diambil dari data – data PT. Adira Dinamika
Multifinance Jakarta untuk wilayah Daerah Istimewa Yogyakarta (DIY).
Dengan adanya perangkat lunak yang akan dibuat, dapat memberikan bantuan
kepada perusahaan yang bergerak di bidang penyaluran kredit atau dapat juga
digunakan untuk perusahaan yang bergerak di bidang penjualan barang, di dalam
menentukan langkah – langkah yang harus diambil untuk meningkatkan minat
konsumen. Langkah – langkah itu dapat berupa usaha untuk meningkatkan
promosi ataupun pemberian diskon terhadap barang – barang yang ada (bagi
perusahaan yang bergerak di bidang penjualan barang).
B. Rumusan Masalah
Pokok permasalahan yang akan dibahas dalam skripsi ini dapat ditulis dengan
beberapa pertanyaan berikut :
1. Bagaimana proses pelatihan, pengujian dan prediksi dengan metode
Backpropagation dilakukan.
2. Bagaimana implementasi metode backpropagation untuk prediksi jumlah
C. Batasan Masalah
Dalam skripsi ini dilakukan beberapa batasan sebagai berikut :
1. Data – data jumlah barang yang digunakan adalah data – data dealer ABC
Motor selama lima tahun terakhir (2001 – 2005)
2. Program dikhususkan untuk Dealer yang bergabung pada awal tahun (bulan
Januari) selama beberapa periode (1 periode = 12 bulan)
3. Program dibuat dengan menggunakan software Matlab 6.5
4. Dalam pembuatan database digunakan bahasa pemrograman MySQL dan
ODBC
D. Tujuan Penulisan
Penulisan skripsi ini bertujuan untuk :
1. Mengamati seberapa besar pengaruh komponen – komponen penyusun
Backpropagation (fungsi pelatihan, jumlah hidden layer, banyak iterasi dan
target error) di dalam proses training dan testing.
2. Memperkirakan jumlah penjualan barang di masa yang akan datang dengan
menggunakan metode Backpropagation pada Jaringan Syaraf Tiruan.
E. Manfaat Penulisan
Manfaat yang diharapkan dalam penulisan skripsi ini adalah :
1. Memberikan sumbangan kepada perusahaan yang bergerak di bidang
penjualan barang untuk memprediksikan jumlah penjualan barang di bulan
2. Dapat melihat perkembangan minat penduduk di masing – masing kabupaten
untuk wilayah Yogyakarta dalam hal pembelian motor Honda secara kredit
melalui PT. Adira Dinamika Multifinance (untuk kedepannya, apakah
semakin tinggi minatnya atau bahkan semakin menurun).
F. Metodologi Penelitian
Metodologi yang digunakan dalam pembuatan tugas akhir ini adalah :
1. Studi pustaka tentang penerapan metode Backpropagation di dalam proses
pelatihan, proses pengujian dan prediksi (peramalan).
2. Perancangan dan implementasi metode Backpropagation untuk sebuah
peramalan (forecasting) dalam suatu program.
3. Jalankan program dengan cara mengisi data – data sebagai input untuk melihat
hasil training, hasil testing dan hasil prediksi dengan menggunakan program
yang sudah dibuat.
4. Analisis tingkat minat pemakaian kredit untuk sepeda motor di wilayah DIY.
G. Sistematika Penulisan
Sistematika penulisan tugas akhir terdiri dari lima bab dengan urutan sebagai
berikut :
BAB I PENDAHULUAN
Menjelaskan uraian mengenai hal-hal yang menjadi dasar dalam
masalah, rumusan masalah, batasan masalah, tujuan penulisan, manfaat
penulisan, metodologi penulisan dan sistematika penulisan
BAB II LANDASAN TEORI
Memberikan penjelasan secara singkat beberapa dasar pengetahuan yang
menjadi dasar dan dibahas bagaimana cara mengolah data-data input
dengan melakukan proses pelatihan dan pengujian.
BAB III PERANCANGAN SISTEM
Bab ini berisi tentang rancangan program yang akan digunakan di dalam
implementasi.
BAB IV IMPLEMENTASI DAN PEMBAHASAN
Bab ini berisi tentang implementasi dari rancangan sistem yang telah
dibuat, serta mengimplementasikan desain ke dalam pemrograman
sesungguhnya, serta berisi tentang analisis kerja program yang telah
dibuat.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dari analisis dan saran dari hasil
analisis serta pembahasan masalah berdasarkan pada hasil yang didapat
BAB II
LANDASAN TEORI
A. Jaringan Syaraf Biologi
Di dalam jaringan syaraf biologi terdapat sebuah bagian, yang sering disebut
sebagai neuron. Neuron memiliki 3 komponen penting, yaitu : dendrit, soma dan
axon. Dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls
elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal
tersebut dimodifikasi (diperkuat / diperlemah) di celah sinaptik. Berikutnya, soma
menjumlahkan semua sinyal-sinyal yang masuk. Kalau jumlahan tersebut cukup
kuat dan melebihi batas ambang (threshold), maka sinyal trsebut akan diyetruskan
ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda-beda antara satu sel
dengan yang lain.
B. Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST) adalah sistem pemroses informasi yang memiliki
karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai
generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi :
• Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
• Sinyal dikirimkan diantara 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 liner) yang dikenakan pada jumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang.
JST ditentukan oleh 3 hal :
• Pola hubungan antar neuron (disebut arsitektur jaringan)
• Metode untuk menentukan bobot penghubung (disebut metode training /
learning / algoritma)
• Fungsi aktivasi
C. Backpropagation
Backpropagation melatih jaringan untuk mendapatkan kesimbangan antara
kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta
masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama
pelatihan.
1. Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar
tersembunyi. Gambar 2.2 adalah arsitektur backpropagation dengan n buah
masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m buah unit keluaran.
Gambar 2.2 Arsitektur backpropagation
vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi zj (vj0
merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar
tersembunyi zj). wkj merupakan bobot dari unit layar tersembunyi zj ke unit
keluaran yk (wk0 merupakan bobot dari bias di layar tersembunyi ke unit keluaran
2. Fungsi aktivasi
Dalam program yang akan dibuat, menggunakan fungsi aktivasi logsig
(sigmoid biner).
Fungsi sigmoid biner memiliki bentuk serupa dengan sigmoid bipolar, hanya
rangenya adalah [0,1].
3. Pre – Processing (Normalisasi Data)
Jika ingin menggunakan fungsi aktivasi sigmoid (biner), data harus
ditransformasikan dulu karena range keluaran fungsi aktivasi sigmoid adalah
[0,1]. Data bisa diransformasikan ke interval [0,1]. Tapi akan lebih baik jika
ditransformasikan ke interval yang lebih kecil, misal pada interval [0.1, 0.9]. Ini
mengingat fungsi sigmoid merupakan fungsi asimtotik yang nilainya tidak pernah
mencapai 0 ataupun 1.
Jika a adalah data minimum dan b adalah data maksimum, transformasi linier
yang dipakai untuk mentransformasikan data ke interval [0.1, 0.9] adalah :
4. Konstruksi Jaringan
Arsitektur jaringan yang sering digunakan oleh algoritma backpropagation
adalah jaringan feedforward dengan banyak lapisan. Untuk membangun suatu
jaringan feedforward digunakan instruksi newff.
Fungsi :
net = newff(PR,[S1 S2 ... SN1],{TF1 TF2 ... TFN1},BTF,BLF,PF)
PR : matriks berukuran Rx2 yang berisi nilai minimum dan maksimum, dengan R
adalah jumlah variabel input.
Si : jumlah neuron pada lapisan ke-i, dengan i = 1,2,...,N1
TFi : fungsi aktivasi pada lapisan ke-i, dengan i = 1,2,...,N1; (default:tansig)
BTF : fungsi pelatihan jaringan (default:traingdx)
BLF : fungsi pelatihan untuk bobot (default:learngdm)
PF : fungsi kinerja(default:mse)
Fungsi aktivasi Tfi harus merupakan fungsi yang dapat dideferensialkan,
seperti tansig, logsig atau purelin. Fungsi pelatihan BTF dapat digunakan fungsi –
fungsi pelatihan untuk backpropagation, seperti trainlm, trainbfg, trainrp, atau
traingd. Fungsi kinerja bisa digunakan fungsi kinerja yang dapat dideferensialkan,
seperti mse atau msereg.
5. Inisialisasi Bobot Awal Secara Random
Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam mencapai
minimum global (atau mungkin hanya lokal saja) terhadap nilai error, serta cepat
besar, maka input ke setiap lapisan tersembunyi atau lapisan output akan jatuh
pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil. Sebaliknya,
apabila nilai bobot awal terlalu kecil, maka input ke setiap lapisan tersembunyi
atau lapisan output akan sangat kecil, yang akan menyebabkan proses pelatihan
akan berjalan sangat lambat. Biasanya bobot awal diinisialisasi secara random
dengan nilai antara -0.5 sampai 0.5 (atau -1 sampai 1, atau interval yang lainnya).
6. Pelatihan
Metode belajar yang digunakan adalah metode belajar terbimbing
(supervised learning). Pelatihan dengan jaringan backpropagation with delta-bar-delta terdiri dari tiga fase. Fase pertama adalah fase maju. Pola masukan dihitung
maju mulai dari layar masukan hingga layar keluaran menggunkan fungsi aktivasi
yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan
dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan
tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung
dengan unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk
menurunkan kesalahan yang terjadi.
• Fase I : 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 di atasnya menggunakan fungsi yang ditentukan. Demikian
Berikutnya, keluaran jaringan (= yk) dibandingkan dengan target 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.
• Fase II : 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 keluaran.
Dengan cara yang sama, dihitung faktor 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.
• Fase III : Perubahan Bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan suatu garis didasarkan atas faktor neuron di layar atasnya. Sebagai
contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas k
yang ada di unit keluaran.
Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi.
Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau
melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang
terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
Algoritma pelatihan untuk jaringan dengan satu layar tersembunyi (dengan
fungsi aktivasi sigmoid biner) adalah sebagai berikut :
Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil.
Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3-8
Fase I : Propagasi maju
Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya.
Langkah 5 : Hitung semua keluaran jaringan di unit yk (k = 1,2,...,m)
y_netk =
Fase II : Propagasi mundur
Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap
unit keluaran yk(k = 1,2,...,m)
k merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar
di bawahnya (langkah 7).
Hitung suku perubahan bobot wkj (yang akan dipakai nanti untuk merubah
bobot wkj ) dengan laju percepatan .
wkj = k zj ; k = 1,2,...,m ; j = 0,1,...,p
Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap
unit tersembunyi zj (j = 1,2,...,p)
Faktor unit tersembunyi :
j =
δ
_netjf'(
z_netj)
=δ
_netjzj(
1−zj)
Hitung suku perubahan bobot vji (yang akan dipakai nanti untuk merubah
bobot vji).
vji = j xi ; j = 1,2,...,p ; i = 0,1,...,n
Fase III : Perubahan bobot
Langkah 8 : Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran :
kj kj
kj baru w lama w
w ( )= ( )+∆ (k = 1,2,...,m ; j = 0,1,...,p) Perubahan bobot garis yang menuju ke unit tersembunyi :
ji ji
ji baru v lama v
v( )= ( )+∆ (j = 1,2,...,p ; i = 0,1,...,n)
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan
pola. Dalam hal ini, hanya propagasi maju ( langkah 4 dan 5 ) saja yang dipakai
Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4
dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan7.
Dalam matlab pembelajaran dilakukan dengan menggunakan fungsi train. Misal : net = train(net,pn,tn)
pn = vektor input ; tn = vektor target ; net = jaringan yang sudah dikonstruksi
7. Kuadrat Rata – rata Kesalahan (MSE)
MSE merupakan singkatan dari Mean Squared Error. Fungsi mse dalam
Matlab adalah fungsi kinerja yang dihasilkan jaringan. Fungsi mse mengukur
kinerja jaringan sesuai kuadrat rata – rata kesalahan (Mean Squared Error). MSE
dipakai untuk mengukur kinerja jaringan supervised learning, yang memiliki
pasangan input jaringan dan target,
{p1,t1},{p2,t2},...,{pQ,tQ}
Dimana pQ adalah sebuah input jaringan , tQ targetnya dan Q adalah cacah
seluruh input. Dalam pembelajaran jaringan, setiap input akan menghasilkan
output yang dibandingkan dengan target. Error dihitung sebagai selisih antara
target dan output.
SSE = Σ(Output yang diharapkan – Output jaringan)2
MSE =
enOutput JumlahElem
SSE
Yang paling sering digunakan adalah MSE, fungsi ini akan mengambil rata – rata
8. Simulasi
Dalam matlab simulasi dilakukan dengan menggunakan fungsi sim.
Misal : a = sim(net,pn) ;pn = vektor input ; net = jaringan yang sudah dikonstruksi
9. Post – Processing (Denormalisasi Data)
Post-processing data mencakup beberapa proses yang diterapkan pada output
Neural Network. Seperti halnya pre-processing, post-processing sepenuhnya
bergantung pada simulasi jaringan dan termasuk mendeteksi kapan parameter
melampaui jangkauan yang dapat diterima. Pada saat melakukan post-processing
data terhadap hasil output sistem dilakukan proses perubahan data sehingga data
output dapat dibaca oleh user, ini disebut sebagai proses denormalisasi. Terkadang post-processing hanya merupakan kebalikan dari pre-processing.
Rumus yang digunakan pada post-processing yaitu :
Nilai baru =
(
outputJST) (
Value Value)
minValueDengan nilai baru adalah nilai yang telah didenormalisasi, output JST adalah
output yang dihasilkan berdasarkan proses prediksi, minValue adalah nilai
minimum data dan maxValue adalah nilai maksimum data.
D. Prediksi
Prediksi merupakan salah satu kegiatan matematis terlampau dalam bisnis,
dan telah dilakukan bertahun – tahun sebelum penguasaan komputer dengan
pemrediksi (prediktor) dapat membuat perhitungan secara lebih cepat, akurat dan
mudah (Wibowo,2003).
Fakta – fakta dasar yang ada dalam proses prediksi yang dilakukan pemrediksi
adalah sebagai berikut :
• Prediksi adalah proyeksi dari masa lalu, sehingga dasar untuk memperkirakan
apa yang akan terjadi pada masa yang akan datang adalah dengan melihat
masa lampau. Hal ini merupakan alasan mengapa data sangat penting dalam
menentukan prediksi, dan data ini akan memberikan data hipotesis.
• Seluruh prediksi terdiri dari keputusan semi terstruktur, keputusan tersebut
didasarkan oleh beberapa variabel yang dapat diukur dengan mudah dan
variabel – variabel yang tidak dapat diukur.
• Tidak ada teknik prediksi atau peramalan yang sempurna. Dalam proses
prediksi tidak diharapkan untuk memprediksi masa depan dengan tingkat
akurasi 100 %.
• Peramalan tidak dapat dilakukan untuk jangka panjang, karena terbukti kurang
akurat dan kerapkali meleset jauh dari yang diharapkan. Dapat saja peramalan
yang telah dilakukan dapat menjadi tidak berguna. Sehingga, peramalan
jangka panjang tidak dapat meramalkan dengan baik perkembangan dan
BAB III
PERANCANGAN SISTEM
A. Perancangan Umum
Bagan alir (flowchart) Program “Penyaluran Kredit Berdasarkan Prediksi
Penjualan Sepeda Motor di DIY dengan menggunakan Backpropagation” dapat
dilihat pada gambar 3.1.
Gambar 3.1 Bagan Alir Program Penyaluran Kredit Berdasarkan Prediksi
B. Perancangan Antar Muka
Perancangan antar muka untuk program “ Penyaluran Kredit Sepeda Motor di
DIY dengan Menggunakan Backpropagation” ini antara lain berisi perancangan
antar muka ‘training, testing dan prediksi’, perancangan antar muka jumlah unit
hidden layer, perancangan antar muka masukan data baru dan perancangan antar
muka pengubahan data.
1. Training, Testing dan Prediksi
Di dalam pembagian data training dan data testing digunakan 5 (lima) metode,
yaitu :
• Metode 1
- Data training = sisa seluruh data yang tidak digunakan oleh data testing,
pengambilan data training dimulai dari tahun awal.
- Data testing = jumlah unit masukan + 6, pengambilan data testing dihitung
dari data terakhir pada tahun terakhir.
- Terdapat perbedaan pembagian data training dan data testing untuk jumlah
unit masukan yang berbeda – beda.
• Metode 2
- Data training = seluruh data yang memiliki bulan ganjil, pengambilan data
training dimulai dari tahun awal sampai dengan tahun akhir.
- Data testing = seluruh data yang memiliki bulan genap, pengambilan data
- Pembagian data training dan data testing adalah sama untuk jumlah unit
masukan yang berbeda – beda.
• Metode 3
- Data training = setengah dari jumlah seluruh data, pengambilan data
training dimulai dari tahun awal sampai dengan tahun batas pengambilan.
- Data testing = setengah dari jumlah seluruh data, pengambilan data testing
dimulai dari tahun batas pengambilan sampai dengan tahun akhir.
- Pembagian data training dan data testing adalah sama untuk jumlah unit
masukan yang berbeda – beda.
• Metode 4
- Data training = data yang memiliki tahun ganjil, pengambilan data training
dimulai dari tahun awal ganjil sampai dengan tahun akhir ganjil.
- Data testing = data yang memiliki tahun genap, pengambilan data testing
dimulai dari tahun awal genap sampai dengan tahun akhir genap.
- Pembagian data training dan data testing adalah sama untuk jumlah unit
masukan yang berbeda – beda.
• Metode 5
- Data training = data yang digunakan berdasarkan pemilihan tahun secara
acak. Pengambilan data training dimulai dari tahun awal yang sudah
dipilih secara acak sampai dengan tahun akhir yang sudah dipilih secara
acak.
- Data testing = data yang digunakan berdasarkan pemilihan tahun secara
secara acak sampai dengan tahun akhir yang sudah dipilih secara acak,
dengan catatan bahwa tahun yang sudah digunakan untuk data training
tidak dapat digunakan kembali untuk data testing.
- Pembagian data training dan data testing adalah sama untuk jumlah unit
masukan yang berbeda – beda.
• Metode 6
- Data training = data yang digunakan berdasarkan pengambilan data secara
urut setiap 6 (enam) bulan. Pengambilan data training dimulai dari bulan
paling awal pada tahun awal dan dilakukan secara bergantian dengan data
testing setiap 6 (enam) bulan.
- Data testing = data yang digunakan berdasarkan pengambilan data secara
urut setiap 6 (enam) bulan. Pengambilan data testing dimulai dari bulan
ketujuh pada tahun awal dan dilakukan secara bergantian dengan data
training setiap 6 (enam) bulan.
- Pembagian data training dan data testing adalah sama untuk jumlah unit
masukan yang berbeda – beda.
Contoh penggunaan metode 1 sampai 6 pada pengambilan data training dan
data testing di Dealer ABC Motor dengan periode tahun 2001-2005 yang terdapat
Tabel 3.1 Data Penjualan Sepeda Motor di Dealer ABC Motor
Contoh pembagian data training dan testing dengan metode 1 menggunakan
jumlah unit masukan = 12. Pembagian data training dengan metode 1 tampak
pada tabel 3.2 dan pembagian data testing dengan metode 1 tampak pada tabel
3.3.
Tabel 3.2 Data Training dengan Menggunakan Metode 1
Tabel 3.3 Data Testing dengan Menggunakan Metode 1
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 07-04 28 7 01-05 15 13 07-05 8
2 08-04 12 8 02-05 15 14 08-05 19
3 09-04 27 9 03-05 9 15 09-05 10
4 10-04 20 10 04-05 5 16 10-05 10
5 11-04 14 11 05-05 8 17 11-05 8
6 12-04 14 12 06-05 6 18 12-05 6
• Metode 2
Pembagian data training dengan metode 2 tampak pada tabel 3.4 dan
pembagian data testing dengan metode 2 tampak pada tabel 3.5.
Tabel 3.4 Data Training dengan Menggunakan Metode 2
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-01 1 11 11-01 0 21 09-02 26
2 02-01 7 12 12-01 16 22 10-02 28
3 03-01 0 13 01-02 27 23 11-02 27
4 04-01 1 14 02-02 21 24 12-02 14
5 05-01 0 15 03-02 13 25 01-03 15
6 06-01 0 16 04-02 25 26 02-03 9
7 07-01 0 17 05-02 24 27 03-03 8
8 08-01 0 18 06-02 28 28 04-03 8
9 09-01 0 19 07-02 24 29 05-03 10
Tabel 3.5 Data Testing dengan Menggunakan Metode 2
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 07-03 1 11 05-04 2 21 03-05 18
2 08-03 7 12 06-04 15 22 04-05 12
3 09-03 0 13 07-04 39 23 05-05 20
4 10-03 2 14 08-04 26 24 06-05 14
5 11-03 0 15 09-04 26 25 07-05 15
6 12-03 2 16 10-04 30 26 08-05 5
7 01-04 1 17 11-04 27 27 09-05 6
8 02-04 0 18 12-04 45 28 10-05 19
9 03-04 0 19 01-05 12 29 11-05 10
10 04-04 0 20 02-05 13 30 12-05 6
• Metode 3
Pembagian data training dengan metode 3 tampak pada tabel 3.6 dan
pembagian data testing dengan metode 3 tampak pada tabel 3.7.
Tabel 3.6 Data Training dengan Menggunakan Metode 3
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-01 1 11 11-01 0 21 09-02 0
2 02-01 1 12 12-01 2 22 10-02 2
3 03-01 7 13 01-02 0 23 11-02 13
4 04-01 7 14 02-02 1 24 12-02 15
5 05-01 0 15 03-02 0 25 01-03 27
6 06-01 0 16 04-02 0 26 02-03 39
7 07-01 1 17 05-02 0 27 03-03 21
8 08-01 2 18 06-02 0 28 04-03 26
9 09-01 0 19 07-02 0 29 05-03 13
Tabel 3.7 Data Testing dengan Menggunakan Metode 3
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 07-03 25 11 05-04 26 21 03-05 9
2 08-03 30 12 06-04 18 22 04-05 5
3 09-03 24 13 07-04 28 23 05-05 8
4 10-03 27 14 08-04 12 24 06-05 6
5 11-03 28 15 09-04 27 25 07-05 8
6 12-03 45 16 10-04 20 26 08-05 19
7 01-04 24 17 11-04 14 27 09-05 10
8 02-04 12 18 12-04 14 28 10-05 10
9 03-04 18 19 01-05 15 29 11-05 8
10 04-04 13 20 02-05 15 30 12-05 6
• Metode 4
Pembagian data training dengan metode 4 tampak pada tabel 3.8 dan
pembagian data testing dengan metode 4 tampak pada tabel 3.9.
Tabel 3.8 Data Training dengan Menggunakan Metode 4
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-01 1 13 01-02 27 25 01-03 15
2 02-01 1 14 02-02 39 26 02-03 15
3 03-01 7 15 03-02 21 27 03-03 9
4 04-01 7 16 04-02 26 28 04-03 5
5 05-01 0 17 05-02 13 29 05-03 8
6 06-01 0 18 06-02 26 30 06-03 6
7 07-01 1 19 07-02 25 31 07-03 8
8 08-01 2 20 08-02 30 32 08-03 19
9 09-01 0 21 09-02 24 33 09-03 10
10 10-01 0 22 10-02 27 34 10-03 10
11 11-01 0 23 11-02 28 35 11-03 8
Tabel 3.9 Data Testing dengan Menggunakan Metode 4
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-04 0 9 09-04 0 17 05-05 26
2 02-04 1 10 10-04 2 18 06-05 18
3 03-04 0 11 11-04 16 19 07-05 28
4 04-04 0 12 12-04 15 20 08-05 12
5 05-04 0 13 01-05 24 21 09-05 27
6 06-04 0 14 02-05 12 22 10-05 20
7 07-04 0 15 03-05 18 23 11-05 14
8 08-04 0 16 04-05 13 24 12-05 14
• Metode 5
Contoh pembagian data training dengan pengambilan tahun secara acak :
2001, 2003, 2004 dan pembagian data testing dengan pengambilan tahun secara
acak : 2002, 2005.
Pembagian data training dengan metode 5 tampak pada tabel 3.10 dan
pembagian data testing dengan metode 5 tampak pada tabel 3.11.
Tabel 3.10 Data Training dengan Menggunakan Metode 5
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-01 1 13 01-02 27 25 01-03 24
2 02-01 1 14 02-02 39 26 02-03 12
3 03-01 7 15 03-02 21 27 03-03 18
4 04-01 7 16 04-02 26 28 04-03 13
5 05-01 0 17 05-02 13 29 05-03 26
6 06-01 0 18 06-02 26 30 06-03 18
7 07-01 1 19 07-02 25 31 07-03 28
8 08-01 2 20 08-02 30 32 08-03 12
9 09-01 0 21 09-02 24 33 09-03 27
10 10-01 0 22 10-02 27 34 10-03 20
11 11-01 0 23 11-02 28 35 11-03 14
Tabel 3.11 Data Testing dengan Menggunakan Metode 5
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 01-04 0 9 09-04 0 17 05-05 8
2 02-04 1 10 10-04 2 18 06-05 6
3 03-04 0 11 11-04 16 19 07-05 8
4 04-04 0 12 12-04 15 20 08-05 19
5 05-04 0 13 01-05 15 21 09-05 10
6 06-04 0 14 02-05 15 22 10-05 10
7 07-04 0 15 03-05 9 23 11-05 8
8 08-04 0 16 04-05 5 24 12-05 6
• Metode 6
Pembagian data training dengan metode 6 tampak pada tabel 3.12 dan
pembagian data testing dengan metode 6 tampak pada tabel 3.13.
Tabel 3.12 Data Training dengan Menggunakan Metode 6
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 07-03 1 11 05-04 0 21 03-05 18
2 08-03 1 12 06-04 0 22 04-05 13
3 09-03 7 13 07-04 27 23 05-05 26
4 10-03 7 14 08-04 39 24 06-05 18
5 11-03 0 15 09-04 21 25 07-05 15
6 12-03 0 16 10-04 26 26 08-05 15
7 01-04 0 17 11-04 13 27 09-05 9
8 02-04 1 18 12-04 26 28 10-05 5
9 03-04 0 19 01-05 24 29 11-05 8
Tabel 3.13 Data Testing dengan Menggunakan Metode 6
No Bln-Thn Data No Bln-Thn Data No Bln-Thn Data
1 07-03 1 11 05-04 16 21 03-05 27
2 08-03 2 12 06-04 15 22 04-05 20
3 09-03 0 13 07-04 25 23 05-05 14
4 10-03 0 14 08-04 30 24 06-05 14
5 11-03 0 15 09-04 24 25 07-05 8
6 12-03 2 16 10-04 27 26 08-05 19
7 01-04 0 17 11-04 28 27 09-05 10
8 02-04 0 18 12-04 45 28 10-05 10
9 03-04 0 19 01-05 28 29 11-05 8
10 04-04 2 20 02-05 12 30 12-05 6
Antar muka Training, Testing dan Prediksi merupakan antar muka yang
berfungsi sebagai tempat untuk melakukan proses training, testing dan prediksi.
Antar Muka Training, Testing dan Prediksi dengan Metode 1, 2, 3, 4 dan 6
memiliki tampilan yang sama, perbedaan terletak pada penggunaan rumus di
dalam implementasi program. Kabupaten, nama dealer, tahun awal dan tahun
akhir yang digunakan berdasarkan pilihan dari user. Pada antar muka Training,
Testing dan Prediksi terdapat popupmenu kabupaten/kotamadya, nama dealer, tahun awal dan tahun akhir yang berfungsi untuk memilih kabupaten/kotamadya, nama dealer, tahun awal dan tahun akhir, tombol jumlah data yang berfungsi untuk menampilkan jumlah seluruh data dari tahun awal sampai dengan tahun
akhir, tombol input hidden layer yang berfungsi untuk menuju ke form jumlah unit 1 atau 2 hidden layer, sesuai dengan jumlah hidden layer yang telah
diprediksi, popupmenu fungsi pelatihan yang berfungsi untuk memilih fungsi pelatihan, tombol back yang berfungsi untuk kembali ke antar muka metode pengolahan data dan tombol exit yang berfungsi untuk menampilkan Pesan Keluar. Contoh perancangan antar muka Training, Testing dan Prediksi dengan
Metode 1 dapat dilihat pada gambar 3.2.
Gambar 3.2 Perancangan Antar Muka Training, Testing dan Prediksi dengan
Metode 1
2. Training, Testing dan Prediksi dengan Metode 5
Antar muka Training, Testing dan Prediksi dengan Metode 5 merupakan antar
muka yang berfungsi sebagai tempat untuk melakukan proses training, testing dan
prediksi. Kabupaten, nama dealer, tahun awal dan tahun akhir yang akan
digunakan, berdasarkan pilihan dari user. Pada antar muka Training, Testing dan
kabupaten/kotamadya dan nama dealer, tombol input hidden layer yang berfungsi untuk menuju ke form jumlah unit 1 atau 2 hidden layer, sesuai dengan jumlah
hidden layer yang telah diinputkan sebelumnya, popupmenu tahun training yang berfungsi untuk memasukkan urutan tahun yang akan dijadikan sebagai data
training, popupmenu tahun testing yang berfungsi untuk memasukkan urutan tahun yang akan dijadikan sebagai data testing, tombol training data yang berfungsi untuk menjalankan proses training, tombol hasil prediksi yang berfungsi untuk menampilkan nilai hasil prediksi, popupmenu bulan yang berfungsi untuk
memilih bulan yang akan diprediksi, tombol back yang berfungsi untuk kembali ke antar muka metode pengolahan data dan tombol exit yang berfungsi untuk menampilkan Pesan Keluar. Perancangan antar muka Training, Testing dan
Prediksi dengan Metode 5 dapat dilihat pada gambar 3.3.
Gambar 3.3 Perancangan Antar Muka Training, Testing dan Prediksi dengan
3. Jumlah Unit Hidden Layer
Antar muka Jumlah Unit Hidden Layer merupakan antar muka yang berfungsi
sebagai tempat untuk memasukkan jumlah unit hidden layer. Pada antar muka
Jumlah Unit Hidden Layer terdapat tombol ambil data hidden layer yang berfungsi untuk mengambil data berupa jumlah unit hidden layer yang akan
digunakan di dalam proses training. Perancangan antar muka Jumlah Unit Hidden
Layer dapat dilihat pada gambar 3.4 dan 3.5.
Gambar 3.4 Perancangan Antar Muka Jumlah Unit 1 Hidden Layer
Gambar 3.5 Perancangan Antar Muka Jumlah Unit 2 Hidden Layer
4. Masukan Data Baru
Antar muka Masukan Data Baru merupakan form yang berfungsi sebagai
tempat untuk memasukkan data kode dealer, nama dealer, nama kabupaten, kode
Pada antar muka Masukan Data Baru terdapat popupmenu nama kabupaten yang berfungsi untuk memilih nama kabupaten, tombol save yang berfungsi untuk menyimpan data-data, tombol change yang berfungsi untuk menampilkan antar muka Pengubahan Data, listbox jumlah motor untuk bulan Januari-Desember
yang berfungsi untuk menampilkan data-data yang sudah disimpan (nama dealer,
tahun dan jumlah sepeda motor untuk bulan Januari sampai Desember), tombol menu pilihan yang berfungsi untuk menampilkan antar muka Menu Pilihan dan
tombol exit yang berfungsi untuk menampilkan antar muka Pesan Keluar. Perancangan antar muka Masukan Data Baru dapat dilihat pada gambar 3.6.
Gambar 3.6 Perancangan Antar Muka Masukan Data Baru
5. Pengubahan Data
Antar muka Pengubahan Data merupakan antar muka yang berfungsi
dalam database. Pada antar muka Pengubahan Data terdapat popupmenu nama kabupaten yang berfungsi untuk memilih nama kabupaten, tombol save yang berfungsi untuk menyimpan data-data, tombol menu pilihan yang berfungsi untuk menampilkan antar muka Menu Pilihan dan tombol exit yang berfungsi untuk menampilkan Pesan Keluar. Selain itu pada antar muka Pengubahan Data terdapat
tempat masukan (edit) untuk kode dealer, nama dealer, kode kabupaten, tahun dan
jumlah sepeda motor dari bulan Januari sampai Desember. Perancangan antar
muka Pengubahan Data dapat dilihat pada gambar 3.7.
Gambar 3.7 Perancangan Antar Muka Pengubahan Data
C. Perancangan Proses
Proses yang akan dilakukan di dalam Program Penyaluran Kredit Berdasarkan
Prediksi Penjualan Sepeda Motor di DIY dengan menggunakan Backpropagation
meliputi : proses pengambilan data input dan target training, proses normalisasi
data input dan target training, proses training, proses pengambilan data input dan
target testing, proses normalisasi data input dan target testing, proses testing dan
1. Proses Pengambilan Data Input dan Target Training
Data yang telah terkumpul dibagi menjadi data training dan data testing. Di
dalam pembagian data training dan data testing digunakan 5 (lima) metode (Lihat
halaman 19-28 pada BAB III). Dari data training yang ada kemudian
dikelompokkan menjadi data input dan target sesuai dengan jumlah unit input
data.
Contoh pengelompokan data training menjadi data input (x1-x12) dan target (t)
dengan jumlah unit masukan = 12 (pengelompokan menggunakan data metode 4,
lihat halaman 25 pada BAB III) :
2. Proses Normalisasi Data Training (Pre-Processing Data)
Sebelum dilakukan proses training, maka dilakukan penskalaan pada data
input dan target terlebih dahulu sedemikian sehingga data – data input dan target
tersebut masuk ke dalam suatu range tertentu. Proses ini dikenal dengan nama
normalisasi data.
Sebelum data – data input dan target yang digunakan diimplementasikan ke
dalam proses training, terlebih dahulu dilakukan proses pre-processing data
berupa scaling atau normalisasi data.
Rumus yang digunakan untuk menormalisasi data dengan a sebagai data
minimum dan b sebagai data maksimum.:
x’ = 0.8
(
)
+0.1Contoh data sebelum dan sesudah dilakukan normalisasi tampak pada tabel
3.14.
Tabel 3.14 Data Sebelum dan Sesudah Dilakukan Normalisasi
No Data Bulan Sebelum Normalisasi Sesudah Normalisasi
3. Proses Training
Setelah dilakukan proses normalisasi data training, selanjutnya dilakukan
proses training. Urutan proses training yang akan dilakukan meliputi :
• Penginisialisasian bobot dan bias awal.
• Set jumlah iterasi, nilai target error dan nilai learning rate
• Lakukan proses feedforward pada backpropagation, selama nilai error training
≤ nilai target error.
• Hitung perubahan bobot.
• Hitung nilai keluaran training
• Hitung nilai error training
4. Proses Pengambilan Data Input dan Target Testing
Dari data testing yang ada (lihat halaman 25 pada BAB III), kelompokkan
menjadi data input dan target sesuai dengan jumlah unit input data.
Contoh pengelompokan data testing menjadi data input (x1-x12) dan target (t)
dengan jumlah unit masukan = 12 :
5. Proses Normalisasi Data Testing
Sebelum dilakukan proses testing, maka dilakukan penskalaan pada data input
dan target terlebih dahulu sedemikian sehingga data – data input dan target
tersebut masuk ke dalam suatu range tertentu. Proses ini dikenal dengan nama
normalisasi data. Tata cara untuk melakukan normalisasi data testing sama seperti cara untuk menormalisasi data training.
6. Proses Testing dan Prediksi
Setelah dilakukan proses normalisasi data testing, selanjutnya dilakukan
proses testing dan prediksi. Urutan proses testing dan prediksi yang akan
dilakukan meliputi :
• Ambil bobot akhir data training
• Hitung nilai keluaran testing
• Hitung nilai error testing dan rerata error testing
• Ambil data prediksi
• Normalisasi data prediksi
• Hitung nilai keluaran prediksi
7. Proses Denormalisasi Data Prediksi (Post-Processing Data)
Post-processing data mencakup beberapa proses yang diterapkan pada
output Neural Network. Seperti halnya pre-processing, post-processing
parameter melampaui jangkauan yang dapat diterima. Pada saat melakukan
post-processing data terhadap hasil output sistem dilakukan proses perubahan data
sehingga data output dapat dibaca oleh user, ini disebut sebagai proses
denormalisasi. Terkadang post-processing hanya merupakan kebalikan dari pre-processing. Rumus yang digunakan pada post-processing yaitu :
Nilai baru =
(
outputJST) (
Value Value)
minValue8 . 0
min max
1 . 0
+ −
× −
Dengan nilai baru adalah nilai yang telah didenormalisasi, output JST adalah
output yang dihasilkan berdasarkan proses prediksi, minValue adalah nilai
BAB IV
IMPLEMENTASI DAN PEMBAHASAN
A. Implementasi
Implementasi pada pembuatan Program Penyaluran Kredit Berdasarkan
Prediksi Penjualan Sepeda Motor di DIY dengan Menggunakan Backpropagation
ini antara lain Implementasi Sistem dan Implementasi Antar Muka. Di dalam
Implementasi Sistem dan Implementasi Antar Muka digunakan software Matlab
6.5.
1. Implementasi Sistem
Pada implementasi sistem ini, dilakukan beberapa langkah sebelum
mengimplementasikan rancangan antar muka. Langkah – langkah tersebut antara
lain (contoh pengambilan data input dan target training dan testing menggunakan
metode 4):
a. Proses Pengambilan Data Input dan Target Training
Perintah untuk mengambil input data training berdasarkan array 1 dimensi. Proses
pengambilan input data training dengan alur algoritma sebagai berikut :
• Untuk pengambilan data training berdasarkan pada tahun-tahun ganjil maka
pengambilan data dimulai dari 1-12, kemudian dilanjutkan 25-36, 49-60 dan
seterusnya.
• Bentuk inisialisasi nilai-nilai yang akan digunakan sebagai pengolahan data
yang akan dicari sebagai input data training. Inisialisasi nilai-nilai yang
dipakai indek_tahun yang diset 1, indek_ambil_tahun yang diset 1, dan
reset_data1 yang diset 1.
• Mencari data yang akan digunakan sebagai pengisi elemen-elemen matrik
yang dimaksudkan, dengan melakukan pencarian dengan perintah perulangan
sebanyak total data.
• Melakukan pengecekan apakah nilai pada indek_ambil_tahun kurang dari atau
sama dengan total data. Jika syarat masih terpenuhi maka akan melanjutkan
tugas berikutnya.
• Melakukan pengecekan apakah nilai reset_data1 bernilai kurang dari atau
sama dengan 12. Jika terpenuhi maka nilai indek_ambil_tahun hasilnya akan
diakumulasikan kembali dengan penjumlahan bernilai 1. Sedangkan nilai
reset_data1 akan diakumulasikan dengan penjumlahan bernilai 1.
• Melakukan pengecekan apakah nilai reset_data1 bernilai kurang dari atau
sama dengan 13. Jika terpenuhi maka nilai indek_ambil_tahun hasilnya akan
dikumulasikan kembali dengan penjumlahan bernilai 12. Sedangkan nilai
for ba=1:jumlah_data_training
ambil_input(ba)=dt_input_sem(ba); end
Perintah untuk mengambil data training berdasarkan array 1 dimensi yang
diperoleh dari matrik dt_input_sem. Perintah dibawah ini hanya digunakan untuk
memindahkan isi matrik dari nilai_baru untuk dipindahkan ke dalam suatu matrik
dengan nama variabel baru yang diberi nama ambil input. Dapat ditarik
kesimpulan bahwa matrik ambil_input sama dengan matrik dt_input_sem
nil_baru=1;
for br=1:(jumlah_data_training - (jumlah_unit_masukkan)) for kl=1:jumlah_unit_masukkan
if(br>1 && br< jumlah_data_training-(jumlah_unit_masukkan)) nil_baru=nil_baru + 1;
end end
Perintah untuk mengubah array 1 dimensi(bentukan sementara) menjadi array 2
dimensi(pola)
for j=1:(jumlah_data_training-(jumlah_unit_masukkan))
data_target(j)=ambil_input(j+(jumlah_unit_masukkan)); end
Perintah untuk mencari target training
b. Proses Normalisasi Data Training (Pre-Processing Data)
cp=(0.8*(p-a)/(b-a))+0.1; ct=(0.8*(t-a)/(b-a))+0.1;
Perintah untuk menormalisasi data dengan a sebagai nilai minimum dan b sebagai
c. Proses Training
net=newff(minmax(cp),[layer1,1],{'logsig','logsig','purelin'},fs_pelatihan);
Perintah konstruksi jaringan Backpropagation.
bobot_awal_input=net.IW{1,1};
bobot_awal_bias_input=net.b{1}; bobot_awal_lapisan1=net.LW{2,1}; bobot_awal_bias_lapisan1=net.b{2};
Perintah untuk mengeset bobot2 awal.
net.trainParam.epochs=iterasi; net.trainParam.goal=target_error; net.trainParam.lr=nil_lr;
net.trainParam.show=25;
Perintah untuk mengeset nilai dari jumlah iterasi (epochs), target error dan
learning rate.
tic;
net2 = train(net,cp,ct); net=init(net);
nil_wkt = toc;
Perintah untuk menghitung nilai net dan menampilkan waktu pada proses training.
bobot_akhir_input=net2.IW{1,1}; bobot_akhir_bias_input=net2.b{1}; bobot_akhir_lapisan=net2.LW{2,1}; bobot_akhir_bias_lapisan=net2.b{2};
Melihat bobot akhir input, lapisan dan bias
x = sim(net2,cp); nilai_net = net2; net2=init(net2); clear net;
d. Proses Pengambilan Data Input dan Target Testing
jumlah_data_testing = total_data - jumlah_data_training; nil_test=1;
for bz=1:(jumlah_data_testing-(jumlah_unit_masukkan)) for kz=1:jumlah_unit_masukkan
if(bz>1 && bz < (jumlah_data_testing-(jumlah_unit_masukkan))) nil_test=nil_test + 1;
end end
Perintah untuk mengambil data input testing
z=1;
for j=1:(jumlah_data_testing-(jumlah_unit_masukkan))
data_target_testing(z)=ambil_input_testing(j+(jumlah_unit_masukkan)); z=z+1;
end
Perintah untuk mengambil data target testing
e. Proses Normalisasi Data Testing
ccek = (0.8*(cek-a)/(b-a))+0.1; ctcek = (0.8*(tcek-a)/(b-a))+0.1;
Perintah untuk menormalisasi data dengan a sebagai nilai minimum dan b sebagai
f. Proses Testing dan Prediksi
y = sim(net2,ccek); error = abs(y-ctcek); rerata_error = mean(error);
set(handles.edit_rerata_error_testing,'String',num2str(rerata_error))
Perintah untuk menghitung keluaran proses testing.
z=1;
for j=(data_diambil_awal+1):total_data data_prediksi(z)=nilai_baru(j); z=z+1;
end
jumlah_data_prediksi = 12 + jumlah_unit_masukkan; nil_pred=1;
for bz=1:(jumlah_data_prediksi-jumlah_unit_masukkan) for kz=1:jumlah_unit_masukkan
Perintah untuk mengambil data prediksi
dt_pred = (0.8*(ambil_nilai_prediksi-a)/(b-a))+0.1;
Perintah untuk menormalisasi data prediksi
y = sim(net2,dt_pred);
Perintah untuk menghitung keluaran prediksi
g. Proses Denormalisasi Data Prediksi (Post-Processing Data)
hasil_prediksi = abs(floor(((y-0.1)*(b-a))/0.8)+a);
Perintah untuk mendenormalisasi data dengan a sebagai nilai minimum, b sebagai
2. Implementasi Antar Muka
Implementasi antar muka Program Penyaluran Kredit Berdasarkan Prediksi
Penjualan Sepeda Motor di DIY dengan Menggunakan Backpropagation adalah
implementasi ‘Training, Testing dan Prediksi dengan Metode 1, 2, 3, 4 dan 6’,
implementasi Jumlah Unit 1 dan 2 Hidden Layer, implementasi Masukan Data
a. Implementasi Antar Muka Training, Testing dan Prediksi
Implementasi antar muka ‘Training, Testing dan Prediksi dengan Metode 1, 2,
3, 4 dan 6’ memiliki tampilan yang sama.
Antar muka ‘Training, Testing dan Prediksi’ merupakan antar muka yang
berfungsi sebagai tempat untuk melakukan proses training, testing dan prediksi,
dengan menggunakan metode 1 , 2, 3, 4 dan 6. Antar muka ‘Training, Testing dan
Prediksi dengan Metode 1 , 2, 3, 4 dan 6’ memiliki tombol ‘Jumlah Data’, ‘Input
Hidden Layer’, ‘Training Data’, ‘Hasil Prediksi’, ‘Back’ dan ‘Exit’. Hasil
implementasi ‘Training, Testing dan Prediksi dengan Metode 1’ dapat dilihat pada
gambar 4.1.