plagiat merupakan tindakan tidak terpuji - core.ac.uk · nilai kurs salah satunya adalah dengan...

95
i PREDIKSI NILAI TUKAR RUPIAH TERHADAP DOLAR AMERIKA SERIKAT DENGAN MENGGUNAKAN METODE BACKPROPAGATION SKRIPSI Proposal Penelitian Diajukan Untuk Memenuhi Salah Satu Syarat Mendapatkan Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh: TRI SUWANTA (085314084) PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: hoangnga

Post on 14-Mar-2019

266 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

i

PREDIKSI NILAI TUKAR RUPIAH TERHADAP DOLAR AMERIKA SERIKAT

DENGAN MENGGUNAKAN METODE BACKPROPAGATION

SKRIPSI

Proposal Penelitian Diajukan Untuk Memenuhi Salah Satu Syarat Mendapatkan Gelar Sarjana

Komputer Program Studi Teknik Informatika

Oleh:

TRI SUWANTA (085314084)

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

ii

PREDICTION OF FOREIGN EXCHANGE KURS RUPIAH WITH UNITED STATES

AMERICA’S DOLLAR USING BACKPROPAGATION METHOD

A THESIS

Presented as Partial Fulfillment of The

Requirements to Obtain the Sarjana Komputer

Degree in Informatics Engineering Department

Oleh:

TRI SUWANTA (085314084)

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

vii

HALAMAN MOTTO

Kegagalan hanya terjadi jika bila kita menyerah

(Lessing)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

viii

HALAMAN PERSEMBAHAN

Segala hasil ini saya persembahkan kehadirat Tuhan YME atas segala rahmat yang

telah diberikan-Nya sehingga saya dapat menyelesaikan skripsi ini.

Kepada bapak, ibu, kakak dan keluarga besar yang memberikan doa, dukungan dan

semangat selama proses perkuliahan.

Kepada teman – teman Teknik Informatika di kampus Sanata Dharma, terima kasih

atas dukungan yang telah diberikan selama saya menjalani perkuliahan terutama masa skripsi.

Kepada para dosen yang telah memberi ilmu kepada saya selama proses perkuliahan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

ix

ABSTRAK

Tiap negara memiliki mata uang yang digunakan untuk bertransaksi. Harga suatu mata

uang terhadap mata uang lain disebut nilai tukar atau kurs. Dengan memperjual-belikan kurs,

trader bisa mendapat keuntungan. Salah satu mata uang yang sering diperjual-belikan adalah

Dollar Amerika Serikat. Untuk mendapat keuntungan seorang trader harus dapat

memprediksi nilai kurs. Terdapat banyak metode yang dapat digunakan untuk memprediksi

nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode

backpropagation.

Agar dapat memprediksi nilai kurs dengan menggunakan metode backpropagation,

perlu ditemukan arsitektur jaringan yang optimal. Dengan melakukan pengujian pada input

dan hidden layer dapat ditemukan arsitektur jaringan yang optimal. Data input yang

digunakan untuk memprediksi kurs pada pengujian ini adalah nilai kurs sebelumnya.

Penelitian dimulai dengan menguji jumlah input neuron atau delay hari. Kemudian akan

dilakukan pengujian hidden neuron dan hidden layer hingga didapatkan arsitektur jaringan

yang optimal.

Dari hasil pengujian prediksi nilai tukar Rupiah terhadap Dollar Amerika Serikat

didapatkan arsitektur jaringan dengan nilai akurasi 98,6925% menggunakan 1 hidden layer,

dengan 10 hidden neuron, dan 15 input neuron atau delay hari. Penambahan jumlah hidden layer akan

mengurangi keakuratan prediksi kurs.

Kata Kunci : kurs, trader, backpropagation, hidden layer, hidden neuron, input neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

x

ABSTRACT

Every country have currency that used for transaction. The price of one currency to the

other currency is called foreign exchane rate. By selling and buying kurs, trader can gain

profit. One of many currency that popular for trading is United States Dollar. To gain more

profit trader must have the ability to predict kurs value. There are many method to predict

kurs value, one of then is by using neural network backpropagation method.

To be able to predict kurs value with backpropagation method, there is a need to find

the optimum network architechtures. By doing research of input and hidden layer, we can find

the optimum network architechtures. Input data used for prediction kurs are it’s own past

value. The research start with trying to find the optimum input neuron or delay days.After that

the research move to hidden neuron and hidden layer and then we can find the optimum

network architechtures.

The result of research of testing the aplication to predict foreign exchange of Rupiah

to United State Dollar are the predicted kurs has accuracy up to 98,6925% by using 1 hidden

layer, with 10 hidden neuron, and 15 input neuron or delay hari. Adding more hidden layer will lower

the accuracy of prediction.

Keywords : kurs, trader, backpropagation, hidden layer, hidden neuron, input neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xi

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa atas segala karunia, rahmat dan bimbingan

yang diberikan sehingga penulis dapat menyelesaikan skripsi “Prediksi Nilai Tukar Rupiah

Terhadap Dolar Amerika Serikat Dengan Menggunakan Metode Backpropagation”.

Dalam menyelesaikan skripsi ini, bantuan banyak diberikan dari sejumlah pihak, oleh

sebab itu penulis ingin mengucapkan terima kasih kepada :

1. Allah Bapa yang Maha Kuasa, yang telah menjawab doa, memberi bimbingan

dan mencurahkan rahmat dengan perantaraan Yesus Kristus dan Bunda Maria

sehingga penulis dapat menyelesaikan skripsi ini.

2. Kedua orang tua yang telah banyak memberikan bantuan baik dalam bentuk

materi maupun dukungan dan doa. Terlebih lagi telah percaya kepada saya

bahwa saya bisa menyelesaikan skripsi ini.

3. Romo Kuntoro Adi, selaku dosen pembimbing skripsi yang telah membantu

dalam proses pengerjaan skripsi ini.

4. Bapak Linggo Sumarno dan Bapak Eko Hari Parmadi, S.Si., M.Kom, selaku

panitia penguji yang telah memberikan banyak saran dalam penyempurnaan

skripsi ini.

5. Violya, Widya, Euzhan, dan Andrea yang telah banyak membantu saya dalam

proses memahami materi dan memberikan dukungan dalam pengerjaan skripsi.

6. Teman – teman seperjuangan TI angkatan 2008 yang telah berbagi cerita hidup

selama menimba ilmu di Program Studi Teknik Informatika Universitas Sanata

Dharma. Terima kasih untuk cerita yang telah kita lakukan bersama.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xii

7. Teman – teman dari Komunitas Paingan.

8. Untuk pihak – pihak yang tidak saya sebutkan satu persatu. Penulis

mengucapkan terima kasih atas bantuannya sehingga penulis dapat

menyelesaikan skripsi ini.

Akhir kata, penulis berharap karya ilmiah ini dapat bermanfaat bagi kemajuan dan

perkembangan ilmu pengetahuan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xiii

DAFTAR ISI

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

HALAMAN PERSETUJUAN………………………………………………………………..iii

HALAMAN PENGESAHAN…………………………………………………….…………..iv

PERNYATAAN KEASLIAN KARYA……………………………………………….….......v

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH……………….………vi

HALAMAN MOTTO……………………………………………………………..………….vii

HALAMAN PERSEMBAHAN…………………………………………………………….viii

ABSTRAK……………………………………………………………………………………ix

ABSTRACT……………………………………………………………………………….......x

KATA PENGANTAR………………………………………………………………………..xi

DAFTAR ISI………………………………………………………………………………...xiii

DAFTAR GAMBAR…………………………………………………………………..……..xv

DAFTAR TABEL………………………………………………………………………….xviii

DAFTAR GRAFIK………………………………………………………………………….xix

BAB I PENDAHULUAN ……………………………………………………………………1

1.1. Latar Belakang…………………………………………………………………………….1

1.2. Rumusan Masalah…………………………………………………………………………3

1.3. Tujuan dan Manfaat Penelitian……………………………………………………………4

1.4. Batasan Masalah…………………………………………………………………………..5

1.5. Metodologi Penelitian……………………………………………………………………..5

1.6. Sistematika Penulisan……………………………………………………………………..7

BAB II LANDASAN TEORI…………………………………………………………………8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xiv

2.1. Jaringan Syaraf Tiruan…………………………………………………………………….8

2.2. Backpropagation…………………………………………………………………………14

2.3. Valuta Asing……………………………………………………………………………..20

2.4. Cross Validation…………………………………………………………………………21

BAB III METODE PENELITIAN………………………………………………………….23

3.1. Data……………………………………………………………………………………...23

3.2. Alur Penelitian...…………………………………………………………………………24

3.3. Validasi…………………………………………………………………………………..28

BAB IV IMPLEMENTASI DAN ANALISIS DATA………………………………………29

4.1. Tampilan Antarmuka Pengguna(GUI)………………………………………………..….29

4.2. Alur Program…………………………………………………………………………….31

4.3. Hasil Pengujian…………………………………………………………………………..38

4.4. Analisa Hasil……………………………………………………………………………..52

BAB V KESIMPULAN DAN SARAN…………………………………………………….54

5.1. Kesimpulan………………………………………………………………………………54

5.2. Saran……………………………………………………………………………………...54

DAFTAR PUSTAKA………………………………………………………………………...55

LAMPIRAN………………………………………………………………………………….56

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xv

DAFTAR GAMBAR

Gambar 2.1 Single input neuron ……………………………………………….…………………….9

Gambar 2.2 Hard Limit transfer function ………………………………….………………10

Gambar 2.3 Linear transfer function …………………………………………….…………………10

Gambar 2.4 Log-Sigmoid transfer function …………………………………….………………….11

Gambar 2.5 contoh single layer network ……………………………………….………………….11

Gambar 2.6 contoh multi layer network …………………………………………….………………12

Gambar 2.7 contoh reccurent net …………………………………………….……………………..12

Gambar 3.1. Flowchart Penelitian ……………………………………..……………………..25

Gambar 3.2. Arsitektur jaringan pada tahap 1 ………………………….……………………26

Gambar 3.3. Arsitektur jaringan dengan 1 hidden layer ………………………………………….27

Gambar 3.4. Arsitektur jaringan dengan 2 hidden layer ……………………………………..27

Gambar 4.1.Tampilan Utama Program ………………………………………………………29

Gambar 4.2. Tampilan hitung_delay ………………………………………………………………..29

Gambar 4.3. Tampilan untuk memilih file input ………………………………………………….30

Gambar 4.4. Tampilan error …………………………………………………………………30

Gambar 4.5. Grafik keluaran program ……………………………………………………….31

Gambar 4.6. Bagian form untuk menginput data …………………………………………….31

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xvi

Gambar 4.7. tampilan akurasi ………………………………………………………………..36

Gambar 4.8. Grafik nilai kurs dan hasil prediksi …………………………………………….36

Gambar 4.9. Contoh output program dengan 15 delay hari dan 10 hidden neuron …………..40

Gambar 4.10. Contoh grafik output program dengan 15 delay hari dan 10 hidden neuron …40

Gambar 4.11. Contoh output program dengan 30 delay hari dan 10 hidden neuron …………41

Gambar 4.12. Contoh grafik output program dengan 30 delay hari dan 10 hidden neuro …..41

Gambar 4.13. Contoh output program dengan 45 delay hari dan 10 hidden neuron ………..42

Gambar 4.14. Contoh grafik output program dengan 45 delay hari dan 10 hidden neuron …42

Gambar 4.15. Contoh output program dengan 10 delay hari dan 10 hidden neuron ………..43

Gambar 4.16. Contoh grafik output program dengan 10 delay hari dan 10 hidden neuron …43

Gambar 4.17. Contoh output program dengan 15 delay hari dan 5 hidden neuron …………..46

Gambar 4.18. Contoh grafik output program dengan 15 delay hari dan 5 hidden neuron….. 46

Gambar 4.19. Contoh output program dengan 15 delay hari dan 15 hidden neuron………… 47

Gambar 4.20. Contoh grafik output program dengan 15 delay hari dan 15 hidden neuron ….47

Gambar 4.21. Contoh output program dengan 15 delay hari dan 20 hidden neuron ………….48

Gambar 4.22. Contoh grafik output program dengan 15 delay hari dan 20 hidden neuron ….48

Gambar 4.23. Contoh output program dengan 15 delay hari, 10 hidden neuron pada hidden

layer 1 dan 10 hidden neuron pada hidden layer 2 …………………………...50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xvii

Gambar 4.24. Contoh grafik output program dengan 15 delay hari, 10 hidden neuron pada

hidden layer 1 dan 10 hidden neuron pada hidden layer 2 ………………….51

Gambar 4.25. Contoh output program dengan 15 delay hari, 10 hidden neuron pada hidden

layer 1 dan 20 hidden neuron pada hidden layer 2 ………………………….51

Gambar 4.26. Contoh grafik output program dengan 15 delay hari, 10 hidden neuron pada

hidden layer 1 dan 20 hidden neuron pada hidden layer 2 …………………..52

Gambar 4.27. Grafik nilai kurs dan prediksi kurs dengan arsitektur terbaik. ………………..53

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xviii

DAFTAR TABEL

Tabel 3.1 proses validasi …………………………………………………………………….28

Tabel 4.1. Hasil pengujian input neuron/delay hari …………………………………………38

Tabel 4.2. Hasil pengujian hidden neuron dengan 1 hidden layer..……………………………..44

Tabel 4.3. Hasil pengujian hidden neuron dengan 2 hidden layer..……………………………..49

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xix

DAFTAR GRAFIK

Grafik 4.1. Grafik hasil pengujian input neuron/delay hari …………………………………39

Gambar 4.2. Grafik hasil pengujian hidden neuron dengan 1 hidden layer. …………………..45

Gambar 4.3. Grafik hasil pengujian hidden neuron. ………………………………………………50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

xx

DAFTAR PUSTAKA

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

MA:PWS Publishing.

Wibowo, T dan Amir, H, 2005. Faktor-faktor yang mempengaruhi nilai tukar Rupiah. Jurnal

