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].
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 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) ๐(1,0) ๐(1,1) f(x,y) โ ๏ฟฝ โฎ โฎ ๐(๐ โ 1,0) ๐(๐ โ 1,0)
โฏ โฏ
๐(0, ๐ โ 1) ๐(1, ๐ โ 1) ๏ฟฝ โฎ โฎ โฏ ๐(๐ โ 1, ๐ โ 1)
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). Masingmasing 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]
2.1.3 Citra Grayscale
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 terdapat dalam citra lebih ditonjolkan. Beberapa operasi perbaikan citra antara 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 kemudian dilakukan pengambangan lokal atas setiap blok itu dengan nilai T yang berbeda. Sebagai contoh, pengambangan dilakukan terhadap daerah citra yang berukuran 3x3 atau 5x5 piksel. Nilai ambangnya ditentukan sebagai fungsi ratarata 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 dan diberi nama. Sidik jari adalah suatu contoh pola. Pola bisa merupakan kumpulan 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 meneruskannya pada neuron lainnya. Diperkirakan manusia memiliki 1012 neuron. Dengan jumlah yang begitu banyak maka otak manusia mampu mengenali pola, melakukan perhitungan, serta mengontrol organ-organ tubuh dengan baik. Neuron 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 yang diterima. Myelin adalah materi lemak yang melindungi syaraf. Fungsinya 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
diimplementasikan
dengan
buatan
digunakan
menggunakan
karena
program
jaringan
komputer
syaraf
yang
ini
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 s,r menyatakan bobot (weight) hubungan dari node (neuron) input r ke node (neuron) 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
pr
โฆโฆโฆ ..โฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆ(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
โฆ...โฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆโฆ...(3)
(w s,r p r )
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 nodenode 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
Memiliki neuron sekitar 100 miliar
Harusnya memiliki sekitar ratusan 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. Sel syaraf tiruan ini biasa disebut processing element, neuron atau unit.
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 1 , โฆ, w n ). Selain bobot, setiap unit 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 dikirim ke lapisan di atasnya yaitu lapisan output.
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]
2.4.2 Arsitektur Jaringan
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. x1 v1
x2
v2
Y
v3 x3
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. x1
v11
v21
v1
z1
2
w1
x2 v 1m
v22
v31
w2
z2 v32
x3
vn1 V3m
Y
v2m w3
vn1 zm vnm
xn
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.
A1
Am
Ai
Aj
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 error di lapisan keluarannya, sehingga pengenalan suatu pola akan segera tercapai. 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) Unsupervised learning merupakan metode pembelajaran dalam Jaringan Syaraf 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. 2. Mekanisme pengujian 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
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 = โ ๐ฅ๐ ๐ค๐ , maka fungsi aktivasinya adalah f(net) = f ( โ ๐ฅ๐ ๐ค๐ ).
Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut:[8] 1. Fungsi threshold (batas ambang) 1 ๐๐๐๐ ๐ฅ โฅ ๐ f (x) = ๏ฟฝ 0 ๐๐๐๐ ๐ฅ < ๐
Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar). Jadi 1 ๐๐๐๐ ๐ฅ โฅ ๐ f (x) = ๏ฟฝ โ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))
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) = ๏ฟฝ0 ๐๐๐๐ โ ๐ โค ๐๐๐ก โค ๐ โ1 ๐๐๐๐ ๐๐๐ก < โ๐
Secara geometris, fungsi aktivasi membentuk 2 garis sekaligus, masing-masing dengan persamaan: w1x1 + w2x2 + โฆ + wnxn + b = ๐
dan
w 1 x 1 + w 2 x 2 + โฆ + w n x n + b = โ๐ 2.5.2
Pelatihan Perceptron
Misalkan: s adalah vektor masukan dan t adalah target keluaran ๐ผ adalah laju pemahaman (learning rate) yang ditentukan ๐ adalah threshold yang ditentukan
Algoritma pelatihan perceptron adalah sebagai berikut : Langkah 0.
Inisialisasi bobot-bobot dan bias. Tentukan angka pembelajaran ฮฑ (0 < ฮฑ โค 1). Tentukan nilai ambang ฮธ ( 0 < ฮธ โค 1)
Langkah 1
Ulangi Langkah 2.
Untuk setiap pasangan latihan s : t, lakukan Langkah 3.
Tentukan aktivasi unit-unit input : xi = si
Langkah 4.
Hitung respons dari unit output: y in = b + โ๐ ๐๐ โ ๐๐
Langkah 5.
1 jika y_in > ฮธ y = ๏ฟฝ0 ๐๐๐๐ โ ๐ โค ๐ฆ_๐๐ โค ๐ โ1 ๐๐๐๐ ๐ฆ๐๐ < โ๐
Updatelah bobot-bobot dan bias jika error terjadi pada pola y Jika y โ t maka w i (baru) = w i (lama) + ฮฑ t x i b(baru) = b(lama) + ฮฑ t Selain itu w i (baru) = w i (lama) b(baru) = b(lama)
Langkah 6.
Sampai kondisi berhenti terpenuhi. Kondisi berhenti adalah kondisi dimana tidak terdapat bobot yang berubah pada langkah 2.
Keterangan : s : sensor t : target xi
:
unit input ke-i
s i : unit sensor ke-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 adalah http://www.qrstuff.com
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.
โข
Format information : Informasi tentang error correction level dan mask pattern.
QR Code dikembangkan sebenarnya adalah untuk mengambil kelebihan dari Pdf147, kepadatan data yang tinggi dari dari Datamatrix, dan kecepatan membaca dari 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 (3600) 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 berikut adalah contoh gambar QR Code yang kotor atau rusak.
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. Tabel 2.2 Spesifikasi QR Code Jenis Simbol Jenis Informasi dan Kapasitas
Koreksi Error
2.6.4
Minimal 21 x 21 Modul dan maksimal 177 x 177 modul dengan peningkatan 1 versi = 4 modul Numerik Maksimum 7089 karakter Alfanumerik Maksimum 4296 karakter 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% Dapat mengembalikan data yang Level Q mengalami kerusakan 25% Dapat mengembalikan data yang Level H mengalami kerusakan 30%
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.
Gambar 2.13 QR Code versi 1 (kiri) dan versi 2 (kanan) [2]