BAB 2 LANDASAN TEORI 2.1 Pengolahan Citra - Perancangan Pengenal QR (Quick Response) Code Dengan Jaringan Syaraf Tiruan Metode Perceptron

BAB 2 LANDASAN TEORI

2.1 Pengolahan Citra

  Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik - teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk dalam bidang ini juga adalah pemampatan citra (image compression). Perubahan kontras citra adalah contoh operasi pengolahan citra. Contoh pengolahan citra lainnya adalah penghilangan derau (noise).

  Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila:

  1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.

  2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur.

  3. Sebagian citra perlu digabung dengan bagian citra yang lain. [6]

2.1.1 Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari 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. [11]

  “Citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, dan pemindai (scanner), sehingga bayangan objek yang disebut citra terekam” [6].

  1. Optik berupa foto.

  2. Analog berupa sinyal video, seperti gambar pada monitor televisi.

  3. Digital yang dapat langsung disimpan pada suatu pita magnetik.

2.1.2 Digitalisasi Citra

  Citra ada dua jenis, yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.

  Agar dapat diolah dengan komputer digital, maka suatu citra harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (lebar x tinggi).

  Citra digital yang berukuran M X N lazim dinyatakan dengan matriks yang berukuran M baris dan N kolom sebagai berikut: (0,0) (0,1) ⋯ (0, − 1) (1,0) (1,1) ⋯ (1, − 1) f(x,y)

  ≈ � �

  ⋮ ⋮ ⋮ ⋮ Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan) pada titik (i,j). Masing- masing elemen pada citra digital (berarti elemen matriks) disebut image element,

  

picture element atau pixel atau pel. Jadi, citra yang berukuran M X N mempunyai MN

  buah pixel. [6] Untuk mendapatkan citra grayscale (keabuan) digunakan rumus: I(x,y) = α.R + β.G + γ.B Dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan mengatur komposisi warna R (merah), G (hijau) dan B (biru) yang ditunjukkan oleh nilai parameter α, β, dan γ. Secara umum, nilai α, β, dan γ adalah 0.33. Nilai yang lain juga dapat diberikan untuk ketiga parameter tersebut asalkan total keseluruhan nilainya adalah 1. [8]

2.1.4 Citra Biner

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

  Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode barang (bar code) yang tertera pada label barang, dan citra hasil pemindaian dokumen teks. [6]

2.1.5 Operasi Pengolahan Citra

  Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat dikelompokkan dalam beberapa jenis, yaitu:

  1. Perbaikan kualitas citra (image enhancement) Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang lain: perbaikan kontras gelap/terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna (pseudocoloring), dan penapisan derau (noise filtering).

  2. Pemugaran citra (image restoration) Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra, penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra, yaitu penghilangan kesamaran (deblurring), atau penghilangan derau (noise).

  3. Pemampatan citra (image compression) Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan citra adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode JPEG.

  4. Segmentasi citra (image segmentation) Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.

  5. Analisis citra (image analysis) Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadang kala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya. Contoh- contoh operasi analisis citra, yaitu: pendeteksian tepi objek (edge detection), ekstraksi batas (boundary), dan representasi daerah (region).

  6. Rekonstruksi citra (image reconstruction) Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis.

  Misalnya, beberapa foto rontgen dengan sinar-X digunakan untuk membentuk ulang gambar organ tubuh. [6]