Kajian Ekonomi dan Keuangan. Departemen Keuangan.

www.iei.or.id/publicationfiles

Siang, Jong Jek, 2005. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan Matlab.

Yogyakarta. Andi Offset

Hermawan, Arief, 2006. Jaringan Syaraf Tiruan Teori dan Aplikasi. Yogyakarta. Andi Offset

Away, Gunaidi Abdia, 2014. The Shortcut of Matlab Programing. Bandung.

INFORMATIKA

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

1

BAB I

PENDAHULUAN

1.1.Latar Belakang

Setiap negara memiliki mata uang yang digunakan untuk bertransaksi. Nilai dari

mata uang tiap negara itu berbeda-beda. Nilai tukar atau kurs (foreign exchange rate) adalah

harga mata uang suatu negara relatif terhadap mata uang negara lain. Karena nilai tukar ini

mencakup dua mata uang, maka titik keseimbangannya ditentukan oleh sisi penawaran dan

permintaan dari kedua mata uang tersebut. Salah satu mata uang yang paling sering digunakan

sebagai pembanding adalah Dolar Amerika Serikat(US $). Nilai tukar rupiah dengan dolar

Amerika Serikat sangat berperan dalam bidang perekonomian terutama menyangkut barang

yang dibeli menggunakan dolar. Dengan memprediksi nilai tukar dapat membantu bagi para

investor maupun trader. Trader adalah salah satu elemen pelaku pasar valuta asing yang

memanfaatkan fluktuasi nilai tukar mata uang tertentu untuk mendapatkan keuntungan. untuk

itu seorang trader harus menguasai metode yang akurat untuk memprediksi nilai kurs. Hal-

hal yang mempengaruhi nilai tukar suatu negara dengan negara lain menurut Wibowo(2005)

adalah selisih Pendapatan Bruto Daerah(PDB), inflasi, tingkat suku bunga, dan nilai tukar

sebelumnya.

Selama ini banyak peramalan dilakukan secara intuitif menggunakan metode-

metode statistika seperti metode smooting, Box-Jenkins, ekonometri regresi, dan lainnya.

Seiring perkembangan teknologi, peramalan data time series telah banyak dikembangkan pada

bidang kecerdasan buatan seperti jaringan syaraf tiruan. Jaringan syaraf tiruan adalah suatu

sistem pengolahan informasi yang memiliki karakter dan konsep seperti jaringan syaraf

biologi, yaitu jaringan otak manusia yang dapat dilatih sehingga dapat mengambil keputusan

sesuai dengan yang dilakukan oleh otak manusia. Jaringan syaraf tiruan dapat meng-

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

2

identifikasi pola data dari sistem peramalan kurs rupiah terhadap dollar Amerika Serikat dapat

dilakukan dengan metode pendekatan pelatihan (training).

Salah satu kelebihan dari jaringan syaraf tiruan ini adalah kemampuan untuk

melakukan proses pembelajaran atau pelatihan. Ada 2 metode pembelajaran yaitu supervised

dan unsupervised learning. Metode supervised learning memasukan target keluaran dalam

data untuk proses pelatihannya. Karena salah satu faktor yang mempengaruhi nilai tukar

adalah nilai tukar bulan-bulan sebelumnya maka untuk kasus ini digunakan metode

supervised learning. Beberapa metode yang termasuk metode supervised learning adalah

Hebbian, perceptron, ANDELINE, Boltzman, Hopfield, Backpropagation, dan lain-lain. Dari

metode tersebut yang cocok digunakan untuk peramalan adalah metode ANDELINE dan

backpropagation. Metode backpropagation serta modifikasinya banyak digunakan saat ini

untuk menyelesaikan berbagai macam masalah.

Penelitian tentang peramalan kurs sudah banyak dilakukan oleh banyak orang. Tri

Wibowo dan Hidayat Amir pada tahun 2005 telah meneliti faktor – faktor yang mem-

pengaruhi nilai tukar rupiah, hasil dari penelitian mereka adalah faktor yang mempengaruhi

nilai tukar rupiah terhadap dollar Amerika adalah selisih pendapatan riil dengan error 0.814,

selisih inflasi dengan error 0.436, selisih suku bunga Indonesia dengan Amerika dengan error

0.009 serta nilai tukar rupiah dengan dollar Amerika 1 bulan sebelumnya dengan error 0.765.

Pada tahun 2008 Anizza Restra P. melakukan penelitian tentang peramalan kurs rupiah

terhadap dollar menggunakan algoritma backpropagation. Dari hasil penelitiannya keberadaan

PDB riil menghasilkan NMSE (normalized mean square error) yang lebih rendah

dibandingkan jika tidak menggunakan variable tsb dengan nilai korelasi 0.061, data latih 2

atau 4 tahun dan 1 neuron pada hidden layer memberikan ketepatan pendugaan yang lebih

baik. Pada tahun 2010 Mahater Muhammad meneliti perbandingan metode backpropagation

dengan metode Arima(Box-Jenkins) dalam peramalan kurs yang memiliki kesimpulan metode

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

3

backpropagation lebih baik karena memiliki MAPE(Means Absolute Error Percentage) lebih

kecil. Setelah itu pada tahun 2012, Ivana Sakuan melakukan penelitian tentang perbandingan

keakuratan peramalan kurs rupiah dengan dollar Amerika antara metode Trigg and Leach

dengan metode Chow yang menghasilkan kesimpulan metode Chow membutuhkan waktu

analisis yang lebih lama dari pada metode Trigg and Leach karena harus mencari MSE(mean

Square Error) yang paling kecil dari 3 α.

Dari berbagai penelitian di atas penelitian ini akan meneliti lebih lanjut peramalan

kurs dengan metode backpropagation karena menurut Mahater Muhammad(2010) metode ini

lebih baik dari pada metode Arima(Box-Jenkins), serta menggunakan data latih 4 tahun

berdasarkan penelitian Anizza(2008). Serta penelitian ini akan meneliti lebih lanjut dengan

menggunakan 2 lapisan tersembunyi dengan variasi jumlah hidden neuron serta pengaruh

jumlah delay hari dalam peramalan nilai kurs. Jumlah delay hari menentukan jumlah data

yang diperlukan untuk melakukan prediksi kurs. Nilai kurs yang dinamis memiliki berbagai

faktor yang mempengaruhi. Karena itu, penelitian ini penting untuk dilakukan agar dapat

mengetahui sejauh mana faktor nilai kurs sebelumnya yaitu delay hari sehingga dapat

meningkatkan ketepatan dalam peramalan nilai kurs.

1.2.Rumusan Masalah

Berdasarkan latar belakang tersebut maka permasalahan dalam penelitian ini

adalah : bagaimana memprediksi nilai tukar rupiah terhadap dolar dengan menggunakan

metode jaringan syaraf tiruan Backpropagation.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

4

1.3.Tujuan dan Manfaat Penelitian

1.3.1. Tujuan Penelitian

Penelitian ini mempunyai tujuan sebagai berikut:

1. menghasilkan program yang dapat memprediksi nilai kurs dollar Amerika-Indonesia

2. menganalisis hasil peramalan dengan variasi jumlah delay hari

3. menganalisis jumlah hidden layer dan hidden neron yang optimal untuk memprediksi

nilai kurs dollar Amerika-Indonesia

1.3.2. Manfaat Penelitian

1. Bagi Mahasiswa

a. Dapat menambah wawasan dan pengetahuan di luar lingkungan kampus yang

berhubungan dengan program studi yang dipilih.

b. Untuk memperoleh gambaran mengenai bagaimana membuat atau meng-

implementasikan suatu masalah menjadi sebuah sistem yang baik.

2. Bagi Almamater

a. Sebagai bahan evaluasi di bidang akademik untuk mengembangkan dan

meningkatkan mutu pendidikan.

b. Sebagai barometer untuk mengukur sejauh mana daya serap mahasiswa di dalam

menerima dan menerapkan teori yang sudah diperoleh selama di bangku kuliah.

3. Bagi Masyarakat

Diharapkan menghasilkan informasi yang dapat dijadikan bahan pertimbangan dalam

melakukan kegiatan jual beli di pasar valuta asing.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

5

1.4. Batasan Masalah

Batasan masalah dalam penelitian ini adalah :

1. data yang digunakan adalah data 4 tahun dari tahun 2010 dan 2013

2. jumlah hidden layer yang digunakan adalah 1 layer dan 2 layer.

1.5. Metodologi Penelitian

Perencanaan sistem peramalan (forecasting) valuta asing menggunakan metode

backpropagation, terdiri dari langkah-langkah sebagai berikut :

1. Menetapkan Tujuan Sistem

Model jaringan yang dibangun mampu mengidentifikasikan dan mempelajari pola

dari data, dan selanjutnya menggunakannya untuk peramalan.

2. Memperoleh Data

Data pergerakan nilai tukar Rupiah Indonesia terhadap Dollar Amerika Serikat

dari bulan Januari 2010 - Desember 2013 diperoleh dari website Bank Indonesia

