• Tidak ada hasil yang ditemukan

Pengenalan Pola Pin Barcode Menggunakan Metode Backpropagation dan Metode Perceptron

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pengenalan Pola Pin Barcode Menggunakan Metode Backpropagation dan Metode Perceptron"

Copied!
113
0
0

Teks penuh

(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

(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

(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

(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

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

(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

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

(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

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

(12)

Hal.

Gambar 4.15 Citra Sebelum Uji Pengenalan Metode Backpropagation

Gambar 4.16 Citra Setelah Uji Pengenalan Metode Backpropagation

(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

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

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

(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

(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

(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

(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

(23)

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

(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

(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

(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

(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

(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

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

(33)

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 :

(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

(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

(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

(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

(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

��

���

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

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

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:

(40)

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)

(41)

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

(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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

Gambar

Gambar 2.9 : Arsitektur Perceptron
Tabel 3.5 Hasil Iterasi Pertama
Gambar 3.5 Sequence Diagram Proses Pengujian JST Perceptron
Gambar 3.7 Activity Diagram Uji Pengenalan
+7

Referensi

Dokumen terkait

Untuk mengetahui Implementasi Program Bantuan Operasional Sekolah (BOS) Pada Seksi Pembinaan Sekolah Menengah Pertama di Dinas Pendidikan dan Kebudayaan Daerah

Mata Pelajaran Nilai Rata-rata Rapor1. Nilai

Data akan ditransmisikan kedalam jaringan server untuk disimpan didalam database dan dapat diakses melalui website sesuai dengan IP address dari sensor tersebut..

Sukmono.1975. Jakarta : BP Musium Ronggowarsito. Kol eksi pust aka al am.. Pada jaman purbakala hutan, sungai, lembah, gunung masih asli karena belum terjamah oleh budidaya

Pada analisis regresi linier, diperoleh nilai R yang menunjukkan korelasi antara motivasi dan nilai bahasa Indonesia nilai R 0,120 menyatakan bahwa hubungan

Dengan mengolah data pendidikan (data pokok) yang terdiri dari data pokok Sekolah Menengah Atas (SMA) dan data pokok Sekolah Menengah Kejuruan (SMK) dapat dibuat

Pada penelitian ini bertujuan untuk menerapkan proses pencarian layanan pada satu group Wi-Fi Direct dengan algoritma Simple Service Discovery Protocol (SSDP)

 Mutu pendidikan tinggi adalah tingkat kesesuaian antara penyelenggaraan pendidikan tinggi dengan Standar Pendidikan Tinggi yang terdiri atas Standar Nasional Pendidikan Tinggi