2.1.6 Pengambangan

  Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang memiliki dua tingkat keabuan, yaitu hitam dan putih. Secara umum, proses pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut[6]: g(x,y) =

  �

  1 ( , ) ≥

  1 ( , ) <

  � dengan g(x,y) citra biner dari citra grayscale f(x,y), dan T menyatakan nilai ambang.

  Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat bergantung pada nilai T yang digunakan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar berwarna terang (0 atau putih).

  Dua pendekatan yang digunakan dalam operasi pengambangan, yaitu:

  1. Pengambangan global (Global thresholding) Pada pengambangan global, seluruh piksel pada citra dikonversi menjadi hitam atau putih dengan satu nilai ambang T. Cara yang umum menentukan nilai T adalah dengan membuat histogram citra. Jika citra mengandung satu buah objek dan latar belakangnya mempunyai nilai intensitas yang homogen, maka citra tersebut umumnya mempunyai histogram bimodal (mempunyai dua puncak atau dua buah maksimum lokal). Nilai T dipilih pada nilai minimum lokal yang terdapat di antara dua puncak. Dengan cara seperti ini, kita tidak hanya mengkonversi citra grayscale ke citra biner, tetapi sekaligus melakukan segmentasi objek dari latar belakangnya. Kemungkinan besar pada pengambangan global akan banyak informasi hilang karena hanya menggunakan satu nilai T untuk keseluruhan piksel. Untuk mengatasi masalah ini dapat digunakan pengambangan secara local adaptive.

  2. Pengambangan lokal (Locally Adaptive Thresholding) Pada pengambangan lokal, suatu citra dibagi menjadi blok-blok kecil dan berbeda. Sebagai contoh, pengambangan dilakukan terhadap daerah citra yang berukuran 3x3 atau 5x5 piksel. Nilai ambangnya ditentukan sebagai fungsi rata- rata derajat keabuan di dalam daerah citra tersebut. Intensitas piksel yang berbeda secara signifikan dari nilai rata-rata tersebut dianggap mengandung informasi kontras dan ini harus dipertahankan dalam citra biner. Dengan pengambangan secara lokal adaptif, secara subjektif citra biner yang dihasilkan terlihat lebih menyenangkan dan sedikit informasi yang hilang.

2.2 Pengenalan Pola

  Pola adalah entitas. Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi.

  Secara luas, ciri adalah semua hasil pengukuran yang bisa diperoleh. Ciri juga bisa menggambarkan karakteristik objek yang dipantau. Contoh dari ciri level rendah adalah intensitas sinyal. Ciri bisa berupa simbol, numerik, atau keduanya. Contoh dari ciri simbol adalah warna. Contoh dari ciri numerik adalah berat. Ciri bisa diperoleh dengan mengaplikasikan algoritma ekstraksi ciri pada data masukan. Ciri dapat dinyatakan dengan variabel kontinu, diskrit, atau diskrit-biner. Ciri biner dapat digunakan untuk menyatakan ada tidaknya suatu ciri tertentu.

  Ciri yang baik memiliki syarat sebagai berikut: mudah dalam komputasi, memiliki tingkat keberhasilan yang tinggi, dan besarnya data dapat diperkecil tanpa menghilangkan informasi penting.

  Secara umum, pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat dari objek. Pola sendiri merupakan suatu entitas yang terdefenisi dan dapat diidentifikasi hasil pengukuran atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks.

  Struktur sistem pengenalan pola ditunjukkan oleh gambar berikut. Perhatikan bahwa sistem terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan bergantung pada pendekatan yg dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.

  Prapengolahan adalah transformasi masukan data mentah untuk membantu kemampuan komputasional dan pencari ciri serta untuk mengurangi derau. Pada prapengolahan citra (sinyal) yang ditangkap sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan ciri. Kualitas ciri yang dihasilkan pada pemisahan ciri sangat bergantung pada hasil prapengolahan.

  Klasifikasi merupakan tahap untuk mengelompokkan masukan data pada satu atau beberapa kelas berdasarkan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri. [8]

2.3 Jaringan Syaraf Biologi

  Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan sinyal yang diberikan neuron lain dan

  12 meneruskannya pada neuron lainnya. Diperkirakan manusia memiliki 10 neuron.

  Dengan jumlah yang begitu banyak maka otak manusia mampu mengenali pola, memiliki 3 komponen utama, yaitu dendrit, badan sel (soma) dan akson. Gambar 2.1 berikut menunjukkan gambar struktur neuron pada otak manusia.