[http://www.bi.go.id]

3. Menentukan Fungsi Aktivasi

Dalam kasus ini bentuk khusus dari suatu fungsi aktivasi tidak akan memiliki

pengaruh yang signifikan terhadap performa suatu jaringan. Namun dengan dasar

karakteristik data yang berfluktuasi kuat dan mengingat tujuan dari sistem jaringan

yaitu untuk mampu mengatasi perubahan mendadak, maka fungsi aktivasi

hendaknya yang bersifat smooth dan terdiferensial. Atas dasar hal-hal di atas,

maka dipilih fungsi aktivasi log sigmoid (sigmoid biner).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

6

4. Normalisasi Data Input

Data input yang digunakan adalah nilai kurs tengah yaitu rata-rata dari kurs jual

dan kurs beli, kemudian data diubah ke dalam range 0.1 sampai 0.9 agar dapat

dihintung menggunakan fungsi aktivasi log sigmoid (sigmoid biner)..

5. Merancang Struktur Jaringan

Bertujuan untuk mendapatkan komposisi jumlah neuron, hidden layer, elemen

input dan nilai parameter training yang optimal. Langkah-langkah membangun

model jaringan data ini adalah :

a. Membetuk data pelatihan (training) dan validasi.

b. Penentuan jumlah delay adalah 15, 30, 45, dan 60 hari yang kemudian akan

dianalisis hasil yang memiliki error paling minimum.

c. Jumlah hidden layer adalah 1 dan 2, dengan variasi jumlah hidden neuron 5,

10, 15, dan 20.

Jika hasil pengujian belum didapatkan hasil yang optimal maka akan

ditambahkan pengujian dengan nilai lain sampai akurasi peramalan yang

didapat terus menurun.

7. Penentuan koefisien laju pemahaman (α) = 0,25 dan momentum (μ) = 0,25.

8. Pemilihan jaringan yang optimum dan penggunaannya dalam peramalan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

7

1.6. Sistematika Penulisan

Sistematika penulisan pada penelitian ini dibagi beberapa bab meliputi :

BAB I PENDAHULUAN

Bab ini berisi latar belakang penulisan tugas akhir, rumusan masalah, batasan

masalah, metodologi penelitian ,dan sistematika penulisan.

BAB II LANDASAN TEORI

Bagian ini menjelaskan mengenai teori yang berkaitan dengan masalah yang

ingin dijawab oleh penelitian ini.

BAB III RANCANGAN DAN METODE PENELITIAN

Bab ini berisi perencanaan arsitektur jaringan syaraf tiruan beserta metode

penelitian yang akan dilakukan oleh penulis.

BAB IV IMPLEMENTASI DAN ANALISIS DATA

Bab ini berisi pelaksanaan implementasi dan melakukan analisis dari prediksi

nilai kurs menggunakan metode Backpropagation.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi beberapa kesimpulan yang didapat dan saran-saran berdasarkan

hasil analisis data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

8

BAB II

LANDASAN TEORI

Untuk melakukan penelitian ini diperlukan beberapa landasan teori diantaranya adalah teori

tentang jaringan syaraf tiruan bagaimana menyelesaikan permasalahan, algoritma yang

digunakan serta arsitekturnya, dan juga teori mengenai nilai kurs, faktor-faktor apa saja yang

mempengaruhi perubahan nilai kurs. Berikut adalah landasan teori yang digunakan :

2.1. Jaringan Syaraf Tiruan

Jaringan Syaraf Tiruan merupakan salah satu representasi buatan dari otak

manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia

tersebut. Istilah buatan digunakan karena jaringan syaraf ini diimplementasikan dengan

menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan

selama proses pembelajaran. Jaringan syarang tiruan memiliki karakteristik : pola hubungan

antara neuron disebut arsitektur. Neuron adalah bagian terkecil dari jaringan syaraf tiruan

yang berfungsi sebagai elemen proses. JST ini menarik karena memiliki kemampuan untuk

belajar dari pengalaman serta mampu menyelesaikan permasalahan yang tidak terstruktur.

Menurut Siang (2005), jaringan syaraf tiruan (JST) merupakan sistem pemroses

informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk

sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa :

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

2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.

3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

9

4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya

bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini

selanjutnya dibandingkan dengan suatu batas ambang (treshold).

Neuron adalah unit pemroses informasi yang menjadi dasar dalam

pengoperasian jaringan syaraf tiruan (Siang 2005:23). Neuron terdiri dari 3 elemen

pembentuk sebagai berikut.

a. Himpunan unit-unit yang dihubungkan dengan jalur koneksi.

b. Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal

yang sudah dikalikan dengan bobotnya.

c. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan

diteruskan ke neuron lain ataukah tidak.

Model neuron terdiri dari single input neuron, fungsi transfer serta multi input

neuron. Single input neuron terdiri dari skalar input p yang dikalikan dengan skalar bobot w

menghasilkan w dan digabungkan dengan input lainnya l dikalikan dengan bias b. Outputnya

n, sering disebut sebagai net input masuk ke fungsi transfer f yang menghasilkan skalar output

neuron a. output neuron dihitung dengan rumus a= f(wp+b).

Gambar 2.1 Single input neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

10

Terdapat beberapa fungsi aktivasi, fungsi aktivasi dipilih sesuai dengan

spesifikasi masalah yang ingin diselesaikan. Berikut adalah 3 fungsi aktivasi yang sering

digunakan :

1. Hard Limit transfer function

Jaringan dengan lapisan tunggal sering menggunakan fungsi ini untuk mengkonversi input

dari suatu variable yang bernilai kontinu ke suatu output biner, Fungsi hard limit

dirumuskan :

jika x ≤ 0 maka y = 0, jika x > 0 maka y = 1.

Gambar 2.2 Hard Limit transfer function

2. Linear transfer function

Fungsi Linear memiliki nilai output sama dengan input yang dirumuskan :

y = x

Gambar 2.3 Linear transfer function

3. Log-Sigmoid transfer function

Fungsi ini sering digunakan untuk jaringan dengan banyak lapisan yang dilatih

menggunakan metode back-propagation, dengan mengambil input (yang memiliki nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

11

antara ±∞) dan mengecilkannya sehingga output menjadi antara 0 sampai 1 yang

dirumuskan : 𝑦 =1

(1+𝑒𝑎𝑥 )

Gambar 2.4 Log-Sigmoid transfer function

Susunan neuron dan pola keterkaitan antar layer disebut arsitektur jaringan.

Arsitektur JST diklasifikasikan sebagai single layer, multi layer dan competitive layer. Untuk

menentukan banyak layer yang digunakan, layer input tidak diikutsertakan sebagai layer yang

digunakan.

a. Single Layer Network (jaringan layar tunggal)

Dalam jarigan ini, neuron input langsung berhubungan dengan neuron output. Jaringan ini

hanya menerima informasi dan langsung mengolahnya menjadi output tanpa melalui

hidden layer.

Gambar 2.5 contoh single layer network

Gambar 2.1 menunjukan arsitektur jaringan dengan 3 unit input (x1 ,x2 ,dan x3) dan 2 unit

output (Y1 ,dan Y2). Semua unit input pada jaringan ini terhubung dengan semua unit

output walaupun memiliki bobot yang berbeda-beda(w11 , w12 ,w13 ,w21 ,w22 ,dan w23) .

Besaran w12 menyatakan bobot hubungan antara unit ke-2 dalam input dengan unit ke-1

dalam output. Selama proses pelatihan bobot-bobot ini akan dimodifikasi untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

12

meningkatkan keakuratan hasil. Jaringan layar tunggal ini tepat digunakan untuk

pengenalan pola karena kesederhanaannya.

b. Multi Layer Network (jaringan layar jamak)

Model jaringan ini mempunyai tambahan satu layer atau lebih(hidden neuron) diantara

layer input dan layer output. Jaringan dengan banyak layer ini dapat menyelesaikan

permasalahan yang lebih rumit daripada single layer.

Gambar 2.6 contoh multi layer network

Gambar 2.2 menunjukan arsitektur jaringan dengan 3 unit input (x1 ,x2 ,dan x3), sebuah

hidden layer dengan dua unit(z1 dan z2) dan 1 unit output Y.

c. Reccurent Network

Pada jaringan recurrent terdapat neuron output yang memberikan sinyal pada pada unit

input (sering disebut feedback loop).

Gambar 2.7 contoh reccurent net

Metode penentuan bobot pada hubungan yang disebut pelatihan atau

pembelajaran, metode ini dibedakan ke dalam aturan terbimbing(supervised learning) dan

tidak terbimbing(unsupervised learning). Metode pembelajaran tidak terbimbing atau

jaringan Kohonen pertama kali diperkenalkan oleh Prof. Teuvo Kohonen pada tahun 1982.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

13

Pada jaringan ini, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri

berdasarkan input nilai tertentu dalam suatu kelompok yang dikenal dengan istilah cluster.

Selama proses penyusunan diri cluster yang memiliki vektor bobot paling cocok dengan pola

input akan terpilih sebagai pemenang. Dalam pelatihan terbimbing, terdapat sejumlah

pasangan data yang dipakai untuk melatih jaringan hingga diperoleh bobot yang diinginkan.

Pasangan data tersebut berfungsi sebagai “guru” untuk melatih jaringan hingga diperoleh

bentuk terbaik. Dalam metode pembelajaran terbimbing terdapat banyak metode

diantaranya:

1. HebbRule

Metode pembelajaran yang paling sederhana, pembelajaran dilakukan dengan cara

memperbaiki nilai bobot sedemikian rupa sehingga jika ada 2 neuron yang terhubung

dan jika keduanya dalam kondisi “on” pada saat yang sama, maka bobot antara

keduanya dinaikkan.

2. Perception

Biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering

dikenal dengan pemisahan secara linear. Algoritma yang digunakan akan mengatur

parameter-parameter bebasnya melalui proses pembelajaran

3. Delta Rule

Mengubah bobot yang menghubungkan antara jaringan input ke output dengan nilai

target.

4. Backpropagation

Algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perception

dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-

neuron yang ada pada lapisan tersembunyi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

14

5. Hetroassociative Memory

Jaringan yang bobot-bobotnya ditentukan sedemikian rupa sehingga jaringan tersebut

dapat menyimpan kumpulan pola.

6. Bidirectional Associative Memory

Model jaringan syaraf yang memiliki 2 lapisan dan terhubung penuh dari satu lapisan

ke lapisan lainnya. Pada jaringan ini dimungkinkan adanya hubungan timbal balik

antara lapisan input dan lapisan output.

7. Learning vector Quantization

Suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi.

Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan

vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil hanya tergantung pada

jarak antara vektor -vektor input.

Kelebihan dari jaringan syaraf tiruan adalah mampu mengakuisisi pengetahuan

walau tidak ada kepastian, mampu melakukan generalisasi dan ekstraksi dari suatu pola data

tertentu, dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan

melalui pengaturan diri atau kemampuan belajar (self organizing), memiliki fault tolerance,

gangguan dapat dianggap sebagai noise saja, kemampuan perhitungan secara paralel sehingga

proses lebih singkat. Sedangkan kekurangannya adalah kurang mampu untuk melakukan

operasi-operasi numerik dengan presisi tinggi, kurang mampu melakukan operasi algoritma

aritmatik, operasi logika dan simbolis, lamanya proses training yang mungkin terjadi dalam

waktu yang sangat lama untuk jumlah data yang besar .

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

15

2.2. Backpropagation

Backpropagation merupakan model jaringan syaraf tiruan dengan layer jamak.

Seperti halnya model jaringan syaraf tiruan lainnya, 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.

Backpropagation merupakan salah satu algoritma yang sering digunakan dalam

menyelesaikan masalah-masalah yang rumit. Metode ini merupakan metode yang sangat baik

dalam menangani masalah pengenalan pola-pola kompleks. Beberapa contoh aplikasi yang

melibatkan metode ini adalah kompresi data, deteksi virus komputer, pengidentifikasian

objek, sintesis suara dari teks, dan lain-lain. Hal ini dimungkinkan karena jaringan dengan

algoritma ini dilatih dengan menggunakan metode belajar terbimbing (Hermawan, 2006).

Fungsi aktivasi pada Backpropagation harus memenuhi beberapa syarat yaitu

kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak turun. Salah satu

fungsi yang memenuhi syarat tersebut dan sering digunakan adalah fungsi sigmoid biner yang

memiliki range(0,1). Fungsi sigmoid biner didefinisikan sebagai berikut :

𝑓 𝑥 = 1

1+𝑒−𝑥 ,−∞ ≤ 𝑥 ≤ ∞…………………………………..(2.1)

𝑓 ′ 𝑥 = 𝑓 𝑥 1 − 𝑓 𝑥 ……………………………………….(2.2)

Algoritma backpropagation meliputi 3 tahapan. Tahap pertama adalah

feedforward dari input pelatihan. Tahap kedua adalah perhitungan dan propagasi balik dari

error yang berhubungan. Kemudian tahap ketiga adalah penyesuaian bobot yang

bersangkutan hingga tercapai error yang minimum. Bila hasil keluaran tidak sesuai dengan

target, maka bobot diperbaharui sehingga tercapai penyimpangan minimum.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

16

Dalam algorima Backpropagation, input dilewatkan melalui lapisan-lapisan

sampai hasil akhir dihitung, dan dibandingkan dengan output nyata untuk menemukan

kesalahan. Kesalahan ini kemudian disebarkan kembali ke input untuk menyesuaikan bobot

dan bias dalam setiap lapisan. Dalam rangka untuk mempercepat proses belajar, ada dua

parameter dari algoritma Backpropagation yang disesuaikan yaitu : laju pembelajaran dan

momentum (Agarkar dan Ghatol, 2010).

Laju pembelajaran sangat berpengaruh pada intensitas proses pelatihan. Begitu

pula terhadap efektivitas dan kecepatan mencapai konvergensi dari pelatihan. (Hermawan,

2006) nilai laju pembelajaran yang terlalu tinggi dapat menyebabkan jaringan menjadi tidak

stabil sedangkan nilai yang terlalu kecil dapat menjadikan waktu belajar yang lama. Oleh

karena itu pemilihan konstanta laju pembelajaran harus seoptimal mungkin agar didapatkan

proses belajar yang cepat. Nilai laju pembelajaran yang cukup kecil menjamin penurunan

gradien terlaksana dengan baik, namun hal ini berakibat bertambahnya jumlah iterasi. Pada

umumnya nilai laju pembelajaran dipilih mulai 0,001 sampai dengan 1 selama proses

pelatihan.

Selain laju pembelajaran, pada metode Backpropagation ada koefisien lain yang

tujuan penggunaannya untuk mempercepat konvergensi. Momentum dapat menolong jaringan

keluar dari lokal minimal. Dengan momentum m, bobot diperbaharui pada waktu t yang

diberikan menjadi

1 twmytw ijjiiij ………………………………………(2.3)

dimana 0 < m < 1 adalah sebuah parameter global baru yang harus ditentukan secara trial dan

error . Momentum ini menambahkan sebuah perkalian dengan bobot sebelumnya pada bobot

saat ini. Pada saat gradient tidak terlalu banyak bergerak, ini akan meningkatkan ukuran

langkah yang diambil menuju nilai minimum. Nilai konstanta momentum berupa bilangan

positif antara 0,5 sampai dengan 0,9 (Purnomo, 2006).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

17

Secara detail langkah-langkah Backpropagation menurut Siang(2005:102) sebagai berikut :

0. Pemberian insialisasi semua bobot(diberi nilai acak)

1. Ulangi langkah 2 hingga 9 sampai kondisi akhir iterasi terpenuhi

2. Untuk masing-masing pasangan data pelatihan lakukan langkah 3 sampai 8

fase I : propagasi maju

3. Setiap unit masukan(Xi, i=1,...n) menerima sinyal masukkan Xi dan sinyal itu

disebarkan ke unit-unit berikutnya

4. hitung semua keluaran di unit tersembunyi zj (j=1,2,… ,p)

𝑍_𝑛𝑒𝑡𝑗 = 𝑉𝑗0 + 𝑋𝑖 𝑉𝑗𝑖𝑛𝑖=1 ………………………………………….(2.4)

𝑍𝑗 = 𝑓 𝑍𝑛𝑒𝑡 𝑗 =

1

1+𝑒−𝑧_𝑛𝑒𝑡𝑗 ………………………………………….(2.5)

5. hitung semua keluaran jaringan di unit (Yk, k = 1, ..., m)

𝑌_𝑛𝑒𝑡𝑘 = 𝑊𝑘0 + 𝑍𝑗 𝑊𝑘𝑗𝑝𝑗=1 …………………………….(2.6)

𝑌𝑘 = 𝑓(𝑌_𝑛𝑒𝑡𝑘) ……………………………………….…….(2.7)

fase II : propagasi mundur

6. Setiap unit keluaran Yk (k = 1, ..., m) menerima pola target sesuai dengan pola

masukkan saat pelatihan dan dihitung error

𝛿𝑘 = 𝑡𝑘 − 𝑌𝑘 𝑓′ 𝑌𝑛𝑒𝑡 𝑘 = 𝑡𝑘 − 𝑌𝑘 𝑌𝑘(1 − 𝑌𝑘) …(2.8)

Menghitung bobot korelasi : ∆𝑤𝑘𝑗 = ∝ 𝛿𝑘𝑍𝑗 ; k = 1, 2,…,m ;

j = 1, 2,…, p

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

18

7. Setiap penimbang yang menghubungkan unit-unit lapisan keluaran dengan

unit pada lapisan tersembunyi (Zj, j=1, ..., p)dikalikan delta dan dijumlahkan

sebagai masukkan ke unit berikutnya.

𝛿_𝑛𝑒𝑡𝑗 = 𝛿𝑘 𝑊𝑘𝑗𝑚𝑘=1 ………………………………………….(2.9)

Selanjutnya dikalikan dengan turunan dari fungsi aktifasi untuk menghitung

error 𝛿𝑗 = 𝛿𝑛𝑒𝑡 𝑗 𝑓′ 𝑧𝑛𝑒𝑡 𝑗 = 𝛿𝑛𝑒𝑡 𝑗 𝑧𝑗 1 − 𝑧𝑗 𝑗 …………….(2.4)

Menghitung bobot : ∆𝑉𝑗𝑖 = ∝ 𝛿𝑗 𝑥𝑖 ; i = 1, 2,…,n ; j = 1, 2,…, p

fase III : perubahan bobot

8. Setiap output diperbaiki bias dan penimbangnya Wkj (baru)= Wkj (lama)+

∆Wkj (k = 1, 2,…,m ; j = 1, 2,…, p)

Setiap unit tersembunyi diperbaiki bias dan penimbangnya Vkj (baru)= Vkj

(lama) + ∆Vkj (i = 1, 2,…,n ; j = 1, 2,…, p)

9. Pengujian kondisi penghentian iterasi

Parameter α merupakan laju pemahaman yang menentukan kecepatan iterasi.

Nilai α terletak antara 0 dan 1 (0 ≤ α ≤ 1). Semakin besar nilai α , semakin sedikit iterasi yang

dipakai. Akan tetapi jika nilai α terlalu besar, maka akan merusak pola yang sudah benar

sehingga pemahaman menjadi lambat. Satu siklus pelatihan yang melibatkan semua pola

disebut epoch.

Pemilihan bobot awal sangat mempengaruhi jaringan syaraf tiruan dalam

mencapai minimum global (atau mungkin lokal saja) terhadap nilai error (kesalahan) dan

cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila bobot awal terlalu besar

maka input ke setiap lapisan tersembunyi atau lapisan output akan jatuh pada daerah dimana

turunan fungsi sigmoidnya akan sangat kecil. Apabila bobot awal terlalu kecil, maka input ke

setiap lapisan tersembunyi atau lapisan output akan sangat kecil. Hal ini akan menyebabkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

19

proses pelatihan 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).

