Anda di halaman 1dari 18

1

1. Rencana Judul
Pengenalan Pola PIN Barcode Menggunakan Metode Backpropagation dan
Metode Kohonen.

2. Bidang Ilmu
Jaringan Syaraf Tiruan

3. Latar Belakang
Pengenalan pola merupakan salah satu pemanfaatan jaringan syaraf tiruan
(neural network). Pengenalan pola dalam jaringan syaraf 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
(cube barcode). PIN barcode yang dalam hal ini berjenis QR-Code dapat
ditemukan di aplikasi-aplikasi smart phone atau komputer canggih di era
modern sekarang ini. Banyaknya pemanfaatan pin barcode 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 metode Backpropagation dan metode Kohonen[10].

4. Perumusan 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 Backpropagation dan metode Kohonen.

5. Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah :
1. Pengenalan pola hanyalah dengan menggunakan metode Backpropagation
dan metode Kohonen.
2. Jenis obyek yang nantinya akan diteliti yaitu QR-Code.
3. Hal yang ingin diketahui dalam pengenalan pola yaitu kecepatan
pengenalan pola PIN barcode dan ketepatan pengenalan pola PIN barcode.

6. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah :
1. Membangun aplikasi pengenalan pola PIN barcode menggunakan metode
Backpropagation dan metode Kohonen.
2. Dengan adanya aplikasi yang telah dibangun nantinya dapat diketahui
kecepatan dan ketepatan setiap metode dalam melakukan pengenalan pola
PIN barcode.

7. Manfaat 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 syaraf tiruan.

8. Tinjauan Pustaka
Di dalam penulisan tugas akhir ini, penulis mengambil beberapa tinjauan
pustaka yang dijadikan sebagai bahan dalam mendukung penyusunan tugas
akhir ini. Adapun tinjauan pustaka tersebut antara lain sebagai berikut :

8.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 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 ad beragam simbol dan
penggunaan tetapi semua tujuan yang sama yaitu mengencode string karakter
sebagai garis batang atau spasi[10].

Gambar 1 : PIN Barcode (QR-Code)

8.2. Pengolahan Citra


8.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[10].
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.

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

Gambar 2 : Proses threshold

8.3. Jaringan Syaraf Tiruan


Jaringan syaraf tiruan merupakan suatu jenis pengelolaan informasi yang
terispirasi dari sistem kerja syaraf manusia yaitu otak manusia. Jaringan
Syaraf 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 training. Neural Networks masuk salam kategori supervised learning.
Dalam kategori ini, kita perlu melatih suatu networks 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 ditraining. Ini adalah kelemahan neural network. Tetapi pada
prakteknya, walaupun yang dihasilkan adalah solusi yang lokal optimal,
neural network memberi solusi prediksi yang cukup akurat [3].

Gambar 3 : Arsitektur Jaringan Syaraf Tiruan

8.3.1. Komponen Dalam Jaringan Syaraf Tiruan


Jaringan syaraf 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).
3. Lapisan Keluaran (Output Layer)
Lapisan keluaran merupakan lapisan akhir atau merupakan tujuan akhir
dari suatu proses pada suatu arsitektur jaringan dan nantinya akan
menghasilkan nilai keluaran.
8.3.2. Arsitektur Jaringan Syaraf Tiruan
8.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 dibawah bagaimana arsitektur dari jaringan
lapis tunggal dimana pada gambar terdapat 3 neuron input dan 3 neuron
output.

Output
layer

Input layer

Gambar 4 : Single-Layer Network

8.2.2.2. Multi Layer Network


Multi layer network yang berarti jaringan berlapis banyak merupakan suatu
jaringan yang mana memiliki satu atau lebih lapisan tersembunyi (hidden
layers). Dimana lapisan tersembunyi ini letaknya berada dianatara 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.
Input layer

Layer of
hidden

Output
layer

Input layer

Gambar 5 : Multi Layer Network

8.2.2.3. Recurrent Network


Elman network berbeda dengan two-layers network konvensional dalam hal
layer pertama mempunyai koneksi yang bersifat recurrent. Elman network
adalah two-layer backpropagation networks, dengan tambahan koneksi
feedback dari output ke hidden layer ke input. Lintasan feedback ini
memungkinkan Elman networks untuk mengenali dan membangkitkan pola
temporal sebagaimana pola spatial [3].
Dalam recurrent network ini minimal paling sedikit ada satu feedback
loop didalamnya. Feedback loop mempengaruhi kemampuan belajar dan
kinerja jaringan.

Gambar 6 : Recurrent network


