Implementasi Dan Perbandingan Metode Learning Vector Quantization (Lvq) Dan Backpropagation Untuk Memeriksa Keaslian Mata Uang Kertas

(1)

UNTUK MEMERIKSA KEASLIAN MATA UANG KERTAS

SKRIPSI

FITRI YUTARI HIDAYAH

111421009

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

KEASLIAN MATA UANG KERTAS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

FITRI YUTARI HIDAYAH 111421009

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN


(3)

PERSETUJUAN

Judul : IMPLEMENTASI DAN PERBANDINGAN METODE LEARNING VECTOR QUANTIZATION (LVQ) DAN BACKPROPAGATION UNTUK MEMERIKSA KEASLIAN MATA UANG KERTAS

Kategori : SKRIPSI

Nama : FITRI YUTARI HIDAYAH

NomorIndukMahasiswa : 111421009

Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI) UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing:

Pembimbing 2 Pembimbing 1

M.Fadly Syahputra,B.Sc,M.Sc.IT Maya Silvi Lydia, B.Sc, M.Sc NIP. 19830129 200912 1 003 NIP. 19740127 200212 2 001

Diketahui/Disetujui oleh

Program Studi S1 IlmuKomputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001


(4)

PERNYATAAN

IMPLEMENTASI DAN PERBANDINGAN METODE LEARNING VECTOR QUANTIZATION (LVQ) DAN BACKPROPAGATION UNTUK

MEMERIKSA KEASLIAN MATA UANG KERTAS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Februari 2014

Fitri Yutari Hidayah 111421009


(5)

PENGHARGAAN

Bismillahirrahmanirrahim.

Alhamdulillah. Puji Syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya serta shalawat dan salam kepada Nabi Muhammad SAW sehingga penulis berhasil meyelesaikan Skripsi tepat pada waktunya.

Pada kesempatan ini, dengan segala kerendahan hati penulis mengucapkan banyak terimakasih kepada :

1. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

2. Bapak Dr.Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer Universitas Sumatera Utara

3. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer dan sekaligus Dosen Pembimbing pertama penulis yang telah bersedia meluangkan waktu, pikiran, saran dan kritik dalam penyelesaian skripsi ini.

4. Bapak M. Fadly Syahputra, B.Sc, M.Sc.IT selaku Dosen Pembimbing kedua yang bersedia meluangkan waktu, pikiran, saran dan kritik dalam penyelesaian skripsi ini. 5. Bapak Dr. Poltak Sihombing, M.Kom dan Ibu Dian Rachmawati, S.Si, M.Kom

selaku Dosen Pembanding yang telah memberikan saran dan kritik yang membangun dalam penyelesaian skripsi ini.

6. Ibunda tercinta Suwartini, S.Pd dan Ayahanda Sarbani, S.Pd sebagai orang tua kandung penulis yang telah mendidik dan membesarkan dengan kasih sayang yang tulus, serta selalu memberikan doa dan dukungan baik moril maupun materil. 7. Kepada Abang Arief Mai Rakhman dan Kakak Nina Aulia Sari yang telah banyak


(6)

8. Kepada sahabat saya tercinta Riri Indriati Purba, Fitri Alia, Suci Ikhwani Lestari, Ade Marfuah Lubis, Liza Alfira Ali, dan Adam Kurniawan Margolang yang sudah membantu dan selalu memberi semangat kepada penulis selama ini.

9. Kepada seluruh staf pengajar dan pegawai Fakultas Ilmu Komputer dan Tekonologi Informasi

10. Kepada seluruh teman-teman seperjuangan Kom A dan Kom B 2011 yang namanya tidak dapat disebutkan satu persatu. Terima kasih atas kebaikan dan perhatiannya selama ini.

Dalam penyusunan skripsi ini, penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini. Semoga skripsi ini dapat memberikan manfaat khususnya bagi penulis dan para pembaca pada umumnya.

Medan, Februari 2014 Penulis


(7)

ABSTRAK

Abstrak— Transaksi menggunakan uang menjadi semakin tinggi karena perilaku manusia yang konsumtif dalam memenuhi kebutuhan hidup. Karena uang merupakan alat penghubung untuk memenuhi segala keinginan hidup manusia. Berdasarkan ciri-ciri yang terdapat pada uang kertas, banyak cara untuk memeriksa keaslian uang kertas mulai dari cara manual maupun dengan bantuan lampu ultraviolet. Sehingga dilakukan penelitian bagaimana memeriksa keaslian uang kertas dengan membandingkan antara Metode Learning Vector Quantization (LVQ) dan Backpropagation untuk memeriksa tingkat keaslian uang kertas dari citra uang tersebut yang diambil melalui kamera digital serta lampu ultraviolet. Pengujian dilakukan pada 7 uang kertas rupiah yang masing-masingnya dilakukan 4 kali percobaan. Berdasarkan pengujian terhadap citra uang 40x40 piksel dengan epoch 1000, minimum error 0.001, dan rasio pembelajaran 0.005 dihasilkan persentase keaslian 46,07% dan akurasi deteksi 75% pada metode LVQ, sedangkan metode Backpropagation dihasilkan persentase keaslian 65,40% dengan akurasi deteksi 60.71%. Berdasarkan hasil perbandingan tersebut dapat dilihat bahwa metode Learning Vector Quantization (LVQ) lebih akurat dalam mendeteksi uang kertas. Hal ini berdasarkan persentase akurasi deteksi dengan metode Backpropagation dapat disimpulkan bahwa tingkat akurasi deteksi lebih tepat dengan jumlah epoch terbanyak yaitu 1000 epoch dibandingkan dengan hasil dengan epoch 500 walaupun dari segi waktu jelas terlihat jumlah epoch 500 hanya memakan waktu yang singkat.

Kata Kunci : Learning Vector Quantization (LVQ), Backpropagation , Maksimum epoch, Minimum error, Learning rate


(8)

IMPLEMENTATION AND COMPARISON LEARNING VECTOR QUANTIZATION (LVQ) METHOD AND BACKPROPAGATION

TO CHECK THE AUTHENTICITY OF BANKNOTES

ABSTRACT

Transactions using the money becomes higher because people behavior comsumtive to satisfy necessities of life. Because money is an interfaces to satisfy all desires of human life. Based on the characteristics contained in banknotes, many ways to check the authenticity of banknotes ranging from manually or with ultraviolet light. So do research how to check the authenticity of banknotes by comparing the method of Learning Vector Quantization (LVQ) and Backpropagation to check the authenticity of banknotes of the money images taken by a digital camera with ultraviolet lamp. Testing was conducted at 7 rupiah paper each experiment performed 4 test. Based on testing of 40x40 pixel image of money with epoch 1000, the minimum error 0.001, and learning rate 0.005 of the percentage of authenticity learning produced 46.07% and 75% detection accuracy on LVQ method, while the backpropagation method produced authenticity percentage 65.40% with 60.71% detection accuracy . Based on the results of this comparison can be seen that the method of Learning Vector Quantization (LVQ) is more accurate in detecting banknotes. It is based on the percentage of detection accuracy with Backpropagation method can be concluded that the accuracy of detection is more precise with the highest which is 1000 epoch then the results of the 500 epoch in terms of apparent time epoch number 500 only takes a short time.

Keywords : Learning Vector Quantization ( LVQ ) , Backpropagation, Epoch, Minimum Error, Learning Rate


(9)

DAFTAR ISI

Persetujuan iii

Pernyataan iv

Penghargaan v

Abstrak vii

Abstract viii

Daftar Isi ix

Daftar Tabel xi

Daftar Gambar xii

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori 6

2.1 Uang Kertas 6

2.1.1 Ciri-Ciri Keaslian uang Kertas Rupiah 7

2.2 Pengertian Citra 9

2.2.1 Citra Analog 9

2.2.2 Citra Digital 9

2.2.3 Jenis-jenis Citra Digital 11

2.2.4 Pengolahan Citra 13

2.2.5 Langkah-Langkah Pengolahan Citra 14

2.2.6 Akuisi Citra 16

2.3 Preprocessing 16

2.3.1 Cropping 16

2.3.2 Pensklaan Citra (Scaling) 17

2.3.3 Konversi RGB to Grayscale 18

2.3.4 Citra Biner 18

2.4 Format File Citra JPEG atau JPG 19

2.5 Jaringan Sayaraf Tiruan 19

2.5.1 Fungsi Aktivasi 21

2.5.2 Metode Learning Vector Quantization (LVQ) 23

2.5.3 Metode Backpropagation 24

2.6 Peneliti Terdahulu 28

Bab 3 Analisis dan Perancangan 30

3.1 Analisis Masalah 30

3.2 Analisis Proses Sistem 31

3.2.1 Akuisisi Citra 32


(10)

3.2.3 Proses Pelatihan dan Pengujian Jaringan 35

3.3 Perancangan Arsitektur Jaringan 47

3.3.1 Jaringan Learning Vector Quantization (LVQ) 47

3.3.2 Jaringan Backpropagation 48

3.4 Data Flow Diagram (DFD) 50

3.4.1 DFD Level 0 50

3.4.2 DFD Level 1 51

3.4.3 DFD Level 2 52

3.5 Perancangan Flowchart Sistem 53

3.5.1 Flowchart Pelatihan Learning Vector Quantization (LVQ) 54 3.5.2 Flowchart Pengujian Learning Vector Quantization (LVQ) 55 3.5.3 Flowchart Pelatihann Backpropagation 56 3.5.4 Flowchart Pengujian Backpropagation 57

3.6 Perancang Struktur Tabel 58

3.6.1 Tabel Learning LVQ 58

3.6.2 Tabel Bobot LVQ 58

3.6.3 Tabel Learning Backpropagation 59

3.6.4 Tabel Bobot V Backpropagation 59

3.6.5 Tabel Bobot W Backpropagation 60

3.6.6 Tabel Vnol Backpopagation 60

3.6.7 Tabel Hasil Pengenalan 61

3.7 Perancangan Antarmuka 62

Bab 4 Implementasi dan Pengujian 66

4.1 Implementasi 66

4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak 66

4.1.2 Proses Pengolahan Citra Uang 67

4.2 Pengujian dan Hasil Pelatihan 71

4.2.1 Hasil Pengujian 1 71

4.2.2 Haisl Pengujian 2 72

4.2.3 Hasil pengujian 3 73

4.2.4 Hasil Pengujian 4 74

Bab 5 Kesimpulan dan Saran 75

5.1 Kesimpulan 75

5.2 Saran 76

Daftar Pustaka 78

Lampiran Listing Program A-1


(11)

DAFTAR TABEL

Tabel 3.1 Vektor masukan 35

Tabel 3.2 Inisialisasi bobot awal (w) dan masukan (x) 36

Tabel 3.3 Perhitungan jarak (Cj) 36

Tabel 3.4 Perhitungan bobot baru 36

Tabel 3.5 Perhitungan jarak (Cj) 37

Tabel 3.6 Perhitungan bobot (Wj(baru)) 38

Tabel 3.7 Perhitungan jarak (Cj) 38

Tabel 3.8 Perhitungan bobot (Wj(baru)) 39

Tabel 3.9 Perhitungan jarak (Cj) 40

Tabel 3.10 Perhitungan bobot (Wj(baru)) 40

Tabel 3.11 Perhitungan jarak (Cj) 41

Tabel 3.12 Data masukan untuk pelatihan Backpropagation 42

Tabel 3.13 Target Backpropagation 42

Tabel 3.14 Bobot awal (v) 42

Tabel 3.15 Bobot awal (w) 43

Tabel 3.16 Penentuan Kelas Jaringan LVQ 47

Tabel 3.17 Target Keluaran Jaringan Backpropagation 49

Tabel 3.18 Struktur Tabel Learning LVQ 58

Tabel 3.19 Struktur Tabel Bobot LVQ 58

Tabel 3.20 Struktur Tabel Learning Backpropagation 59 Tabel 3.21 Struktur Tabel Bobot v Backpropagation 59 Tabel 3.22 Struktur Tabel Bobot w Backpropagation 60 Tabel 3.23 Struktur Tabel Bobot vnol Backpropagation 60 Tabel 3.24 Struktur Tabel Hasil Pengenalan 61

Tabel 4.1 Hasil Pelatihan 1 71

Tabel 4.2 Hasil Pelatihan 2 72

Tabel 4.3 Hasil Pelatihan 3 73

Tabel 4.4 Hasil Pelatihan 4 74


(12)

DAFTAR GAMBAR

Gambar 2.1 Citra Uang Kertas 7

Gambar 2.2 Fitur Pengaman Invisible Ink 8

Gambar 2.3 Citra Digital 10

Gambar 2.4 Koordinat Citra Digital 10

Gambar 2.5 Citra Biner 12

Gambar 2.6 Citra Greyscale 13

Gambar 2.7 Citra RGB 13

Gambar 2.8 Langkah-Langkah Pengolahan Citra Digital 14

Gambar 2.9 Penskalaan Objek 17

Gambar 2.10 Struktur Neuron Jaringan Saraf 20

Gambar 2.11 Model Matematika Satu Neuron 21

Gambar 2.12 Fungsi Aktifasi Linier 22

Gambar 2.13 Fungsi Aktivasi Sigmoid Biner 23

Gambar 2.14 Arsitektur Jaringan LVQ 23

Gambar 3.1 Diagram Ishikawa 31

Gambar 3.2 Analisis Proses Sistem 31

Gambar 3.2 Proses Cropping 32

Gambar 3.3 Citra Ukuran 277x335 Piksel 33

Gambar 3.4 Perubahan RGB To Grayscale 33

Gambar 3.5 Proses Thresholding 34

Gambar 3.6 Arsitektur Jaringan LVQ 48

Gambar 3.7 Arsitektur Jaringan Backpropagation 49

Gambar 3.8 DFD Level 0 50

Gambar 3.9 DFD Level 1 51

Gambar 3.10 DFD Level 2 52

Gambar 3.11 DFD Level 2 53

Gambar 3.12 Flowchart Pelatihan LVQ 54

Gambar 3.13 Flowchart Pemgujian LVQ 55

Gambar 3.14 Flowchart Pelatihan Backpropagation 56 Gambar 3.15 Flowchart Pengujian Backpropagation 57

Gambar 3.16 Tampilan Awal Program 60

Gambar 3.17 Perancangan Proses Pelatihan 62

Gambar 3.18 Rancangan Form Pengujian 64

Gambar 4.1 Proses Cropping Citra 67

Gambar 4.2 Proses Perubahan RGB to Citra Grayscale 68

Gambar 4.3 Syarat Pelatihan 68

Gambar 4.4 Proses Pelatihan LVQ 69

Gambar 4.5 Proses Pengujian LVQ 69

Gambar 4.6 Proses Pelatihan Backpropagation 70 Gambar 4.7 Proses Pengujian Backpropagation 70


(13)

(14)

ABSTRAK

Abstrak— Transaksi menggunakan uang menjadi semakin tinggi karena perilaku manusia yang konsumtif dalam memenuhi kebutuhan hidup. Karena uang merupakan alat penghubung untuk memenuhi segala keinginan hidup manusia. Berdasarkan ciri-ciri yang terdapat pada uang kertas, banyak cara untuk memeriksa keaslian uang kertas mulai dari cara manual maupun dengan bantuan lampu ultraviolet. Sehingga dilakukan penelitian bagaimana memeriksa keaslian uang kertas dengan membandingkan antara Metode Learning Vector Quantization (LVQ) dan Backpropagation untuk memeriksa tingkat keaslian uang kertas dari citra uang tersebut yang diambil melalui kamera digital serta lampu ultraviolet. Pengujian dilakukan pada 7 uang kertas rupiah yang masing-masingnya dilakukan 4 kali percobaan. Berdasarkan pengujian terhadap citra uang 40x40 piksel dengan epoch 1000, minimum error 0.001, dan rasio pembelajaran 0.005 dihasilkan persentase keaslian 46,07% dan akurasi deteksi 75% pada metode LVQ, sedangkan metode Backpropagation dihasilkan persentase keaslian 65,40% dengan akurasi deteksi 60.71%. Berdasarkan hasil perbandingan tersebut dapat dilihat bahwa metode Learning Vector Quantization (LVQ) lebih akurat dalam mendeteksi uang kertas. Hal ini berdasarkan persentase akurasi deteksi dengan metode Backpropagation dapat disimpulkan bahwa tingkat akurasi deteksi lebih tepat dengan jumlah epoch terbanyak yaitu 1000 epoch dibandingkan dengan hasil dengan epoch 500 walaupun dari segi waktu jelas terlihat jumlah epoch 500 hanya memakan waktu yang singkat.

Kata Kunci : Learning Vector Quantization (LVQ), Backpropagation , Maksimum epoch, Minimum error, Learning rate


(15)

IMPLEMENTATION AND COMPARISON LEARNING VECTOR QUANTIZATION (LVQ) METHOD AND BACKPROPAGATION

TO CHECK THE AUTHENTICITY OF BANKNOTES

ABSTRACT

Transactions using the money becomes higher because people behavior comsumtive to satisfy necessities of life. Because money is an interfaces to satisfy all desires of human life. Based on the characteristics contained in banknotes, many ways to check the authenticity of banknotes ranging from manually or with ultraviolet light. So do research how to check the authenticity of banknotes by comparing the method of Learning Vector Quantization (LVQ) and Backpropagation to check the authenticity of banknotes of the money images taken by a digital camera with ultraviolet lamp. Testing was conducted at 7 rupiah paper each experiment performed 4 test. Based on testing of 40x40 pixel image of money with epoch 1000, the minimum error 0.001, and learning rate 0.005 of the percentage of authenticity learning produced 46.07% and 75% detection accuracy on LVQ method, while the backpropagation method produced authenticity percentage 65.40% with 60.71% detection accuracy . Based on the results of this comparison can be seen that the method of Learning Vector Quantization (LVQ) is more accurate in detecting banknotes. It is based on the percentage of detection accuracy with Backpropagation method can be concluded that the accuracy of detection is more precise with the highest which is 1000 epoch then the results of the 500 epoch in terms of apparent time epoch number 500 only takes a short time.

Keywords : Learning Vector Quantization ( LVQ ) , Backpropagation, Epoch, Minimum Error, Learning Rate


(16)

Bab ini menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan dalam penelitian ini.

1.1 Latar Belakang

Kemajuan teknologi telah berkembang dengan pesat. Seiring dengan kemajuan ini, tingkat kebutuhan manusia juga semakin tinggi. Transaksi menggunakan uang juga menjadi semakin tinggi karena perilaku manusia yang konsumtif dalam memenuhi kebutuhan hidup. Sehingga peredaran uang di pasar kini sulit dikendalikan, karena uang merupakan alat tukar menukar untuk memenuhi segala keinginan hidup manusia. Sehingga perlu perhatian dan ketelitian khusus dari masing-masing pihak dalam memeriksa ciri-ciri uang kertas. Terdapat beberapa ciri-ciri khusus dari setiap uang kertas rupiah.

Secara umum, ciri-ciri keaslian uang Rupiah dapat dikenali dari unsur pengaman yang tertanam pada bahan uang dan teknik cetak yang digunakan, yaitu : dengan memeriksa tanda air (watermark), benang pengaman (security thread), cetakan kasar (cetak intaglio), gambar saling isi (rectoverso), tinta berubah warna (optical invisible ink), tulisan mikro (micro text), tinta tidak tampak (invisible ink), dan gambar tersembunyi (latent image) (Bank Indonesia, 2011).


(17)

Berdasarkan ciri-ciri yang terdapat pada uang kertas, banyak cara untuk memeriksa keaslian uang kertas mulai dari cara manual maupun dengan bantuan alat ultraviolet. Oleh karena itu dilakukanlah penelitian untuk memeriksa tingkat keaslian uang kertas yang beredar berdasarkan persentase kemiripannya dengan uang baru. Pada penelitian ini, dilakukan implementasi perbandingan metode Learning Vector Quantization (LVQ) dan Backpropagation untuk memeriksa keaslian uang kertas berdasarkan citra uang kertas yang diambil melalui kamera digital dengan bantuan lampu ultraviolet untuk melihat ciri khusus yang terdapat pada uang kertas yang tidak dapat dilihat oleh kasat mata atau invisible ink.

Metode Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor input. Jika ada 2 vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut kedalam kelas yang sama (Ramadona, 2004).

Metode Backpropagation merupakan metode yang menggunakan nilai error output untuk mengubah nilai bobot arah mundur. Untuk mendapatkan nilai output error, tahapan perambatan maju harus dikerjakan dahulu dengan mengaktifkan neuron (Muis, 2009).

Atas dasar pertimbangan itu, maka penulis akan mengangkat sebuah judul Implementasi dan Perbandingan Metode Learning Vector Quantization (LVQ) dan Metode Backpropagation untuk Memeriksa Keaslian Mata Uang Kertas

1.2Rumusan Masalah

Berdasarkan latar belakang di atas masalah yang akan diselesaikan adalah bagaimana mengimplementasikan dan membandingkan tigkat keakurasian antara Metode


(18)

Learning Vector Quantization (LVQ) dengan Metode Backpropagation dalam memeriksa keaslian uang kertas berdasarkan persentasi keasliannya.

1.3Batasan masalah

Adapun batasan masalah dalam pembahasan masalah ini yang dapat diambil dari latar belakang di atas adalah :

1. Metode yang digunakan adalah metode Learning Vector Quantization (LVQ) dan Backpropagation

2. Pengambilan citra uang kertas melalui kamera digital 3. Mata uang kertas yang diperiksa adalah uang kertas rupiah

4. Cropping dilakukan pada bagian ciri khusus uang yaitu bagian invisible ink

5. Parameter yang dibandingkan adalah waktu pelatihan, waktu pengujian, persentasi keaslian, dan akurasi deteksi berdasarkan jumlah epoch, minimal error, ukuran masukan

6. Fungsi aktivasi pada metode Backpropagation yang digunakan adalah Sigmoid Biner

7. Jenis file citra yang diolah adalah jenis .*jpg

1.4Tujuan Penelitian

Tujuan penelitian ini untuk menemukan metode yang memiliki persentasi akurasi deteksi yang tepat dalam pemeriksaan uang kertas antara metode Learning Vector Quantization (LVQ) dengan metode Backpropagation.


(19)

1.5Manfaat Penelitian

Adapun manfaat penelitian ini antara lain:

1. Dapat mengetahui metode yang mana yang memiliki persentasi akurasi deteksi yang tepat dalam pemeriksaan uang kertas.

2. Diperolehnya sebuah perangkat lunak untuk memeriksa tingkat keaslian uang kertas dengan metode Learning Vector Quantization (LVQ) dengan metode Backpropagation.

1.6 Metode Penelitian

Metode penelitian yang akan digunakan adalah: 1. Merumuskan Masalah

Merumuskan masalah merupakan proses awal dari penelitian ini, dimana masalah yang dirumuskan adalah menganalisis dan menentukan metode yang memiliki persentasi akurasi yang benar dalam memeriksa keaslian uang kertas.

2. Studi Literatur

Studi literatur adalah proses pengumpulan bahan-bahan dan referensi yang berhubungan dengan permasalahan dalam penelitian baik berupa buku, jurnal, dan makalah-makalah sebagai acuan untuk menyelesaikan tugas akhir.

3. Analisis dan Perancangan

Pada tahap ini, dilakukan analisis permasalahan yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan untuk arsitektur software, juga dilakukan perancangan sistem dengan pembuatan model antarmuka, flowchart dari sistem

4. Implementasi

Implementasi program dilakukan dnegan penulisan kode program menggunakan bahasa pemrograman Visual Basic 2012.

5. Pengujian Program

Pengujian sistem dilakukan saat hasil analisis telah selesai dibuat dan sudah layak digunakan, sehingga dilakukan pengetesan penggunaan program dan perbaikan untuk memberi hasil terbaik.


(20)

1.7 Sistematika Penulisan

Dalam penyusunan skripsi ini, penulis menguraikannya dalam 5 bab dengan sistematika pembahasan dan aturan-aturannya agar pembaca lebih mudah untuk memahami dan mengerti isi dari skripsi ini.

BAB 1 : PENDAHULUAN

Bab ini menguraikan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat dari penelitian, dan metode dalam penelitian serta sistematika penulisannya.

BAB 2 : LANDASAN TEORI

Bab menguraikan tentang teori-teori tentang citra digital, pengolahan citra, jaringan syaraf tiruan, metode Learning Vector Quantization (LVQ), dan metode Backpropagation yang didapat dari studi literatur untuk mendukung penulisan skripsi ini.

BAB 3 : ANALISIS DAN PERANCANGAN

Bab ini berisikan pembahasan tentang penerapan metode Learning Vector Quantization (LVQ) dan Bacpropagation dalam memeriksa tingkat keaslian mata uang kertas rupiah, flowchart program, serta perancangan model antar muka aplikasi.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN

Bab ini berisikan hasil dari implementasi dan perbandingan algoritma dari aplikasi yang telah dirancang, untuk menguji metode yang digunakan.

BAB 5 : PENUTUP

Bab ini merupakan bab terakhir yang berisi kesimpulan-kesimpulan yang diperoleh penulis dari hasil implementasi perbandingan metode Learning Vector Quantization (LVQ) dan Backpropagation. Bab ini juga berisi saran-saran sebagai bagi pembaca ataupun bagi pengembang.


(21)

(22)

Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penelitian ini. Teori-teori yang dibahas mengenai pengolahan citra, Jaringan Saraf Tiruan metode Learning Vector Quantization (LVQ), Backpropagation dan beberapa sub pokok pembahasan lainnya yang menjadi landasan dalam penelitian ini.

2.1 Uang Kertas

Uang kertas rupiah adalah uang dalam bentuk lembaran yang terbuat dari bahan kertas atau bahan lainnya (yang menyerupai kertas) yang dikeluarkan oleh pemerintah indonesia, dalam hal ini Bank Indonesia, dimana penggunanya dilindungi oleh UU No.23 tahun 1999 dan sah digunakan sebagai alat tukar pembayaran di wilayah Negara Kesatuan Republik Indonesia (Wicaksono, 2008).


(23)

Gambar 2.1 Citra uang kertas

2.1.1 Ciri-Ciri Keaslian Uang Kertas Rupiah

Ciri Rupiah adalah tanda tertentu pada setiap Rupiah yang ditetapkan dengan tujuan untuk menunjukkan identitas, membedakan harga atau nilai nominal, dan mengamankan Rupiah tersebut dari upaya pemalsuan. Secara umum, ciri-ciri keaslian Rupiah cukup mudah dikenali oleh masyarakat berupa unsur pengaman yang tertanam

pada bahan uang dan teknik cetak yang digunakan, sebagai berikut (Bank Indonesia, 2011):

1. Tanda Air (Watermark) dan Electrotype

Pada kertas uang terdapat tanda air berupa gambar yang akan terlihat apabila diterawangkan kearah cahaya.

2. Benang Pengaman (Security Thread)

Ditanam atau dianyam pada bahan kertas uang sehingga tampak sebagai garis melintang dari atas ke bawah. Pada pecahan tertentu akan memendar apabila dilihat dengan sinar ultraviolet.

3. Cetak Dalam/Intaglio

Cetakan yang terasa kasar apabila diraba. 4. Gambar Saling Isi (Rectoverso)

Pencetakan suatu ragam bentuk yang menghasilkan cetakan pada bagian muka dan belakang beradu tepat dan saling mengisi jika diterawangkan ke arah cahaya.


(24)

5. Tinta Berubah Warna (Optically Variable Ink)

Hasil cetak tinta khusus yang akan berubah warna apabila dilihat dari sudut pandang yang berbeda.

6. Tulisan Mikro (Microtext)

Tulisan berukuran sangat kecil yang hanya dapat dibaca dengan menggunakan kaca pembesar.

7. Cetakan Tidak Kasat Mata (Invisible Ink)

Hasil cetak tidak kasat mata yang akan memendar di bawah sinar ultraviolet. 8. Gambar Tersembunyi (Latent Image)

Hasil cetak berupa gambar atau tulisan tersembunyi yang dapat dilihat dari sudut pandang tertentu.

Dari semua ciri-ciri di atas, beberapa ciri uang ada yang dapat dilihat secara kasat mata maupun tidak. Pada penelitian ini pemilihan fitur pengaman berupa cetakan tidak kasat mata (invisible ink) sebagai acuan untuk memeriksa persentasi keaslian mata uang kertas. Gambar 2.2 merupakan ciri uang berdasarkan fitur pengaman invisible ink.


(25)

2.2 Pengertian Citra

Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpan (Sutoyo, et all. 2009).

2.2.1 Citra Analog

Citra analog yaitu terdiri dari sinyal-sinyal elektromagnetik yang dapat dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Citra analog mempunyai fungsi yang kontinu. Hasil perekaman citra analog dapat bersifat optik yakni berupa foto (film foto konvensional) dan bersifat sinyal video seperti gambar pada monitor televisi. Oleh karena itu, agar citra ini dapat diproses dikomputer maka dilakukan proses konversi analog ke digital terlebih dahulu (Siregar, 2009).

2.2.2 Citra Digital

Citra digital adalah citra yang dapat diolah oleh komputer. Citra digital menunjuk pada pemrosesan gambar 2 dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan bit tertentu.

Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y dan amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.3


(26)

menunjukkan sebuah citra digital dalam koordinat (x, y) dan Gambar 2.4 menunjukkan posisi koordinat citra digital (Putra, 2010).

Gambar 2.3 Citra Digital (Nugroho, 2011)

Gambar 2.4 Koordinat Citra Digital (Putra, 2010)

Sebuah citra digital dapat diwakili oleh sebuah matriks yang terdiri dari M kolom dan N baris, dimana perpotongan antara kolom dan baris disebut piksel (piksel = picture element) yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada


(27)

koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh sebab itu citra digital dapat ditulis dalam bentuk matriks seperti persamaan(2.1) (Sutoyo, et all. 2009).

, = (0,0) (1,0) … (0,1) (1,1) …

( −1,0) ( −1,1)

… … …

(0, −1) (1, −1)

… ( −1, −1)

… … … …(2.1)

2.2.3 Jenis- Jenis Citra Digital

Citra digital dikelompokkan menjadi 4 jenis, yaitu (Wahana Komputer,2013):

1. Citra Biner. Masing-masing piksel hanya berwarna hitam dan putih . Oleh karena itu hanya terdapat dua kemungkinan yaitu hitam dan putih, maka hanya diperlukan satu bit per piksel. Oleh karena itu citra biner sangat efisien atau irit tempat penyimpanan (storage). Citra yang direpresentasikan seba gai citra biner sangat cocok digunakana untuk citra yang menggambarkan teks, fingerprint atau rencana arsitektural. Seperti terlihat pada Gambar 2.4 di bawah ini:

Gambar 2.5 Citra Biner (Wahana Komputer, 2013)

2. Citra abu-abu (Grayscale). Masing-masing piksel berisikan warna abu-abu dengan nilai normal antara 0 (hitam) sampai 255 (putih). Range tersebut berarti masing-masing piksel dapat direpresentasikan oleh nilai 8 bit atau 1 byte. Citra Grayscale dengan range nilai yang lain juga digunakan. Akan tetapi pada

umumnya citra tersebut memiliki range pangkat dua dari 8 bit. Seperti terlihat pada Gambar 2.6.


(28)

Gambar 2.6 Citra Grayscale(Wahana Komputer, 2013)

3. Citra RGB. Untuk citra RGB masing-masing piksel mempunyai sebuah warna khusus. Warna dideskripsikan oleh kombinasi warna merah (Red), hijau (Green), biru (Blue). Jika masing-masing komponen (Merah, Hijau, Biru) mempunyai range antara 0-255, maka total range yang digunakan untuk citra RGB adalah 155 pangkat 3 atau 16.777.216 kemungkinan warna. Seperti terlihat pada Gambar 2.7 di bawah ini.


(29)

2.2.4 Pengolahan Citra

Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari hal-hal berkaitan dengan perbaikan kualitas gambar (peningkatan kontras, transformasi warna, restorasi citra), transformasi gambar (rotasi, translasi, skala, transformasi geometrik), melakukan pemilihan citra ciri (feature images) yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau deskripsi objek atau pengujian objek terkandung pada citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data. Input dari pengolahan citra adalah citra, sedangkan output-nya adalah citra hasil pengolahan (Sutoyo,et all. 2009).

Teknik pengolahan citra dibagi menjadi beberapa sub kelas. Adapun pembagian kelas dari pengolahan citra adalah seperti berikut ini (Wahana Komputer, 2013):

1. Image Enhancement.

Image Enhancement merujuk pada memproses sebuah gambar sehingga hasilnya menjadi lebih bagus dengan menggunakan aplikasi khusus. Contoh ini meliputi menajamkan atau mengurangi blur dari sebuah gambar, menandai tepi, meningkatkan kontras gambar atau meningkatkan kecerahan sebuah gambar, menghilangkan noise.

2. Image Restoration

Image Restoration adalah mengembalikan keadaan semula sebuah gambar yang telah rusak menjadi seperti semula. Seperti contoh dapat dilihat seperti, menghilangkan blur yang disebabkan oleh pergerakan linear, menghilangkan distorsi optik, menghilangkan efek tua dari sebuah gambar.

3. Image Segmentation

Image Segmentation meliputi pembagian gambar menjadi bagian yang berbeda atau mengisolasi aspek tertentu dari sebuah gambar. Sebagai contoh dapat dilihat seperti, menemukan garis,lingkaran atau bentuk khusus sebuah gambar, fotografi, mengidentifikasi mobil , pohon, gedung atau jalan


(30)

2.2.5 Langkah-Langkah Pengolahan Citra Digital

Berikut ini merupakan langkah-langkah pengolahan citra digital, seperti pada Gambar 2.8 berikut ini.

Basis Pengetahuan Akuisi Citra Pre-processing Pengenalan dan Interpretasi Segmentasi Representasi dan Deskripsi Hasil Domain Masalah

Gambar 2.8 Langkah-langkah Pengolahan Citra Digital (Sutoyo, et all. 2010)

Secara umum, langkah-langkah pengolahan citra digital sebagai berikut : 1. Akuisi citra

Akuisi citra adalah tahap awal untuk mendapatkan citra digital. Tujuan akuisi citra adalah untuk menentukan data yang diperlukan dan memilih metode perekaman citra digital. Tahap ini dimulai dari objek yang akan diambil gambarnya, persiapan alat-alat sampai pada pencitraan. Pencitraan adalah kegiatan transformasi dari citra tampak (foto, gambar, lukisan, patung, pemandangan, dan lain-lain) menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah :

a) Video kamera b) Kamera digital

c) Kamera konvensional dan konverter analog to digital d) Scanner

e) Photo sinar-x sinar infra merah

2. Pre-processing

Tahap ini digunakan untuk menjamin kelancaran pada proses berikutnya. Hal-hal penting yang dilakukan pada tingkatan ini diantaranya adalah sebagai berikut :

a) Peningkatan kualitas citra (kontras, brightness, dan lain-lain) b) Menghilangkan noise


(31)

c) Perbaikan citra (image restoration) d) Transformasi (image transformation)

e) Menentukan bagian citra yang akan di observasi

3. Segmentasi

Tahapan ini digunakan untuk mempartisi citra menjadi bagian-bagian pokok yang mengandung informasi penting. Misalnya memisahkan antara objek dengan latar belakang.

4. Representasi dan deskripsi

Dalam hal ini representasi merupakan suatu proses untuk merepresentasikan suatu wilayah sebagai suatu daftar titik-titik koordinat dalam kurva tertutup. Setelah suatu wilayah dapat direpresentasi, proses selanjutnya adalah melakukan deskripsi citra dengan cara seleksi ciri (feature extraction and selection). Seleksi ciri bertujuan untuk memilih informasi kuantitatif dari ciri yang ada, yang dapat membedakan kelas-kelas objek dengan baik, sedangkan ekstraksi ciri bertujuan untuk mengukur besaran kuantitatif ciri setiap piksel, misalnya rata-rata, standar deviasi, koefisien variasi, dan lain-lain.

5. Pengujian dan interpretasi

Tahap pengujian bertujuan untuk memberi label pada sebuah objek yang informasinya disediakan oleh descriptor, sedangkan tahap interpretasi bertujuan untuk memberi arti atau makna kepada kelompok objek-objek yang dikenali.

6. Basis pengetahuan

Basis pengetahuan sebagai basis data pengetahuan berguna untuk memandu operasi dari masing-masing modul proses dan mengkontrol interaksi antara modul-modul tersebut. Selain itu, basis pengetahuan juga digunakan sebagai referensi pada proses template matching atau pada pengujian pola.


(32)

2.2.6 Akuisisi Citra

Akuisi citra adalah tahap awal untuk mendapatkan citra digital. Tujuan akuisi citra adalah untuk menentukan data yang diperlukan dan memilih metode perekaman citra digital. Tahap ini dimulai dari objek yang akan diambil gambarnya, persiapan alat-alat sampai pada pencitraan. Pencitraan adalah kegiatan transformasi dari citra tampak (foto, gambar, lukisan, patung, pemandangan, dan lain-lain) menjadi citra digital

misalnya melalui kamera digital, scanner, dan kamera konvensional (Sutoyo, et all. 2009).

2.3Preprocessing

Teknik preprocessing digunakan untuk mempersiapkan citra agar dapat menghasilkan ciri yang lebih baik pada tahap pemisahan ciri terhadap proses pengujian pola. Teknik pra-pemrosesan sangat berkaitan dengan pengujian pola. Pengujian pola secara umum merupakan suatu ilmu yang mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat dari objek. Pola sendiri merupakan suatu entitas yang terdefinisi dan dapat diidentifikasi dan diberi nama. Salah satu contoh dari pola yaitu sidik jari. Pola dapat merupakan kumpulan dari hasil pengukuran atau pemantauan dan dapat dinyatakan dalam notasi vector atau matriks. (Putra, 2009).

2.3.1 Cropping

Cropping pada pengolahan citra berarti memotong satu bagian dari citra sehingga diperoleh citra yang diharapkan. Ukuran pemotongan citra tersebut berubah sesuai dengan ukuran citra yang diambil. Cropping dilakukan pada koordinat (x,y) sampai pada koordinat (m,n). Oleh karena itu, pertama kali yang harus dilakukan adalah menentukan koordinat-koordinat tersebut. Misalnya koordinat XL, YT, XR dan YB


(33)

dan y memiliki koordinat YT sampai YB (YT < y < YB) dengan selang [YT, YB] didapat

(XL, YT) adalah koordinat titik sudut kiri atas dan (XR, YB) adalah koordinat titik sudut

kanan bawah maka ukuran pemotongan citra dapat dirumuskan sebagai berikut (Adfriansyah, 2012):

=

�− + 1… … … ….… … … … …(2.2) =

�− � + 1… … … …. .… … … … …(2.3) Dimana:

w’ = ukuran lebar citra hasil cropping

h’ = ukuran tinggi citra hasil cropping

2.3.2 Penskalaan Citra (Scaling)

Penskalaan merupakan proses pembesaran atau pengecilan objek. Jika titik x’ = SxX

dan y’ = SyY, maka dapat dikatakan bahwa P mengalami proses penskalaan ke P’

(lihat Gambar 2.9). Notasi matriks dari penskalaan adalah sebagai berikut (Harianja, 2010):

=

0

0 … … … …(2.4) P=SP, dimana S merupakan matriks yang merepresentasikan penskalaan.


(34)

2.3.3 Konversi RGB to Grayscale

Sebuah citra berwarna mempunyai 3 layer matriks, yakni layer warna Red, Green, Blue. Dengan demikian bila proses perhitungan dilakukan menggunakan tiga layer, berarti diperlukan tiga kali perhitungan yang sama. Ini artinya waktu proses lebih lama. Dengan demikian, konsep dengan mengubah 3 layer RGB menjadi 1 layer matriks grayscale, akan menghemat waktu pemrosesan dan kebutuhan memori.

Secara umum, untuk mengubah citra berwarna yang memiliki matriks masing-masing R, G, B menjadi citra grayscale dengan nilai s, dapat dilakukan dengan mengambil rata-rata dari nilai R, G, dan B, sehingga dapat dituliskan dengan rumus (Harianja, 2010):

= �+�+�

3 … … … …. .… …(2.5) Dimana:

S = citra grayscale R = red (warna merah) G = green (warna hijau) B = blue (warna biru)

2.3.4 Citra Biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan: hitam dan putih. Piksel objek bernilai 1 dan piksel latar belakang bernilai 0. Pada waktu menampilkan citra, 0 adalah warna putih dan 1 adalah warna hitam (Harianja, 2010).

Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang memiliki dua nilai tingkat keabuan, yaitu hitam dan putih. Secara umum proses


(35)

pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut (Putra, 2009):

, = 1 � , ≥128

0 � , < 128 … … … …. . .… … …(2.6) dengan g(x,y) citra biner dari citra grayscale f(x,y) dan T menyatakan nilai ambang. Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat bergantung pada nilai T yang digunakan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar belakang berwarna terang (0 atau putih).

2.4Format File Citra JPEG atau JPG

Format Joint Photographic Experts Group (JPEG) merupakan format yang paling terkenal sampai sekarang ini. Kali ini karena sifatnya yang berukuran kecil (hanya puluhan/ratusan KB saja), dan bersifat portable. File ini sering digunakan pada bidang fotografi untuk menyimpan file foto. File ini bisa digunakan di internet (Afdhali, 2010).

Format file JPEG merupakan bentuk kompresi gambar high color bit-mapped dan juga standar kompresi file yang cocok diterapkan pada image yang kompleks dengan jumlah warna yang banyak dan pada kamera digital, serta sistem pencitraan dengan menggunakan komputer (Siregar, 2009).

2.5Jaringan Saraf Tiruan

Jaringan Saraf Tiruan (JST) atau Artificial Neural Network yang sering disingkan ANN merupakan model jaringan neural yang meniru prinsip kerja dari neuron otak manusia (neuron biologis). Model sederhada sebuah neuron pertama kali dibuat berdasarkan fungsi neuron biologis yang merupakan dasar unit pensinyalan dan sistem saraf (Putra, 2009).


(36)

Jaringan Saraf Tiruan memiliki beberapa kemampuan seperti yang dimmiliki otak manusia, yaitu:

1. Kemampuan untuk belajar dari pengalaman

2. Kemampuan melakukan perumpamaan (generalization) terhadap input baru dari pengalaman yang dimilikinya

3. Kemampuan memisahkan (abstraction) karaktearisktik penting dari input yang mengandung data yang tidak penting (Putra, 2009)

Jaringan Saraf Tiruan akan mentransformasikan informasi dalam bentuk bobot dari satu neuron ke neuron lainnya, informasi tersebut akan diproses oleh suatu fungsi perambatan dan semua bobot masukan yang datang dijumlahkan kemudian dibandingkan dengan suatu nilai ambang tertentu melalui fungsi aktivasi setiap neuron. Bila nilai fungsi melampaui nilai ambang maka neuron diaktifkan dan informasi keluaran diteruskan ke neuron yang tersambung dengannya. Berikut ini adalah gambar struktur neuron jaringan saraf (Gambar 2.10).

Gambar 2.10 Struktur Neuron Jaringan Saraf (Muis, 2009)

Model sel saraf (neuron) umumnya terdiri atas:

1. Masukan (x) yang berfungsi sebagai penerima sinyal 2. Bobot koneksi (Wji) untuk menyimpan informasi

3. Bias (W0) yang berfungsi mengatur nilai ambang

4. Elemen pemrosesan (∑) dan fungsi aktivasi (f) untuk memroses informasi 5. Keluaran (y) sebagai keluaran yang akan menyampaikan hasil pemrosesan


(37)

Wj1

Wj2

Wjn

Berikut ini adalah model matematika untuk satu neuron.

Gambar 2.11 Model Matematika Satu Neuron

Persamaan matematika dari Gambar 2.11 sebagai berikut:

=1

+ 0 0… … … …. (2.7)

= … … … ….…. (2.8)

2.5.1 Fungsi Aktivasi

Beberapa fungsi transfer untuk mengaktifkan neuron ditetapkan sebagai berikut (Panjaitan, 2007):

1. Fungsi Linier

2. Fungsi Ambang (Treshold) 3. Fungsi Linier Piecewise 4. Fungsi Sigmoid Biner

1. Fungsi Linier

Fungsi linier ini menggunakan konsep superposisi, seperti persamaannya berikut ini = = � … … … …(2.9)

Wj0

x0

x1

x3

x2


(38)

Gambar 2.12 Fungsi Aktifasi Linier

2. Fungsi Ambang (Treshold)

Fungsi aktivasi ambang biasa menggunakan jenis biner atau bipolar. Keluaran suatu treshold biner dapat dituliskan seperti persamaan:

= = 0 � < 0

1 � ≥ 0 … … … …… … … …….… … … …(2.10) 3. Fungsi Linier Piecewise

Fungsi aktivasi yangmempunyai batas hard-limit dengan batas atas dan bawah 1 dan -1, dengan ketentuan

= =

−1 � <−1 � −1≥ ≥1

1 � ≥1

… … …… … … …… … … …(2.11) 4. Fungsi Sigmoid Biner (Logsig) (Finindia, 2013)

Fungsi sigmoid biner memiliki range nilai [0,1]. Oleh karena itu, fungsi ini sering digunakan untuk Jaringan Saraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai:

= 1

1+ − … … … …. .… … … …. (2.12) = 1− … … … …. (2.13)


(39)

W11 W21 W12

W22

W13 W23

Gambar 2.13 Fungsi Aktivasi Sigmoid Biner

2.5.2 Metode Learning Vector Quantization (LVQ)

Jaringan LVQ (Learning Vector Quantization) juga diperkrnalkan oleh Tuevo Kohonen. LVQ merupakan salah satu jaringan Saraf tiruan yang melakukan pembelajaran secara terawasi. LVQ mengklasifikasikan input secara berkelompok ke dalam kelas yang sudah didefinisikan melalui jaringan yangtelah dilatih. Dalam kata lain LVQ mendapatkan n input dan mengelompokkan kedalam m output. Arsitektur jaringan LVQ ini terdiri dari input, lapisan kohonen, dan lapisan output (Putra, 2009).

Jaringan LVQ adalah jaringan yang mengklasifikasi pola sehingga setiap unit keluaran menyatakan suatu kelas atau kategori. Vector bobot untuk unit keluaran sering disebut vector referensi (buku kode) untuk kelas yang dinyatakan oleh unit tersebut. Selama pelatihan unit keluaran dicari posisinya dengan mengatur bobotnya lewat pelatihan terbimbing (Widodo, 2005).

Gambar 2.14 Arsitektur Jaringan LVQ (Nurkhozin, 2011) x0

x1

x2

|| x-w1 ||

|| x-w2 ||

y1


(40)

Deskripsi dari gambar di atas adalah sebagai berikut: x : vector pelatihan masukan

y : vector output keluaran T : target vector pelatihan wj : vector bobot output ke-j

Cj : kelas hasil komputasi oleh unit output

|| x-wj || : jarak Euclidean antara vector bobot dan unit output

Berikut ini adalah algoritma Learning Vector Quantization (LVQ) (Nurkhozin, 2011):

1. inisialisasi vector referensi, inisialisasi learning rate α(0) 2. Bila kondisi STOP belum terpenuhi, kerjakan langkah 2–6 3. Untuk setiap vector input pelatihan x, kerjakan langkah 3- 4 4. Dapatkan nilai J sedemikian hingga ||x-wj|| minimum

5. Update wj sebagai berikut :

Jika Cj = T maka

� = � � +� − … … … ….…. . (2.15) Jika Cj ≠ T maka

� = � � − � − … … … ….…. . (2.16) 6. Reduksi learning rate

7. Tes kondisi STOP

2.5.3 Metode Backpropagation

Metode Backpropagation biasa digunakan dalam bidang pengujian pola, metode ini umumnya digunakan pada jaringan saraf tiruan yang berjenis multi-layer feed-forward. Feed-forward berarti aliran sinyal diarahkan searah dari masukan ke keluaran. Kesalahan yang didapatkan dari selisih output dengan target akan diumpan balik ke masukan awal untuk mengubah parameter-parameter pembentuk jaringan JST. Setelah kesalahan keluaran kecil, maka hanya proses alur maju saja yang digunakan (Wicaksono, 2008).


(41)

Syarat fungsi aktivasi dalam Backpropagation adalah bersifat kontinu, terdifferensial dengan mudah, dan merupakan fungsi yang tidak turun. Fungsi aktivasi yang dapat memenuhi ketiga syarat tersebut adalah logsig, tansig, dan purelin. Metode pengujian merupakan proses inisialisasi data yang akan diolah selanjutnya oleh Backpropagation. Data yang akan dikenali disajikan dalam bentuk vector. Masing-masing data mempunyai target yang disajikan juga dalam bentuk vector. Target atau keluaran acuan merupakan suatu peta karakter yang menunjukkan lokasi dari vector masukan (Nurmila, et.all).

Secara umum topologi JST Backpropagation ini dapat dilihat berikut ini (Nurkhozin, 20011):

Dengan menggunakan satu hidden layer, algoritma Backpropagation sebagai berikut : Step 0 :

Inisialisasi nilai bobot dengan nilai acak yang kecil. Step 1 :

Selama kondisi berhenti masih tidak terpenuhi, (epoch<=maks_epoch) dan (nilai error<=target_error).

Step 2 : Untuk tiap pasangan pelatihan, kerjakan step 3 - 8.

Feed forward:

a. Step 3

Tiap unit masukan (xi, i = 1,…, n) menerima sinyal xi dan menyebarkan sinyal ini ke

semua unit lapisan di atasnya (unit tersembunyi).

b. Step 4

Untuk setiap unit dalam (Zj , j=1,2,..,p) dihitung input dengan menggunakan nilai

bobotnya

= +

=1

… ….… … … …. .…. . (2.17) Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi yang dipilih

= … … … …. . . (2.18) Hasil fungsi tersebut dikirim ke semua input pada layer berikutnya.


(42)

c. Step 5

Tiap unit keluaran (yk, k = 1,…, m) jumlahkan bobot sinyal masukannya,

_ = 0 + +

=1

…. .… … … …. (2.19) Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi

= _ … … … …. .… …. . (2.20)

Backpropagation of error:

d. Step 6

Tiap unit keluaran (yk , k = 1,…, m) menerima pola target yang saling berhubungan

pada masukan pola input, hitung kesalahan informasinya,

δk = (tk– yk) f’ (y_ink) ………...………...…………...………(2.21)

hitung koreksi bobotnya yang digunakan untuk memperbaharui nilai wjk :

Δwjk= α δk zj………...………(2.22)

hitung koreksi biasnya yang digunakan untuk memperbaharui nilai wok

Δw0k= α δk………...………..(2.23)

dan kirimkan δk ke unit-unit pada lapisan pada layer sebelummya.

e. Step 7

Setiap unit lapisan tersembunyi (zj, j = 1,…, p) dihitung delta input yang berasal dari

unit pada layer di atasnya :

� = � =1

… … … ….… … … …. . . (2.24) Kemudian nilai tersebut dikalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya,

δj= δ_injf’ (z_inj)……….……….……(2.25)

hitung koreksi bobotnya (digunakan untuk memperbaharui voj ):

Δv0j = α δj ………..………...…(2.26)

hitung koreksi bobotnya (digunakan untuk memperbaharui vij):


(43)

Update nilai bobot dan bias

f. Step 8

Tiap unit keluaran (yk, k = 1.. m) update bias dan bobotnya (j = 0,…, p):

wjk (baru) = wjk(lama) + Δ wjk ………..…...(2.28)

Setiap unit pada lapisan tersembunyi memperbaiki bias dan bobotnya.

vij (baru) = vij(lama) + Δ vij ………….………..…...(2.29)

g. Step 9

Menguji apakah kondisi berhenti dan sudah terpenuhi.

Algoritma Testing (Pengujian)

Setelah pelatihan, jaringan saraf Backpropagation diaplikasikan dengan menggunakan fase yang diberikan sebelumnya dari algoritma pelatihan. Prosedur aplikasinya adalah sebagai berikut

Step 0 :

Inisialisasi bobot (dari algoritma pelatihan) Step 1 :

Untuk setiap vector input, kerjakan step 2-4 Step 2 :

Untuk i = 1,...,n: set aktifasi dari unit input ; i x Step 3 :

Untuk j = 1,...p

= +

=1

… ….… … … …. .…. . 2.30 = … … … …. . . (2.31) Step 4 :

= 0 + =1

… ….… … … …. .…. . . . 2.32 = _ … … … …. .… …. . (2.33)


(44)

2.6Peneliti Terdahulu

Berdasarkan penelitian sebelumnya yang mendukung pengangkatan judul ini, maka dilampirkan beberapa jurnal pendukung, antara lain:

1. Penelitan Dewanto Harjunowibowo.2010. “Perangkat Lunak Deteksi Uang Palsu

Berbasis LVQ Memanfaatkan Ultraviolet”.

Peneliti melakukan penelitian dengan memanfaatkan sinar ultraviolet, berdasarkan hasil yang diperoleh dan uraian pembahasan, maka dapat diambil kesimpulan penggunaan cahaya ultraviolet untuk menampilkan citra ciri khas uang asli adalah sangat efektif dan untuk meningkatkan keamanan sistem, perlu penambahan variable masukan JST dengan pola yang dibentuk oleh deteksi tepi.

2. Penelitian Dawud Gede Wicaksono . 2008. “Perangkat Lunak Pendeteksian Nilai Nominal dan Keaslian Uang Kertas Rupiah Menggunakan Jaringan Saraf Tiruan Backpropagation”.

Peneliti merancang perangkat lunak yang mampu mengenali nilai nominal uang kertas rupiah beserta keasliannya melalui proses pengolahan citra berbasiskan metode Jaringan Saraf Tiruan dengan algoritma Backpropagation, dimana pola khas dari tiap jenis uang kertas inilah yang dikenali oleh perangkat lunak ini, sehingga mampu membedakan tidak hanya uang kertas rupiah, tetapi juga jenis uang kertas pecahan lain.

3. Penelitian Elias Dianta Ginting. “Deteksi Tepi Menggunakan Metode Canny

dengan Matlab untuk Membedakan Uang Asli dan Uang Palsu”.

Pada penelitian ini, cara membedakan uang palsu dan uang asli dengan memanfaatkan tanda air pada uang kertas, sehingga penulis membuat suatu aplikasi yang bias mendeteksi benang pengaman dari suatu mata uang kertas, dengan memperlihatkan ada tidaknya tanda air pada uang kertas.

4. Penelitian Maharani Dessy Wuryandari dan Irawan Afrianto. 2012.

Perbandingan Metode Jaringan Saraf Tiruan Backpropagation dan Learning Vector Quantization pada Pengujian Wajah”. Penelitian ini bertujuan membandingkan kedua metode ini untuk mengenali wajah, serta mengetahui hasil


(45)

optimal dari kedua metode tersebut dalam pengujian wajah, dan dapat disimpulkan bahwa dari segi akurasi dan waktu pengujian bahwa metode Learning Vector Quantization memiliki kemampuan lebih baik dibandingkan dengan metode Backpropagation.

5. Penelitian Agus Nurkhozin, Mohammad Isa Irawan, dan Imam Mukhlas. 2011.

Komparasi hasil Klasifikasi Penyakit Diabetes Mellitus Menggunakan Jaringan Saraf Tiruan Backpropagation dan Learning Vector Quantization”.

Penelitian ini bertujuan mengkomparasi hasil klasifikasi menggunakan kedua metode ini dalam mengklasifikasi penyakit diabetes untuk melihat metode mana yang memiliki tingkat akurasi dan kecepatan tinggi.


(46)

(47)

Bab ini menjelaskan tentang proses sistem Jaringan Saraf Tiruan metode Learning Vector Quantization (LVQ) dan Backpropagation untuk memeriksa keaslian mata uang kertas dan analisis kebutuhan sistem yang akan dibangun serta perancangannya, serta tahap perthitungan manual dengan menggunakan kedua metode tersebut.

3.1 Analisis Masalah

Analisis merupakan langkah-langkah memberikan gambaran umum terhadap permasalahan yang akan diimplementasikan pada program yang akan dibuat untuk menyelesaikan masalah. Analisis juga dapat menggambarkan bagaimana proses sebuah metode untuk mendapatkan hasil yang akan diperoleh dalam sebuah perhitungan manual.

Perbandingan metode Jaringan Saraf Tiruan Learning Vector Quantization dan Backpropagation dapat dilihat melalui implementasinya dalam memeriksa mata uang kertas, sehingga dapat mengetahui dan merekomendasikan metode yang lebih baik dari segi akurasi dan waktu diantara kedua metode tersebut dalam pemeriksaan uang kertas. Metode Learning Vector Quantization dan Backpropagation memiliki langkah-langkah yang sama dalam sistem pemeriksaan uang kertas. Data yang digunakan untuk proses pengujian terlebih dahulu harus dipelajari untuk mendapatkan bobot yang kemudian disimpan kedalam database, dan dapat digunakan pada proses pengujian data test (data yang akan dikenali).


(48)

Analisis masalah pada penelitian ini secara umum ditunjukkan pada Gambar 3.1, yaitu diagram ishikawa (fishbone).

Sistem Pemeriksaan Keaslian Mata Uang Kertas Rupiah Dengan Metode Learning Vector Quantization (LVQ) dan Backpropagation Machine Material Method Man Program Pemeriksaan Keaslian Uang Kertas Rupiah Kebutuhan Pemeriksaan Keaslian Mata Uang Kertas Learning Vector Quantization (LVQ) Backpropagation

File Citra Uang Kertas (.*jpg)

Gambar 3.1 Diagram Ishikawa

3.2 Analisis Proses Sistem

Berikut ini merupakan tahapan dari proses yang dilakukan dalam penelitian ini, seperti terlihat pada Gambar 3.1.

Akuisisi Citra 1 Preprocessing Citra

Proses Pelatihan Proses Pengujian Hasil Pengujian 2 Database 4 3 6 7 5


(49)

3.2.1 Akuisisi Citra

Akuisisi Citra dilakukan sebagai tahap awal untuk mendapatkan citra digital. Pada tahap ini pengambilan citra uang kertas dengan menggunakan sebuah kamera digital dan 2 buah lampu ultraviolet dengan jarak 15cm antara objek uang kertas dengan camera digital, dengan hanya memanfaatkan cahaya lampu ultraviolet.

3.2.2 Preprocessing Citra

1. Proses Cropping.

Cropping pada pengolahan citra berarti memotong satu bagian dari citra sehingga diperoleh citra yang diharapkan, seperti pada Gambar 3.2. Dalam proses penelitian ini dilakukan cropping citra pada bagian invisible ink sebagai tanda khusus dari tiap-tiap uang kertas, yang nantinya citra hasil cropping tersebut akan menjadi data masukan untuk proses pelatihan dan pengujian jaringan.

Gambar 3.2 Proses Cropping Citra

2. Scaling (Penskalaan)

Penskalaan merupakan proses pembesaran atau pengecilan objek, dalam penelitian ini dilakukan penyeragaman ukuran hasil dari cropping sebagai ukuran standar untuk selanjutnya diproses sebagai masukan pada proses pelatihan dan pengujian jaringan. Jadi hasil dari pemotongan ciri-ciri khusus dari mata uang, ukurannya diubah menjadi 40x40 piksel. Hal ini dilakukan untuk mempermudah proses pelatihan jaringan, karena jika ukuran tidak seragam akan terjadi masalah pada saat pengujian karena jumlah data masukan pada saat pelatihan berbeda dengan jumlah data masukan pada saat pengujian.


(50)

Sebagai contoh perhitungan manual, dimisalkan sebuah gambar hasil cropping yang berukuran 277x335 piksel akan diubah menjadi 4x4 piksel. Dalam perubahan dari ukuran asli citra menjadi ukuran 4x4 dilakukan perbandingan rasio tinggi dan lebarnya. Berikut ini contoh perhitungannya. Gambar 3.3 merupakan ukuran citra asli.

Gambar 3.3 : Citra Ukuran 277x335 Piksel

Ukuran asli:

Tinggi = 227 piksel Lebar = 335 piksel

Rasio untuk tinggi  227 : 4 = 56.75 Rasio untuk lebar  335 : 4 = 83.75

3. Konversi RGB to Grayscale

Tahap preprocessing selanjutnya adalah proses pengubahan citra RGB (Red Green Blue) menjadi Grayscale. Secara matematis perhitungannya adalah sebagai berikut :

0 , =

, + , + ,

3 … … … …(3.1)


(51)

Berikut ini contoh perhitungannya : F1 (x, y) =

3 + 52 + 251

3 = 102

F2 (x, y) =

13 + 112 + 249

3 = 125

F3 (x, y) =

14 + 125 + 249

3 = 129

F4 (x, y) =

3 + 107 + 251

3 = 120

F5 (x, y) =

9 + 73 + 246

3 = 109

F6 (x, y) =

14 + 108 + 249

3 = 124

F7 (x, y) =

16 + 113 + 249

3 = 126

F8 (x, y) =

18 + 102 + 250

3 = 123

F9 (x, y) =

17 + 98 + 236 3 =117

F10 (x, y) =

19 + 122 + 240

3 = 127

F11 (x, y) =

24 + 135 + 245

3 = 135

F12 (x, y) =

26 + 119 + 245

3 = 130

F13 (x, y) =

15+ 62 + 209 3 = 95

F14 (x, y) =

17 + 88 + 214

3 = 106

F15 (x, y) =

26 + 117 +219

3 = 120

F16 (x, y) =

27+ 106 + 223

3 = 118

4. Konversi Grayscale ke Citra Biner

Proses tresholding yaitu dengan menggunakan nilai ambang (T) = 128 akan menghasilkan citra biner. Dengan menggunakan rumus pada persamaan (2.6) pengambangan citra Grayscale untuk menghasilkan citra biner adalah sebagai berikut:


(52)

3.2.2 Proses Pelatihan dan Pengujian Jaringan

Proses Pelatihan merupakan suatu proses iterasi dan pada sistem tertentu akan membutuhkan waktu yang cukup panjang pada proses pelatihan. Selama proses pelatihan, faktor bobot akan mengalami perubahan dan bila tahapan telah selesai maka nilai-nilai faktor bobot akan disimpan.

Sedangkan pada proses pengujian, proses dilakukan pada data masukan yang baru yang belum pernah dilatih sebelumnya dan dihitung dengan menggunakan bobot hasil pelatihan yang telah disimpan sebelumnya.

Proses pelatihan dan pengujian pada sistem ini dilakukan dengan menggunakan 2 buah metode, yaitu Learning Vector Quantization dan Backpropagation. Berikut ini adalah data yang akan dijadikan sebagai input dari proses Pelatihan dan Pengujian.

1. Pelatihan Learning Vector Quantization

a. Tentukan nilai maksimum perulangan (epoch), error minimum, rasio pembelajaran (�) dan pengurangan rasio. Pada contoh ini digunakan batasan sebagai berikut:

Maksimum perulangan = 4 Error minimum = 0,01 Rasio Pelatihan (�) = 0,05 Pengurangan rasio = 0,1

b. Misalkan disajikan dua buah vector masukan untuk percobaan, seperti terlihat pada Tabel 3.1


(53)

c. Tentukan vector (w) sebagai bobot awal dan input sisanya sebagai vector (x), seperti pada Tabel 3.2 berikut ini:

Tabel 3.2 Inisialisasi Bobot Awal (w) dan Masukan (x)

d. Tahap Pelatihan. Untuk setiap data masukan (x) dihitung terhadang setiap data bobot (w) dengan rumus pada persamaan berikut:

= − 2

=1

… … … …(3.2)

Epoch ke-1:

Data ke-1 (76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117 ) Hitung jarak (Cj) terhadap bobot awal (w), seperti terlihat pada Tabel 3.3:

Tabel 3.3 Perhitungan Jarak (Cj)

e. Hitung bobot (w) baru berdasarkan jarak terkecil dengan persamaan (2.15), seperti telihat pada Tabel 3.4

Tabel 3.4 Perhitungan Bobot Baru Wj(baru) = Wj(lama) + α * [x – Wj(lama)]

w1 60+(0.05*(76-60)) 60.800 w2 98+(0.05*(112-98)) 98.700 w3 106+(0.05*(116-106)) 106.500 w4 92+(0.05*(123-92)) 93.550 w5 74+(0.05*(68-74)) 73.700 w6 96+(0.05*(93-96)) 95.850 w7 100+(0.05*(94-100)) 99.700 w8 94+(0.05*(105-94)) 94.550


(54)

w9 90+(0.05*(82-90)) 89.600 w10 105+(0.05*(101-105)) 104.800 w11 114+(0.05*(110-114)) 113.800 w12 106+(0.05*(114-106)) 106.400 w13 65+(0.05*(79-65)) 65.700 w14 81+(0.05*(93-81)) 81.600 w15 101+(0.05*(112-101)) 101.550 w16 96+(0.05*(117-96)) 97.050

Dilakukan perhitungan perubahan nilai rasio dengan rumus:

� (�) = �s (�)− � � � ∗ � (�)………..(3.3)

� (�) = 0.05 – (0.1*0.05) = 0.045

Epoch ke-2:

Data ke-1 (76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117 ) Hitung jarak (Cj) terhadap bobot awal (w), seperti terlihat pada Tabel 3.5:

Tabel 3.5 Perhitungan Jarak (Cj)

X Wj(baru) (x-(w baru))2 √ �

76 60.800 231.04000

50.06239 112 98.700 176.89000

116 106.500 90.25000 123 93.550 867.30250

68 73.700 32.49000

93 95.850 8.12250

94 99.700 32.49000

105 94.550 109.20250

82 89.600 57.76000

101 104.800 14.44000 110 113.800 14.44000 114 106.400 57.76000

79 65.700 176.89000

93 81.600 129.96000

112 101.550 109.20250 117 97.050 398.00250

Hitung bobot baru berdasarkan jarak terkecil

Hitung bobot (w) baru berdasarkan jarak terkecil dengan rasio (�) = 0.045 , seperti telihat pada Tabel 3.6


(55)

Tabel 3.6 Perhitungan Bobot (Wj(baru))

Wj(baru) = Wj(lama) + α * [x - Wj(lama)]

w1 60.800+(0.045*[76-60.800]) 61.48400 w2 98.700+(0.045*[112-98.700]) 99.29850 w3 106.500+(0.045*[116-106.500]) 106.92750 w4 93.550+(0.045*[123-93.550]) 94.87525 w5 73.700+(0.045*[68-73.700]) 73.44350 w6 95.850+(0.045*[93-95.800]) 95.72175 w7 99.700+(0.045*[94-99.700]) 99.44350 w8 94.550+(0.045*[105-94.550]) 95.02025 w9 89.600+(0.045*[82-89.600]) 89.25800 w10 104.800+(0.045*[101-104.800]) 104.62900 w11 113.800+(0.045*[110-113.800]) 113.62900 w12 106.400+(0.045*[114-106.400]) 106.74200 w13 65.700+(0.045*[79-65.700]) 66.29850 w14 81.600+(0.045*[93-81.600]) 82.11300 w15 101.550+(0.045*[112-101.550]) 102.02025 w16 97.050+(0.045*[117-97.050]) 97.94775

Hitung perubahan nilai rasio, seperti berikut:

� (�)= 0.045−(0.1*0.045) = 0.0405

Epoch ke-3:

Data ke-1 (76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117 ) Hitung jarak (Cj) terhadap bobot awal (w), seperti terlihat pada Tabel 3.7:

Tabel 3.7 Perhitungan Jarak (Cj)

X Wj(lama) (x-w baru)2 √ �

76 61.48400 210.71426

47.80958

112 99.29850 161.32810

116 106.92750 82.31026

123 94.87525 791.00156

68 73.44350 29.63169

93 95.72175 7.40792

94 99.44350 29.63169

105 95.02025 99.59541

82 89.25800 52.67856

101 104.62900 13.16964

110 113.62900 13.16964

114 106.74200 52.67856


(56)

93 82.11300 118.52677

112 102.02025 99.59541

117 97.94775 362.98823

Hitung bobot baru berdasarkan jarak terkecil

Hitung bobot (w) baru berdasarkan jarak terkecil dengan � (�) = 0.0405 , seperti telihat pada Tabel 3.8

Tabel 3.8 Perhitungan Bobot (Wj(baru))

Dilakukan perhitungan perubahan nilai rasio, seperti berikut:

� = 0.0405−(0.1*0.0405) = 0.03645

Epoch ke-4:

Data ke-1 (76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117 ) Hitung jarak (Cj) terhadap bobot awal (w), seperti terlihat pada Tabel 3.9:

Tabel 3.9 Perhitungan Jarak (Cj)

X w baru (x-w baru)2 √ � 76 62.0719 193.992

45.87329 112 99.81291 148.5251 116 107.2949 75.77813 123 96.0143 728.2279 68 73.22304 27.28013 93 95.61152 6.82003 94 99.22304 27.28013 105 95.42443 91.69154

Wj(baru) = Wj(lama) + α * [x - Wj(lama)]

w1 61.48400+(0.0405*[76-61.48400]) 62.07190 w2 99.29850+(0.0405*[112-99.29850]) 99.81291 w3 106.9750+(0.0405*[116-106.9750]) 107.29494 w4 94.87525+(0.0405*[123-94.87525]) 96.01430 w5 73.44350+(0.0405*[68-73.44350]) 73.22304 w6 95.72175+(0.0405*[93-95.72175]) 95.61152 w7 99.44350+(0.0405*[94-99.44350]) 99.22304 w8 95.02025+(0.0405*[105-95.02025]) 95.42443 w9 89.25800+(0.0405*[82-89.25800]) 88.96405 w10 104.62900+(0.0405*[101-104.62900]) 104.48203 w11 113.62900+(0.0405*[110-113.62900]) 113.48203 w12 106.74200+(0.0405*[114-106.74200]) 107.03595 w13 66.29850+(0.0405*[79-66.29850]) 66.81291 w14 82.11300+(0.0405*[93-82.11300]) 82.55392 w15 102.02025+(0.0405*[112-102.02025]) 102.42443 w16 97.94775+(0.0405*[117-97.94775]) 98.71937


(57)

82 88.96405 48.49801 101 104.482 12.1245 110 113.482 12.1245 114 107.036 48.49801 79 66.81291 148.5251 93 82.55392 109.1205 112 102.4244 91.69154 117 98.71937 334.1816

Hitung bobot baru berdasarkan jarak terkecil

Hitung bobot (w) baru berdasarkan jarak terkecil dengan � (�) = 0.03645 , seperti telihat pada Tabel 3.10

Tabel 3.10 Perhitungan Bobot (Wj(baru))

Wj(baru) = Wj(lama) + α * [x - Wj(lama)]

w1 62.07190+(0.03645*[76-62.07190]) 62.63599 w2 99.81291+(0.03645*[112-99.81291]) 100.30649 w3 107.29494+(0.03645*[116-107.29494]) 107.64749 w4 96.01430+(0.03645*[123-96.01430]) 97.10722 w5 73.22304+(0.03645*[68-73.22304]) 73.01151 w6 95.61152+(0.03645*[93-95.61152]) 95.50575 w7 99.22304+(0.03645*[94-99.22304]) 99.01151 w8 95.42443+(0.03645*[105-95.42443]) 95.81224 w9 88.96405+(0.03645*[82-88.96405]) 88.68201 w10 104.48203+(0.03645*[101-104.48203]) 104.34100 w11 113.48203+(0.03645*[110-113.48203]) 113.34100 w12 107.03595+(0.03645*[114-107.03595]) 107.31799 w13 66.81291+(0.03645*[79-66.81291]) 67.30649 w14 82.55392+(0.03645*[93-82.55392]) 82.97699 w15 102.42443+(0.03645*[112-102.42443]) 102.81224 w16 98.71937+(0.03645*[1170-98.71937]) 99.45973

Dilakukan perhitungan perubahan nilai rasio, seperti berikut:

� = 0.03645−(0.1*0.3645) = 0.03281

2. Pengujian Learning Vector Quantization

Proses Pengujian dengan metode Learning Vector Quantization menggunakan rumus yang sama dengan perhitungan bobot pada proses pelatihan. Berikut ini langkah-langkahnya:


(58)

a. Data pengujian dihitung terhadap setiap data bobot (w) yang telah dihasilkan pada tahap Pelatihan. Untuk setiap data masukan (x) dihitung terhadap setiap data bobot (w) dengan rumus pada persamaan (3.2), seperti pada Tabel 3.11 berikut:

Tabel 3.11 Perhitungan Jarak (Cj)

x baru (x-w akhir)2 √ �

61 2.67645

45.94815

87 177.06262

90 311.43395

82 228.22819

71 4.04615

90 30.31331

92 49.16121

91 23.15766

82 44.64922

96 69.57234

100 177.98237

95 151.73295

65 5.31989

78 24.77043

83 392.52487

79 418.60063

b. Dilihat jarak (Cj) terkecil yang diperoleh pada perhitungan terhadap data test. Kelas bobot yang memiliki jarak terkecil menjadi hasil dari proses Pengujian ini.

Jarak (Cj) pelatihan = 45.87329 Jarak (Cj) data pengujian = 45.94815

Sehingga di peroleh persentasi keasliannya=

45.94815

45.87329∗100% = 100 %

3. Proses Pelatihan Backpropagation

Pelatihan dengan metode Backpropagation menggunakan 2 alur perhitungan, yaitu alur maju dan alur mundur. Berikut ini merupakan tahap-tahap perhitungannya.

a. Data masukan proses Pelatihan Backpropagation, seperti terlihat pada Tabel 3.12 berikut ini:


(1)

TimerLearning.Interval = 1000 TimerLearning.Start()

Timer2.Enabled = True Timer2.Interval = 1 Timer2.Start()

Application.DoEvents()

Dim jlhdata As Integer 'Jumlah data learning Dim IdLearning As Integer

Dim tbllearning As New DataTable

SQL = "Select id_learning, jenis_uang, y1,y2,y3, target from tbl_learning_backpro"

tbllearning = GetTableSql() jlhdata = tbllearning.Rows.Count ReDim hasilLearning(jlhdata - 1, 3) ReDim hasiltarget(jlhdata - 1) ReDim hasil(jlhdata - 1, 3) Dim TesVnol(5) As Decimal

Dim Teshasil(Tesinputx.Length) As Decimal Dim TesZin(5) As Decimal

Dim TesYin(2) As Decimal

Dim TesZ(5), TesYk(2), TesDeltaK(2), TesDeltaW1K(6, 3), TesDeltaW0K(6, 3), TesDeltaIn(6), Delta(6) As Decimal

RtbHasil.Text = ""

For k As Integer = 0 To jlhdata - 1 Dim ur As Integer = 0

Application.DoEvents()

IdLearning = tbllearning.Rows(k)(0)

SQL = "Select nilai From tbl_vnol_backpro INNER JOIN tbl_learning_backpro on tbl_learning_backpro.id_learning =

tbl_vnol_backpro.id_learning where tbl_learning_backpro.id_learning = '" & IdLearning & "'"

tblbobotVnol = GetTableSql() For i As Integer = 0 To 5

TesVnol(i) = tblbobotVnol.Rows(i)(0) Next

SQL = "Select bobot_v From tbl_bobot_v_backpro INNER JOIN tbl_learning_backpro on tbl_learning_backpro.id_learning =

tbl_bobot_v_backpro.id_learning where tbl_learning_backpro.id_learning = '" & IdLearning & "'"

tblbobotV = GetTableSql() For i As Integer = 0 To 1600 For j As Integer = 0 To 5

TesBobotV(i, j) = tblbobotV.Rows(ur)(0) ur += 1

Next Next

Application.DoEvents()

TesZin(z) = Math.Round(TesZin(z), 5) + TesVnol(z) TesZ(z) = 1 / (1 + Math.Exp(TesZin(z) * -1)) TesZ(z) = Math.Round(TesZ(z), 5)

Next

'Operasi pada output layer For yk As Integer = 0 To 2


(2)

TesYin(yk) = 0

For y As Integer = 0 To 2 For w As Integer = 0 To 5

TesYin(yk) = TesBobotW(yk, y) + (TesBobotW(w + 1, yk) * TesZ(w))

Next Next

TesYin(yk) = Math.Round(TesYin(yk), 5)

TesYk(yk) = 1 / (1 + Math.Exp(TesYin(yk) * -1)) TesYk(yk) = Math.Round(TesYk(yk), 5)

hasil(k, yk) = TesYk(yk)

hasiltarget(k) &= Math.Round(TesYk(yk), 0) Next

Next

For i As Integer = 0 To hasiltarget.Length - 1

SQL = "Select id_learning, jenis_uang, y1,y2,y3, target from tbl_learning_backpro where target = '" & hasiltarget(i) & "'"

tbllearning = GetTableSql()

If tbllearning.Rows.Count > 0 Then

persen = hasil(i, 0) / tbllearning.Rows(0)(2)

persen = persen + (hasil(i, 1) / tbllearning.Rows(0)(3)) persen = persen + (hasil(i, 2) / tbllearning.Rows(0)(4)) End If

Next

persen = terbaik If persen > 100 Then persen = 100 End If

MessageBox.Show("Proses Pengenalan Selesai", "Proses Selesai") End If

End Sub

============================================================================= Private Sub TimerLearning_Tick(sender As Object, e As EventArgs) Handles TimerLearning.Tick

If detik = 60 Then menit = menit + 1 detik = 0

End If

If menit = 60 Then jam = jam + 1 menit = 0 End If

detik = detik + 1 End Sub

============================================================================= Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles

Timer2.Tick

mili = Format(Now, "fff")

TxtTimePengenalan.Text = Format(jam, "00") & " : " & Format(menit, "00") & " : " & Format(detik, "00") & " : " & Format(mili, "000")

End Sub

============================================================================= Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles BtnSimpan.Click

Dim hasil As String


(3)

hasil = "Dikenali"

ElseIf RdoTidakDikenali.Checked Then hasil = "Tidak Dikenali"

Else

MessageBox.Show("Pilih hasil pengenalan", "Informasi") Exit Sub

End If

SQL = "Insert into tbl_hasil_pengenalan values ('BackPro', '" & hasil & "')"

SimpanWithMessage() End Sub

============================================================================= Private Sub CloseToolStripMenuItem_Click(sender As Object, e As

EventArgs) Handles CloseToolStripMenuItem.Click Me.Hide()

FrmAwal.ShowDialog() End Sub

End Class

6.

PERSENTASI AKURASI

Public Class FrmPersentase

Dim jlhlvq, jlhbackpro, dikenalibacpro, tidakdikenalibakpro, dikenalilvq, tidakdikenalilvq, persentaselvq, persentasebackpro As String

Private Sub FrmPersentase_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Try

SQL = "Select count (*) from tbl_hasil_pengenalan where jenis_pengenalan = 'BackPro'"

jlhbackpro = ExecuteScalar()

SQL = "Select count (*) from tbl_hasil_pengenalan where jenis_pengenalan = 'BackPro' and hasil = 'Dikenali'"

dikenalibacpro = ExecuteScalar()

tidakdikenalibakpro = Val(jlhbackpro) - Val(dikenalibacpro) persentasebackpro = Val(dikenalibacpro) / Val(jlhbackpro) persentasebackpro = persentasebackpro * 100

persentasebackpro = Math.Round(CDec(persentasebackpro), 2) SQL = "Select count (*) from tbl_hasil_pengenalan where jenis_pengenalan = 'LVQ'"

jlhlvq = ExecuteScalar()

SQL = "Select count (*) from tbl_hasil_pengenalan where jenis_pengenalan = 'LVQ' and hasil = 'Dikenali'"

dikenalilvq = ExecuteScalar()

tidakdikenalilvq = Val(jlhlvq) - Val(dikenalilvq) persentaselvq = Val(dikenalilvq) / Val(jlhlvq) persentaselvq = persentaselvq * 100

persentaselvq = Math.Round(CDec(persentaselvq), 2) Lbljlhbackpro.Text = jlhbackpro

Lbldikenalibackpro.Text = dikenalibacpro

lbltidakdikenalibackpro.Text = tidakdikenalibakpro lblpersentasebackpr.Text = persentasebackpro

lbljlhlvq.Text = jlhlvq

lbldikenalilvq.Text = dikenalilvq

lbltidakdikenalilvq.Text = tidakdikenalilvq lblpersentaselvq.Text = persentaselvq


(4)

Catch ex As Exception

MessageBox.Show("Load Form Gagal", "Informasi") End Try

End Sub End Class

7.

SQL MODUL

Imports System.Data.SqlClient Module SQLModul

Public ConnStr As String = "Data Source=KOM-PC\SQLEXPRESS; Initial Catalog=TaFitri; Integrated Security=SSPI; MultipleActiveResultSets=True;" Public Conn As SqlConnection

Public DS, DsTmp As DataSet Public Da As SqlDataAdapter Public Cmd As SqlCommand Public SQL As String Public Sub Koneksi() Try

Conn = New SqlConnection(ConnStr) Conn.Open()

Catch

MessageBox.Show("Koneksi database gagal", "Koneksi Gagal", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

End End Try End Sub

============================================================================= Public Sub BindToDS(ByVal Nama As String)

Try

DS = New DataSet

Da = New SqlDataAdapter(SQL, Conn) Da.Fill(DS, Nama)

Catch ex As Exception

MessageBox.Show("Bind To Dataset DS Gagal" & vbCrLf & vbCrLf & "Error = " & _

ex.ToString, "Bind Gagal") End Try

End Sub

============================================================================= Public Sub HapusWithMessage()

Try

Cmd = New SqlCommand(SQL, Conn) Cmd.ExecuteNonQuery()

MessageBox.Show("Data sudah dihapus", "Hapus Data Sukses") Catch ex As Exception

MessageBox.Show("Data tidak berhasil dihapus" & vbCrLf & vbCrLf & _

"Error = " & ex.ToString, "Hapus Data Gagal") End Try

End Sub

============================================================================= Public Sub SimpanWithMessage()


(5)

Cmd = New SqlCommand(SQL, Conn) Cmd.ExecuteNonQuery()

MessageBox.Show("Data sudah disimpan", "Simpan Data Sukses") Catch ex As Exception

MessageBox.Show("Data tidak berhasil disimpan" & vbCrLf & vbCrLf & _

"Error = " & ex.ToString, "Simpan Data Gagal") End Try

End Sub

============================================================================= Public Sub HapusWithoutMessage()

Try

Cmd = New SqlCommand(SQL, Conn) Cmd.ExecuteNonQuery()

Catch ex As Exception

MessageBox.Show("Data tidak berhasil dihapus" & vbCrLf & vbCrLf & _

"Error = " & ex.ToString, "Hapus Data Gagal") End Try

End Sub

============================================================================= Function GetTableSql()

Dim Dt As New DataTable Try

Da = New SqlDataAdapter(SQL, Conn) Da.Fill(Dt)

Catch ex As Exception

MessageBox.Show("Bind To Dataset DsSql Gagal" & vbCrLf & vbCrLf & "Error = " & _

ex.ToString, "Bind Gagal") End Try

Return Dt End Function End Module


(6)

CURRICULUM VITAE

Nama

: Fitri Yutari Hidayah

Jenis Kelamin

: Perempuan

Agama

: Islam

Alamat Sekarang

: Jl. Dr. Mansyur Gang. H. Idris Achmad No. 53. Medan

Alamat Orang Tua

: Dusun III Desa Pagar Merbau 1 Kecamatan Pagar Merbau,

Kabupaten Deli Serdang.

Telp/Hp

: 081362070087

Email

: fitriyu.tari@gmail.com

Riwayat Pendidikan Formal

2011-2014

: Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2008-2011

: D3 Teknik Informatika Universitas Sumatera Utara, Medan

2005-2008

: SMA Negeri 1 Lubuk Pakam

2002-2005

: SMP Negeri 1 Lubuk Pakam