Metode standar backpropagation terkadang terlalu lambat untuk keperluan

praktis, beberapa modifikasi dilakukan dengan mengganti fungsi pelatihannya. Secara umum

modifikasi dikelompokan menjadi 2 yaitu metode yang menggunakan teknik heuristic yang

dikembangkan dari metode penurunan tercepat(steepest descent) dan metode optimisasi

numerik selain penurunan tercepat, beberapa metode yang sering digunakan adalah gradient

conjugate dan quasi Newton.

Pada metode pertama terdapat beberapa modifikasi yang dapat dilakukan yaitu

menurunkan gradient dengan momentum. metode ini paling sederhana tetapi penurunanan

gradient sangat lambat dalam kecepatan proses iterasinya. Hal ini terjadi karena arah

penurunan tercepat belum tentu merupakan arah yang tepat untuk mencapai titik minimum

globalnya. Dengan momentum, perubahan bobot tidak hanya didasarkan atas error yang

terjadi pada epoch saat itu. Perubahan bobot yang dlakukan memperhitungkan perubahan

bobot pada epoch sebelumnya. Dengan demikian kemungkinan terperangkap ke titik

minimum local dapat dihindari. Besarnya efek perubahan bobot terdahulu(faktor momentum)

bias diatur dengan suatu bilangan antara 0 dan 1. Faktor momentum = 0 berarti perubahan

bobot hanya dilakukan berdasarkan error saat ini.(penurunan gradient murni).

Modifikasi yang dapat dilakukan berikutnya adalah variabel laju pemahaman.

Laju pemahaman merupakan konstanta yang nilainya tetap selama iterasi. Menetukan nilai

laju pembelajaran yang tepat sebelum pelatihan akan sulit. Jika nilai terlalu besar maupun

terlalu tinggi akan menyebabkan pelatihan menjadi lambat. Pelatihan akan lebih cepat apabila

laju pemahaman dapat diubah-ubah selama proses pelatihan. Jika error sekarang lebih besar

dari error sebelumnya, maka laju pemahaman diturunkan, dan sebaliknya laju pemahaman

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

20

diperbesar. dengan demikian laju pemahaman dapat dibuatsebesar-besarnya dengan tetap

mempertahankan kestabilan proses.

Modifikasi dari penurunan tercepat berikutnya adalah Resilient backpropagation.

Metode ini membagi arah dan perubahan bobot menjadi 2. ketika menggunakan penurunan

tercepat, yang diambil hanya arahnya saja. Besarnya perubahan bobot dilakukan dengan cara

lain. Dengan menggunakan metode ini dapat mengatasi masalah perubahan bobot kecil

walaupun masih jauh dari titik optimal yang dikarenakan gradien yang kecil(semakin jauh

titik dari x=0,semakin kecil nilai gradien).

Selain metode penurunan tercepat dan modifikasinya, dapat juga digunakan

algoritma conjugate gradient untuk mempercepat pelatihan. Dalam algoritma ini pencarian

dilakukan sepanjang arah conjugate. Dalam banyak kasus pencarian akan lebih cepat.

2.3. Valuta Asing

Valuta asing mengacu pada lembaran mata uang yang dimiliki negara lain.

Perdagangan valuta asing adalah proses penukaran mata uang negara sendiri untuk mata uang

negara lain. Pasar valuta asing atau disingkat valas merupakan jenis pasar yang

memperdagangkan mata uang suatu negara dengan negara lainnya. Menurut survei BIS( Bank

International for Settlement) yang dilakukan pada akhir tahun 2004, nilai transaksi pasar

valuta asing mencapai lebih dari US $1,4 trilliun perharinya. Dengan demikian prospek

investasi perdagangan valuta asing sangat bagus tetapi juga beresiko tinggi.

Pasar valuta asing adalah suatu pasar yang unik karena volume perdagangannya,

likuiditas pasar yang teramat besar, banyaknya variasi dari pedagang di pasar valuta asing,

geografis penyebarannya, jangka waktu perdagangannya yang 24 jam sehari (kecuali akhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

21

pekan), dan aneka ragam faktor yang memengaruhi nilai tukar mata uang. Pusat perdagangan

utama adalah di London, New York, Tokyo dan Singapura namun bank-bank diseluruh dunia

menjadi pesertanya. Perdagangan valuta asing terjadi sepanjang hari. Apabila pasar Asia

berakhir maka pasar Eropa mulai dibuka dan pada saat pasar Eropa berakhir maka pasar

Amerika dimulai dan kembali lagi ke pasar Asia, terkecuali di akhir pekan. Mata uang yang

paling sering diperdagangkan adalah dollar Amerika Serikat($), euro (€), yen (¥), dan pound

sterling (£)

Sangat sedikit atau bahkan tidak ada "perdagangan orang dalam" atau informasi

"orang dalam" (Insider trading) yang terjadi dalam pasar valuta asing. Fluktuasi kurs nilai

tukar mata uang biasanya disebabkan oleh gejolak aktual moneter sebagaimana juga halnya

dengan ekspektasi pasar terhadap gejolak moneter yang disebabkan oleh perubahan dalam

pertumbuhan Produk Domestik Bruto (PDB/GDP), inflasi, suku bunga, rancangan anggaran

dan defisit perdagangan atau surplus perdagangan, penggabungan dan akuisisi serta kondisi

makro ekonomi lainnya. Berita utama selalu dipublikasikan untuk umum, sehingga banyak

orang dapat mengakses berita tersebut pada saat yang bersamaan. Namun bank yang besar

memiliki nilai lebih yang penting yaitu mereka dapat melihat arus pergerakan "pesanan" mata

uang dari nasabahnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

22

2.4 Cross Validation

Cross validation atau validasi silang adalah teknik validasi untuk menilai hasil

dari analisis statistik yang akan digeneralisasi ke set data independen. Validasi silang biasa

digunakan untuk prediksi, dan untuk mengestimisasi seberapa akurat model prediksi akan

berjalan. Dalam masalah prediksi, data biasanya terdiri dari data yang digunakan dalam

pelatihan(training) dan data yang belum diketahui hasilnya yang akan diuji modelnya. Tujuan

dari validasi silang adalah untuk menentukan dataset untuk menguji model dalam tahap

pelatihan(yaitu dataset validasi), untuk membatasi masalah seperti overfitting, memberikan

gambaran bagaimana model akan digeneralisasi ke dataset independen(yaitu dataset yang

tidak diketahui, contohnya masalah nyata).

Satu putaran validasi silang melibatkan sebagian sampel data ke subset

komplementer, melakukan analisis pada satu bagian(disebut training set), dan memvalidasi

analisis pada subset lainnya(disebut set validasi). Untuk mengurangi variabilitas, beberapa

putaran validasi silang dilakukan dengan menggunakan partisi data yang berbeda dan hasil

validasi akan dirata-rata setelah selesai.

Macam-macam validasi silang adalah k-fold cross validation, repeated random

sub-sampling validation, dan leave one out cross validation. Pada k-fold validasi silang data

sampel akan dibagi menjadi k dengan ukuran subdata yang sama. Dari k subdata, 1 akan

digunakan untuk validasi sedangkan sisanya yaitu k-1 akan digunakan untuk pelatihan. Proses

validasi silang kemudian diulang sebanyak k kali(sesuai jumlah fold), dengan masing-masing

subdata akan digunakan satu kali sebagai validasi. Hasil dari k fold kemudian dapat dirata-

rata atau digabungkan untuk menghasilkan satu estimasi. Kelebihan metode ini dari repeated

random sub-sampling adalah tiap data digunakan sebagai validasi dan pelatihan satu kali.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

23

BAB III

METODE PENELITIAN

Pada bab ini akan dibahas mengenai data yang akan digunakan, langkah-langkah

penelitian, arsitektur jaringan dan validasi yang akan dijelaskan di bawah ini :

3.1 Data

Menurut penelitian yang dilakukan oleh Wibowo dan Hidayat Amir(2005) faktor yang

sangat menentukan kurs Rupiah terhadap Dolar adalah nilai kurs tengah Rupiah terhadap

Dolar Amerika Serikat, selisih tingkat suku bunga antara Indonesia dan Amerika Serikat,

selisih inflasi antara Indonesia dan Amerika Serikat dan selisih PBD(Pendapatan Bruto

Daerah) riil Indonesia dan Amerika Serikat. Nilai kurs yang digunakan adalah 1 bulan

sebelumnya untuk menyesuaikan dengan data inflasi dan suku bunga yang merupakan data

bulanan. Dalam penelitian ini akan meneliti lebih lanjut tentang nilai kurs tengah Rupiah

terhadap Dolar Amerika Serikat, berapa hari yang diperlukan untuk menghasilkan prediksi

kurs dengan nilai error yang minimum. Data nilai kurs didapat dari website Bank Indonesia

merupakan data harian. Kurs tengah adalah rata-rata antara kurs beli dan kurs jual. Dalam

penelitian ini digunakan kurs tengah karena nilainya lebih stabil dari pada kurs jual maupun

kurs beli.

Data yang digunakan pada penelitian ini adalah data 4 tahun dari tahun 2010 sampai

2013. Setelah data dikumpulkan maka dilakukan preprocessing data yaitu untuk mendapatkan

nilai kurs tengah yang didapat dari kurs jual dan kurs beli ditambah lalu dibagi 2, kemudian

data diubah dalam range 0.1 sampai 0.9 agar dapat dihitung menggunakan fungsi aktivasi

sigmoid biner.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

24

𝑥 ′ =0.8(𝑥−𝑎)

𝑏−𝑎+ 0.1………………………………….(3.1)

Dengan a adalah data minimum dan b adalah data maksimum.

3.2. Alur Penelitian

Penelitian ini akan melakukan prediksi nilai kurs dengan metode Backpropagation.

Untuk melakukakan prediksi kurs perlu diketahui seberapa banyak data yang diperlukan agar

prediksi kurs lebih tepat. Karena hal itu perlu dilakukan perhitungan dengan data input nilai

kurs dan memperhitungkan delay hari yaitu dimulai dari 15 kemudian akan ditambah 15

untuk variabel selanjutnya sampai nilai error yang didapat bertambah buruk. Delay hari ini

berarti waktu yang diperlukan untuk melakukan prediksi kurs, contohnya dengan nilai delay

30 berarti dalam perhitungan akan digunakan data 30 hari (atau 1 bulan) sebelumnya untuk

melakukan prediksi hari ini. Pencarian delay terbaik ini merupakan tahap 1 dari penelitian ini.

Setelah didapat delay terbaik maka akan dilakukan penelitian hidden layer dan hidden

neuron, akan dilakukan variasi jumlah hidden layer dan hidden neuron dan dicari yang

memiliki tingkat kesalahan terkecil untuk melakukan prediksi nilai kurs. Pencarian jumlah

hidden layer dan hidden neuron terbaik ini merupakan tahap 2 dari penelitian ini. Diagram

alur penelitian sebagai berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

25

Gambar 3.1. Flowchart Penelitian

Penelitian dimulai dengan melakukan pencarian data nilai kurs tengah. Setelah didapat

nilai kurs jual dan beli dari website bank Indonesia maka kedua nilai tersebut dijumlah dan

dibagi dua untuk mendapatkan nilai kurs tengah. Setelah itu data akan diatur menggunakan

excel. Data kurs perhari selama 4 tahun dengan jumlah 980 ditaruh pada tiap baris sedangkan

untuk delay hari ditaruh pada kolom. Untuk mengatur delay hari pada excel dilakukan dengan

meng-copy semua data kemudian menghaput data paling atas, dengan begitu data pada kolom

selanjutnya tepat 1 hari setelah data pada kolom sebelumnya. Setelah data siap maka dimulai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

26

penelitian untuk mencari delay hari terbaik, terdapat n neuron input yaitu data kurs harian

dengan nilai n divariasikan dari 15, 30, 45, dan seterusnya hingga didapat nilai error yang

minimum, terdapat 1 lapisan tersembunyi dengan 10 neuron dan output berupa nilai kurs.

Pada tahap 1 tidak dilakukan variasi jumlah neuron pada lapisan tersebunyi karena pada tahap

ini bertujuan untuk menemukan delay hari terbaik saja. Untuk menemukan jumlah neuron

pada lapisan tersembunyi akan dilakukan pada tahap kedua, terdapat 1 dan 2 lapisan

tersembunyi dengan variasi jumlah neuron serta output berupa nilai kurs.

Arsitektur jaringan pada penelitian ini dapat dilihat pada gambar di bawah :

Gambar 3.2. Arsitektur jaringan pada tahap 1

- Mempunyai n neuron input yaitu nilai kurs tengah Rupiah terhadap Dolar dengan n

merupakan jumlah delay hari

- Mempunyai 1 lapisan tersembunyi dengan 10 neuron

- Mempunyai 1 neuron output yaitu hasil prediksi kurs

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

27

Gambar 3.3. Arsitektur jaringan dengan 1 hidden layer

- Mempunyai n neuron input yaitu nilai kurs tengah Rupiah terhadap Dolar dengan n

merupakan jumlah delay hari

- Mempunyai 1 lapisan tersembunyi dengan jumlah neuron p

