• Tidak ada hasil yang ditemukan

Penyaluran kredit berdasarkan prediksi penjualan sepeda motor di DIY dengan menggunakan backpropagation : studi kasus PT. Adira Dinamika Multifinance untuk Honda - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Penyaluran kredit berdasarkan prediksi penjualan sepeda motor di DIY dengan menggunakan backpropagation : studi kasus PT. Adira Dinamika Multifinance untuk Honda - USD Repository"

Copied!
93
0
0

Teks penuh

(1)

PENYALURAN KREDIT BERDASARKAN PREDIKSI PENJUALAN

SEPEDA MOTOR DI DIY DENGAN MENGGUNAKAN

BACKPROPAGATION

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

(2)
(3)
(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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,

(11)

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 ...

(12)

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 ...

(13)

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 ..

(14)

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

(15)

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 ...

(16)

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

(17)

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 ...

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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.

(24)

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

(25)

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

(26)

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 :

(27)

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

(28)

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

(29)

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

(30)

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)

(31)

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

(32)

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

(33)

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

)

minValue

Dengan 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

(34)

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

(35)

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

(36)

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

(37)

- 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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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) :

(52)

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.1

Contoh 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

(53)

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 :

(54)

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

(55)

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

)

minValue

8 . 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

(56)

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

(57)

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

(58)

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

(59)

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;

(60)

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

(61)

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

(62)

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

(63)

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.

Gambar

Gambar 4.18 Satu Hidden Layer dengan Rerata Error Testing Terkecil ..............
Gambar 2.1 Neuron Biologi
Gambar 2.2 Arsitektur backpropagation
Gambar 3.1 Bagan Alir Program Penyaluran Kredit Berdasarkan Prediksi
+7

Referensi

Dokumen terkait

Oleh karena itu VPN dapat digunakan sebagai teknologi alternatif untuk menghubungkan jaringan lokal yang luas dengan biaya yang relatif kecil, karena transmisi

Negara adalah suatu instansi sosial yang didalamnya terdapat hubungan antar manusia dan masyarakat sehingga diantara keduanya saling membutuhkan. Berawal dari hal tersebut

Menurut Lupiyoadi (2006) terdapat lima faktor utama yang berkaitan dnegan kepuasan yaitu: Kualitas Produk (Jika suatu produk mempunyai kualitas yang baik maka konsumen cenderung

Tabel 2.5 Kalsifikasi Berat-Ringan Beban Kerja Berdasar % CVL...35 Tabel 4.1 Data Ukuran Aktual Mesin Gergaji Potong ...45 Tabel 4.2 Data Ukuran Aktual Mesin Dimensi Meja Kerja.

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, perlu menetapkan Peraturan Bupati tentang Rincian Tugas Pokok dan Fungsi Pemangku Jabatan

Kontaminasi pada ternak unggas dapat terjadi pada saat ayam masih dalam peternakan yaitu akibat kontaminasi horizontal eksternal pada telur telur saat pengeraman

Terdapat juga penelitian yang dilakukan oleh Universitas Stanford menyatakan bahwa anak perempuan berusia delapan sampai 12 tahun menghabiskan lebih banyak waktu untuk

Saat ini Indonesia sebagai Negara yang telah maju dalam bidang teknologi informasi seharusnya bisa mencetak generasi muda berbakat menjadi entrepreneur dan