8.3. Jaringan Syaraf Tiruan Backpropagation
Jaringan syaraf tiruan memiliki banyak jenis metode yang salah satunya yaitu
metode backpropagation. Jaringan syaraf tiruan metode backpropagation
merupakan solusi ketika jaringan syaraf layer tunggal mengalami keterbatasan
besar yang mana ketika terjadi kegagalan perceptron dalam menangani masalah
XOR. Backpropagation yang terdiri dari beberapa layar menjadi solusi bagi para
ahli yang menyukai bidang jaringan syaraf 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 [5].

Gambar 7 : Arsitektur Backpropagation

8.3.2. Fungsi Aktivasi


Dalam jaringan syaraf tiruan terdapat beberapa fungsi aktivasi yang berguna
dalam proses pembelajaran. Berikut beberapa fungsi aktivasinya dalam jaringan
syaraf tiruan :
1. Fungsi Step (Threshold)
a. Memiliki fungsi aktivasi yaitu :
f(x) {
b. Tidak dapat menyelesaikan masalah yang tidak linier.
2. 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 sigmoid biner yang memiliki
range (0,1) dan fungsi aktivasi sigmoid bipolar yang memiliki range (-1,1).
f(x)

dengan turunan f(x) = f(x) (1-f(x))

Gambar 8 : fungsi aktivasi sigmoid

10

3. Fungsi Aktivasi Identitas


Merupakan fungsi aktivasi yang memiliki nilai output yang sama dengan
nilai inputnya
f(x) = x

8.3.3. Pelatihan Standar Backpropagation


Pelatihan backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pla
masukan dihitung maju mulai dari layar masukan hingga layar 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 layar keluaran. Fase ketiga adalah
modifikasi bobot untuk menurunkan kesalahan yang terjadi [5].
1. Fase I : Propagasi maju
Selama propagasi maju, sinyal masukan (= xi) dipropagasikan ke layar
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari
setiap unit layar tersembunyi (= Zj) tersebut selanjutnya dipropagasikan
maju lagi ke layar 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 [5].
2. Fase II : Propagasi mundur
Berdasarkan kesalahan tk- yk dihitung faktor k (k = 1,2, ..., m) yang dipakai
untuk mendistribusikan kesalahn di unit yk ke semua unit tersembunyi yang
terhubung langsung dengan yk. k juga dipakai untuk mengubah bobot garis
yang berhubungan langsung dengan unit keluaran.

11

Dengan cara yang sama, dihitung faktor j di setiap unit di layar


tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari
unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua
faktor di unit tersembunyi yang berhubungan langsung dengan unit
masukan dihitung [5].
3. Fase III : Perubahan bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor neuron di layar atasnya.
Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran
didasarkan atas k yang ada di unit keluaran [5].

8.3.4. Algoritma Pelatihan


Algoritma pelatihan untuk jaringan backpropagation antara lain sebagai berikut :
1. Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil
2. Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9
3. Langkah 2
Untuk setiap data pelatihan , lakukan langkah 3-8
Fase I : Propagasi maju
4. Langkah 3
Tiap unit masukan menerima sinyal dan meneruskan ke unit tersembunyi di
atasnya.
5. Langkah 4
Hitung semua keluaran di unit tersembunyi zj (j= 1,2, ..., p)
z_net j = v jo +

xi vji

zj = f(z_netj) =

6. Langkah 5
Hitung semua keluaran jaringan di unit yk (k= 1,2, ..., m)
y_net k = w ko +

zj wkj

12

yk = f(y_netk) =

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)

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

8. Langkah 7
Hitung faktor

unit tersembunyi berdasarkan kesalahan di setiap unit

tersembunyi zj (j=1,2, ... , p)


_netj = +

Faktor

wkj

unit tersembunyi :
j=

_netj f(z_netj) = _netj zj(1-zj)

Hitung suku perubahan bobot vji :


vji =

j xi

; j = 1,2, ..., p

; i = 0,1, ..., n

Fase III : Perubahan bobot


9. Langkah 8
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)

b. Perubahan bobot garis yang menuju ke unit tersembunyi :


vji(baru) = vji(lama) + vji
10. Langkah 9

(j = 1,2, ..., m ; i = 0,1, ..., n)

13

Pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.


[5]
Keterangan :

8.4. Jaringan Syaraf Tiruan Kohonen