- Mempunyai 1 neuron output yaitu hasil prediksi kurs

Gambar 3.4. Arsitektur jaringan dengan 2 hidden layer

- Mempunyai n neuron input yaitu nilai kurs tengah Rupiah terhadap Dolar dengan n

merupakan jumlah delay hari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

28

- Mempunyai 2 lapisan tersembunyi dengan jumlah neuron p untuk lapisan 1 dan q

untuk lapisan 2

- Mempunyai 1 neuron output yaitu hasil prediksi kurs

3.3. Validasi

Untuk mengetahui bahwa hasil dari penelitian ini baik maka akan dilakukan 3-fold

cross validation. Kelebihan dari cross validation adalah semua data pernah digunakan untuk

testing dan validasi. Proses 3-fold cross validation adalah sebagai berikut : data 4 tahun akan

di bagi 3, masing-masing berisi data 16 bulan. Data A terdiri dari bulan Januari 2010 sampai

April 2011, data B terdiri dari bulan Mei 2011 sampai Agustus 2012, dan data C terdiri dari

September 2012 sampai Desember 2013. Proses validasi akan dilakukan sesuai tabel di

bawah :

Tabel 3.1 proses validasi

No Data

Training

Data

Validasi

1 AB C

2 AC B

3 BC A

Setelah dilakukan 3 kali pengujian di atas maka dilakukan perhitungan akurasi dengan cara

menghitung selisih antara hasil prediksi kurs dengan nilai sebenarnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

29

BAB IV

IMPLEMENTASI DAN ANALISIS DATA

4.1. Tampilan Antarmuka Pengguna(GUI)

Berikut adalah tampilan utama dari aplikasi prediksi nilai kurs Rupiah-Dolar

Amerika Serikat dengan nama main_menu.fig.

Gambar 4.1.Tampilan Utama Program

Dengan menekan tombol “Mulai”, maka akan ditampilkan halaman hitung_delay

seperti gambar di bawah.

Gambar 4.2. Tampilan hitung_delay

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

30

Pada halaman hitung_delay pengguna dapat memasukan data yang akan dipakai

untuk memprediksi kurs dengan menekan tombol “Buka”. File yang dapat digunakan adalah

file excel dengan format .xls*.

Gambar 4.3. Tampilan untuk memilih file input

File akan diubah ke dalam bentuk matriks dengan menggunakan perintah

sehingga dapat diolah dalam MATLAB. Setelah memilih file, pengguna dapat memasukan

nilai variabel sesuai dengan text field yang tersedia. Setelah selesai pengguna dapat menekan

tombol hitung untuk menampilkan hasil, Jika terdapat kesalahan dalam memasukan nilai

variabel maka akan muncul pesan error seperti pada gambar di bawah ini.

Gambar 4.4. Tampilan error

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

31

Jika semua variabel sudah diisi dengan benar maka akan tampil grafik hasil testing

data serta akurasi peramalan.

Gambar 4.5. Grafik keluaran program.

4.2. Alur Program

Program dimulai dari main_menu.m yang berfungsi untuk menampilkan halaman

utama program. Setelah user menekan tombol mulai program akan berlanjut ke input_delay.m

yang akan menampilkan form untuk mengisi nilai variabel yang akan digunakan dalam

memprediksi kurs. untuk memasukan data yang akan diolah user dapat menggunakan tombol

buka seperti pada gambar 4.6

Gambar 4.6. Bagian form untuk menginput data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

32

Setelah semua form diisi dengan benar dan user menekan tombol hitung.

Kemudian program akan membaca input user seperti potongan program di bawah

Program akan mengecek apakah ada text yang kosong, jika sudah terisi barulah

program mengecek apakah input user sesuai dengan range nilai yang seharusnya atau tidak.

Seperti potongan program di bawah yang mengecek input delay hari, alpha, momentum, dan

jumlah hidden neuron.

Setelah semua input benar maka program akan memanggil main_program.m.

main_program.m merupakan bagian utama dari program prediksi kurs. Script ini akan

memanggil script lainnya yang memiliki tugas masing-masing. Pertama akan memanggil

initialisation.m yang akan mengubah data kurs ke dalam range [0.1 ; 0.9] seperti pada rumus

pada halaman 24.

Selain itu initialisation.m juga akan membagi data menjadi 3 karena metode

validasi yang digunakan adalah 3-fold cross validation.

file = get(handles.inputFile,'string'); layer2 = get(handles.radiobutton2,'value'); hiddenL=layer2+1; text=get(handles.inputDelay,'string');