Gambar 2.1 Struktur Neuron pada Otak Manusia[8]

  Pada dasarnya neuron memiliki 4 daerah utama, yaitu:

  1. Dendrit Dendrit merupakan suatu perluasan dari soma yang menyerupai rambut dan bertindak sebagai saluran untuk menerima masukan dari sel syaraf lainnya melalui sinapsis.

  2. Sel Tubuh atau Soma Sel tubuh atau soma merupakan jantungnya sel yang memiliki inti (nucleus). Soma bertugas memproses nilai masukan dari semua dendrit yang terhubung dengannya menjadi suatu output. Soma memiliki dua cabang yaitu dendrit dan akson.

  3. Akson Neuron biasanya hanya memiliki satu akson yang tumbuh dari bagian soma dan disebut dengan akson hillock. Akson menyalurkan sinyal elektrik yang dihasilkan pada bagian bawah dari akson hillock. Sinyal elektrik digunakan untuk menyampaikan informasi (sinyal) ke otak dengan semua sinyal sama. Oleh karena itu, otak menentukan jenis informasi yang diterima berdasarkan jalur yang membawa sinyal. Otak kemudian menganalisis dan menafsirkan jenis informasi seperti lapisan pelindung pada kabel listrik dan memudahkan syaraf untuk mengirim impulsnya dengan cepat. Tidak semua bagian akson terbungkus dengan

  myelin . Bagian yang tidak terbungkus ini disebut nodus ranvier. Pada nodus ini,

  sinyal yang mengalir dan mengalami penurunan akan diperkuat lagi. Hal ini akan memastikan bahwa perjalanan sinyal pada akson mengalir cepat dan tetap konstan.

  4. Sinapsis (Synapse) Sinapsis merupakan bagian kontak (tempat) terjadinya pertukaran sinyal antar dua neuron. Neuron sebenarnya secara fisik tidak berhubungan. Mereka dipisahkan oleh synaptic cleft. Neuron yang mengirim sinyal disebut dengan sel presynaptic dan neuron yang menerima sinyal disebut dengan sel postsynaptic.[8]

2.4 Jaringan Syaraf Tiruan

  Jaringan syaraf tiruan atau Artificial Neural Network yang sering disingkat dengan ANN merupakan jaringan neural yang meniru prinsip kerja dari neuron otak manusia (neuron biologis). ANN pertama kali muncul setelah model sederhana dari neuron buatan diperkenalkan oleh McCulloch dan Pitts pada tahun 1943. Model sederhana tersebut dibuat berdasarkan fungsi neuron biologis yang merupakan dasar unit pensinyalan dari sistem syaraf. [8]

  Jaringan syaraf tiruan memiliki beberapa kemampuan seperti yang dimiliki otak manusia, yaitu:

  1. Kemampuan untuk belajar dari pengalaman

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

  3. Kemampuan memisahkan (abstraction) karakteristik penting dari input yang mengandung data yang tidak penting. [8] Jaringan Syaraf Tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran berlangsung. Dikarenakan sebagai generalisasi model matematika dari jaringan syaraf biologi, maka Jaringan Syaraf Tiruan diasumsikan sebagai berikut:

  1. Pengolahan informasi terjadi pada elemen pemrosesan yang disebut neuron.

  2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.

  3. Setiap penghubung antar neuron memiliki nilai bobot.

  4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi terhadap total input jaringan (penjumlahan bobot input). [7] Pemodelan ANN (Artificial Neural Network) merupakan pemodelan dengan menggunakan pendekatan pemodelan black box. Prinsip kerja ANN didasari pada mekanisme kerja penyaluran informasi sistem NN. Namun demikian, karena keterbatasan yang dimiliki oleh struktur ANN maka hanya sebagian kecil saja dari kemampuan sistem syaraf manusia dapat ditiru. Gambar 2.2 berikut menunjukkan ilustrasi model ANN buatan. [9]

Gambar 2.2 Ilustrasi model ANN[9] Gambar 2.2 di atas dapat dijelaskan sebagai berikut.

  p r menyatakan sinyal input dari node input ke i = 1, 2, …, r, dengan r menyatakan jumlah input. w menyatakan bobot (weight) hubungan dari node (neuron) input r ke node (neuron)

  s,r yang dituju j, j = 1, 2, …, s, dengan s menyatakan jumlah neuron.

  n menyatakan total (jumlah) sinyal terbobot yang masuk ke node s atau sering juga disebut sebagai tingkat pengaktifan (activation level) di node s.

  

f menyatakan fungsi transfer (transfer function) yang akan menentukan keluaran dari

node s dan tergantung pada nilai n.

  a s menyatakan sinyal yang keluar (outgoing signal) atau output dari node s. Nilai n dari model di atas dapat dihitung dengan rumus: n = w s,r p r

  ……… ..………………………………………………………(1) sedangkan keluaran node yang dinyatakan dengan a dapat ditentukan sebagai berikut.

  a = f (n) ..……………………………………………………………..(2) seringkali kedua formula di atas digabung menjadi satu seperti berikut. a = f (w p )

  s,r r

  …...……………………………………………………...(3)

  Secara ringkas prinsip kerja neuron dapat dinyatakan sebagai berikut. Pada suatu neuron, sinyal input (diterima oleh dendrit) akan masuk ke node (soma). Pada node terjadi proses penjumlahan sinyal-sinyal input yang telah terbobot (dinyatakan sebagai w s,r p r ) dan dilambangkan dengan n. Penjumlahan sinyal-sinyal terbobot tersebut (n) diproses menjadi sinyal output (a) dengan menggunakan suatu fungsi aktivasi. Sinyal output ini kemudian diteruskan ke neuron lain oleh akson (sinyal pada akson).

  Proses seperti di atas terjadi pada setiap node dan berjalan secara independen (terpisah). Akan tetapi, hasil proses di tiap node akan mempengaruhi hasil dari

  

networks secara keseluruhan karena output dari suatu node menjadi input untuk node-

node yang lainnya (node di lapisan berikutnya).

  Fungsi aktivasi menyatakan perlakuan suatu node terhadap input. Keluaran suatu neuron sangat tergantung pada fungsi aktivasi yang digunakan. Berikut disajikan tabel perbandingan antara sistem NN dan sistem ANN, sehingga menjadi lebih jelas prinsip kerja NN yang ditiru oleh ANN.

Tabel 2.1 Perbandingan NN dengan ANN

  NN ANN Soma (sel tubuh) Node

  Dendrites Sinyal input Sinyal pada akson Sinyal output

  Synapsis Bobot Memiliki kecepatan rendah Memiliki kecepatan tinggi

  Harusnya memiliki sekitar ratusan Memiliki neuron sekitar 100 miliar neuron

  Karakteristik dari Jaringan Syaraf Tiruan adalah:

  1. Arsitektur Jaringan : pola hubungan antar neuron

  2. Algoritma pembelajaran : metode yang menentukan nilai bobot penghubung 3. Fungsi aktivasi : menentukan nilai output berdasarkan total nilai input-nya.

2.4.1 Komponen Jaringan Syaraf Tiruan

  Seperti otak manusia, Jaringan Syaraf Tiruan juga memiliki neuron yang merupakan dasar dari operasi Jaringan Syaraf Tiruan yang berfungsi untuk memproses informasi.

  Masing-masing neuron akan meneruskan informasi yang diterimanya menuju neuron lainnya. Hubungan antar neuron ini disebut edge dan memiliki nilai yang disebut bobot atau weight (disimbolkan dengan w ). Selain bobot, setiap unit

  1 , …, w n

  juga memiliki input, output, dan error. Input yang disimbolkan dengan x i (x

  1 , …, x n )

  merupakan nilai atau angka yang ingin dilatih maupun untuk diuji di dalam suatu jaringan dimana nilainya harus berupa angka sedangkan output yang disimbolkan dengan y i (y

  1 , …, y n ) merupakan hasil keluaran dari suatu unit yang merupakan solusi

  atau pemahaman jaringan terhadap data input, sedangkan error merupakan tingkat kesalahan yang terdapat dalam suatu unit proses yang telah dilakukan. Dalam jaringan terkadang ditambah sebuah unit input yang nilainya selalu sama dengan 1, unit ini disebut bias.

  Jaringan Syaraf Tiruan memiliki banyak neuron yang tersebar di seluruh bagiannya. Masing-masing neuron dikelompokkan ke dalam beberapa lapisan dan memiliki hubungan satu dengan yang lain disebut dengan layer.

  Layer terdiri dari beberapa bagian, yaitu:

  1. Lapisan masukan (input layer) Lapisan ini merupakan tempat dimana seluruh lapisan bobot awal dimasukkan (inisialisasi input) yang selanjutnya diproses untuk dikirim ke lapisan di atasnya.

  2. Lapisan tersembunyi (hidden layer) Lapisan ini merupakan lapisan di antara lapisan masukan dan lapisan keluaran.

  Disini bobot yang diterima dari lapisan input juga diproses untuk selanjutnya

  3. Lapisan keluaran (output layer) Lapisan ini merupakan lapisan akhir pada arsitektur jaringan dimana nilai output dari jaringan dihasilkan. Pada lapisan ini ditetapkan nilai output aktual untuk dibandingkan dengan nilai output target untuk mengetahui apakah jaringan sudah sesuai dengan hasil yang diinginkan.[7]

  Arsitektur jaringan merupakan salah satu hal terpenting dalam Jaringan Syaraf Tiruan selain dari neuron dan algoritma pembelajaran. Arsitektur jaringan terbagi menjadi tiga jenis, yaitu:

  1. Jaringan lapis tunggal (single layer network) Jaringan lapis tunggal merupakan jaringan yang hanya memiliki satu buah lapisan dengan bobot-bobot yang terhubung. Jaringan ini hanya menerima nilai input dan secara langsung mengolahnya untuk menjadi nilai output tanpa melalui lapisan tersembunyi. Jaringan lapis tunggal dapat dilihat pada gambar 2.3 di bawah ini.

  x

  1 v

  1

v

  

2

x Y

  2

  3 v x

  3 Gambar 2.3 Jaringan Lapis Tunggal

  2. Jaringan multilapis (multilayer network) Jaringan multilapis merupakan jaringan yang memiliki satu buah atau lebih lapisan di antara lapisan input dan lapisan output. Jaringan multi lapis ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan jaringan lapis tunggal walaupun memiliki tingkat kerumitan yang tinggi serta membutuhkan waktu yang lama dalam proses pelatihannya. Jaringan multi lapis dapat dilihat pada gambar 2.4 di bawah ini.

  x 1 v 11 z v 21 1 v 12 w 1 x 2 v 1m v 22 w 2 z 2 Y v 31 v 32 v 2m x 3 v n1 3 w

  V 3m v n1 z m v nm x n

Gambar 2.4 Jaringan Multi lapis

  3. Jaringan kompetitif (competitive layer network) Jaringan kompetitif sering disebut feedback loop karena unit output ada yang memberikan informasi terhadap unit masukan. Jaringan kompetitif dapat dilihat pada gambar 2.5 berikut ini.

  

A A

1 m

A i A j

Gambar 2.5 Jaringan Kompetitif

2.4.3 Model Pelatihan Jaringan Syaraf Tiruan

  Seperti halnya otak manusia yang membutuhkan pembelajaran dalam mengenali sesuatu, pada Jaringan Syaraf Tiruan juga demikian. Setiap neuron dibangun untuk dilatih dalam mempelajari pola yang akan diinginkan. Pada saat pelatihan dilakukan, nilai dari masing-masing hubungan neuron ditetapkan untuk menentukan output. Semakin banyak pelatihan yang dilakukan maka akan semakin kecil tingkat dari suatu Metode pembelajaran Jaringan Syaraf Tiruan terdiri dari dua cara:

  1. Supervised Learning (pembelajaran dengan pengawasan)

  Supervised Learning merupakan metode pembelajaran dalam Jaringan Syaraf

  Tiruan dimana output target yang diinginkan telah diketahui sebelumnya dan diharapkan setelah proses pelatihan output target tercapai. Pada metode pembelajaran ini pasangan data (masukan-keluaran) dipakai untuk melatih jaringan. Pada proses pembelajarannya pola masukan diberikan pada lapisan input untuk terus dirambatkan sampai pada lapisan output. Nilai yang diperoleh dari proses perhitungan pola pada pembelajaran lapisan output akan dicocokkan denganpola output target awal. Jika diperoleh perbedaan antara kedua nilainya maka akan muncul error. Apabila nilai error belum sesuai dengan yang diinginkan maka pelatihan akan terus dilakukan dengan terus memodifikasi bobot sampai dihasilkan error yang sesuai. Model Jaringan Syaraf Tiruan yang menggunakan metode supervised learning adalah perceptron, ADALINE, dan backpropagation .

  2. Unsupervised Learning (pembelajaran tanpa pengawasan) merupakan metode pembelajaran dalam Jaringan Syaraf

  Unsupervised learning Tiruan yang tidak memerlukan output target dalam proses pembelajarannya.

  Pelatihan dilakukan hanya pada data input saja. Model Jaringan Syaraf Tiruan yang menggunakan metode unsupervised learning adalah kohonen, hebbian, dan lain-lain.

  Pada umumnya operasi model jaringan dalam Jaringan Syaraf Tiruan terbagi atas dua mekanisme kerja, yaitu:

  1. Mekanisme pelatihan atau belajar Pada mekanisme ini jaringan dilatih untuk menghasilkan data yang sesuai dengan

  output target yang diinginkan melalui satu atau lebih pasangan data (masukan dan

  keluaran). Semakin banyak pelatihan pada tiap siklusnya (epoch) dilakukan maka target yang diinginkan akan segera tercapai.

  Pada mekanisme ini jaringan diuji apakah dapat mengenali pola yang baru dengan data input yang berbeda dari data pelatihan setelah proses pelatihan dilakukan.

2.4.4 Fungsi Aktivasi

  ∑ , maka fungsi aktivasinya adalah f(net) = f

  ( ∑ ).

  Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut:[8]

  Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net masukan (kombinasi linier masukan dan bobotnya). Jika net =

  1 ≥ <

  Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar). Jadi f (x) =

  �

  1 ≥

  −1 <

  2. Fungsi sigmoid f(x) =

  1 1+ −

  Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1 dan dapat diturunkan dengan mudah. f'(x) = f(x) (1-f(x))

  1. Fungsi threshold (batas ambang) f (x) = �

  3. Fungsi identitas f(x) = x Fungsi identitas sering dipakai apabila kita menginginkan keluaran jaringan berupa sembarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1]

2.5 Perceptron

  Model jaringan perceptron ditemukan oleh Rosenblatt(1962) dan Minsky – Papert (1969). Model tersebut merupakan model yang memiliki aplikasi dan pelatihan yang paling baik pada era tersebut.

2.5.1 Arsitektur Jaringan Perceptron

  Arsitektur jaringan perceptron ditunjukkan pada gambar 2.6 di bawah ini

Gambar 2.6 Arsitektur Jaringan Syaraf Tiruan metode Perceptron[3]

  Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi bukan merupakan fungsi biner (atau bipolar), tetapi memiliki kemungkinan nilai -1, 0, atau 1.

  Untuk suatu harga threshold yang ditentukan:

  1 > f(net) =

  � − ≤ ≤ Secara geometris, fungsi aktivasi membentuk 2 garis sekaligus, masing-masing dengan persamaan:

  • w
  • … + w
  • b = dan

  w 1 x

  1

  2 x

  2

  n x n w

  1 x 1 + w 2 x 2 + … + w n x n + b =

  −

2.5.2 Pelatihan Perceptron

  s adalah vektor masukan dan t adalah target keluaran

  −1 <

  (lama)

  Selain itu w i (baru) = w i b(baru) = b(lama)

  i

  (lama) + α t x b(baru) = b(lama) + α t

  Jika y ≠ t maka w i (baru) = w i

  ∑ ∗ Langkah 5. Updatelah bobot-bobot dan bias jika error terjadi pada pola y

  − = b +

  θ − ≤ _ ≤

  adalah laju pemahaman (learning rate) yang ditentukan adalah threshold yang ditentukan Algoritma pelatihan perceptron adalah sebagai berikut : Langkah 0. Inisialisasi bobot-bobot dan bias.

  y = � 1 jika y_in >

  in

  y

  Misalkan:

  Langkah 2. Untuk setiap pasangan latihan s : t, lakukan Langkah 3. Tentukan aktivasi unit-unit input : x i = s Langkah 4. Hitung respons dari unit output:

  θ ( 0 < θ ≤ 1) Langkah 1 Ulangi Langkah 6. Sampai kondisi berhenti terpenuhi.

  Tentukan angka pembelajaran α (0 < α ≤ 1). Tentukan nilai ambang

  i

  Kondisi berhenti adalah kondisi dimana tidak terdapat bobot yang berubah pada langkah 2. Keterangan : s : sensor t : target s : unit sensor ke-i

  i

  w i : bobot ke-i b : bias y : unit respons (output) α : angka pembelajaran θ : nilai ambang i : 1,…,n dimana n adalah banyaknya unit input Perceptron menggunakan fungsi aktivasi atau fungsi transfer (f) hard limit. Fungsi ini mempunyai dua jenis output yaitu 0 dan 1. Gambar 2.7 berikut ini merupakan gambar dan symbol dari fungsi aktivasi hard limit.

Gambar 2.7 Fungsi aktivasi hard limit

2.6 QR Code

  

Barcode adalah suatu kumpulan data optik yang dapat dibaca oleh mesin. Manusia

  tidak bisa membacanya karena barcode ini berbentuk gambar lebar garis dan spasi garis pararel atau simbologi linear 1D (1 dimensi). Selain 1D (1 dimensi), ada juga bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi) atau QR Code.

  Kode QR (Quick Response) atau biasa dikenal dengan istilah QR Code adalah bentuk evolusi barcode dari satu dimensi menjadi dua dimensi. Kode QR adalah suatu jenis kode matriks atau barcode dua dimensi dengan fungsionalitas utama yaitu dapat dengan mudah dibaca dan untuk menyampaikan informasi dengan cepat dan mendapatkan respons yang cepat pula. Berbeda dengan barcode, yang hanya menyimpan informasi secara horizontal, kode QR mampu menyimpan informasi secara horizontal dan vertikal, oleh karena itu secara otomatis Kode QR dapat menampung informasi yang lebih banyak daripada barcode.

  QR Code adalah simbol matriks dua dimensi yang terdiri dari sebuah untaian

  kotak persegi yang disusun dalam sebuah pola persegi yang lebih besar. Kotak persegi ini kemudian disebut sebagai modul. Luasnya pola persegi ini akan menentukan versi dari QR Code. Gambar 2.8 berikut adalah salah satu contoh bentuk QR Code.

Gambar 2.8 QR Code

  Isi pesan yang terkandung dalam QR Code tersebut adal

2.6.1 Struktur QR Code

  

QR Code memiliki bagian-bagian yang akan dipaparkan pada gambar 2.9 di bawah

ini.

Gambar 2.9 Struktur QR Code [2]

  Gambar di atas menyajikan struktur dari sebuah QR Code. Istilah – istilah yang berkenaan dengan QR Code adalah :

  • Finding Pattern : Pola untuk mendeteksi posisi dari QR Code.
  • Timing pattern : Pola yang digunakan untuk identifikasi koordinat pusat dari QR Code . Dibuat dalam bentuk modul hitam putih bergantian.
  • Version Information : Versi dari sebuah QR Code. Versi terkecil adalah 1 ( 21 x 21 modul dan versi terbesar adalah 40 (177 x 177 modul).
  • Quiet Zone : Daerah kosong dibagian terluar QR Code yang mempermudah mengenali pengenal QR oleh sensor CCD.
  • QR Code version : Versi QR Code. Pada contoh gambar versi yang digunakan adalah versi 3 (29 x 29 modul).
  • Data : Daerah tempat data tersimpan (dikodekan).
  • Alignment Pattern : Pola yang digunakan untuk memperbaiki penyimpangan QR Code terutama distorsi non linier.

  QR Code dikembangkan sebenarnya adalah untuk mengambil kelebihan dari

  , kepadatan data yang tinggi dari dari Datamatrix, dan kecepatan membaca dari

  Pdf147

Maxicode . Simbol dua dimensi umumnya berisi lebih banyak data jika dibandingkan

  dengan simbol linier, kurang lebih 100 kali lebih banyak [10].

2.6.2 Karakteristik QR Code

  Karakteristik dari kode dua dimensi QR Code adalah dapat menampung jumlah data yang besar. Secara teori sebanyak 7089 karakter numerik maksimum data dapat tersimpan di dalamnya, kerapatan tinggi (100 kali lebih tinggi dari kode simbol linier) dan pembacaan kode dengan cepat. QR Code juga memiliki kelebihan lain baik dalam hal unjuk kerja dan fungsi.

  a. Pembacaan Data dari Segala Arah (360 ) Pembacaan kode matriks dengan menggunakan sensor kamera CCD (Charge

  Coupled Device) dimana data akan memindai baris per baris dari citra yang

  ditangkap dan kemudian disimpan dalam memori. Dengan menggunakan suatu perangkat lunak tertentu, detail citra akan dianalisa, finding pattern akan dikenali dan posisi simbol dideteksi. Setelah itu proses pembacaan kode akan diproses. Sedangkan pada simbol linier ataupun kode dua dimensi dimensi lain akan memakan lebih lama waktu untuk mendeteksi letak atau sudut ataupun besar dari simbol tersebut.

  QR Code memiliki finding pattern untuk memberitahukan letak simbol matriks

  dua dimensi QR Code yang disusun pada ketiga sudutnya. Hal inilah yang membuat QR Code dapat dibaca dari segala arah atau 360 derajat. Rasio antara modul hitam dan modul putih pada finding pattern-nya selalu 1:1:3:1:1 Dengan rasio ini, finding pattern dapat mendeteksi keberadaan citra yang ditangkap sensor. Sebagai tambahan, dengan adanya ketiga finding pattern maka pengkodean akan lebih cepat dua puluh kali dibandingkan kode matriks lain. Gambar 2.10 berikut ini menggambarkan finding pattern QR Code.

Gambar 2.10 Salah satu Finding Pattern QR Code [10]

  b. Ketahanan terhadap Penyimpangan simbol Simbol matriks 2 dimensi akan rentan terhadap penyimpangan bentuk ketika ditempatkan pada permukaan yang tidak rata (bergelombang) sehingga sensor pembaca menjadi miring karena sudut antara sensor CCD dan simbol matriks 2 dimensi ini telah berubah. Untuk memperbaiki penyimpangan ini, QR Code memiliki perata pola (alignment pattern) yang menyusun dengan jarak yang teratur dalam suatu daerah. Alignment pattern akan memperhitungkan titik pusat dengan daerah terluar dari simbol matriks, sehingga dengan cara ini penyimpangan linier maupun non-linier masih dapat terbaca. Gambar 2.11 berikut ini adalah contoh penyimpangan yang terjadi pada QR Code.

Gambar 2.11 Jenis Penyimpangan pada QR Code [10]

  c. Fungsi Pemulihan Data (Ketahanan terhadap kotor maupun kerusakan) QR Code mempunyai empat tingkatan koreksi error (7%, 15%, 25% dan 30%).

  Dalam mengendalikan kerusakan yang diakibatkan kotor ataupun rusak, QR Code memanfaatkan algoritma Reed-Solomon yang tahan terhadap kerusakan tingkat tinggi. Jadi, ketika QR Code akan digunakan dalam lingkungan yang rawan kerusakan akibat lingkungan, disarankan menggunakan koreksi error 30%.

Gambar 2.12 Kerusakan pada QR Code [10]

  d. Kemampuan enkode karakter Kanji dan Kana Jepang

  QR Code berkembang pesat di negara Jepang. Hal ini yang menyebabkan

  perkembangan QR Code untuk dapat menerima input data berupa karakter yang non-alfabetis. Ketika pembuatan QR Code dengan inputan berupa huruf Jepang, maka data tersebut akan diubah kedalam bentuk biner 16 bit (2 byte) untuk karakter tunggal sedangkan untuk gabungan karakter akan di-enkode dalam biner 13 bit. Hal ini memberikan keuntungan lain dimana proses enkode huruf Jepang akan meningkatkan efisien 20 % lebih banyak dari kode simbol dua dimensi lain. Dimana dengan volume data yang sama akan dapat dibuat pada area pencetakan yang lebih kecil.

  e. Fungsi Linking pada Simbol

  QR Code memiliki kemampuan dapat dipecah menjadi beberapa bagian dengan

  maksimum pembagian adalah 16 bagian [10]. Dengan fungsi linking ini maka QR

Code dicetak pada daerah yang tidak terlalu luas untuk sebuah QR Code tunggal.

  f. Proses Masking Proses Masking pada QR Code berperan sangat penting dalam hal penyusunan modul hitam dan modul putih agar memiliki jumlah yang seimbang. Untuk memungkinkan hal ini digunakan operasi XOR yang diaplikasikan diantara area data dan daerah mask pattern. Ada sebanyak delapan mask pattern dalam QR

  Code yang kesemuanya itu dalam bentuk biner tiga bit.

  2.6.3 Spesifikasi QR Code

  Spesifikasi yang lebih jelas tentang level-level QR code dijelaskan pada tabel dibawah ini.

  QR Code

Tabel 2.2 Spesifikasi

  Minimal 21 x 21 Modul dan maksimal 177 x 177 Jenis Simbol modul dengan peningkatan 1 versi = 4 modul

  Numerik Maksimum 7089 karakter Jenis Informasi dan Alfanumerik Maksimum 4296 karakter

  Kapasitas Biner Maksimum 2953 karakter Huruf Kanji Maksimum 1817 karakter

  Dapat mengembalikan data yang Level L mengalami kerusakan 7%

  Dapat mengembalikan data yang Level M mengalami kerusakan 15%

  Koreksi Error Dapat mengembalikan data yang

  Level Q mengalami kerusakan 25% Dapat mengembalikan data yang

  Level H mengalami kerusakan 30%

  2.6.4 Versi QR Code dan Ukurannya

  Ada 40 jenis ukuran dari QR Code yang dinyatakan dengan versi 1, versi 2, hingga versi 40. Versi 1 berukuran 21 x 21 modul, versi 2 berukuran 25 x 25 modul dan seterusnya dimana apabila versi meningkat satu maka jumlah modul akan meningkat sebanyak 4 modul x 4 modul.

  QR Code versi 1 (kiri) dan versi 2 (kanan) [2] Gambar 2.13