Pengenalan Pola Pin Barcode Menggunakan Metode Backpropagation dan Metode Perceptron

(1)

PENGENALAN POLA PIN

BARCODE

MENGGUNAKAN

METODE

BACKPROPAGATION

DAN METODE

PERCEPTRON

SKRIPSI

ARDI HASIHOLAN

091401072

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

BACKPROPAGATION

DAN

METODE

PERCEPTRON

SKRIPSI

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

ARDI HASIHOLAN

091401072

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(3)

PERSETUJUAN

Judul : PENGENALAN POLA PIN BARCODE

MENGGUNAKAN METODE BACKPROPAGATION DAN METODE PERCEPTRON

Kategori : SKRIPSI

Nama : ARDI HASIHOLAN

Nomor Induk Mahasiswa : 091401072

Program Studi : S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 22 Agustus 2013 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dian Wirdasari, S.Si, M.Kom Dr. Poltak Sihombing, M.Kom NIP. 19820923 201012 2 002 NIP.19620317 199103 1 001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,


(4)

PERNYATAAN

PENGENALAN POLA PIN BARCODE MENGGUNAKAN METODE BACKPROPAGATION DAN METODE PERCEPTRON

SKRIPSI

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

Medan, 22 Agustus 2013

Ardi Hasiholan 091401072


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Yesus Kristus, Tuhan Yang Maha Esa, yang telah memberikan berkat dan naungan kasih-Nya, serta segala sesuatu dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

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

3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S1 Ilmu Komputer dan Dosen Pembimbing I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

4. Ibu Maya Silvi Lydia, B.Sc. M.Sc. selaku Sekretaris Program Studi S1 Ilmu Komputer.

5. Ibu Dian Wirdasari, S.Si, M.Kom selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

6. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembanding I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

7. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembanding II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

8. Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Ayahanda (alm) R. Pakpahan dan Ibunda M. Sitohang yang menjadi saluran berkat dari Tuhan dan selalu memberikan dukungan baik materi maupun non-materi, perhatian, serta doa tanpa henti kepada penulis.

10. Nantulang Josep yang menjadi saluran berkat dari Tuhan bagi penulis. 11. Teman-teman pengurus IMILKOM Fasilkom-TI 2012-2013.

12. Teman-teman sekaligus keluarga besar Program Studi S1 Ilmu Komputer Fasilkom-TI USU.


(6)

13. Keluarga asrama putra USU yaitu Rolanda Sianturi, Amd. , Royandi Hutasoit, S.S., Abdul Aziz Matondang, Forianus Waruwu, Kriston, Fazawao, dan Roy Sirait, dll.

14. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.

Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini.

Medan, 22 Agustus 2013 Penulis,


(7)

ABSTRAK

Pengenalan pola merupakan salah satu fungsi dari pemanfaatan jaringan saraf tiruan, dimana suatu obyek dikenali polanya sehingga nantinya dapat membantu proses pengenalan dari suatu obyek yang polanya mengalami kerusakan. Pengenalan pola pada jaringan saraf tiruan dapat dilakukan dengan metode backpropagation dan metode perceptron. Pada metode backpropagation jaringan dilatih melalui tiga fase yaitu fase propagasi maju, fase propagasi mundur, dan fase perubahan bobot hingga kondisi penghentian dipenuhi. Sedangkan pada metode perceptron, pelatihan dilakukan dengan setiap pola yang menjadi masukan akan menghasilkan keluaran jaringan kemudian dibandingkan dengan targetnya. Jika berbeda, maka akan dilakukan perubahan bobot terhadap pola yang mengandung kesalahan dengan melakukan iterasi hingga nilai keluaran dan target menjadi sama. Pada sistem ini obyek yang akan dilakukan pengenalan pola yaitu PIN barcode dan jenis barcodenya

yaitu QR-Code. Berdasarkan hasil ujicoba terhadap pola PIN barcode diketahui bahwa metode perceptron dapat mengenali pola lebih optimal daripada metode

backpropagation. Ketepatan pengenalan pola PIN barcode pada pola yang telah

mengalami kerusakan yaitu 70% lebih baik dibandingkan metode backpropagation

yang hanya memiliki ketepatan 60%. Berdasarkan kecepatan waktu pengenalan pola, metode perceptron jauh lebih cepat dalam melakukan pengenalan pola PIN barcode

dengan rata-rata waktu pengenalan pola PIN barcode yaitu 8,693658 detik. Sedangkan rata-rata waktu pengenalan pola PIN barcode metode backpropagation yaitu 14,18654 detik.


(8)

PATTERN RECOGNITION PIN BARCODE IS USING BACKPROPAGATION METHOD AND PERCEPTRON METHOD

ABSTRACT

Pattern recognition is one of the functions of the neural networks, where objects maybe identified by their patterns. This may assist in recognition of objects which patterns are damaged. Pattern recognition in neural networkcan make by using backpropagation and perceptron methods. In Backpropagation method, the network is trained with the pattern through three phases, namely forward propagation, backward propagation, and weights adjustment phases, repeated until the termination condition is met. In the perceptron method, training is performed using input patterns which output are compared to the target. If difference is found, the weights in which the pattern resulted differently will be adjusted. This process is repeated until all output pattern matches the target. In this study the object for recognition is PIN barcode in the form of QR-Code. Testing indicated that perceptron method is more optimal compared to backpropagation in recognizing PIN barcode patterns. The perceptron method has an accuracy at 70% in recognizing damaged PIN barcode patterns, while backpropagation method accuracy is 60 60% for the damaged patterns. Perceptron method is also faster in recognizing PIN barcode with the average time of 8,69658 seconds, while backpropagation method average time is 14,18654 seconds.


(9)

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Gambar x

Daftar Tabel xii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Perumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Sistematika Penulisan 3

Bab 2 Landasan Teori

2.1 Barcode 5

2.2 Pengolahan Citra 6

2.2.1 Citra 6

2.2.2 Proses Threshold 6

2.3Jaringan Saraf Tiruan 7

2.3.1 Komponen Dalam Jaringan Saraf Tiruan 8 2.3.2 Arsitektur Jaringan Saraf Tiruan 9 2.3.2.1 Single Layer Network 9 2.3.2.2 Multi Layer Network 9 2.3.2.3 Recurrent Network 10 2.4 Jaringan Saraf Tiruan Backpropagation 11

2.4.1 Fungsi Aktivasi 12

2.4.2 Pelatihan Backpropagation 13

2.4.3 Algoritma Pelatihan 14

2.5 Jaringan Saraf Tiruan Perceptron 17


(10)

Hal. Bab 3 Analisis Dan Perancangan Sistem

3.1 Analisis Sistem 20

3.1.1 Analisis Masalah 20

3.1.2Analisis Kebutuhan Sistem 21

3.1.2.1 Kebutuhan Fungsional Sistem 21 3.1.2.2 Kebutuhan Non-Fungsional Sistem 21

3.1.3 Analisis Proses 22

3.2 Pemodelan 26

3.2.1Use Case Diagram 26

3.2.2SequenceDiagram 27

3.2.3Activity Diagram 31

3.3 Pseudocode Program 33

3.3.1Pseudocode Proses Pelatihan JST 33

3.3.2 Pseudocode Proses Pengujian JST 35

3.4 Perancangan Sistem 36

3.4.1 Perancangan Flowchart Sistem 3.4.2 Perancangan Antarmuka (Interface)

3.4.2.1 Form Prototype

3.4.2.2 Form Metodebackpropagation 3.4.2.3 Form Metodeperceptron 3.4.2.4 Form Ujibackpropagation 3.4.2.5 Form Ujiperceptron

36 37 38 39 40 42 44

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 45

4.1.1Form Prototype 45

4.1.2 Form Metodebackpropagation 46

4.1.3Form Metodeperceptron 48

4.1.4 Form Ujibackpropagation 49

4.1.5Form Ujiperceptron 51

4.1.6Form Menubantuan 52

4.1.7Form Bantuanpelatihan 53

4.1.8 Form Bantuanpengujian 54

4.2Pengujian 4.1.2 Algoritma Arithmetic Coding 55

4.2.1 Jenis Pengujian 55

4.2.1.1Kecepatan Pengenalan Pola PIN Barcode 56 4.2.1.2 Ketepatan Pengenalan Pola PIN Barcode 59

Bab 5 Kesimpulan dan Saran 70

5.1 Kesimpulan 70

5.2 Saran 71

Daftar Pustaka 72

Lampiran Listing Program A-1


(11)

DAFTAR GAMBAR

Hal.

Gambar 2.1 PIN Barcode (QR-Code) 6

Gambar 2.2 Proses Threshold 7

Gambar 2.3 Arsitektur Jaringan Syaraf Tiruan 8

Gambar 2.4 Single Layer Network 9

Gambar 2.5 Multi Layer Network 10

Gambar 2.6 Recurrent Network

Gambar 2.7 Arsitektur Backpropagation

Gambar 2.8 Fungsi Aktivasi Sigmoid

Gambar 2.9 Arsitektur Perceptron

11 11 12 18 Gambar 3.1 Use Case Diagram Sistem Pengenalan Pola PIN Barcode 27 Gambar 3.2Sequence Diagram Proses Pelatihan JST Backpropagation 28 Gambar 3.3Sequence Diagram Proses Pelatihan JST Perceptron 29 Gambar 3.4Sequence Diagram Proses Pengujian JST Backpropagation 30 Gambar 3.5 Sequence Diagram Proses Pengujian JST Perceptron 31 Gambar 3.6 Activity Diagram Pelatihan JST 32 Gambar 3.7 Activity Diagram Pengujian JST 33

Gambar 3.8 Flowchart Sistem 37

Gambar 3.9 Rancangan Form Prototype 38

Gambar 3.10 Rancangan Form Metodebackpropagation 39 Gambar 3.11 Rancangan Form Metodeperceptron 41 Gambar 3.12 Rancangan Form Ujibackpropagation 42 Gambar 3.13 Rancangan Form Ujiperceptron 44

Gambar 4.1 Form Prototype 46

Gambar 4.2 Form Metodebackpropagation 47

Gambar 4.3 Form Metodebackpropagation Setelah Proses Theshold pada Citra PIN Barcode

47

Gambar4.4 Form Metodeperceptron 48

Gambar4.5 Form Metodeperceptron Setelah Proses Theshold pada Citra PIN

Barcode

49

Gambar4.6 Form Ujibackpropagation 50

Gambar4.7 Form Ujibackpropagation yang Telah Melakukan Pengujian Pola

PIN Barcode

50

Gambar 4.8 Form Ujiperceptron 51

Gambar 4.9 Form Ujiperceptron yang Telah Melakukan Pengujian Pola PIN

Barcode

52

Gambar 4.10 Form Menubantuan 53

Gambar 4.11 Form Bantuanpelatihan 54

Gambar 4.12 Form Bantuanpengujian 55

Gambar 4.13 Hasil Pelatihan JST Backpropagation 56 Gambar 4.14 Hasil Pelatihan JST Perceptron 57


(12)

Hal. Gambar 4.15 Citra Sebelum Uji Pengenalan Metode Backpropagation

Gambar 4.16 Citra Setelah Uji Pengenalan Metode Backpropagation

60 60 Gambar 4.17 Citra Sebelum Uji Pengenalan Metode Perceptron 61 Gambar 4.18 Citra Sesudah Uji Pengenalan Metode Perceptron 61


(13)

DAFTAR TABEL

Hal. Tabel 3.1 Nilai Bobot Lapisan masukan ke Lapisan Tersembunyi (vji)

Tabel 3.2 Bobot Lapisan Masukan ke Lapisan Tersembunyi (wkj) Tabel 3.3 Nilai Suku Perubahan Bobot

Tabel 3.4 Perubahan Bobot Unit Tersembunyi Tabel 3.5 Hasil Iterasi Pertama

Tabel 3.6 Hasil Perhitungan Setelah Diperoleh Bobot dan Bias Baru

Tabel 4.1 Perbandingan Waktu Uji Pengenalan Pola PIN Barcode Metode

Backpropagation dengan metode Perceptron

23 23 24 25 26 26 58 Tabel 4.2 Hasil Uji Pengenalan Metode Backpropagationdengan Citra yang

Belum Mengalami Kerusakan

62 Tabel 4.3 Hasil Uji Pengenalan Metode Perceptron dengan Citra yang Belum

Mengalami Kerusakan

Tabel 4.4 Hasil Uji Pengenalan Metode Backpropagation dengan Citra yang Telah Mengalami Kerusakan

Tabel 4.5 Hasil Uji Pengenalan Metode Perceptron dengan Citra yang Telah Mengalami Kerusakan

64 65 67


(14)

ABSTRAK

Pengenalan pola merupakan salah satu fungsi dari pemanfaatan jaringan saraf tiruan, dimana suatu obyek dikenali polanya sehingga nantinya dapat membantu proses pengenalan dari suatu obyek yang polanya mengalami kerusakan. Pengenalan pola pada jaringan saraf tiruan dapat dilakukan dengan metode backpropagation dan metode perceptron. Pada metode backpropagation jaringan dilatih melalui tiga fase yaitu fase propagasi maju, fase propagasi mundur, dan fase perubahan bobot hingga kondisi penghentian dipenuhi. Sedangkan pada metode perceptron, pelatihan dilakukan dengan setiap pola yang menjadi masukan akan menghasilkan keluaran jaringan kemudian dibandingkan dengan targetnya. Jika berbeda, maka akan dilakukan perubahan bobot terhadap pola yang mengandung kesalahan dengan melakukan iterasi hingga nilai keluaran dan target menjadi sama. Pada sistem ini obyek yang akan dilakukan pengenalan pola yaitu PIN barcode dan jenis barcodenya

yaitu QR-Code. Berdasarkan hasil ujicoba terhadap pola PIN barcode diketahui bahwa metode perceptron dapat mengenali pola lebih optimal daripada metode

backpropagation. Ketepatan pengenalan pola PIN barcode pada pola yang telah

mengalami kerusakan yaitu 70% lebih baik dibandingkan metode backpropagation

yang hanya memiliki ketepatan 60%. Berdasarkan kecepatan waktu pengenalan pola, metode perceptron jauh lebih cepat dalam melakukan pengenalan pola PIN barcode

dengan rata-rata waktu pengenalan pola PIN barcode yaitu 8,693658 detik. Sedangkan rata-rata waktu pengenalan pola PIN barcode metode backpropagation yaitu 14,18654 detik.


(15)

PATTERN RECOGNITION PIN BARCODE IS USING BACKPROPAGATION METHOD AND PERCEPTRON METHOD

ABSTRACT

Pattern recognition is one of the functions of the neural networks, where objects maybe identified by their patterns. This may assist in recognition of objects which patterns are damaged. Pattern recognition in neural networkcan make by using backpropagation and perceptron methods. In Backpropagation method, the network is trained with the pattern through three phases, namely forward propagation, backward propagation, and weights adjustment phases, repeated until the termination condition is met. In the perceptron method, training is performed using input patterns which output are compared to the target. If difference is found, the weights in which the pattern resulted differently will be adjusted. This process is repeated until all output pattern matches the target. In this study the object for recognition is PIN barcode in the form of QR-Code. Testing indicated that perceptron method is more optimal compared to backpropagation in recognizing PIN barcode patterns. The perceptron method has an accuracy at 70% in recognizing damaged PIN barcode patterns, while backpropagation method accuracy is 60 60% for the damaged patterns. Perceptron method is also faster in recognizing PIN barcode with the average time of 8,69658 seconds, while backpropagation method average time is 14,18654 seconds.


(16)

1.1Latar Belakang

Pengenalan pola merupakan salah satu pemanfaatan jaringan saraf tiruan

(neural network). Pengenalan pola dalam jaringan saraf tiruan biasanya

dilakukan dengan cara pelatihan atau proses belajar sehingga nantinya dengan belajar dari pengalaman dapat dikenali pola suatu obyek. Banyak obyek yang bisa dilakukan pengenalan pola. Salah satu obyek yang dapat dianalisa dengan menggunakan teknik pengenalan pola yaitu barcode.

PIN berupa singkatan dari personal identification number merupakan kode yang biasa dijadikan sebagai identitas suatu barang yang biasanya digunakan untuk mempermudah dalam identifikasi atau pengenalan suatu barang secara komputerisasi.

Barcode (kode batang) memiliki pengertian yaitu suatu kumpulan data

optik yang dibaca mesin. Kode batang ini mengumpulkan data dalam lebar (garis) dan spasi garis paralel dan dapat disebut sebagai kode batang atau simbologi linear atau ID (1 dimensi). Tetapi juga memiliki bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi). Selain tak ada garis, sistem 2D sering juga disebut sebagai kode batang. Walaupun ada beragam simbol dan penggunaan tetapi semua tujuan yang sama yaitu mengencode string karakter sebagai garis batang atau spasi[10].

Salah satu pengembangan barcode yang terbaru saat ini yaitu QR-Code


(17)

ditemukan di aplikasi-aplikasi smart phone atau komputer canggih di era modern sekarang ini. Banyaknya pemanfaatan PINbarcode di hampir seluruh dunia yang menyebabkan penulis berkeinginan untuk mengetahui bagaimana melakukan pengenalan pola terhadap obyek PIN barcode (QR-Code). Berdasarkan hal inilah penulis tertarik untuk melakukan pengenalan pola PIN

barcode menggunakan metodebackpropagationdan metode perceptron[10].

1.2Perumusan Masalah

Adapun masalah yang akan dibahas dalam penelitian ini adalah :

1. Bagaimana dapat mengenali suatu pola obyek, khususnya pola dengan obyek PIN barcode.

2. Bagaimana merancang aplikasi pengenalan pola PIN barcode

menggunakan metode backpropagationdan metode perceptron.

1.3Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah :

1. Jenis file citra PIN barcode yaitu file dengan format *.jpg. 2. Ukuran file citra PIN barcode yaitu berukuran 50 x 50 piksel 3. Jenis obyek yang nantinya akan diteliti yaitu QR-Code.

4. Hal yang ingin diketahui dalam pengenalan pola yaitu kecepatan pengenalan pola PIN barcode dan ketepatan pengenalan pola PIN

barcode.

5. Bahasa pemrograman yang digunakan yaitu bahasa pemrograman


(18)

1.4Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah :

1. Membangun aplikasi pengenalan pola PIN barcode menggunakan metode backpropagation dan metode perceptron.

2. Dengan adanya aplikasi yang telah dibangun nantinya dapat diketahui kecepatan dan ketepatan setiap metode dalam melakukan pengenalan pola PIN barcode.

1.5Manfaat Penelitian

Penelitian ini diharapkan dapat membantu masyarakat baik individu maupun kelompok yang nantinya dapat memanfaatkan aplikasi ini untuk mengetahui kesamaan suatu pola PIN barcode, dan nantinya bisa dipakai sebagai tanda pengenal untuk suatu sistem keamanan dan yang untuk bidang lainnya. Kedepannya juga diharapkan penelitian ini menjadi topik yang dapat dikembangkan lebih lanjut oleh peneliti lainnya yang tertarik di bidang jaringan saraf tiruan.

1.6Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :

Bab I Pendahuluan

Berisi latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian dan sistematika penulisan. Bab II Landasan Teori


(19)

Berisi tentang penjelasan singkat mengenai definisi

barcode, pengolahan citra, jaringan saraf tiruan, metode

backpropagation dan metode perceptron.

Bab III Analisis dan Perancangan Sistem

Berisi tentang analisis mengenai proses kerja metode

backpropagation dan metode perceptron dan perancangan

tampilan form dari aplikasi. Bab IV Implementasi dan Pengujian

Berisi tentang algoritma dan implementasi aplikasi yang sesuai dengan analisis dan perancangan.

Bab V Kesimpulan dan Saran

Berisi tentang kesimpulan yang diperoleh setelah menyelesaikan tugas akhir ini dan saran-saran yang dapat diberikan untuk melakukan pengembangan perangkat lunak lebih lanjut.


(20)

2.1. Barcode

Salah satu obyek pengenalan pola yang bisa dipelajari dan akhirnya dapat dikenali yaitu PIN barcode. PIN barcode yang merupakan kode batang yang berfungsi sebagai personal identification number atau nomor identitas personal yang berguna untuk memudahkan proses identifikasi suatu barang atau obyek.

QR-Code merupakan jenis pengembangan baru dari barcode (kode batang). Barcode

yang pada awal perkembangnya dimulai sejak tahun 1932 yang mana ketika itu seseorang bernama Wallace Flint membuat sistem pemeriksaan barang di perusahaan retail.. lalu pada tahun 1928, pemilik toko makanan lokal meminta Drexel Institute of Technology di Philadelphia untuk membuat sistem pembacaan informasi produk selama checkout secara otomatis. Kemudian Bernard Silver dan Norman Joseph Woodland bergabung untuk mencari solusi. Dan hingga akhirnya untuk pertama kalinya barcode (kode batang) dipakai secara komersial adalah pada tahun 1970 ketika Logicon Inc membuat Universal Grocery Indentification

Standart (UGPIC)[10].

Sebuah barcode (kode batang) memiliki pengertian yaitu suatu kumpulan data optik yang dibaca mesin. Kode batang ini mengumpulkan data dalam lebar (garis) dan spasi garis paralel dan dapat disebut sebagai kode batang atau simbologi linear atau 1D (1 dimensi). Tetapi juga memiliki bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi). Selain tak ada garis, sistem 2D sering juga disebut sebagai kode batang. Walaupun ad beragam simbol dan penggunaan tetapi semua tujuan yang sama yaitu mengencode string karakter sebagai garis batang atau spasi[10].Barcode dengan jenis QR-Code dapat dilihat pada gambar 2.1.


(21)

Gambar 2.1 : PIN Barcode (QR-Code)

2.2. Pengolahan Citra

2.2.1. Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan suatu obyek. 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 penyimpanan[9].

Dalam dunia sehari-hari dapat banyak dijumpai berbagai macam bentuk citra, baik itu citra analog ataupun citra digital. Citra analog yaitu seperti foto yang tercetak di kertas foto, gambar sebuah lukisan di kanvas atau ketas, dan lain sebagainya. sedangkan citra digital yaitu seperti citra yang dapat diolah atau diproses oleh komputer dimana citra digital dapat dilihat ketika citra itu berada didalam layar monitor komputer.

2.2.2. Proses Threshold

Proses threshold atau pengambangan merupakan proses dimana citra akan dirubah menjadi citra biner. Citra biner merupakan citra yang hanya memiliki dua nilai yaitu hitam dan putih atau dalam bentuk nilai yaitu 0 dan 1. Pada gambar 2.2 dapat dilihat proses threshold pada suatu citra.


(22)

Gambar 2.2 : Proses Threshold

2.3. Jaringan Saraf Tiruan

Jaringan saraf tiruan merupakan suatu jenis pengelolaan informasi yang terispirasi dari sistem kerja saraf manusia yaitu otak manusia. Jaringan Saraf tiruan (Neural

Network) menjadi salah satu pilihan ketika rumusan persoalan-persoalan yang

dihadapi tidak bisa diselesaikan secara analitik. Dengan mengasumsikan suatu

black box yang kita tidak tahu isinya, neural network akan menemukan pola

hubungan antara input dan output melalui fase pelatihan.

Dalam kategori ini, kita perlu melatih suatu jaringan untuk menemukan parameter model yaitu w dan b yang terbaik. Selanjutnya dengan menggunakan model yang ditemukan kita perlu untuk melakukan tugas prediksi. Nilai parameter w dan b biasanya bukanlah nilai global optimal tetapi lokal optimal. Karena fungsi ongkos dalam neural network yang nonlinear akhirnya menghasilkan solusi yang tidak global setiap kali neural network akan dilakukan training. Ini adalah kelemahan neural network. Tetapi pada prakteknya, walaupun yang dihasilkan adalah solusi yang lokal optimal, neural network memberi solusi prediksi yang cukup akurat [4]. Arsitektur jaringan saraf tiruan dapat dilihat pada gambar 2.3.


(23)

y1 y2 y3

z1 z2 z3

1

1 x1 x2 x3

w02 w03

w11 w\12

w13

w21w22 w23 w31 w32 w33 v01 v02 v03 v11 v12 v13 v21 v22 v23 v31 v32 v33

Gambar 2.3 : Arsitektur Jaringan Saraf Tiruan

2.3.1. Komponen Dalam Jaringan Saraf Tiruan

Jaringan saraf tiruan memiliki komponen yang digunakan dalam membangun suatu arsitektur-arsitektur jaringan. Komponen itu seperti neuron-neuron, dimana neuron ini dikelompokkan ke dalam beberapa lapisan yang mana saling memiliki hubungan satu dengan yang lainnya yang disebut dengan lapisan (layer). Lapisan-lapisan itu antara lain :

1. Lapisan Masukan (Input Layer)

Lapisan masukan merupakan neuron yang menjadi tempat untuk bobot awal yang nantinya akan dimasukkan dan selanjutnya diproses dan nantinya dikirim ke lapisan di atasnya.

2. Lapisan Tersembunyi (Hidden Layer)

Lapisan tersembunyi merupakan lapisan yang letaknya berada diantara lapisan masukan dan lapisan keluaran. Pada lapisan ini bobot yang diterima dari lapisan masukan akan diproses yang pada tahap selanjutnya akan dikirim ke lapisan keluaran. Namun, lapisan tersembunyi ini hanya dapat dilihat pada arsitektur jaringan berlapis banyak (Multi Layer Network).


(24)

Lapisan keluaran merupakan lapisan akhir atau merupakan tujuan akhir dari suatu proses pada suatu arsitektur jaringan dan nantinya akan menghasilkan nilai keluaran.

2.3.2. Arsitektur Jaringan Saraf Tiruan

2.3.2.1.Single Layer Network

Single layer network yang dalam bahasa Indonesia berarti jaringan lapis tunggal

merupakan jaringan yang mana neuron-neuron tersusun dalam suatu lapisan. Disebut lapisan tunggal oleh karena neuron output dari jaringan ini hanya satu.

Jaringan ini hanya memiliki 1 (satu) lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima masukan kemudian secara langsung akan mengolahnya menjadi keluaran tanpa harus melalui lapisan tersembunyi [10].

Dapat dilihat dari gambar 2.4 bagaimana arsitektur dari jaringan lapis tunggal dimana pada gambar terdapat 3 neuron input dan 3 neuron output.

Input layer Output layer

Gambar 2.4 : SingleLayer Network

2.3.2.2. Multi Layer Network

Multi layer network yang berarti jaringan berlapis banyak merupakan suatu


(25)

Dimana lapisan tersembunyi ini letaknya berada di antara lapisan masukan dan lapisan keluaran. Fungsi dari lapisan tersembunyi ini yaitu agar dapat dimungkinkan ekstraksi statistik berorde-tinggi, yang nantinya lapisan ini dapat menyelesaikan permasalahan yang lebih rumit dari permasalahan yang ada pada lapisan tunggal, dengan melakukan pembelajaran yang lebih rumit. Pada jaringan berlapis banyak ini jaringan memiliki perspektif koneksi sinaptik dan interaksi neuron yang lebih banyak. Pada gambar 2.5 dapat dilihat arsitektur dari jaringan berlapis banyak.

Input layer

Input layer Layer of hidden

Output layer

Gambar 2.5 : Multi Layer Network

2.3.2.3.Recurrent Network

Elman network berbeda dengan two-layers network konvensional dalam hal

lapisan pertama mempunyai koneksi yang bersifat recurrent. Elman network

adalah two-layer backpropagation networks, dengan tambahan koneksi umpan balik dari output ke hidden layer ke input. Lintasan umpan balik ini memungkinkan Elman networks untuk mengenali dan membangkitkan pola temporal sebagaimana pola spatial [4].

Dalam recurrent network ini minimal paling sedikit ada satu lintasan umpan balik didalamnya. Lintasan umpan balik mempengaruhi kemampuan belajar dan kinerja jaringan. Adapun arsitektur recurrent dapat dilihat pada gambar 2.6.


(26)

Z

z

z

Gambar 2.6 : Recurrent Network

2.4. Jaringan Saraf Tiruan Backpropagation

Jaringan saraf tiruan memiliki banyak jenis metode yang salah satunya yaitu metode backpropagation. Jaringan saraf tiruan metode backpropagation

merupakan solusi ketika jaringan saraf lapisan tunggal mengalami keterbatasan besar yang mana ketika terjadi kegagalan perceptron dalam menangani masalah XOR. Backpropagationyang terdiri dari beberapa lapisan menjadi solusi bagi para ahli yang menyukai bidang jaringan saraf tiruan.

Metode 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 [6]. Arsitektur backpropagation dapat dilihat pada gambar 2.7.

y2

z1 z2 z3

1

1 x1 x2

v12 w10

w11 w21

w31

v01 v02

v03 v11

v13 v21 v22

v23


(27)

2.4.1. Fungsi Aktivasi

Dalam jaringan saraf tiruan terdapat beberapa fungsi aktivasi yang berguna dalam proses pembelajaran. Berikut beberapa fungsi aktivasinya dalam jaringan saraf tiruan :

1. Fungsi Step (Threshold)

a. Memiliki fungsi aktivasi yaitu : f(x) = �0; x ≤ 0

1; x > 0 ... (1) b. Tidak dapat menyelesaikan masalah yang tidak linier

.

2. Fungsi Sigmoid

Fungsi aktivasi sigmoid merupakan fungsi aktivasi yang memiliki beberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun sehingga fungsi aktivasi ini sering sekali dipakai. Fungsi sigmoid memiliki 2 jenis yaitu fungsi aktivasi

sigmoidbiner yang memiliki range (0,1) dan fungsi aktivasi sigmoid

bipolar yang memiliki range (-1,1). Fungsi aktivassi sigmoid dapat dilihat pada gambar 2.8.

f(x)

=

1

1+�−�dengan turunan f’(x) = f(x) (1-f(x)) ... (2)

Gambar 2.8 : Fungsi Aktivasi Sigmoid

3. Fungsi Aktivasi Identitas

Merupakan fungsi aktivasi yang memiliki nilai keluaran yang sama dengan nilai masukkannya.


(28)

2.4.2.Pelatihan Backpropagation

Pelatihan backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan yang terjadi.

Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di lapisan keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi [6]. Penjelasan mengenai fase-fase pada pelatihan backpropagation seperti pada penjelasan dibawah ini:

1. Fase I : Propagasi maju

Selama propagasi maju, sinyal masukan (= xi) dipropagasikan ke lapisan tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit lapisan tersembunyi (= Zj) tersebut selanjutnya dipropagasikan maju lagi ke lapisan tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (= yk).

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

2. Fase II : Propagasi mundur

Berdasarkan kesalahan tk- yk dihitung faktor δk (k = 1,2, ..., m) yang dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. δk juga dipakai untuk


(29)

mengubah bobot garis yang berhubungan langsung dengan unit keluaran.

Dengan cara yang sama, dihitung faktor δj di setiap unit di lapisan tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di lapisan di bawahnya. Demikian seterusnya hingga semua faktor δdi unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung [6].

3. Fase III : Perubahan bobot

Setelah semua faktor δdihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ neuron di lapisan atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke lapisan keluaran didasarkan atas δk yang ada di unit keluaran [6].

2.4.3.Algoritma Pelatihan

Algoritma pelatihan untuk jaringan backpropagation antara lain sebagai berikut : 1. Langkah 0

Inisialisasi semua bobot dengan bilangan acak kecil 2. Langkah 1

Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9 3. Langkah 2

Untuk setiap data pelatihan , lakukan langkah 3-8

Fase I : Propagasi maju 4. Langkah 3

Tiap unit masukan menerima sinyal dan meneruskan ke unit tersembunyi di atasnya.

5. Langkah 4

Hitung semua keluaran di unit tersembunyi zj (j= 1,2, ..., p (p = banyak variabel))


(30)

z_net j = bjo +

��=1

��

���

... (4)

zj = f(z_netj) =

1

1+�−�_���� ... (5)

6.

Langkah 5

Hitung semua keluaran jaringan di unit yk (k= 1,2, ..., m)

y_net k = bko +

=1

z

j

w

kj ... (6)

yk = f(y_netk) =

1

1+�−�_��� ... (7)

Fase II : Propagasi mundur

7. Langkah 6

Hitung faktor � unit keluaran berdasarkan kesalahan di setiap unit keluaran yk (k=1,2, ..., m)

�k = (tk – yk) f’(y_netk) = (tk – yk) yk (1-yk) ... (8) Hitung suku perubahan bobot wkj (yang akan dipakai nanti untuk merubah bobot wkj) dengan laju percepatan α

Δwkj = α �k zj ; k = 1,2, ..., m ; j = 0,1, ..., p ... (9) 8. Langkah 7

Hitung faktor � unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2, ... , p)

�_netj =

��=1 �k

w

kj... (10)

Faktor � unit tersembunyi :

�j = �_netj f’(z_netj) = �_netj zj(1-zj) ... (11) Hitung suku perubahan bobot vji :

Δvji = α �j xi ; j = 1,2, ..., p ; i = 0,1, ..., n ... (12)

Fase III : Perubahan bobot 9. Langkah 8


(31)

Hitung semua perubahan bobot.

a. Perubahan bobot garis yang menuju ke unit keluaran :

wkj(baru) = wkj(lama) + Δwkj (k = 1,2, ...,m ; j = 0,1, ..., p) ... (13) b. Perubahan bobot garis yang menuju ke unit tersembunyi :

vji(baru) = vji(lama) + Δvji(j = 1,2, ..., m ; i = 0,1, ..., n) ... (14) 10. Langkah 9

Pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. [5]

Keterangan :

Z_netj : sinyal masukan untuk unit tersembunyi Zj Zj : unit tersembunyi j

n : jumlah data pembelajaran

y_netk : sinyal masukan untuk unit keluaran Yk Yk : unit keluaran k

Xi : unit masukan i

Vij : bobot antara lapisan tersembunyi Zj dengan lapisan masukan Xi yang sudah disesuaikan

Wkj : bobot antara lapisan keluaran Yk dengan lapisan masukan Zj yang sudah disesuaikan.

bjo : bias pada unit tersembunyi


(32)

δ k : informasi error pada unit keluaran Yk yang dilakukan propagasi balik ke unit tersembunyi

δ j : informasi error pada unit tersembunyi Zj

ΔVji : koreksi bobot antara lapisan tersembunyi Zj dengan lapisan masukan Xi

δ_net j : jumlah input pada lapisan tersembunyi dari unit pada lapisan keluaran Yk

Δwkj : koreksi bobot antara lapisan keluaran Yk dengan lapisan tersembunyi Zj

α : laju pembelajaran p : banyaknya variabel

2.5. Jaringan Syaraf Tiruan Perceptron

Perceptron termasuk salah satu jaringan saraf yang sederhana. Perceptron

biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan saraf dengan satu lapisan memiliki bobot yang bisa diatur. Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Fungsi aktivasi ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif [2]. Arsitektur perceptron dapat dilihat pada gambar 2.9.


(33)

1

b

Xn X2 X1

Y

wn

w2

w1

Gambar 2.9 : Arsitektur Perceptron

2.5.1. Algortima Pelatihan Perceptron

Berikut ini merupakan algoritma atau langkah-langkah dalam melakukan pelatihan dengan metode perceptron.[6]

1. Inisialisasi semua bobot dan bias (umumnya wi= b=0)

Tentukan laju pembelajaran (=α), dimana laju pembelajaran biasanya diberi nilai antara 0 hingga 1. Agar memudahkan laju pembelajaran dapat dibuat dengan α = 1.

2. Selama ada elemen vektor masukan yang respon unit keluaranannya tidak sama dengan target, lakukan :