if delay<=0 || delay>100 msgbox('masukan jumlah delay antara 1 sampai 100','Input salah'); else if alpha<=0 || alpha>=1 msgbox('masukan nilai alpha antara 0 sampai 1','Input salah'); else if miu<=0 || miu>=1 msgbox('masukan nilai momentum antara 0 sampai 1','Input

salah'); else if hiddenNeuron1<=0 || hiddenNeuron1>100 msgbox('masukan jumlah hidden neuron pada hidden layer 1

antara 1 sampai 100','Input salah');

[train1, test1, train2, test2, train3, test3, a, b] =

initialisation (delay,file);

maxData=length(transData)-delay-1; dataPer3=round(maxData/3); dataA=transData(1:dataPer3,1:delay+1); dataB=transData(dataPer3+1:dataPer3*2,1:delay+1); dataC=transData(dataPer3*2+1:maxData,1:delay+1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

33

Setelah data dibagi 3 maka training dan testing tiap bagian data dapat dilakukan.

Untuk 1 hidden layer maka digunakan train.m untuk training dan testing.m untuk testing,

sedangkan jika menggunakan 2 hidden layer maka digunakan train2layer.m untuk training

dan testing2.m untuk testing.

train1=[dataA;dataB]; test1=dataC; train2=[dataB;dataC]; test2=dataA; train3=[dataA;dataC]; test3=dataB;

if hiddenL==1 %perhitungan dengan 1 hidden layer %training data 1 [ BiasInBaru, BiasHidBaru, WInBaru, WHidBaru,targetTrain, Y1] = train(

train1,delay,hiddenN,alpha,miu ); %testing data 1 [error1, targetTest1,YTest1] = testing(test1, delay,hiddenN,BiasInBaru,

BiasHidBaru, WInBaru, WHidBaru);

%training data 2 [ BiasInBaru2, BiasHidBaru2, WInBaru2, WHidBaru2,targetTrain2, Y2] =

train( train2,delay,hiddenN,alpha,miu ); %testing data 2 [error2, targetTest2,YTest2] = testing(test2, delay,hiddenN,BiasInBaru2,

BiasHidBaru2, WInBaru2, WHidBaru2);

%training data 2 [ BiasInBaru3, BiasHidBaru3, WInBaru3, WHidBaru3,targetTrain3, Y3] =

train( train3,delay,hiddenN,alpha,miu ); %testing data 2 [error3, targetTest3,YTest3] = testing(test3, delay,hiddenN,BiasInBaru3,

BiasHidBaru3, WInBaru3, WHidBaru3);

else %perhitungan dengan 2 hidden layer

%training data 1 [ BiasInBaru, BiasHidBaru,BiasHidBaru2, WInBaru,

WHidBaru,WHidBaru2,targetTrain1, Y1] = train2layer( train1,delay,hiddenN,

hiddenN2,alpha,miu); %testing data 1 [error1, targetTest1,YTest1] = testing2(test1, delay,hiddenN,

hiddenN2,BiasInBaru, BiasHidBaru,BiasHidBaru2, WInBaru,

WHidBaru,WHidBaru2);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

34

Pada bagian training akan dicari biasa dan bobot yang optimum dengan

menggunakan metode backpropagation yang kemudian kedua variabel itu akan dilakukan

untuk testing. Perbedaan perhitungan antara 1 hidden layer dan 2 hidden layer terdapat pada

perhitungan keluaran, jika terdapat 2 hidden layer maka output dari hidden layer 1 akan

menjadi input hidden layer 2 yang kemudian akan menjadi input dari output layer. Begitu

juga sebaliknya pada perhitungan balik dalam menghitung faktor kesalahan pada tiap

layernya. Secara umum train.m dan train2layer.m akan berjalan sebagai berikut :

program dimulai dengan membagi data menjadi input dan target. setelah itu dilakukan

penetapan nilai berbagai variabel yang akan digunakan.

Nilai bias dan bobot menggunakan nilai random dengan perintah rands. Kemudian iterasi

akan dimulai dengan syarat sampai memenuhi target error atau sudah melebihi batas iterasi

%training data 2 [ Bias2InBaru, Bias2HidBaru,Bias2HidBaru2, WIn2Baru, WHid2Baru,WHid2Baru2,

targetTrain2, Y2] = train2layer( train2,delay,hiddenN, hiddenN2,alpha,miu ); %testing data 2 [error2, targetTest2,YTest2] = testing2(test2, delay,hiddenN,hiddenN2,

Bias2InBaru, Bias2HidBaru,Bias2HidBaru2, WIn2Baru, WHid2Baru,WHid2Baru2);

%training data 3 [ Bias3InBaru, Bias3HidBaru,Bias3HidBaru2, WIn3Baru, WHid3Baru,WHid3Baru2,

targetTrain3, Y3] = train2layer( train3,delay,hiddenN, hiddenN2,alpha,miu ); %testing data 3 [error3, targetTest3,YTest3] = testing2(test3, delay,hiddenN,hiddenN2,

Bias3InBaru, Bias3HidBaru,Bias3HidBaru2, WIn3Baru, WHid3Baru,WHid3Baru2); end

maxDataTrain=length(train1); inputTrain=train1(1:maxDataTrain,1:delay); targetTrain=train1(1:maxDataTrain,delay+1)

;

targetError=0.005; epoh=1; maxEpoh=500; error=ones(maxEpoh+1,1);

BiasIn=rands(1,hiddenN);BiasInBaru=BiasIn;BiasInTemp=BiasIn; BiasHid=rands(1,1);BiasHidBaru=BiasHid;BiasHidTemp=BiasHid; WIn=rands(delay,hiddenN);WInBaru=WIn;WInTemp=WIn; WHid=rands(hiddenN,1);WHidBaru=WHid;WHidTemp=WHid;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

35

yang ditentukan. Selanjutnya akan dilakukan deklarasi variabel yang nilainya perlu direset

tiap iterasi.

Kemudian akan dihitung keluaran unti tersembunyi (Zj) dan selanjutnya menghitung keluaran

unit Y.

Setelah didapatkan keluaran dari output layer maka hasilnya dibandingkan dengan target

untuk didapat selisih kesalahan.

Kemudian dihitung kesalahan tiap layer yang kemudian digunakan untuk memperbaiki nilai

bobot tiap neuron. Selain itu juga akan dihitung selisih dari bobot iterasi saat ini dan iterasi

sebelumnya akan dikalikan dengan momentum untuk mendapatkan bobot yang baru.

while (epoh <= maxEpoh) && (error(epoh) > targetError) Znet=zeros(maxDataTrain,hiddenN); Zj = zeros(maxDataTrain,hiddenN); Ynet=zeros(maxDataTrain,1); Y=zeros(maxDataTrain,1); E=zeros(maxDataTrain+1,1); delta=zeros(maxDataTrain,1); deltaWjk=zeros(maxDataTrain,hiddenN+1); delta_net=zeros(maxDataTrain,hiddenN); deltaj=zeros(maxDataTrain,hiddenN); deltaVji=zeros(delay+1,hiddenN);

for i = 1 : maxDataTrain %loop data training for j = 1 : hiddenN %loop hidden neuron for k = 1 : delay %loop input

Znet(i,j) = Znet(i,j)+ (inputTrain(i,k)*WInBaru(k,j));

end Znet(i,j) = Znet(i,j)+ BiasInBaru(1,j); Zj(i,j)=1/(1+exp(-Znet(i,j)));

Ynet(i) = Ynet(i) + (Zj(i,j)*WHidBaru(j,1));

end

Ynet(i) = Ynet(i)+BiasHidBaru; Y(i)=1/(1+exp(-Ynet(i)));

delta(i)=(targetTrain(i)-Y(i))*Y(i)*(1-Y(i));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

36

setelah 1 iterasi selesai maka akan dihitung nilai error pada 1 iterasi itu.

Iterasi akan dilanjutkan sampai kondisi penghentian dipenuhi. Setelah iterasi berhenti maka

nilai bobot dari hasil training akan digunakan untuk testing. Proses testing hampir sama

dengan training tetapi tanpa perhitungan balik untuk memperbaiki bobot. Nilai akurasi akan

dihitung setelah menggabungkan data A,B, dan C yang kemudian akan ditampilkan pada

halaman input_delay.

Gambar 4.7. tampilan akurasi

for j = 1 : hiddenN

deltaWjk(i,j+1)=alpha*delta(i)*Zj(i,j); delta_net(i,j)=delta(i)*WHidBaru(j,1); deltaj(i,j)=delta_net(i,j)*Zj(i,j)*(1-Zj(i,j));

WHidBaru(j,1)=WHidBaru(j,1)+deltaWjk(i,j+1)+(miu*(WHidBaru(j,1)-

WHid(j,1)));%bobot hidden neuron baru

deltaVji(k,j)=alpha*deltaj(i,j);%delta V(1,0)

BiasInBaru(1,j)=BiasInBaru(1,j)+deltaVji(1,j)+(miu*(BiasInBaru(1,j)-

BiasIn(1,j)));%bobot bias input baru for k = 1 : delay deltaVji(k+1,j)=alpha*deltaj(i,j)*inputTrain(i,k);%

WInBaru(k,j)=WInBaru(k,j)+deltaVji(k+1,j)+(miu*(WInBaru(k,j)-

WIn(k,j)));%bobot input baru

end

end BiasHidBaru=BiasHidBaru+deltaWjk(1,1)+(miu*(BiasHidBaru-

BiasHid));%bobot bias hidden neuron baru

error(epoh)=(1/maxDataTrain)*sum(abs(delta))/mean(Y);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

37

Selain itu akan ditampilkan nilai asli kurs serta hasil prediksi kurs dalam bentuk

grafik dengan menggunakan perintah di bawah

Gambar 4.8. Grafik nilai kurs dan hasil prediksi

subplot(1,3,3,'replace'); plot (kursReal1); hold all plot (kursPrediksi1); title('Testing data C'); xlabel('data kurs ke-'); ylabel('nilai kurs');

subplot(1,3,1,'replace'); plot (kursReal2); hold all plot (kursPrediksi2); title('Testing data A'); xlabel('data kurs ke-'); ylabel('nilai kurs'); subplot(1,3,2,'replace'); plot (kursReal3); hold all plot (kursPrediksi3); title('Testing data B'); xlabel('data kurs ke-'); ylabel('nilai kurs');

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

38

4.3. Hasil Pengujian

Terdapat beberapa parameter yang dapat mempengaruhi hasil keluaran aplikasi ini

diantaranya adalah jumlah input neuron, jumlah hidden layer, jumlah hidden neuron pada tiap

hidden layer, laju pembelajaran, momentum, serta variabel lainnya. Dalam Penelitian ini akan

dilakukan pengujian dengan variasi jumlah input neuron, jumlah hidden layer dan jumlah

hidden neuron pada tiap hidden layer. Untuk tiap pengujian akan dilakukan percobaan

sebanyak 5 kali. Data akan melalui proses training dan testing sampai didapatkan hasil

prediksi kemudian akan diuji kembali tetapi pada pengujian selanjutnya akan dimulai dengan

nilai bobot yang berbeda karena nilai bobot dimulai dengan menggunakan bilangan random.

Berikut adalah hasil pengujian aplikasi Prediksi Nilai Kurs Rupiah-Dolar Amerika

Serikat.

4.2.1. Pengujian Aplikasi dengan Jumlah Input Neuron(Delay Hari) yang Berbeda

Dalam pengujian aplikasi ini digunakan α = 0,25, μ = 0,25, target error = 0,005

dan maksimum epoch = 500 untuk training, jumlah hidden layer = 1, jumlah hidden neuron =

10. Pada pengujian ini akan diteliti pengaruh jumlah input neuron atau delay hari. Setelah

dilakukan masing-masing 5 kali percobaan untuk tiap input didapat nilai akurasi sebagai

berikut :

Tabel 4.1. Hasil pengujian input neuron/delay hari

No. Jumlah Delay Hari Pengujian

ke-1

Pengujian

ke-2

Pengujian

ke-3

Pengujian

ke-4

Pengujian

ke-5

1. 10 98,0621% 98,2539% 98,0876% 98,4958% 98,1745%

2. 15 98,4836% 98,6925% 98,6528% 98,6425% 98,5879%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

39

3. 30 98,2153% 98,0557% 98,3551% 98,2635% 98,1956%

4. 45 95,5984% 97,8864% 96,7536% 96,3785% 95,8673%

Pengujian dimulai dengan input delay hari 15, setelah diambah interval 15 hari sebanyak 2

kali sampai delay hari = 45 akurasi terus berkurang karena itu pengujian tidak dilanjutkan ke

60 hari. Dengan nilai akurasi terbaik pada delay hari 15 dilakukan lagi pengujian pada 10 hari

tetapi nilai akurasi tidak meningkat maka pengujian dihentikan dengan delay terbaik adalah

15 hari dengan akurasi 98,6925%.

Grafik 4.1. Grafik hasil pengujian input neuron/delay hari

Terlihat dari grafik di atas jumlah delay hari 15 memiliki akurasi paling tinggi. Seiring

bertambahnya jumlah delay hari, akurasi prediksi kurs semakin turn karena itu pengujian

delay hari dihentikan sampai 45.

94,0000%

95,0000%

96,0000%

97,0000%

98,0000%

99,0000%

10 15 30 45

Aku

rasi

Jumlah Delay Hari

Pengujian ke-1

Pengujian ke-2

Pengujian ke-3

Pengujian ke-4

Pengujian ke-5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

40

Berikut adalah screenshoot output program pada pengujian delay hari :

Gambar 4.9. Contoh output program dengan 15 delay hari dan 10 hidden neuron

Gambar 4.10. Contoh grafik output program dengan 15 delay hari dan 10 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

41

Gambar 4.11. Contoh output program dengan 30 delay hari dan 10 hidden neuron

Gambar 4.12. Contoh grafik output program dengan 30 delay hari dan 10 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

42

Gambar 4.13. Contoh output program dengan 45 delay hari dan 10 hidden neuron

Gambar 4.14. Contoh grafik output program dengan 45 delay hari dan 10 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

43

Gambar 4.15. Contoh output program dengan 10 delay hari dan 10 hidden neuron

Gambar 4.16. Contoh grafik output program dengan 10 delay hari dan 10 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

44

4.2.2. Pengujian Aplikasi dengan Jumlah Hidden neuron yang Berbeda dengan 1

Hidden Layer

Dalam pengujian ini α = 0.25, μ = 0.25, target error = 0.005, maksimum epoch =

500, jumlah hidden layer = 1, jumlah input neuron = 15. Pada pengujian ini akan diteliti

pengaruh jumlah hidden neuron . Setelah dilakukan masing-masing 5 kali percobaan untuk

tiap input didapat nilai akurasi sebagai berikut:

Tabel 4.2. Hasil pengujian hidden neuron dengan 1 hidden layer.

No. Jumlah

Hidden neuron

Pengujian

ke-1

Pengujian

ke-2

Pengujian

ke-3

Pengujian

ke-4

Pengujian

ke-5

1. 5 98,3955% 98,4325% 98,028% 98,3013% 98,2674%

2. 10 98,4836% 98,6925% 98,6528% 98,6425% 98,5879%

3. 15 98,4706% 98,0336% 98,2745% 98,1558% 98,3186%

4. 20 97,9478% 98,1472% 97,9564% 98,2489% 97,8793%

Setelah didapat hasil pengujian 10 hidden neuron pada pengujian 4.2.1, pengujian

kali ini dimulai dengan input 5 hidden neuron kemudian dilanjutkan dengan 15 dan 20

neuron. Akurasi peramalan kurs terus berkurang seiring dengan bertambahnya hidden neuron

karena itu pengujian dihentikan pada 20 hidden neuron. Seperti pada Gambar 4.18 di bawah

dapat dilihat bahwa 10 hidden neuron memiliki akurasi terbaik dengan nilai 98,6925%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

45

Gambar 4.2. Grafik hasil pengujian hidden neuron dengan 1 hidden layer

Dari grafik di atas terlihat akurasi tertinggi terdapat pada 10 hidden neuron, setelah

diuji dengan 15 dan 20 hidden neuron akurasi prediksi kurs terus menurun, sedangkan dengan

menguji 5 hidden neuron akurasi juga menurun karena itu pengujian hidden neuron dengan 1

hidden layer dihentikan pada 20 hidden neuron.

Berikut adalah contoh screenshoot output pengujian hidden neuron dengan 1 hidden

layer dihentikan pada 20 hidden neuron :

97,40%

97,60%

97,80%

98,00%

98,20%

98,40%

98,60%

98,80%

5 10 15 20

Aku

rasi

Jumlah Hidden Neuron

Pengujian ke-1

Pengujian ke-2

Pengujian ke-3

Pengujian ke-4

Pengujian ke-5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

46

Gambar 4.17. Contoh output program dengan 15 delay hari dan 5 hidden neuron

Gambar 4.18. Contoh grafik output program dengan 15 delay hari dan 5 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

47

Gambar 4.19. Contoh output program dengan 15 delay hari dan 15 hidden neuron

Gambar 4.20. Contoh grafik output program dengan 15 delay hari dan 15 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

48

Gambar 4.21. Contoh output program dengan 15 delay hari dan 20 hidden neuron

Gambar 4.22. Contoh grafik output program dengan 15 delay hari dan 20 hidden neuron

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

49

4.2.2. Pengujian Aplikasi dengan Jumlah Hidden neuron yang Berbeda pada Hidden

Layer ke-2

Dalam pengujian ini α = 0.25, μ = 0.25, target error = 0.005, maksimum epoch =

500, jumlah hidden layer = 2, jumlah input neuron = 15, dan jumlah hidden neuron pada

layer ke-1 = 10. Pada pengujian ini akan diteliti pengaruh jumlah hidden neuron pada hidden

layer ke-2. Setelah dilakukan masing-masing 5 kali percobaan untuk tiap input didapat

akurasi peramalan sebagai berikut :

Tabel 4.3. Hasil pengujian hidden neuron dengan 2 hidden layer.

No. Jumlah hidden neuron

pada hidden layer ke-2

Pengujian

ke-1

Pengujian

ke-2

Pengujian

ke-3

Pengujian

ke-4

Pengujian

ke-5

1. 10 90,7751% 89,6526% 89,1534% 90,507% 89,7369%

2. 20 88,533% 88,3271% 88,7245% 88,2696% 89,0269%

Pengujian dimulai dengan 10 hidden neuron pada hidden layer ke-2 dan setelah itu 20 hidden

neuron. Dari hasil pengujian kedua input tersebut didapatkan nilai akurasi turun daripada

pengujian dengan 1 hidden layer. Karena itu pengujian dengan menggunakan 2 layer

dihentikan dan didapatkan kesimpulan 1 hidden layer lebih baik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

50

Gambar 4.3. Grafik hasil pengujian hidden neuron.

Gambar 4.23. Contoh output program dengan 15 delay hari, 10 hidden neuron pada hidden

layer 1 dan 10 hidden neuron pada hidden layer 2

82%

84%

86%

88%

90%

92%

94%

96%

98%

100%

10(1 hidden layer)

10(2 hidden layer)

20(2 hidden layer)

Aku

rasi

Jumlah Hidden Neuron

Pengujian ke-1

Pengujian ke-2

Pengujian ke-3

Pengujian ke-4

Pengujian ke-5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

51

Gambar 4.24. Contoh grafik output program dengan 15 delay hari, 10 hidden neuron pada

hidden layer 1 dan 10 hidden neuron pada hidden layer 2

Gambar 4.25. Contoh output program dengan 15 delay hari, 10 hidden neuron pada hidden

layer 1 dan 20 hidden neuron pada hidden layer 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

52

Gambar 4.26. Contoh grafik output program dengan 15 delay hari, 10 hidden neuron pada

hidden layer 1 dan 20 hidden neuron pada hidden layer 2

4.4 Analisa Hasil

Dari hasil pengujian yang dilakukan dengan menggunakan data kurs dari tahun

2010-2013 didapatkan hasil prediksi kurs terbaik dengan nilai error terkecil = 0.0121

menggunakan arsitektur jaringan sebagai berikut :

1. Jumlah Input neuron atau delay hari : 15

2. Jumlah Hidden layer : 1

Jumlah Hidden neuron : 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

53

Gambar 4.27. Grafik nilai kurs dan prediksi kurs dengan arsitektur terbaik.

Grafik berwarna biru merupakan nilai kurs sebenarnya sedangkan grafik berwarna

hijau adalah hasil prediksi aplikasi. Grafik ditampilkan menjadi 3 sesuai dengan hasil 3-fold

cross validation.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

54

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil penelitian prediksi nilai kurs Rupiah terhadap Dolar Amerika Serikat

menggunakan jaringan syaraf tiruan metode backpropagation dapat disimpulkan sebagai berikut :

1. Jaringan syaraf tiruan metode backpropagation mampu memprediksi kurs dengan

nilai akurasi mencapai 98,6925% jika menggunaka 1 hidden layer.

2. Arsitektur jaringan terbaik dengan melalui proses pengubahan arsitektur jaringan

adalah dengan menggunakan 1 hidden layer, dengan 10 hidden neuron, dan 15 input

neuron atau delay hari.

3. Dari Grafik hasil program terlihat prediksi kurs dengan input nilai kurs sebelumnya

saja kurang mampu memprediksi perubahan nilai kurs yang signifikan karena

disebabkan faktor lain seperti selisih inflasi, selisih suku bunga, selisih pendapatan

daerah dan lainnya.

5.2. Saran

Untuk peneliti lain yang ingin meneliti topik prediksi kurs Rupiah dan Dolar Amerika

Serikat dengan metode backpropagation, peneliti dapat meneliti lebih lanjut hal-hal berikut :

1. Mengukur pengaruh laju pemahaman, momentum, target error serta maksimum

epoch terhadap akurasi dan waktu yang dibutuhkan untuk proses pelatihan.

2. Menambah output neuron, dapat berupa prediksi untuk beberapa hari ke depan,

presentase kemungkinan nilai kurs naik atau turun, atau prediksi dalam waktu berapa

hari nilai kurs akan mencapai nilai tertentu sesuai input user.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

55

DAFTAR PUSTAKA

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

MA:PWS Publishing.

Wibowo, T dan Amir, H, 2005. Faktor-faktor yang mempengaruhi nilai tukar Rupiah. Jurnal

Kajian Ekonomi dan Keuangan. Departemen Keuangan.

www.iei.or.id/publicationfiles

Siang, Jong Jek, 2005. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan Matlab.

Yogyakarta. Andi Offset

Hermawan, Arief, 2006. Jaringan Syaraf Tiruan Teori dan Aplikasi. Yogyakarta. Andi Offset

Away, Gunaidi Abdia, 2014. The Shortcut of Matlab Programing. Bandung.

INFORMATIKA

Prasetyo, Wahyu Agung, 2004. Tips dan Trik Matlab. Yogyakarta. Andi Offset

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

56

LAMPIRAN

Listing Program :

-main_program.m

function [avrMse,kursReal1,kursPrediksi1,kursReal2,kursPrediksi2,kursReal3,kursPrediksi3] = main_program (file,delay,hiddenL,hiddenN,hiddenN2,alpha,miu) % delay = 60; % hiddenN=10; %membagi data untuk training dan testing % file='D:\skripsi\kurs 2010-2013'; [train1, test1, train2, test2, train3, test3,a,b]=initialisation(delay,file); if hiddenL==1 %perhitungan dengan 1 hidden layer %training data 1 [ BiasInBaru, BiasHidBaru, WInBaru, WHidBaru,targetTrain1, Y1] = train( train1,delay,hiddenN,alpha,miu ); %testing data 1 [MseTest1, targetTest1,YTest1] = testing(test1, delay,hiddenN,BiasInBaru, BiasHidBaru, WInBaru,

WHidBaru); %training data 2 [ BiasInBaru2, BiasHidBaru2, WInBaru2, WHidBaru2,targetTrain2, Y2] = train(

train2,delay,hiddenN,alpha,miu ); %testing data 2 [MseTest2, targetTest2,YTest2] = testing(test2, delay,hiddenN,BiasInBaru2, BiasHidBaru2, WInBaru2,

WHidBaru2); %training data 2 [ BiasInBaru3, BiasHidBaru3, WInBaru3, WHidBaru3,targetTrain3, Y3] = train(

train3,delay,hiddenN,alpha,miu ); %testing data 2 [MseTest3, targetTest3,YTest3] = testing(test3, delay,hiddenN,BiasInBaru3, BiasHidBaru3, WInBaru3,

WHidBaru3); else %perhitungan dengan 2 hidden layer %training data 1 [ BiasInBaru, BiasHidBaru,BiasHidBaru2, WInBaru, WHidBaru,WHidBaru2,targetTrain1, Y1] = train2layer(

train1,delay,hiddenN, hiddenN2,alpha,miu); %testing data 1 [MseTest1, targetTest1,YTest1] = testing2(test1, delay,hiddenN, hiddenN2,BiasInBaru,

BiasHidBaru,BiasHidBaru2, WInBaru, WHidBaru,WHidBaru2); %training data 2 [ Bias2InBaru, Bias2HidBaru,Bias2HidBaru2, WIn2Baru, WHid2Baru,WHid2Baru2,targetTrain2, Y2] =

train2layer( train2,delay,hiddenN, hiddenN2,alpha,miu ); %testing data 2 [MseTest2, targetTest2,YTest2] = testing2(test2, delay,hiddenN,hiddenN2,Bias2InBaru,

Bias2HidBaru,Bias2HidBaru2, WIn2Baru, WHid2Baru,WHid2Baru2); %training data 3 [ Bias3InBaru, Bias3HidBaru,Bias3HidBaru2, WIn3Baru, WHid3Baru,WHid3Baru2,targetTrain3, Y3] = train2layer( train3,delay,hiddenN, hiddenN2,alpha,miu ); %testing data 3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

57

[MseTest3, targetTest3,YTest3] = testing2(test3, delay,hiddenN,hiddenN2,Bias3InBaru,

Bias3HidBaru,Bias3HidBaru2, WIn3Baru, WHid3Baru,WHid3Baru2); end avrMse=(MseTest1+MseTest2+MseTest3)/3; % mengembalikan nilai target testing dan prediksi min=a; max=b; % kursReal4=((targetTrain1-0.1)*(max-min)/0.8)+min; % kursPrediksi4=((Y1-0.1)*(max-min)/0.8)+min; % % kursReal5=((targetTrain2-0.1)*(max-min)/0.8)+min; % kursPrediksi5=((Y2-0.1)*(max-min)/0.8)+min; % % kursReal6=((targetTrain3-0.1)*(max-min)/0.8)+min; % kursPrediksi6=((Y3-0.1)*(max-min)/0.8)+min; kursReal1=((targetTest1-0.1)*(max-min)/0.8)+min; kursPrediksi1=((YTest1-0.1)*(max-min)/0.8)+min; kursReal2=((targetTest2-0.1)*(max-min)/0.8)+min; kursPrediksi2=((YTest2-0.1)*(max-min)/0.8)+min; kursReal3=((targetTest3-0.1)*(max-min)/0.8)+min; kursPrediksi3=((YTest3-0.1)*(max-min)/0.8)+min; end

-testing2.m

function [MseTest,targetTest, YTest] = testing2(test1, delay,hiddenN,hiddenN2,BiasInBaru,

BiasHidBaru,BiasHidBaru2, WInBaru, WHidBaru,WHidBaru2) % dataTest=data((maxDataTrain+1):length(data),1); maxDataTest=length(test1); ZnetTest=zeros(maxDataTest,hiddenN); ZjTest = zeros(maxDataTest,hiddenN); ZnetTest2=zeros(maxDataTest,hiddenN2); ZjTest2 = zeros(maxDataTest,hiddenN2); YnetTest=zeros(maxDataTest,1); YTest=zeros(maxDataTest,1); deltaTest=zeros(maxDataTest,1); inputTest=test1(1:maxDataTest,1:delay); targetTest=test1(1:maxDataTest,delay+1); for i = 1 : maxDataTest %loop data training

for j = 1 : hiddenN %loop hidden neuron

for k = 1 : delay %loop input ZnetTest(i,j) = ZnetTest(i,j)+ (inputTest(i,k)*WInBaru(k,j));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

58

end ZnetTest(i,j) = ZnetTest(i,j)+ BiasInBaru(1,j); ZjTest(i,j)=1/(1+exp(-ZnetTest(i,j))); end for m = 1 : hiddenN2%loop hidden layer 2 for j = 1 : hiddenN%loop hidden layer 1 ZnetTest2(i,m) = ZnetTest2(i,m)+ (ZjTest(i,j)*WHidBaru(j,m));

end ZnetTest2(i,m) = ZnetTest2(i,m)+ BiasHidBaru(1,m); ZjTest2(i,m)=1/(1+exp(-ZnetTest2(i,m)));

YnetTest(i) = YnetTest(i) + (ZjTest2(i,m)*WHidBaru2(m,1)); end YnetTest(i) = YnetTest(i)+BiasHidBaru2; YTest(i)=1/(1+exp(-YnetTest(i))); deltaTest(i)=(targetTest(i)-YTest(i))*YTest(i)*(1-YTest(i));%hitung error

end MseTest=(1/maxDataTest)*sum(abs(deltaTest))/mean(YTest); end

-testing

function [MseTest,targetTest, YTest] = testing(test1, delay,hiddenN,BiasInBaru, BiasHidBaru, WInBaru,

WHidBaru) % dataTest=data((maxDataTrain+1):length(data),1); maxDataTest=length(test1); ZnetTest=zeros(maxDataTest,hiddenN); ZjTest = zeros(maxDataTest,hiddenN); YnetTest=zeros(maxDataTest,1); YTest=zeros(maxDataTest,1); deltaTest=zeros(maxDataTest,1); inputTest=test1(1:maxDataTest,1:delay); targetTest=test1(1:maxDataTest,delay+1); for i = 1 : maxDataTest

for j = 1 : hiddenN %loop hidden neuron

for k = 1 : delay %loop input ZnetTest(i,j) = ZnetTest(i,j)+ (inputTest(i,k)*WInBaru(k,j));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

59

end ZnetTest(i,j) = ZnetTest(i,j)+ BiasInBaru(1,j); ZjTest(i,j)=1/(1+exp(-ZnetTest(i,j))); YnetTest(i) = YnetTest(i) + (ZjTest(i,j)*WHidBaru(j,1));

end YnetTest(i) = YnetTest(i)+BiasHidBaru; YTest(i)=1/(1+exp(-YnetTest(i))); deltaTest(i)=(targetTest(i)-YTest(i))*YTest(i)*(1-YTest(i));%hitung error

end MseTest=(1/maxDataTest)*sum(abs(deltaTest))/mean(YTest); end

-train.m

function [ BiasInBaru, BiasHidBaru, WInBaru, WHidBaru, targetTrain, Y] = train(

train1,delay,hiddenN,alpha,miu )

maxDataTrain=length(train1); inputTrain=train1(1:maxDataTrain,1:delay); targetTrain=train1(1:maxDataTrain,delay+1);

targetError=0.005; epoh=1; maxEpoh=500; Mse=ones(maxEpoh+1,1); BiasIn=rands(1,hiddenN);BiasInBaru=BiasIn;BiasInTemp=BiasIn; BiasHid=rands(1,1);BiasHidBaru=BiasHid;BiasHidTemp=BiasHid; WIn=rands(delay,hiddenN);WInBaru=WIn;WInTemp=WIn; WHid=rands(hiddenN,1);WHidBaru=WHid;WHidTemp=WHid; while (epoh <= maxEpoh) && (Mse(epoh) > targetError) %iterasi Znet=zeros(maxDataTrain,hiddenN); Zj = zeros(maxDataTrain,hiddenN); Ynet=zeros(maxDataTrain,1); Y=zeros(maxDataTrain,1); delta=zeros(maxDataTrain,1); E=zeros(maxDataTrain,1); deltaWjk=zeros(maxDataTrain,hiddenN+1); delta_net=zeros(maxDataTrain,hiddenN); deltaj=zeros(maxDataTrain,hiddenN); deltaVji=zeros(delay+1,hiddenN);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

60

for i = 1 : maxDataTrain %loop data training

for j = 1 : hiddenN %loop hidden neuron

for k = 1 : delay %loop input Znet(i,j) = Znet(i,j)+ (inputTrain(i,k)*WInBaru(k,j));

end Znet(i,j) = Znet(i,j)+ BiasInBaru(1,j); Zj(i,j)=1/(1+exp(-Znet(i,j))); Ynet(i) = Ynet(i) + (Zj(i,j)*WHidBaru(j,1));

end Ynet(i) = Ynet(i)+BiasHidBaru; Y(i)=1/(1+exp(-Ynet(i))); % delta=(targetTrain-Y); % [n,a] = size(targetTrain); delta(i)=(targetTrain(i)-Y(i))*Y(i)*(1-Y(i));%hitung error E(i)=delta(i)^2;

deltaWjk(i,j)=alpha*delta(i);%delta W(1,0) %bobot baru to temporary BiasInTemp=BiasInBaru; BiasHidTemp=BiasHidBaru; WInTemp=WInBaru; WHidTemp=WHidBaru; k = 1; for j = 1 : hiddenN deltaWjk(i,j+1)=alpha*delta(i)*Zj(i,j); delta_net(i,j)=delta(i)*WHidBaru(j,1); deltaj(i,j)=delta_net(i,j)*Zj(i,j)*(1-Zj(i,j)); WHidBaru(j,1)=WHidBaru(j,1)+deltaWjk(i,j+1)+(miu*(WHidBaru(j,1)-WHid(j,1)));%bobot hidden neuron baru

deltaVji(k,j)=alpha*deltaj(i,j);%delta V(1,0) BiasInBaru(1,j)=BiasInBaru(1,j)+deltaVji(1,j)+(miu*(BiasInBaru(1,j)-BiasIn(1,j)));%bobot bias input

baru for k = 1 : delay deltaVji(k+1,j)=alpha*deltaj(i,j)*inputTrain(i,k);% WInBaru(k,j)=WInBaru(k,j)+deltaVji(k+1,j)+(miu*(WInBaru(k,j)-WIn(k,j)));%bobot input baru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

61

end end BiasHidBaru=BiasHidBaru+deltaWjk(1,1)+(miu*(BiasHidBaru-BiasHid));%bobot bias hidden neuron baru %bobot temp to bobot lama BiasIn=BiasInTemp; BiasHid=BiasHidTemp; WIn=WInTemp; WHid=WHidTemp; end epoh=epoh+1; Mse(epoh)=(1/maxDataTrain)*sum(abs(delta))/mean(Y); % Mse(epoh)=(1/maxDataTrain)*sum(E); end end

-train2layer.m

function [ BiasInBaru, BiasHidBaru,BiasHidBaru2, WInBaru, WHidBaru,WHidBaru2, targetTrain, Y] =

train2layer( train1,delay,hiddenN,hiddenN2,alpha,miu ) maxDataTrain=length(train1); inputTrain=train1(1:maxDataTrain,1:delay); targetTrain=train1(1:maxDataTrain,delay+1); targetError=0.005; epoh=1; maxEpoh=500; Mse=ones(maxEpoh+1,1); BiasIn=rands(1,hiddenN);BiasInBaru=BiasIn; BiasInTemp=BiasIn; BiasHid2=rands(1,1);BiasHidBaru2=BiasHid2; BiasHidTemp2=BiasHid2; BiasHid=rands(1,hiddenN2);BiasHidBaru=BiasHid; BiasHidTemp=BiasHid; WIn=rands(delay,hiddenN);WInBaru=WIn; WInTemp=WIn; WHid=rands(hiddenN,hiddenN2);WHidBaru=WHid; WHidTemp=WHid; WHid2=rands(hiddenN2,1);WHidBaru2=WHid2; WHidTemp2=WHid2; while (epoh <= maxEpoh) && (Mse(epoh) > targetError) %iterasi Znet=zeros(maxDataTrain,hiddenN); Zj = zeros(maxDataTrain,hiddenN); Znet2=zeros(maxDataTrain,hiddenN2); Zj2 = zeros(maxDataTrain,hiddenN2); Ynet=zeros(maxDataTrain,1); Y=zeros(maxDataTrain,1); delta=zeros(maxDataTrain,1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

62

E=zeros(maxDataTrain,1); deltaWjk=zeros(maxDataTrain,hiddenN+1); deltaUjm=zeros(maxDataTrain,hiddenN2+1); delta_net=zeros(maxDataTrain,hiddenN); delta_net2=zeros(maxDataTrain,hiddenN2); deltaj=zeros(maxDataTrain,hiddenN); deltam=zeros(maxDataTrain,hiddenN2); deltaVji=zeros(delay+1,hiddenN);

for i = 1 : maxDataTrain %loop data training

for j = 1 : hiddenN %loop hidden neuron

for k = 1 : delay %loop input Znet(i,j) = Znet(i,j)+ (inputTrain(i,k)*WInBaru(k,j));

end Znet(i,j) = Znet(i,j)+ BiasInBaru(1,j); Zj(i,j)=1/(1+exp(-Znet(i,j)));

% Ynet(i) = Ynet(i) + (Zj(i,j)*WHidBaru(j,1));

end for m = 1 : hiddenN2%loop hidden layer 2 for j = 1 : hiddenN%loop hidden layer 1 Znet2(i,m) = Znet2(i,m)+ (Zj(i,j)*WHidBaru(j,m));

end Znet2(i,m) = Znet2(i,m)+ BiasHidBaru(1,m); Zj2(i,m)=1/(1+exp(-Znet2(i,m)));

Ynet(i) = Ynet(i) + (Zj2(i,m)*WHidBaru2(m,1)); end Ynet(i) = Ynet(i)+BiasHidBaru2; Y(i)=1/(1+exp(-Ynet(i))); delta(i)=(targetTrain(i)-Y(i))*Y(i)*(1-Y(i));%hitung error E(i)=delta(i)^2; deltaUjm(i,m)=alpha*delta(i);%delta W(1,0) %bobot baru to temporary BiasInTemp=BiasInBaru;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

63

BiasHidTemp=BiasHidBaru; BiasHidTemp2=BiasHidBaru2; WInTemp=WInBaru; WHidTemp=WHidBaru; WHidTemp2=WHidBaru2; % j = 1; for m = 1 : hiddenN2 deltaUjm(i,m+1)=alpha*delta(i)*Zj2(i,m); delta_net2(i,m)=delta(i)*WHidBaru2(m,1); deltam(i,m)=delta_net2(i,m)*Zj2(i,m)*(1-Zj2(i,m)); WHidBaru2(m,1)=WHidBaru2(m,1)+deltaUjm(i,m+1)+(miu*(WHidBaru2(m,1)-WHid2(m,1)));%bobot

hidden neuron baru % WHidBaru2(m,1)=WHidBaru2(m,1)+deltaUjm(i,m+1); deltaWjk(i,m)=alpha*deltam(i,m);%delta W(1,0) BiasHidBaru(1,m)=BiasHidBaru(1,m)+deltaWjk(1,m)+(miu*(BiasHidBaru(1,m)-

BiasHid(1,m)));%bobot bias input baru % BiasHidBaru(1,m)=BiasHidBaru(1,m)+deltaWjk(1,m); end k = 1; for j = 1 : hiddenN deltaWjk(i,j+1)=alpha*delta(i)*Zj(i,j); delta_net(i,j)=delta(i)*WHidBaru(j,1); deltaj(i,j)=delta_net(i,j)*Zj(i,j)*(1-Zj(i,j)); WHidBaru(j,1)=WHidBaru(j,1)+deltaWjk(i,j+1)+(miu*(WHidBaru(j,1)-WHid(j,1)));%bobot hidden

neuron baru % WHidBaru(j,1)=WHidBaru(j,1)+deltaWjk(i,j+1); deltaVji(k,j)=alpha*deltaj(i,j);%delta V(1,0) BiasInBaru(1,j)=BiasInBaru(1,j)+deltaVji(1,j)+(miu*(BiasInBaru(1,j)-BiasIn(1,j)));%bobot bias input

baru % BiasInBaru(1,j)=BiasInBaru(1,j)+deltaVji(1,j); for k = 1 : delay deltaVji(k+1,j)=alpha*deltaj(i,j)*inputTrain(i,k);% WInBaru(k,j)=WInBaru(k,j)+deltaVji(k+1,j)+(miu*(WInBaru(k,j)-WIn(k,j)));%bobot input baru % WInBaru(k,j)=WInBaru(k,j)+deltaVji(k+1,j); end end

BiasHidBaru2=BiasHidBaru2+deltaUjm(1,1)+(miu*(BiasHidBaru2-BiasHid2));%bobot bias hidden neuron

baru % BiasHidBaru2=BiasHidBaru2+deltaUjm(1,1);

% BiasHidBaru=BiasHidBaru+deltaWjk(1,1)+(miu*(BiasHidBaru-BiasHid));%bobot bias hidden

neuron baru %bobot temp to bobot lama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

64

BiasIn=BiasInTemp; BiasHid=BiasHidTemp; BiasHid2=BiasHidTemp2; WIn=WInTemp; WHid=WHidTemp; WHid2=WHidTemp2; end epoh=epoh+1; Mse(epoh)=(1/maxDataTrain)*sum(abs(delta))/mean(Y); % Mse(epoh)=(1/maxDataTrain)*sum(E); end

-main_menu.m

function varargout = main_menu(varargin) % MAIN_MENU MATLAB code for main_menu.fig % MAIN_MENU, by itself, creates a new MAIN_MENU or raises the existing % singleton*. % % H = MAIN_MENU returns the handle to a new MAIN_MENU or the handle to % the existing singleton*. % % MAIN_MENU('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in MAIN_MENU.M with the given input arguments. % % MAIN_MENU('Property','Value',...) creates a new MAIN_MENU or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before main_menu_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to main_menu_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help main_menu % Last Modified by GUIDE v2.5 06-May-2014 14:55:17 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @main_menu_OpeningFcn, ... 'gui_OutputFcn', @main_menu_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

65

else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before main_menu is made visible. function main_menu_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to main_menu (see VARARGIN) % Choose default command line output for main_menu handles.output = hObject; imshow('D:\skripsi\logo.jpg'); % Update handles structure guidata(hObject, handles); % UIWAIT makes main_menu wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = main_menu_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

66

% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) hitung_delay close('main_menu'); % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

67

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

-hitung_delay.m

function varargout = hitung_delay(varargin) % HITUNG_DELAY MATLAB code for hitung_delay.fig % HITUNG_DELAY, by itself, creates a new HITUNG_DELAY or raises the existing % singleton*. % % H = HITUNG_DELAY returns the handle to a new HITUNG_DELAY or the handle to % the existing singleton*. % % HITUNG_DELAY('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in HITUNG_DELAY.M with the given input arguments. % % HITUNG_DELAY('Property','Value',...) creates a new HITUNG_DELAY or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before hitung_delay_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to hitung_delay_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help hitung_delay % Last Modified by GUIDE v2.5 03-Dec-2014 11:21:16 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @hitung_delay_OpeningFcn, ... 'gui_OutputFcn', @hitung_delay_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before hitung_delay is made visible. function hitung_delay_OpeningFcn(hObject, eventdata, handles, varargin)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

68

% This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to hitung_delay (see VARARGIN) % Choose default command line output for hitung_delay handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes hitung_delay wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = hitung_delay_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;

function inputDelay_Callback(hObject, eventdata, handles) % hObject handle to inputDelay (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputDelay as text % str2double(get(hObject,'String')) returns contents of inputDelay as a double

% --- Executes during object creation, after setting all properties. function inputDelay_CreateFcn(hObject, eventdata, handles) % hObject handle to inputDelay (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in hitungButton. function hitungButton_Callback(hObject, eventdata, handles) % hObject handle to hitungButton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) file = get(handles.inputFile,'string'); layer2 = get(handles.radiobutton2,'value');

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

69

hiddenL=layer2+1; text=get(handles.inputDelay,'string'); hiddenNeuron1=0; hiddenNeuron2=0; alpha=0; miu=0; if isempty(text) %cek input delay delay=0; else delay=str2double(text); text=get(handles.inputAlpha,'string'); if isempty(text) %cek input alpha alpha=0; else alpha=str2double(text); text=get(handles.inputMomentum,'string'); if isempty(text) %cek input hidden layer 2 miu=0; else miu=str2double(text); text=get(handles.inputHidden1,'string'); if isempty(text) %cek input hidden layer 1 hiddenNeuron1=0; else hiddenNeuron1=str2double(text); text=get(handles.inputHidden2,'string'); if layer2==1 %cek jumlah hidden layer if isempty(text) %cek input hidden layer 2 hiddenNeuron2=0; else hiddenNeuron2=str2double(text); end end end end end end

if delay<=0 || delay>100 msgbox('masukan jumlah delay antara 1 sampai 100','Input salah'); else if alpha<=0 || alpha>=1 msgbox('masukan nilai alpha antara 0 sampai 1','Input salah'); else if miu<=0 || miu>=1 msgbox('masukan nilai momentum antara 0 sampai 1','Input salah'); else if hiddenNeuron1<=0 || hiddenNeuron1>100 msgbox('masukan jumlah hidden neuron pada hidden layer 1 antara 1 sampai 100','Input salah'); else if layer2 == 1 if hiddenNeuron2<=0 || hiddenNeuron2>100

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

70

msgbox('masukan jumlah hidden neuron pada hidden layer 2 antara 1 sampai 100','Input salah'); else

[mse,kursReal1,kursPrediksi1,kursReal2,kursPrediksi2,kursReal3,kursPrediksi3]=main_program(file,delay,hidd

enL,hiddenNeuron1,hiddenNeuron2,alpha,miu); setappdata(0,'mse',mse); setappdata(0,'prediksi1',kursPrediksi1); setappdata(0,'real1',kursReal1); setappdata(0,'prediksi2',kursPrediksi2); setappdata(0,'real2',kursReal2); setappdata(0,'prediksi3',kursPrediksi3); setappdata(0,'real3',kursReal3); % close; % hasil; mse=getappdata(0,'mse'); set(handles.textMse, 'String', mse) ; figure; kursReal1=getappdata(0,'real1'); kursPrediksi1=getappdata(0,'prediksi1'); kursReal2=getappdata(0,'real2'); kursPrediksi2=getappdata(0,'prediksi2'); kursReal3=getappdata(0,'real3'); kursPrediksi3=getappdata(0,'prediksi3'); subplot(1,3,3,'replace'); plot (kursReal1); hold all plot (kursPrediksi1); title('Testing data C'); subplot(1,3,1,'replace'); plot (kursReal2); hold all plot (kursPrediksi2); title('Testing data A'); subplot(1,3,2,'replace'); plot (kursReal3); hold all plot (kursPrediksi3); title('Testing data B'); end else if hiddenNeuron2 ~= 0 uiwait(msgbox({'anda memilih 1 hidden layer' 'input jumlah hidden neuron layer 2 tidak akan

dipakai'}, 'Perhatian')); end

[mse,kursReal1,kursPrediksi1,kursReal2,kursPrediksi2,kursReal3,kursPrediksi3]=main_program(file,delay,hidd

enL,hiddenNeuron1,hiddenNeuron2,alpha,miu); setappdata(0,'mse',mse);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

71

setappdata(0,'prediksi1',kursPrediksi1); setappdata(0,'real1',kursReal1); setappdata(0,'prediksi2',kursPrediksi2); setappdata(0,'real2',kursReal2); setappdata(0,'prediksi3',kursPrediksi3); setappdata(0,'real3',kursReal3); % close; % hasil; mse=getappdata(0,'mse'); set(handles.textMse, 'String', mse) ; figure; kursReal1=getappdata(0,'real1'); kursPrediksi1=getappdata(0,'prediksi1'); kursReal2=getappdata(0,'real2'); kursPrediksi2=getappdata(0,'prediksi2'); kursReal3=getappdata(0,'real3'); kursPrediksi3=getappdata(0,'prediksi3'); subplot(1,3,3,'replace'); plot (kursReal1); hold all plot (kursPrediksi1); title('Testing data C'); subplot(1,3,1,'replace'); plot (kursReal2); hold all plot (kursPrediksi2); title('Testing data A'); subplot(1,3,2,'replace'); plot (kursReal3); hold all plot (kursPrediksi3); title('Testing data B'); end end end end end

%msgbox(['Operation Completed=' num2str(y)]); % set(handles.text2,'String',y);

% --- Executes on button press in kembaliButton. function kembaliButton_Callback(hObject, eventdata, handles) close; main_menu; % hObject handle to kembaliButton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

72

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % if get(radiobutton1,'value')==1 % set(handles.inputHidden2, 'enable', 'off') % else % set(handles.inputHidden2, 'enable', 'on') % end % hObject handle to radiobutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of radiobutton1

% --- Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) % hObject handle to radiobutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of radiobutton2

function inputHidden1_Callback(hObject, eventdata, handles) % hObject handle to inputHidden1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputHidden1 as text % str2double(get(hObject,'String')) returns contents of inputHidden1 as a double

% --- Executes during object creation, after setting all properties. function inputHidden1_CreateFcn(hObject, eventdata, handles) % hObject handle to inputHidden1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function inputHidden2_Callback(hObject, eventdata, handles) % hObject handle to inputHidden2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

73

% Hints: get(hObject,'String') returns contents of inputHidden2 as text % str2double(get(hObject,'String')) returns contents of inputHidden2 as a double

% --- Executes during object creation, after setting all properties. function inputHidden2_CreateFcn(hObject, eventdata, handles) % hObject handle to inputHidden2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in inputButton. function inputButton_Callback(hObject, eventdata, handles) [FileName,PathName] = uigetfile('*.xls*','Pilih File Excel'); file=strcat(PathName,FileName); set(handles.inputFile, 'String', file) ; % hObject handle to inputButton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

function edit4_Callback(hObject, eventdata, handles) % hObject handle to inputFile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputFile as text % str2double(get(hObject,'String')) returns contents of inputFile as a double

% --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to inputFile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function inputAlpha_Callback(hObject, eventdata, handles) % hObject handle to inputAlpha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

74

% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputAlpha as text % str2double(get(hObject,'String')) returns contents of inputAlpha as a double

% --- Executes during object creation, after setting all properties. function inputAlpha_CreateFcn(hObject, eventdata, handles) % hObject handle to inputAlpha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function inputMomentum_Callback(hObject, eventdata, handles) % hObject handle to inputMomentum (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputMomentum as text % str2double(get(hObject,'String')) returns contents of inputMomentum as a double

% --- Executes during object creation, after setting all properties. function inputMomentum_CreateFcn(hObject, eventdata, handles) % hObject handle to inputMomentum (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function inputFile_Callback(hObject, eventdata, handles) % hObject handle to inputFile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of inputFile as text % str2double(get(hObject,'String')) returns contents of inputFile as a double

% --- Executes during object creation, after setting all properties. function inputFile_CreateFcn(hObject, eventdata, handles) % hObject handle to inputFile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · nilai kurs salah satunya adalah dengan menggunakan jaringan syaraf tiruan metode backpropagation. Agar ... 7. Teman – teman

75

% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI