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
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
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
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
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.
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,
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.
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.
DAFTAR ISI
Bab 1 Pendahuluan
1.1 Latar Belakang 1
2.2.2 Proses Threshold 6
2.3Jaringan Saraf Tiruan 7
2.3.1 Komponen Dalam Jaringan Saraf Tiruan 8
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
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
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
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
Hal.
Gambar 4.15 Citra Sebelum Uji Pengenalan Metode Backpropagation
Gambar 4.16 Citra Setelah Uji Pengenalan Metode Backpropagation
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
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
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.
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.
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
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
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.
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
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
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
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
y1 y2 y3
w21w22 w23 w31 w32
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).
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
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
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
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)
=
11+�−�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.
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
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
z_net j = bjo +
∑
��=1��
���
....
... (4) zj = f(z_netj) =1
1+�−�_���� ... (5)
6.
Langkah 5Hitung semua keluaran jaringan di unit yk (k= 1,2, ..., m)
y_net k = bko +
∑
��=1z
jw
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 �kw
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
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
δ 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].
1
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
c. Perbaiki bobot pola yang mengandung kesalahan (y ≠ t) menurut
persamaan :
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
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
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
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
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��
���
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 Suku perubahan bobot wkj(dengan α = 0.2):
Δ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)
Tabel 3.3 Nilai Suku Perubahan Bobot
z1 z2 z3
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:
Tabel 3.4 Perubahan Bobot Unit Tersembunyi
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.
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)
Tabel 3.5 Hasil Iterasi Pertama
input target perubahan bobot bobot baru x1 x2 b t Net y
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 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
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
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
Input Citra Threshold Reduksi Backpropagation
Imread ( barcode
)
Proses Threshold( Matriks)
Proses Reduksi
Proses Latih
Simpan (Bobot)
( Matriks) )
Input Citra Threshold Reduksi Perceptron
Imread (Barcode
)
Proses Threshold (Matriks)
Proses Reduksi
Proses Latih
Simpan ( Bobot)
( Matriks) )
Input Citra Threshold Reduksi Backpropagation
Imread ( Barcode
)
Proses Threshold( Matriks)
Proses Reduksi
Proses Simulasi
Set String (nomor identitas)
( Matriks) )
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
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
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
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
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’
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
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
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
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
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.
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.
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
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
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
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. 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
Gambar 4.2. Form Metodebackpropagation
Gambar 4.3. Form Metodebackpropagation Setelah Proses Threhold pada
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.
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
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
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.
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
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
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