a. Set aktivasi unit masukan xi = si (i = 1,...,n) ... (15 b. Hitung respon unit keluaran : net = ∑ �� ��+�

y = f (net) =�

1 jika net > � 0 jika –� ≤ net ≤ �

−1 jika net < −�

... (16)

c. Perbaiki bobot pola yang mengandung kesalahan (y ≠ t) menurut persamaan :

wi (baru) = wi(lama) + Δw (i = 1, ..., n) dengan Δw = α t xi ... (17) b (baru) = b (lama) + Δb dengan Δb = α t ... (18)


(34)

keterangan :

xi : masukan atau input w : bobot

b : bias y : output t : target

� :threshold yang ditentukan (dalam Matlab bernilai 0) n : banyaknya variabel masukan.

α : laju pembelajaran

Ada beberapa hal yang perlu diperhatikan dalam algoritma tersebut :

a. Iterasi dilakukan terus hingga semua pola memiliki keluaran jaringan yang sama dengan targetnya (jaringan sudah memahami pola). Iterasi tidak berhenti setelah semua pola dimasukkan seperti yang terjadi pada model Hebb.

b. Pada langkah 2(c), perubahan bobot hanya dilakukan pada pola yang mengandung kesalahan (keluaran jaringan ≠ target). Perubahan tersebut merupakan hasil kali unit masukan dengan target dan laju pembelajaran. Perubahaan bobot hanya akan terjadi kalau unit masukan ≠ 0.

c. Kecepatan iterasi ditentukan pula oleh laju pembelajaran (=α dengan 0 ≤ α ≤ 1) yang dipakai. Semakin besar harga α, semakin sedikit iterasi ytang diperlukan. Akan tetapi jika α terlalu besar, maka akan merusak pola yang sudah benar sehingga pembelajaran menjadi lambat.


(35)

3.1. Analisis Sistem

Analisis sistem merupakan suatu tahapan yang mana dilakukan untuk membantu memahami sesuatu yang dibutuhkan sistem. Hal ini dimaksud untuk membuat sistem tersebut mengetahui permasalahan-permasalahan yang ada sehingga nantinya dapat membantu didalam proses perancangan model suatu sistem yang nantinya akan diimplementasikan.

3.1.1. Analisis Masalah

Barcode atau dalam bahasa Indonesia berarti kode batang ini memiliki manfaat

untuk membantu pengkodean akan suatu barang yang nantinya akan diatur kembali dengan suatu sistem komputerisasi. Sistem komputerisasi dengan memanfaatkan barcode inilah yang membantu pengaturan, pengecekan, pengidentifikasian barang dan banyak hal lainnya yang dimaksudkan untuk mengurangi tingkat kesalahan yang biasa dilakukan dengan sistem manual yang diakibatkan oleh kesalahan manusia (human error).

Permasalahan yang dihadapi dalam perancangan sisitem ini yaitu masalah pengenalan pola PIN barcode yang dapat membuat pengguna (user) mengalami kesalahan informasi maupun penipuan. Hal-hal itu bisa terjadi ketika user tidak dapat membedakan apakah barcode dalam hal ini QR-Code memiliki informasi berupa PIN (personal identity number) yang sama dikarenakan pola yang sulit dibedakan secara kasat mata. Sehingga dengan adanya sistem ini diharapkan dapat membantu mengenali pola PIN barcode apakah memiliki informasi yang sama atau tidak.


(36)

Permasalahan lainnya yang dapat dialami yaitu apabila PIN barcode

mengalami kerusakan. Diharapkan dengan adanya sistem ini apakah kerusakan dalam barcode tersebut juga menghilangkan informasi didalamnya atau ternyata masih terdapat informasi didalamnya.

3.1.2. Analisis Kebutuhan Sistem

Analisis kebutuhan sistem ini meliputi analisis kebutuhan fungsional sistem dan analisis non-fungsional sistem.

3.1.2.1. Kebutuhan Fungsional Sistem

Sistem pengenalan PIN barcode memiliki kebutuhan fungsional yaitu:

1. Masukan yang berupa pola PIN barcode yang dapat dibaca oleh sistem yaitu yang memiliki format .jpg atau .jpeg.

2. Sistem dapat menghasilkan jaringan saraf tiruan dengan kinerja maksimal, yang mana dapat melakukan pelatihan (training) terhadap pola masukan yang nantinya mendapatkan keluaran (output) sesuai dengan target yang telah ditentukan.

3. Sistem dapat melakukan pengujian dengan melakukan uji pengenalan pola

PIN barcode yang telah dilatih sebelumnya.

4. Sistem dapat menampilkan hasil pengenalan PIN barcode yaitu berupa identitas barcode tersebut yaitu personal identification number (PIN) atau disebut nomor identifikasi.

3.1.2.2. Kebutuhan Non-Fungsional Sistem

Untuk membantu kinerja sistem secara lebih baik, terdapat kebutuhan non -fungsional sistem yaitu:

1. Tampilan antarmuka sistem dapat dimengerti oleh user atau pengguna sistem.


(37)

2. Data yang digunakan oleh sistem haruslah data real atau nyata dan sesuai sehingga dapat menghasilkan pengenalan pola yang tepat dan memberikan informasi yang tepat dan sesuai dengan tidak mengurangi kualitas informasi.

3. Efektifitas dan efisiensi dapat terlihat dari waktu respon antara pengguna dengan sistem.

4. Sistem yang nantinya telah dibuat dapat dikembangkan dengan mudah sehingga sistem dapat tetap digunakan di masa yang akan datang.

3.1.3. Analisis Proses

Dalam sistem ini ada 2 metode yaitu metode backpropagation dan metode

perceptron yang digunakan untuk melakukan pengenalan pola PIN barcode.

Proses pengenalan pola PIN barcode ini yaitu dilakukan pelatihan akan suatu pola

PIN barcode dengan kedua metode tersebut, dimana dalam proses pelatihan

dilakukan penginputan nomor identifikasi setiap barcode yang ingin dilatih. Kemudian dilakukan proses threshold dari citra barcode dan dilakukan proses reduksi data citra tersebut yang pada akhirnya dilakukan pelatihan jaringan saraf tiruan untuk mengetahui pola dari PIN barcode.

Berikut ini akan diberikan contoh analisis perhitungan bagaimana metode

backpropagation dan metode perceptron dalam melakukan pelatihan terhadap

suatu pola. Dengan yang pertama sebagai contoh yaitu penerapan metode (algoritma) backpropagation untuk mengenali fungsi XOR yang memilki 2 masukan x1 dan x2, dimana akan dilakukan iterasi terhadap pola pertama yaitu x1 = 1, x2 = 1 dan t = 0 dengan laju pembelajaran(learning rate) α = 0.2. berikut ini

penyelesaian yang akan dilakukan dengan backpropagation menggunakan 1 lapisan tersembunyi yang terdiri dari 3 unit.

1. Inisialisasi semua bobot (langkah 0 – langkah 3)

Inisialisasi bobot ini akan dilakukan pemberian bobot secara acak seperti contoh pada tabel 3.1 dan tabel 3.2.


(38)

Tabel 3.1 Nilai Bobot Lapisan Masukan ke Lapisan Tersembunyi (vji)

Tabel 3.2 Bobot Lapisan Masukan ke Lapisan Tersembunyi (wkj)

Y z1 0.5 z2 -0.3 z3 -0.4 1 -0.1

2. Hitung keluaran unit tersembunyi (zj) (langkah 4) z_net j = v jo +

��=1

��

���

z_net1 = -0.3+1(0.2)+1(0.3) = 0.2 z_net2 = 0.3+1(0.3)+1(0.1) = 0.7 z_net3 = 0.3+1(-0.1)+1(-0.1) = 0.1 zj = f(z_netj) =

1

1+�−�_����

z1 = 1

1+�−0.2 = 0.55 ; z2 = 1

1+�−0.7 = 0.67 ; z3 = 1

1+�−0.1= 0.52.

3. Hitung keluaran unit yk (langkah 5) y_net k = w ko +

=1

z

j

w

kj

y_netk = y_net = -0.1+0.55(0.5)+0.67(-0.3)+0.52(-0.4) = -0.24 y = f(y_net) = 1

1+�−�_��� =

1

1+�0.24 = 0.44

4. Hitung faktor δ di unit keluaran yk (langkah 6) �k = (tk – yk) f’(y_netk) = (tk – yk) yk (1-yk)

�k= δ = (t – y) y(1 – y) = (0 – 0.44) (0.44) (1 – 0.44) = -0.11 Suku perubahan bobot wkj(dengan α = 0.2):

Δwkj = α �k zj = α �z ; j = 0,1, ..., 3 Δw10 = 0.2 (-0.11)(1) = -0.02

z1 z2 z3 x1 0.2 0.3 -0.1 x2 0.3 0.1 -0.1 1 -0.3 0.3 0.3


(39)

Δw11 = 0.2 (-0.11)(0.55) = -0.01 Δw10 = 0.2 (-0.11)(0.67) = -0.01 Δw10 = 0.2 (-0.11)(0.52) = -0.01

5. Hitung penjumlahan kesalahan dari unit tersembunyi (=δ) (langkah 7) �_netj = �k

w

1j

�_net1 = (0.11)(0.5) = -0.05 �_net2 = (0.11)(-0.3) = 0.03 �_net3 = (0.11)(-0.4) = 0.04

faktor kesalahan δ di unit tersembunyi: �j = �_netj f’(z_netj) = �_netj zj(1-zj) �1 = -0.05(0.05) (1 – 0.05) = - 0.01 �2 = 0.03(0.67) (1 – 0.67) = 0.01 �3 = 0.04(0.52) (1 – 0.52) = 0.01

Suku perubahaan bobot ke unit tersembunyi Δvji = α �j xidapat dilihat pada tabel 3.3. (j = 1,2,3; i = 0,1,2)

Tabel 3.3 Nilai Suku Perubahan Bobot

z1 z2 z3

x1 Δv11 = (0.2) (-0.01)(1) = 0

Δv21 = (0.2) (0.01)(1) = 0

Δv31 = (0.2) (0.01)(1) = 0 x2 Δv12 = (0.2)

(-0.01)(1) = 0

Δv22 = (0.2) (0.01)(1) = 0

Δv32 = (0.2) (0.01)(1) = 0 1 Δv13 = (0.2)

(-0.01)(1) = 0

Δv23 = (0.2) (0.01)(1) = 0

Δv32 = (0.2) (0.01)(1) = 0 6. Hitung semua perubahan bobot (langkah 8)

wkj(baru) = wkj(lama) + Δwkj (k = 1 ; j = 0,1, ..., 3) w11(baru) = 0.5 – 0.01 = 0.49

w12(baru) = -0.3 – 0.01 = -0.31 w13(baru) = -0.4 – 0.01 = -0.41 w10(baru) = -0.1 – 0.02 = -0.12

perubahan bobot unit tersembunyi:


(40)

Tabel 3.4 Perubahan Bobot Unit Tersembunyi

z1 z2 z3

x1 v11 (baru) = 0.2+0

= 0.2

v21 (baru) = 0.3+0

= 0.3

v31 (baru) = -0.1+0 = -0.1 x2 v12 (baru) =

0.3+0 = 0.3

v22 (baru) = 0.1+0

= 0.1

v32 (baru) = -0.1+0 = -0.1 1 v13 (baru) =

-0.3+0 = -0.3

v23 (baru) = 0.3+0

= 0.3

v33 (baru) = 0.3+0

= 0.3

Hasil pada tabel 3.4 merupakan iterasi untuk pola pertama, untuk mengetahui nilai dari 1 iterasi penuh semua pola maka dapat dilakukan iterasi pada pola kedua yaitu x1 = 1, x2 = 0, dan t = 1, pola ketiga yaitu x1 = 0, x2 = 1, dan t = 1, dan pola keempat yaitu x1 = 0, x2 = 0, dan t = 0.

Selanjutnya merupakan contoh penerapan metode (algoritma) perceptron

untuk mengenali pola logika XOR dengan input dan output bipolar, dimana x1 = 1,1,-1,-1 dan x2 = 1,-1,1,-1 dengan target = -1,1,1,-1.

1. inisialisasi bobot(w) dan bias(b) awal yaitu w1 = 0, w2 = 0, dan b = 0 dengan laju pembelajaran (learning rate)α = 1 dan � (threshold) = 0. 2. Lakukan:

a. Set aktivasi unit masukan xi = si (i = 1, ...,n) b. Hitung respon unit keluar: net = ∑ �� ��+�.

net = (x1.w1) + (x2.w2) + b  1*0 + 1*0 + 0 = 0 y = f (net)  y = f(0) = 0

c. Δw = α t xiΔw = 1*1*-1 = -1

w(baru) = w(lama) +Δw  w(baru) = 0+(-1) = -1 Δb = α t Δb = 1*1 = 1

b(baru) = b(lama) +Δb  b(baru) = 0+1 = 1

Perhitungan diatas merupakan 1 penerapan metode (algoritma) perceptron

terhadap 2 variabel dari masukan x1 dan x2. Dibawah ini merupakan perhitungan secara keseluruhan untuk mengenali pola logika XOR dengan metode (algoritma)


(41)

Tabel 3.5 Hasil Iterasi Pertama

input target perubahan bobot bobot baru x1 x2 b t Net y

=f(net)

Δw1 Δw2 Δb w1 w2 b

INISIALISASI 0 0 0

1 1 1 -1 0 0 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 0 -2 0 -1 1 1 1 -2 -1 -1 1 1 -1 -1 -1

-1 -1 1 -1 1 1 1 1 -1 0 0 -2

Dari hasil pada tabel 3.5 maka diperoleh bobot baru yaitu w1 = 0 dan w2 = 0, dan b = -2. Dari hasil ini maka dihitunglah kembali apakah (y = f(net)) = nilai target yang diberikan. Hasil perhitungan tersebut dapat dilihat pada tabel 3.6.

Tabel 3.6 Hasil Perhitungan Setelah Diperoleh Bobot dan Bias Baru

s1 s2 1 t net y 1 1 1 -1 -2 -1 1 -1 1 1 -2 -1 -1 1 1 1 -2 -1 -1 -1 1 -1 -2 -1

Dari hasil pada tabel 3.6 ternyata (y = f(net)) ≠ t, maka dari itu akan dilakukan kembali perhitungan ke iterasi selanjutnya hingga mencapai (y = f(net)) = t.

3.2. Pemodelan

Pada penelitian mengenai pengenalan pola PIN barcode ini digunakan UML sebagai bahasa pemodelan yang berfungsi untuk membantu merancang sistem pengenalan pola PIN barcode. Model UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram, dan activity digaram.

3.2.1. Use Case Diagram

Use case diagram merupakan suatu diagram yang menggambarkan teknik untuk


(42)

menggambarkan interaksi antara pengguna sistem dengan sistem itu sendiri dan memberi suatu penjelasan bagaimana sistem tersebut digunakan. Berikut ini merupakan use case diagram dari sistem yang dirancang dan dibangun oleh penulis ypang dapat dilihat pada gambar 3.1.

Admin

Sistem Pengenalan Pola PIN

Barcode

Pelatihan JST

Uji Pengenalan

Pengguna aktor

metodebackpro pagation

metodepercetron

ujiperceptron

ujibackpropagation

<<include>>

<<include>>

<<include>>

<<include>>

Gambar 3.1 Use Case Diagram Sistem Pengenalan Pola PIN Barcode

3.2.2. Sequence Diagram

Sequence diagram merupakan diagram yang mengambarkan bagaimana

objek-objek saling bersinergi dalam beberapa kebiasaan (behavior). Sequence diagram

menunjukkan sejumlah contoh maupun pesan yang berada atau melewati objek-objek tersebut didalam use case. Berikut ini merupakan gambaran dari sequence

diagram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat


(43)

Input Citra Threshold Reduksi Backpropagation

Imread ( barcode

)

Proses Threshold( Matriks)

Proses Reduksi

Proses Latih

Simpan (Bobot)

( Matriks) )


(44)

Input Citra Threshold Reduksi Perceptron

Imread (Barcode

)

Proses Threshold (Matriks)

Proses Reduksi

Proses Latih

Simpan ( Bobot)

( Matriks) )


(45)

Input Citra Threshold Reduksi Backpropagation

Imread ( Barcode

)

Proses Threshold( Matriks)

Proses Reduksi

Proses Simulasi

Set String (nomor identitas)

( Matriks) )


(46)

Input Citra Threshold Reduksi Perceptron

Imread ( Barcode

)

Proses Threshold( Matriks)

Proses Reduksi

Proses Simulasi

Set String ( nomor identitas)

( Matriks) )

Gambar 3.5 Sequence Diagram Proses Pengujian JST Perceptron

3.2.3. Activity Diagram

Activity diagram merupakan diagram yang berfungsi untuk menggambarkan

logika procedural, jalan kerja suatu sistem. Diagram ini hampir memiliki peran yang sama dengan diagram alir yang mana memungkinkan siapapun yang melaukan proses untuk dapat memilih urutan dalam melakukannya sesuai keinginannya. Berikut ini merupakan activity digram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.6 dan gambar 3.7.


(47)

Aktor menekan tombol cari opendialog dan membaca Citra barcode ke axes

Aktor men-threshold citra barcode

Sistem melakukan threshold pada citra barcode

Aktor mengisi nomor PIN barcode

Aktor menekan tombol simpan data

Sistem menyimpan citra hasil threshold sesuai nomor PIN barcode

Aktor menekan tombol reduksi data

Sistem mereduksi data

Aktor menekan tombol backpropagation/perceptron untuk pelatihan JST backpropagation/perceptron

Sistem melakukan pelatihan terhadap pola PIN barcode

Sistem menampilkan grafik pelatihan Aktor Sistem

Sistem menyimpan bobot pelatihan


(48)

Aktor menekan tombol cari opendialog dan membaca Citra barcode yang akan diuji ke dalam axes

Aktor men-threshold citra barcode

Sistem melakukan threshold pada citra barcode

Aktor menekan tombol uji pengenalan

Sistem melakukan pengujian PIN barcode

Sistem menampilkan hasil pengenalan PIN barcode

Aktor Sistem

Sistem menampilkan waktu pengujian

Gambar 3.7 Activity Diagram Uji Pengenalan

3.3. Pseudocode Program

Pseudocode adalah suatu algoritma yang untuk dapat menjelaskan harus

menggunakan bahasa tingkat tinggi. Bahasa tingkat tinggi adalah bahasa yang dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat mudah dipahami oleh manusia itu sendiri.

3.3.1. Pseudocode Proses Pelatihan JST

THRESHOLD

citra_barcode←imread(fullfile(nama_path, nama_file))

[b k] ←size(citra_grayscale)

nilai_threshold ←threshold

for x←1 to b


(49)

if citra_grayscale(x,y)< threshold

citra_threshold(x,y)←0

elseif citra_grayscale (x,y)>= threshold

citra_threshold (x,y) ←1

end end end

REDUKSI DATA

citra_threshold[A B]← citra_threshold

total_citra_threshold← reshape(citra_threshold,1,2500)

dataawal←total_citra_threshold

prosesdata← mean(dataawal)

[A B] ←size(dataawal)

databaru← dataawal - repmat(prosesdata,A,1)

[A B] ←size(databaru);

for x←1 to A

for y←1 to B

if databaru(x,y)<=0 databaru(x,y) =0 end

end end

olahdata←1/B*(databaru*databaru')

[PC, V] ← (olahdata)

signal← dataawal'* PC


(50)

LATIH JST

input←reduksi_data

[A B]←size(input)

target ← target’

S ← jumlah hidden layer

TF ← fungsi transfer

BTF ←fungsi pelatihan

net ←newff(input, target,[S1 S2...S(N-l)],{TF1 TF2...TF(N-l)},

BTF)

[net,tr] ← train (net,input,target);

3.3.2. Pseudocode Proses Pengujian JST

THRESHOLD

citra_barcode←imread(fullfile(nama_path, nama_file))

[b k] ←size(citra_grayscale)

nilai_threshold ←threshold

for x←1 to b

for y ←1 to k

if citra_grayscale(x,y)< threshold

citra_threshold(x,y)←0

elseif citra_grayscale (x,y)>= threshold

citra_threshold (x,y) ←1

end end end

PENGUJIAN JST

input←reduksi_data

citra_threshold[A B]← citra_threshold

citrauji ←reshape(citra_threshold,1,2500)

citrauji ←citrauji * signal

target ← target’


(51)

3.4. Perancangan Sistem

3.4.1. Perancangan Flowchart Sistem

Langkah awal dalam melakukan perancangan sistem yaitu dengan melakukan perancangan flowchart sistem atau biasa disebut bagan alur konsep awal sistem. Setelah melakukan perancangan flowchart sistem, barulah kita dapat melanjutkan perancangan sistem dengan melakukan perancangan antarmuka sistem (interface

system). Flowchart merupakan bagan yang menampilkan urutan proses dari suatu

sistem. Flowchart memiliki fungsi untuk memudahkan proses pengecekan terhadap sistem yang ingin dibuat apabila ada yang terlupakan dalam analisis masalah. Berikut merupakan flowchart awal dari sistem yang nantinya akan dibangun yang dapat dilihat pada gambar 3.8.


(52)

mulai

Input citra

Proses Threshold

Pelatihan JST

Pengujian JST

selesai Reduksi

Data

Gambar 3.8 Flowchart Sistem

3.4.2. Perancangan Antarmuka (Interface)

Sistem pengenalan pola PIN barcode ini dirancang dengan menggunakan bahasa pemrograman MATLAB 2012. Perancangan antarmuka atau interface ini bertujuan untuk memudahkan interaksi antara manusia dengan komputer sehingga manusia dapat menggunakan sistem dengan baik dan mudah untuk digunakan.


(53)

3.4.2.1. Form Prototype

Form prototype sistem merupakan tampilan utama dalam sistem pengenalan pola

PIN barcode. Adapun tampilan rancangan form prototype dapat dilihat pada gambar 3.9.

Gambar 3.9 Rancangan Form Prototype

Keterangan:

1. Menu Utama

Berfungsi untuk tampilan awal dari sistem pengenalan pola PIN barcode. 2. Menu Pelatihan

Pada menu pelatihan nantinya terbagi lagi menjadi 2 menu yaitu metode

backpropagation dan metode perceptron. Dimana menu pelatihan

berfungsi untuk menghubungkan antarmuka prototype dengan antarmuka metode backpropagation dan metode perceptron.

3. Menu Pengujian

Pada menu pengujian nantinya terbagi lagi menjadi 2 menu yaitu uji

backpropagation dan uji perceptron. Dimana menu pengujian berfungsi

untuk menghubungkan antarmuka prototype dengan antarmuka uji


(54)

4. Menu Bantuan

Berfungsi untuk menghubungkan antarmuka prototype dengan antarmuka bantuan.

5. Menu Keluar

Berfungsi untuk keluar langsung dari sistem.

Berikut merupakan rancangan dari form metodebackpropagation yang dapat dilihat pada gambar 3.10.

3.4.2.2. Form Metodebackpropagation

1

3 2

5

4 6

7

8 9

11

10

Gambar 3.10 Rancangan Form Metodebackpropagation

Keterangan:

1. Textfield

Merupakan tempat untuk memasukkan nomor PIN sebagai identitas dari sebuah barcode.


(55)

2. Axes1

Tempat menampilkan barcode yang akan dimasukkan oleh pengguna. 3. Axes2

Tempat untuk menampilkan hasil threshold yang telah dilakukan terhadap citra dari axes1.

4. SliderThreshold

Untuk mengatur nilai threshold dari citra digital barcode. 5. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.

6. SliderThreshold

Untuk mengatur nilai threshold dari citra digital barcode. 7. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.

8. Tombol Simpan Data

Untuk melakukan penyimpanan data no PIN dan barcode. 9. Tombol Reduksi Data

Untuk mereduksi data hasil threshold sehingga data menjadi lebih kecil. 10. Tombol Reset

Untuk mengosongkan kembali textfield dan axes yang sebelumnya telah diisi oleh pengguna.

11. Tombol Latih JST

Untuk melakukan pelatihan JST backpropagation.

Berikut merupakan rancangan dari form metodeperceptron yang dapat dilihat pada gambar 3.11.


(56)

1

9 8

7 6 4

5

3 2

11

10

Gambar 3.11 Rancangan Form Metodeperceptron

Keterangan:

1. Textfield

Merupakan tempat untuk memasukkan nomor PIN sebagai identitas dari sebuah barcode.

2. Axes1

Tempat menampilkan barcode yang akan dimasukkan oleh pengguna. 3. Axes2

Tempat untuk menampilkan hasil threshold yang telah dilakukan terhadap citra dari axes1.

4. SliderThreshold

Untuk mengatur nilai threshold dari citra digital barcode. 5. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.


(57)

Untuk mengatur nilai threshold dari citra digital barcode. 7. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.

8. Tombol Simpan Data

Untuk melakukan penyimpanan data no PIN dan barcode. 9. Tombol Reduksi Data

Untuk mereduksi data hasil threshold sehingga data menjadi lebih kecil. 10. Tombol Reset

Untuk mengosongkan kembali textfield dan axes yang sebelumnya telah diisi oleh pengguna.

11. Tombol Latih JST

Untuk melakukan pelatihan JST Perceptron.

Berikut merupakan rancangan dari form ujibackpropagation yang dapat dilihat pada gambar 3.12.

3.4.2.4. Form Ujibackpropagation

1

2

3

4

5

6


(58)

Keterangan: 1. Axes1

Tempat menampilkan barcode yang akan dilakukan uji pengenalan.

2. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.

3. SliderThreshold

Untuk mengatur nilai threshold dari citra digital barcode.

4. Tombol Uji Pengenalan

Untuk melakukan pengujian pengenalan pola yang sebelumnya telah dilatih.

5. Tombol Reset

Untuk mengosongkan kembali textfield dan axes yang sebelumnya telah diisi oleh pengguna

6. Textfield

Merupakan tempat untuk dikeluarkan hasil dari uji pengenalan yang berupa nomor identitas barcode yang telah dikenali.

Berikut merupakan rancangan dari form ujibackpropagation yang dapat dilihat pada gambar 3.13.


(59)

3.4.2.5. Form UjiPerceptron

1

2

3

4

5

6

Gambar 3.13 Rancangan Form Ujiperceptron Keterangan:

1. Axes1

Tempat menampilkan barcode yang akan dilakukan uji pengenalan.

2. Tombol Cari

Untuk memasukkan citra digital barcode yang nantinya akan dikenali polanya.

3. SliderThreshold

Untuk mengatur nilai threshold dari citra digital barcode.

4. Tombol Uji Pengenalan

Untuk melakukan pengujian pengenalan pola yang sebelumnya telah dilatih.

5. Tombol Reset

Untuk mengosongkan kembali textfield dan axes yang sebelumnya telah diisi oleh pengguna

6. Textfield

Merupakan tempat untuk dikeluarkan hasil dari uji pengenalan yang berupa nomor identitas barcode yang telah dikenali.


(60)

4.1. Implementasi

Setelah tahap analisis dan perancangan sistem selesai pada bab III, selanjutnya akan dilakukan tahap implementasi dan pengujian terhadap sistem yang telah dibangun. Sistem pengenalan pola PIN barcode ini dibangun dengan menggunakan bahasa pemrograman MATLAB R2012a dan menggunakan

Microsoft Excel 2007. Bahasa pemrograman MATLAB R2012a digunakan penulis

untuk memudahkan penulis membangun sistem ini dan Microsoft Excel 2007

digunakan untuk penyimpanan data pengenalan pola. Pada sistem ini terdapat 8

form yang digunakan yang mana terdiri dari form prototype, form

metodebackpropagation, form metodeperceptron, form ujibackpropagation, form

ujiperceptron, form menubantuan, form bantuanpelatihan, dan form

bantuanpengujian.

4.1.1. FormPrototype

Form prototype merupakan form tampilan awal dari sistem pengenalan pola PIN

barcode ini. Pada form ini terdapat keterangan judul skripsi, nama dan nim

penulis skripsi, serta menu dan submenu sistem yang membantu user

(pengguna)menggunakan sistem ini. Menu sistem itu diantaranya menu pelatihan dengan submenu metode backpropagation dan metode perceptron, menu

pengujian dengan submenu ujibackpropagation dan ujiperceptron, menu bantuan, dan terakhir menu keluar. Adapun tampilan form prototype dapat dilihat pada gambar 4.1.


(61)

Gambar 4.1. Form Prototype

4.1.2. Form Metodebackpropagation

Form metodebackpropagation ini merupakan form yang digunakan untuk

melakukan pelatihan JST dengan metode backpropagation. Dimana citra dimasukkan dengan tombol cari dan kemudian dilakukan proses threshold

terhadap citra PIN barcode dengan tombol slider dan data kemudian disimpan dengan tombol simpan data dengan sebelumnya memberikan identitas citra

barcode tersebut yang berupa No PIN citra barcode. Lalu dilakukan proses

reduksi data untuk menyederhanakan data. Setelah itu barulah dilakukan pelatihan

JST backpropagation dengan tombol backpropagation. Adapun tampilan form


(62)

Gambar 4.2. Form Metodebackpropagation

Gambar 4.3. Form Metodebackpropagation Setelah Proses Threhold pada Citra PIN Barcode


(63)

4.1.3. Form Metodeperceptron

Form metodeperceptron ini merupakan form yang digunakan untuk melakukan

pelatihan JST dengan metode perceptron. Dimana citra dimasukkan dengan tombol cari dan kemudian dilakukan proses threshold terhadap citra PIN barcode

dengan tombol slider dan data kemudian disimpan dengan tombol simpan data dengan sebelumnya memberikan identitas citra barcode tersebut yang berupa No PIN citra barcode. Lalu dilakukan proses reduksi data untuk menyederhanakan data. Setelah itu barulah dilakukan pelatihan JST perceptron dengan tombol

perceptron. Adapun tampilan form metodeperceptron dapat dilihat pada gambar

4.4 dan gambar 4.5.


(64)

Gambar 4.5. Form Metodeperceptron Setelah Proses Threhold pada Citra

PIN Barcode

4.1.4. Form Ujibackpropagation

Pada form ujibackpropagation ini akan dilakukan pengujian pola PIN barcode

yang nantinya akan diambil citra dan dilakukan pengujian apakah akan dikenali citra tersebut atau tidak. Jika dikenali maka hasil dari pengujian akan berupa nomor PIN atau no identitas dari citra tersebut. Untuk melakukan pengujian tersebut, hal pertama yang harus dilakukan yaitu mengambil citra yang akan diuji dengan menekan tombol cari, kemudian lakukan threshold citra dengan slider. Setelah itu lakukanlah pengujian terhadap citra tersebut dengan tombol Uji pengenalan dan jika dikenali maka hasil pengujian akan menampilkan nomor PIN dari citra tersebut.

Jika ingin mengganti citra yang akan diuji maka dapat menekan tombol reset sehingga tampilan citra dan identitasnya akan kembali kosong. Dalam form


(65)

pengenalan pola PIN barcode. Adapun tampilan form ujibackpropagation dapat dilihat pada gambar 4.6 dang gambar 4.7.

Gambar 4.6. Form Ujibackpropagation

Gambar 4.7. Form Ujibackpropagation yang Telah Melakukan Pengujian Pola PIN Barcode


(66)

4.1.5. Form Ujiperceptron

Pada form ujiperceptron ini akan dilakukan pengujian pola PIN barcode yang nantinya akan diambil citra dan dilakukan pengujian apakah akan dikenali citra tersebut atau tidak. Jika dikenali maka hasil dari pengujian akan berupa nomor PIN atau no identitas dari citra tersebut. Untuk melakukan pengujian tersebut, hal pertama yang harus dilakukan yaitu mengambil citra yang akan diuji dengan menekan tombol cari, kemudian lakukan threshold citra dengan slider. Setelah itu lakukanlah pengujian terhadap citra tersebut dengan tombol Uji pengenalan dan jika dikenali maka hasil pengujian akan menampilkan nomor PIN dari citra tersebut.

Jika ingin mengganti citra yang akan diuji maka dapat menekan tombol reset sehingga tampilan citra dan identitasnya akan kembali kosong. Dalam form

ini juga ada tampilan waktu yang berfungsi untuk mencatat waktu pengujian pengenalan pola PIN barcode. Adapun tampilan form ujiperceptron dapat dilihat pada gambar 4.8 dan gambar 4.9.


(67)

Gambar 4.9. Form Ujiperceptron yang Telah Melakukan Pengujian Pola

PIN Barcode

4.1.6. Form Menubantuan

Form menubantuan berfungsi untuk membantu user (pengguna) untuk mengetahui cara penggunaan sistem ini secara khusus pada penggunaan formprototype. Berikut merupakan tampilan form menubantuan yang dapat dilihat pada gambar 4.10.


(68)

Gambar 4.10. Form Menubantuan

4.1.7. Form Bantuanpelatihan

Form bantuanpelatihan berfungsi untuk membantu user (pengguna) untuk mengetahui cara penggunaan sistem ini secara khusus pada penggunaan form

metodebackpropagation dan form metodeperceptron yang digunakan untuk melakukan pelatihan JST. Berikut merupakan tampilan form bantuanpelatihan yang dapat dilihat pada gambar 4.11.


(69)

Gambar 4.11. Form Bantuanpelatihan

4.1.8. Form Bantuanpengujian

Form bantuanpengujian berfungsi untuk membantu user (pengguna) untuk mengetahui cara penggunaan sistem ini secara khusus pada penggunaan form

ujibackpropagation dan form ujiperceptron yang digunakan untuk melakukan pengujian pola PIN barcode. Berikut merupakan tampilan form bantuanpengujian yang dapat dilihat pada gambar 4.12.


(70)

Gambar 4.12. Form Bantuanpengujian

4.2. Pengujian

Pengujian sistem akan dilakukan untuk mengetahui apakah sistem yang telah dibangun dapat mengenali pola PIN barcode baik dengan menggunakan metode

backpropagation maupun dengan menggunakan metode perceptron. Hal lain yang

ingin diketahui yaitu pengenalan pola dengan metode manakah yang lebih cepat dan lebih tepat pengenalan polanya.

4.2.1. Jenis Pengujian

Ada 2 jenis pengujian yang akan dilakukan dalam sistem ini yaitu yang pertama menguji metode manakah yang lebih cepat melakukan pengenalan pola PIN

barcode dan yang kedua metode manakah yang lebih tepat dalam melakukan


(71)

4.2.1.1. Kecepatan Pengenalan Pola PIN Barcode

Dalam hal pertama yang ingin diuji yaitu metode manakah yang lebih cepat, akan dilihat ketika kedua metode ini melakukan pelatihan dan juga uji pengenalan pola

PIN barcode. Berikut ini akan catatan waktu pelatihan pola PIN barcode yang

dilakukan oleh kedua metode.

Gambar 4.13. Hasil Pelatihan JST Backpropagation

Berdasarkan pada gambar 4.13 dapat dilihat pelatihan JST

backpropagation untuk sistem ini menggunakan 20 masukan dari 10 pola PIN


(72)

target. Adapun parameter yang digunakan dalam pengenalan pin barcode metode

backpropagation yaitu menggunakan fungsi aktivasi yaitu tansig (sigmoid

bipolar), jumlahepoch maksimal 20000, laju pemahaman 0,1, momentum 0,1, dan

goal performance yang ingin dicapai yaitu 0,0001.

Gambar 4.14. Hasil Pelatihan JST Perceptron

Selanjutnya dapat dilihat juga pada gambar 4.14 pelatihan JST perceptron

untuk sistem ini. Dalam pelatihan sistem pengenalan pola PIN barcode metode

perceptron dilakukan dengan 20 masukan dari 10 pola PIN barcode dengan 10


(73)

PIN barcode ini yaitu menggunakan fungsi aktivasi hardlim (biner), jumlah epoch

maksimal yaitu 20000 epoch, dan goal performance yaitu 0,0001.

Berdasarkan hasil pelatihan kedua jaringan menggunakan 20 input

(masukan), 10 target, dan goal performance yaitu 0,0001 dapat dilihat bahwa pelatihan dengan metode backpropagation untuk menghasilkan goal performance

0,0001 diperoleh dengan melakukan 13589 epocs (iterasi) dengan waktu 6 menit 15 detik. Sedangkan pelatihan dengan menggunakan metode perceptron untuk menghasilkan goal performance 0,0001 diperoleh dengan melakukan 315

epochs(iterasi) dengan waktu 43 detik.

Proses pengujian metode manakah yang lebih cepat dalam melakukan pengenalan pola PIN barcopdelainnya dilakukan dengan uji pengenalan pola PIN

barcode itu sendiri. Berikut ini tabel yang memuat hasil perbandingan waktu uji

pengenalan pola PIN barcode antara metode backpropagation dengan metode

perceptron.

Tabel 4.1. Perbandingan Waktu Uji Pengenalan Pola PIN Barcode

Metode Backpropagation dengan Metode Perceptron

NO PIN Barcode Waktu Pengenalan

Metode Backpropagation

Waktu Pengenalan Metode Perceptron

1 21A86CC1 15, 319 detik 8,81279 detik 2 21E52EDC 14,5989 detik 8,55597 detik 3 25D6096B 14,7387 detik 8,67031 detik 4 26B5E5C0 14,4071 detik 8,51313 detik 5 27C30B0B 14,2206 detik 8,86298 detik 6 27FBBA4A 13,5135 detik 8,50511 detik 7 29EA3A24 14,0607 detik 8,74541 detik 8 3114AA76 13,805 detik 8,60952 detik 9 231708D0 13,5903 detik 9,23505 detik 10 2585926D 13,6116 detik 8,42631 detik


(74)

Berdasarkan tabel 4.1 dapat dilihat bahwa uji pengenalan dengan metode

backpropagation berkisar antara kurang lebih 13 detik hingga 15,4 detik.

Sedangkan uji pengenalan dengan metode perceptron berkisar antara kurang lebih 8 detik hingga 9,3 detik.

Dilihat dari hasil catatan waktu antara kedua metode yaitu metode

backpropagation dengan metode perceptron yang diperoleh dari hasil pelatihan

dan hasil uji pengenalan dapat disimpulkan bahwa proses pengenalan pola PIN

barcode dengan metode perceptron lebih cepat dibandingkan dengan metode

backpropagation dengan rata-rata waktu pengenalan pola PIN barcode dengan

metode perceptron yaitu 8,693658 detik, sedangkan rata-rata waktu pengenalan pola PIN barcode dengan metode backpropagation yaitu 14,18654 detik.

4.2.1.2. Ketepatan Pengenalan Pola PIN Barcode

Setelah melakukan pengujian dalam hal kecepatan waktu antara metode

backpropagation dan metode perceptron, hal selanjutnya yang akan diuji yaitu

ketepatan pengenalan pola PIN barcode antara kedua metode ini. Dalam pengujian ketepatan pengenalan pola ini yang dilihat dari ketepatan target yang menjadi tujuan dengan output yang dikeluarkan dari hasil uji pengenalan.


(75)

Gambar 4.15. Citra Sebelum Uji Pengenalan Metode Backpropagation


(76)

Gambar 4.17. Citra Sebelum Uji Pengenalan Metode Perceptron


(77)

Berdasarkan gambar 4.15, gambar 4.16, gambar 4.17, dan 4.18 dapat dilihat bahwa ketepatan pengenalan pola sesuai baik dengan metode

backpropagation maupun dengan metode perceptron. Dimana dari kesesuaian

nomor identitas PIN (no PIN) pada panel hasil pengujian menghasilkan hasil yang sesuai dengan identitas PIN barcode pada panel PIN barcode yang ingin dikenali. Hal itu dapat dilihat dari gambar 4.16 dan gambar 4.18.

Di bawah ini tersaji tabel berupa ketepatan pengenalan pola antara citra yang diuji yang merupakan citra asli dari PIN barcode yang belum mengalami kerusakan dengan hasil pengujiannya.

Tabel 4.2. Hasil Uji Pengenalan Metode Backpropagation dengan Citra yang Belum Mengalami Kerusakan

Citra No PIN (Target) Threshold Hasil

21A86CC1 (1000000000)

128 21A86CC1

(1000000000)

21E52EDC (0100000000)

126 21E52EDC

(0100000000)

25D6096B (0010000000)

135 25D6096B

(0010000000)

26B5E5C0 (0001000000)

150 26B5E5C0


(1)

if (output(1,1)<0.6) a(1,1)=0;

else

a(1,1)=1; end

if (output(2,1)<0.6) a(2,1)=0;

else

a(2,1)=1; end

if (output(3,1)<0.6) a(3,1)=0;

else

a(3,1)=1; end

if (output(4,1)<0.6) a(4,1)=0;

else

a(4,1)=1; end

if (output(5,1)<0.9) a(5,1)=0;

else

a(5,1)=1; end

if (output(6,1)<0.9) a(6,1)=0;

else

a(6,1)=1; end

if (output(7,1)<0.9) a(7,1)=0;

else

a(7,1)=1; end

if (output(8,1)<0.9) a(8,1)=0;

else

a(8,1)=1; end

if (output(9,1)<0.9) a(9,1)=0;

else

a(9,1)=1; end

if (output(10,1)<0.9) a(10,1)=0;

else

a(10,1)=1; end


(2)

pin=[a(1,1);a(2,1);a(3,1);a(4,1);a(5,1);a(6,1);a(7,1);a(8,1);a(9,1);a (10,1)];

pin1 = [1; 0; 0; 0; 0; 0; 0; 0; 0; 0;]; pin2 = [0; 1; 0; 0; 0; 0; 0; 0; 0; 0;]; pin3 = [0; 0; 1; 0; 0; 0; 0; 0; 0; 0;]; pin4 = [0; 0; 0; 1; 0; 0; 0; 0; 0; 0;]; pin5 = [0; 0; 0; 0; 1; 0; 0; 0; 0; 0;]; pin6 = [0; 0; 0; 0; 0; 1; 0; 0; 0; 0;]; pin7 = [0; 0; 0; 0; 0; 0; 1; 0; 0; 0;]; pin8 = [0; 0; 0; 0; 0; 0; 0; 1; 0; 0;]; pin9 = [0; 0; 0; 0; 0; 0; 0; 0; 1; 0;]; pin10 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 1;]; if isequal (a,pin1)

edit2='21A86CC1'; elseif isequal (a,pin2) edit2='21E52EDC'; elseif isequal (a,pin3) edit2='25D6096B'; elseif isequal (a,pin4) edit2= '26B5E5C0'; elseif isequal (a,pin5) edit2='27C30B0B'; elseif isequal (a,pin6) edit2='27FBBA4A'; elseif isequal (a,pin7) edit2='29EA3A24'; elseif isequal (a,pin8) edit2='3114AA76'; elseif isequal (a,pin9) edit2= '231708D0'; elseif isequal (a,pin10) edit2= '2585926A'; else

edit2='Tidak Dikenali'; end

set(handles.edit2,'String',edit2); waktuuji = toc(tStart);

set(handles.edit4,'string',waktuuji);

function edit4_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles)

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

set(hObject,'BackgroundColor','white'); end

menubantuan.m

function varargout = menubantuan(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...


(3)

'gui_OpeningFcn', @menubantuan_OpeningFcn, ...

'gui_OutputFcn', @menubantuan_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

function menubantuan_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

function varargout = menubantuan_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

%

-function bantuan_Callback(hObject, eventdata, handles) menubantuan

%

-function keluar_Callback(hObject, eventdata, handles) close menubantuan;

bantuanpelatihan.m

function varargout = bantuanpelatihan(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @bantuanpelatihan_OpeningFcn, ...

'gui_OutputFcn', @bantuanpelatihan_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end


(4)

if nargout

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

gui_mainfcn(gui_State, varargin{:}); end

function bantuanpelatihan_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

function varargout = bantuanpelatihan_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

%

-function bantuanpelatihan_Callback(hObject, eventdata, handles) bantuanpelatihan

%

-function keluar_Callback(hObject, eventdata, handles) close bantuanpelatihan

bantuanpengujian.m

function varargout = bantuanpengujian(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @bantuanpengujian_OpeningFcn, ...

'gui_OutputFcn', @bantuanpengujian_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

function bantuanpengujian_OpeningFcn(hObject, eventdata, handles, varargin)


(5)

handles.output = hObject; guidata(hObject, handles);

function varargout = bantuanpengujian_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

%

-function bantuanpengujian_Callback(hObject, eventdata, handles) bantuanpengujian

%

-function keluar_Callback(hObject, eventdata, handles) close bantuanpengujian


(6)

CURRICULUM VITAE

Nama

: Ardi Hasiholan

Alamat Sekarang

: Jl. Dr. Mansyur No. 70 Asrama Putera-Medan

Alamat Orang tua

: Jl. Lumbu Timur 1A No. 60 Rawalumbu-Bekasi

Telp/Hp

: 082163779327

Email

Riwayat Pendidikan

2009-2013

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2006-2009

: SMA Mahanaim Bekasi

2003-2006

: SMP Negeri 16 Bekasi

1997-2003

: SD Negeri Bojong Rawalumbu XI Bekasi

Keahlian/Kursus yang diikuti