Metode jaringan syaraf berikutnya yang akan dijelaskan yaitu jaringan syaraf
Tiruan Kohonen. Jaringan yang ditemukan oleh kohonen merupakan salah satu
jaringan yang banyak dipakai. Jaringan kohonen dipakai untuk membagi pola
masukan kedalam beberapa kelompok (cluster)[5].
Jaringan kohonen ini terdiri dari dua lapis. Lapis pertama merupakan lapisan
masukan yang mempunyai fungsi untuk menerima sinyal masukan, sedangkan
lapis kedua adalah lapis kompetitif yang merupakan unit pengolah pada suatu
jaringan. Biasanya sel-sel lapis kompetitif disusun dalam kisi-kisi dua dimensi
atau urutan linier. Ketika lapis pada jaringan kohonen terhubung penuh (fully
connected), yaitu setiap unit pada lapis masukan harus terhubung ke semua unit
pada lapis kompetitif[7].

8.4.2. Algoritma Pelatihan


Algoritma pelatihan untuk jaringan kohonen antara lain adalah sebagai berikut :
1. Langkah
Inisialisasi
a. Bobot wji (acak)
b. Laju pemahaman awal dan faktor penurunannya
c. Bentuk dan jari-jari topologi sekitarnya

2. Langkah 1
Selama kondisi penghentian bernilai salah, lakukan langkah 2-7
3. Langkah 2
Untuk setiap vektor masukan x, lakukan langkah 3-5
4. Langkah 3

14

Hitung D(j) =

(wji xi)2 untuk semua j

5. Langkah 4
Tentukan indeks J sedemikian hingga D(J) minimum
6. Langkah 5
Untuk setiap unit j di sekitar J modifikasi bobot :
wjibaru = wjilama + (xi wjilama)
7. Langkah 6
Modifikasi laju pemahaman
8. Langkah 7
Uji kondisi penghentian

Gambar 9 : Arsitektur Kohonen

8.5. Tinjauan Penelitian yang Berhubungan


Aditya Wibowo, dkk., dengan judul Pengenalan Huruf Jawa Tulisan Tangan
Menggunakan Jaringan Saraf tiruan Perambatan Balik Dengan Fuzzy Feature
Extraction. Penelitian ini membahas bagaimana dapat melakukan pengenalan
pola huruf jawa tulisan dengan metode bperambatan balik ini nantinya akan
menghasilkan tingkat pengenalan sebesar 84,1% dan faktor yang mempengaruhi
tingkat pengenalan pada pengujian data yaitu akuisisi citra, pelatihan jaringan,
ekstraksi ciri, pola citra yang diuji dan data latih.
Maharani

Dessy Wuryandari dan

Irawan

Afrianto

dengan judul

Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation dan LVQ Pada


Pengenalan Wajah. Penelitian ini membahas bagaimana dapat mengenali wajah

15

dengan membandingkan dua metode diatas dan nantinya dapat diketahui tingkat
akurasi dan waktu tercepat antara kedua metode tersebut.

9.

Perancangan Sistem

mulai

Input
citra

Proses
Threshold

Latih JST

Pengujian
JST

selesai

Gambar 10 : Flowchart Sistem

16

10. Metodologi Penelitian


Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah
sebagai berikut:
a. Studi Literatur
Melakukan studi kepustakaan melalui penelitian berupa buku mengenai
barcode dan jaringan syaraf tiruan, jurnal dan artikel-artikel yang relevan.
b. Metode Penelitian
Metode ini dilaksanakan dengan melakukan penelitian terhadap obyek
yang nantinya akan dilakukan pengenalan pola dan melakukan penelitian
mengenai penerapan metode yang dipakai dalam melakukan pengenalan
pola PIN barcode.
c. Analisis dan perancangan
Metode ini dilaksanakan dengan melakukan analisis terhadap permasalahn
yang ada dan batasan masalah yang dimiliki dan menggunakan flowchart
sebagai gambaran sistem sehingga dapat diperoleh rancangan yang
terstruktur dan jelas.
d. Implementasi
Metode ini dilaksanakan dengan mengimplementasikan rancangan sistem
yang telah dibuat pada impelementasi sistem menggunakan bahasa
pemrograman Matlab.
e. Pengujian
Metode ini dilaksanakan dengan melakukan pengujian terhadap sistem
dengan melakukan proses pengenalan pola dan kemudian pengujian pola
yang telah di implementasikan.
f. Dokumentasi
Metode ini dilaksanakan dengan membuat dokumentasi dalam bentuk
laporan tugas akhir.

17

Jadwal Kegiatan
Jadwal kegiatan penulisan tugas akhir ini dapat dilihat pada tabel 1
Tabel 1 Jadwal Kegiatan Pembuatan Tugas Akhir

Disetujui oleh,

Medan, 25 Maret 2013

Dosen Pembimbing I

Mahasiswa

Dr. Poltak Sihombing, M.Kom

Ardi Hasiholan

NIP.196203171991031001

NIM.091401072

Dosen Pembimbing II

18

Dian Wirdasari, S.Si, M.Kom


NIP.198209232010122002

Beri Nilai