BAB 2 LANDASAN TEORI
Pada bab ini dijelaskan teori-teori dan konsep-konsep yang mencakup pengenalan pola (pattern recognition), karakter mandarin, dan metode-metode yang digunakan yaitu Transformasi Wavelet Diskrit dan Counterpropagation Neural Network. 2.1
Pengenalan Pola (Pattern Recognition) Pengenalan pola (pattern recognition) dapat diartikan sebagai proses klasifikasi
dari objek atau pola menjadi beberapa kategori atau kelas dan bertujuan untuk pengambilan keputusan (Theodoridis dan Koutroumbas, 2006, p.1). Pola adalah bentuk atau model (atau, lebih abstrak, suatu kumpulan peraturan) yang dapat dipakai untuk membuat atau untuk menghasilkan suatu atau bagian dari sesuatu, khususnya jika sesuatu yang ditimbulkan cukup mempunyai suatu yang sejenis untuk pola dasar yang dapat ditunjukkan atau terlihat, yang mana sesuatu itu dikatakan memamerkan pola. Deteksi pola dasar disebut pengenalan pola. Pengenalan pola digunakan untuk mengenai objek kompleks dari suatu sifat dari objek yang akan dikenali ciri-ciri dari objeknya. Pengenalan pola secara formal dapat dideskripsikan sebagai sebuah proses yang menerima pola (pattern) atau sinyal berdasarkan hasil pengukuran yang kemudian diklasifikasikan ke dalam suatu atau lebih kategori tertentu (Haykin, 1999, p.67).
9
10
Metode klasifikasi yang digunakan pada sistem pengenalan pola memiliki dua jenis pendekatan. Pendekatan statistik dan pendekatan struktural. Pengenalan pola statistik berdasarkan pada karateristik statistikal dari pola-pola yang ada dengan asumsi bahwa pola-pola tersebut dihasilkan oleh sebuah sistem probabilistik. Pengenalan pola struktural berdasarkan pada hubungan struktural dari fitur dari setiap pola. 2.2
Struktur dari Sistem Pengenalan Pola Struktur dari sistem pengenalan pola terdiri atas sensor (misalnya kamera), suatu
algoritma atau mekanisme pencari fitur, dan algoritma untuk klasifikasi atau pengenalan, bergantung pada pendekatan yang dilakukan dijelaskan sebagai berikut. a.
Sensor Sensor berfungsi untuk menangkap objek dari dunia nyata dan selanjutnya diubah menjadi sinyal digital (sinyal yang terdiri atas sekumpulan bilangan) melalui proses digitalisasi (Putra, 2010, p.304).
b.
Pre-Processing (Pra-Pengolahan) Pra-pengolahan berfungsi mempersiapkan citra atau sinyal agar dapat menghasilkan ciri yang lebih baik pada tahap berikutnya. Pada tahap ini sinyal informasi ditonjolkan dan sinyal pengganggu (derau) diminimalisasi.
c.
Pencari dan Seleksi Fitur Pencari dan seleksi fitur berfungsi menemukan karakteristik pembeda yang mewakili sifat utama sinyal dan sekaligus mengurangi dimensi sinyal menjadi sekumpulan bilangan yang lebih sedikit tetapi representatif.
11
d.
Algoritma Klasifikasi Algoritma ini berfungsi untuk mengelompokkan fitur ke dalam kelas yang sesuai.
e.
Algoritma Deskripsi Algoritma ini berfungsi memberikan deskripsi pada sinyal.
2.3
Citra Digital Citra merupakan istilah lain untuk gambar. Citra adalah suatu fungsi intensitas
warna dua dimensi f(x,y), di mana x dan y mewakili lokasi koordinat suatu titik dan nilai dari fungsi yang merupakan tingkat intensitas warna/tingkat keabu-abuan dari titik tersebut (Schalkoff ,1989, p.9). Dalam tahapan pengenalan pola, data analog sebuah citra harus diubah melalui penerjemah menjadi citra digital. Citra digital adalah representasi dari sebuah citra yang disimpan dalam bentuk array dua dimensi, dan setiap array-nya akan
menyimpan nilai warna dan intensitas pencahayaan. Untuk
mengubah citra analog menjadi citra digital, dapat digunakan beberapa alat seperti, kamera digital dan scanner. Satuan terkecil dari suatu citra disebut piksel (picture element/pixel/pel) yang berarti element citra. Citra dibentuk dari kotak-kotak persegi yang teratur sehingga jarak horizontal dan vertikal antara piksel adalah sama pada seluruh bagian citra. Setiap piksel diwakili oleh bilangan bulat (integer) untuk menunjukkan lokasinya dalam
bidang
citra.
Sebuah
bilangan
bulat
digunakan untuk menunjukkan cahaya atau keadaan terang gelap piksel tersebut.
juga
12
2.3.1
Jenis Citra Digital Menurut Fadlisyah (2007), citra digital dapat dikelompokkan menjadi tiga
menurut jumlah tingkat kuantisasi dan warnanya sebagai berikut. a.
Citra biner (binary image), yaitu citra di mana setiap pikselnya hanya memiliki dua kemungkinan warna yaitu hitam dan putih atau 0 dan 1.
b.
Citra keabuan (grayscale), yaitu citra yang memiliki tingkat kuantisasi lebih dari dua.
c.
Citra warna (true color), yaitu citra yang setiap pikselnya selain memiliki nilai tingkat kuantisasi juga memiliki nilai warna. Citra warna memiliki komponen RGB (Red, Green, dan Blue) Selain pengelompokan berdasarkan jumlah tingkat kuantisasi dan warnanya,
sebuah citra digital juga dapat dikelompokkan sebagai berikut. a.
Citra raster, yaitu citra yang disimpan dalam bentuk array dari piksel. Pada citra raster, banyaknya kemungkinan warna dalam satu piksel disebut dengan sebutan kedalaman warna (colour depth).
b.
Citra vektor, yaitu citra yang disimpan dalam bentuk geometri, seperti garis, lengkung dan berbagai bentuk geometri lainnya.
2.3.2
Pengolahan Citra Digital Digital Image Processing atau sering juga disebut pengolahan citra digital
bertujuan untuk memperbaiki kualitas citra agar lebih mudah diinterpretasi oleh manusia atau komputer. Agar dapat diolah dengan komputer, maka suatu citra harus
13
direpresentasikan secara numerik dengan nilai–nilai diskrit. Representasi citra dari fungsi malar (kontinu) menjadi nilai–nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital image).
Pengolahan citra
merupakan suatu proses yang mana masukannya adalah citra dan keluarnya juga citra. Untuk meningkatkan mutu suatu citra, noise yang tidak diinginkan harus dieliminasi dari citra tersebut. Selain itu juga harus dijaga detail yang tetap ingin ditampilkan pada citra. Noise pada suatu citra digital dapat disebabkan oleh beberapa hal, seperti citra analog yang telah memiliki noise, noise yang disebabkan oleh penerjemah (transducer), dan berbagai kemungkinan lainnya. Noise ini haruslah dihilangkan untuk menghasilkan citra yang lebih baik. Ada banyak operasi yang dapat digunakan untuk mengolah citra digital sebagai berikut. a.
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 di dalam citra lebih ditonjolkan. Contoh-contoh operasi perbaikan citra: 1)
perbaikan kontras gelap/terang
2)
perbaikan tepian objek (edge enhancement)
3)
penajaman (sharpening)
4)
pemberian warna semu (pseudocoloring)
5)
penapisan derau (noise filtering)
14
b.
Pemugaran citra (image restoration). Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra:
c.
1)
penghilangan kesamaran (deblurring).
2)
penghilangan derau (noise)
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 adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode Joint Photographic Experts Group (JPEG).
d.
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.
e.
Pengorakan citra (image analysis) Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari
15
sekelilingnya. Contoh-contoh operasi pengorakan citra:
f.
1)
Pendeteksian tepi objek (edge detection)
2)
Ekstraksi batas (boundary)
3)
Representasi daerah (region)
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. (Acharya & Ray,2005)
2.4
Wavelet Transform (Transformasi Wavelet) Transformasi Wavelet merupakan metode yang biasa digunakan untuk
menyajikan data, fungsi, atau operator ke dalam komponen-komponen frekuensi yang berlainan, dan kemudian mengkaji setiap komponen dengan suatu resolusi yang sesuai dengan skalanya. Transformasi Wavelet mempunyai kemampuan membawa keluar ciriciri khusus dari gambar yang dimiliki. Transformasi Wavelet berasal dari fungsi penskalaan (scaling function). Fungsi penskalaan
memiliki persamaan:
menyatakan koefisien penskalaan atau koefisien transformasi atau koefisien dari tapis (filter), sedangkan
menyatakan indeks dari koefisien penskalaan. Angka 0 pada
hanya menunjukkan jenis koefisien (tapis), yang menyatakan pasangan dari jenis
16
koefisien (tapis) yang lainnya. Pasangan tersebut didefinisikan dalam fungsi wavelet berikut ini.
dan
adalah koefisien transformasi yang berpasangan.
adalah koefisien
penskalaan karena menghasilkan skala yang berbeda dari citra aslinya, sedangkan adalah wavelet yang menyimpan informasi penting untuk proses rekonstruksi. 2.4.1
Transformasi Wavelet Diskrit (Discrete Wavelet Transform) Transformasi Wavelet Diskrit secara umum merupakan proses dekomposisi citra
pada frekuensi sub-band dari citra tersebut. Komponen sub-band transformasi wavelet dihasilkan dengan cara menurunkan level dekomposisi. Implementasi transformasi wavelet diskrit dapat dilakukan dengan cara melewatkan sinyal melalui sebuah tapis lolos rendah (low pass filter/LPF) dan tapis lolos tinggi (high pass filter/HPF) dan melakukan downsampling pada keluaran masing-masing filter. Pada tahap pertama, sinyal dilewatkan pada rangkaian high pass filter dan low pass filter, kemudian setengah dari masing-masing keluaran diambil sebagai proses dekomposisi satu tingkat. Keluaran dari low pass filter digunakan sebagai masukan di proses dekomposisi tingkat berikutnya. Proses ini diulang sampai tingkat proses dekomposisi yang diinginkan. Gabungan dari keluaran-keluaran high pass filter dan satu keluaran low pass filter yang terakhir, disebut sebagai koefisien wavelet, yang berisi informasi sinyal hasil transformasi yang telah dikompresi.
17
Gambar 2.1 Dekomposisi Wavelet Diskrit pada Citra Satu Dimensi Sumber : (http://pussypapz.blogspot.com) Output filter yang memiliki respon impuls
dan
adalah:
Sehingga output dari low pass filter (LPF) dan high pass filter (HPF) setelah downsampling adalah sebagai berikut.
di mana: : sinyal input : sinyal output : respon impuls low pass filter (LPF) : respon impuls high pass filter (HPF)
18
: koefisien penskalaan
Dalam dekomposisi wavelet, level maksimum ditentukan dengan persamaan sebagai berikut.
Pada transformasi wavelet diskrit, terdapat beberapa jenis basis induk wavelet, seperti Wavelet Haar dan Wavelet Daubechies. Wavelet Haar adalah jenis wavelet yang pertama kali dikenal. Wavelet ini juga merupakan jenis wavelet yang paling sederhana. Fungsi penskalaan haar:
di mana:
Adapun fungsi dari Wavelet Haar adalah sebagai berikut.
di mana:
Pada Wavelet Daubechies, terdapat empat fungsi skala, yaitu:
Dari keempat fungsi skala tersebut, koefisien fungsi wavelet-nya adalah ,
, dan
,
. Setiap langkah dari proses transformasi wavelet,
akan menggunakan fungsi tersebut. Jika data input memiliki nilai wavelet akan digunakan untuk menghitung dan menghasilkan
, maka fungsi
output.
2.4.2 Transformasi Wavelet Dua Dimensi Transformasi Wavelet pada citra dua dimensi pada prinsipnya sama dengan transformasi pada citra satu dimensi. Pada citra dua dimensi, proses transformasi pada baris dilakukan terlebih dahulu, kemudian dilanjutkan dengan transformasi pada kolom seperti yang ditunjukkan pada gambar 2.2 .
Gambar 2.2 Transformasi Wavelet pada Citra Dua Dimensi 1 Level Sumber : (Putra, 2010, p.114) 9
20
Pada gambar 2.2, LL menyatakan bagian koefisien yang diperoleh melalui proses low pass filter dilanjutkan dengan low pass filter. Citra pada bagian ini mirip dan merupakan versi lebih halus dari citra aslinya sehingga koefisien pada bagian LL sering disebut dengan komponen aproksimasi. LH menyatakan bagian koefisien yang diperoleh melalui proses low pass filter kemudian dilanjutkan dengan high pass filter. Koefisien pada bagian ini menunjukkan citra tepi dalam arah horizontal. Bagian HL menyatakan bagian yang diperoleh melalui proses high pass filter kemudian dilanjutkan dengan low pass filter. Koefisien pada bagian ini menunjukkan citra tepi dalam arah vertikal. HH menyatakan proses yang diawali dengan high pass filter dan dilanjutkan dengan high pass filter, dan menunjukkan citra tepi dalam arah diagonal. Ketiga komponen LH, HL, dan HH disebut juga komponen detil. Hasil transformasi wavelet dua dimensi 1 level, sering dibuat dalam bentuk skema sebagai berikut. LL
HL
Aproximation
Vertical details
HH
CV
CH
CD
=
= LH
CA
Horizontal details
Diagonal details
CA, CV, CH, dan CD berturut-turut menyatakan komponen aproksimasi, vertikal, horizontal dan diagonal (Putra, 2010, p.115). 2.5
Karakter Mandarin Kata mandarin dalam bahasa Indonesia sendiri diserap dari bahasa Inggris yang
mendeskripsikan bahasa China juga sebagai bahasa Mandarin. Mandarin secara harfiah berasal dari sebutan orang asing kepada pembesar-pembesar Dinasti Qing di zaman
21
dulu. Dinasti Qing adalah dinasti yang didirikan oleh suku Manchu, sehingga pembesarpembesar kekaisaran biasanya disebut sebagai Mandaren (Hanzi: 滿大人) yang berarti Yang Mulia Manchu. Dari sini, bahasa yang digunakan oleh para pejabat Manchu waktu itu juga disebut sebagai bahasa Mandaren. Penulisannya berevolusi menjadi Mandarin di kemudian hari. Dalam pengertian yang sempit, Mandarin berarti Putonghua 普通话 dan Guoyu 國語 yang merupakan dua bahasa standar yang hampir sama yang didasarkan pada bahasa lisan Beifanghua. Putonghua adalah bahasa resmi China dan Guoyu adalah bahasa resmi Taiwan. Putonghua yang biasanya malah dipanggil Huayu juga adalah salah satu dari empat bahasa resmi Singapura. Dalam pengertian yang luas, Mandarin berarti Beifanghua (secara harafiah berarti "bahasa percakapan Utara"), yang merupakan sebuah kategori yang luas yang mencakup beragam jenis dialek percakapan yang digunakan sebagai bahasa lokal di sebagian besar bagian utara dan barat daya China, dan menjadi dasar bagi Putonghua dan Guoyu. Beifanghua mempunyai lebih banyak penutur daripada bahasa apapun yang lainnya dan terdiri dari banyak jenis termasuk versi-versi yang sama sekali tidak dapat dimengerti. Sebuah karakter mandarin, dikenal sebagai karakter Han (汉字/汉字; Hanzi) adalah logo yang
digunakan
dalam
penulisan China (hanzi), Jepang (kanji), lebih
jarang Korea (Hanja) dan sebelumnya Vietnam (han tu) dan bahasa lain. Karakter China juga dikenal sebagai sinographs dan sistem tulisan China sebagai sinography. Karakter Mandarin adalah sistem yang digunakan untuk tulis-menulis tertua di dunia. Jumlah
22
karakter mandarin yang terdapat dalam kamus Kangxi adalah sekitar 47.035, meskipun sejumlah besar ini jarang digunakan varian akumulasi sepanjang sejarah. Studi yang dilakukan
di China telah
menunjukkan
bahwa
melek
penuh
dalam bahasa
mandarin membutuhkan pengetahuan antara tiga dan empat ribu karakter (Andreas, 2010, p.5). Salah satu pemahaman yang salah tentang karakter-karakter dalam bahasa Mandarin adalah sebuah karakter hanyalah sebuah gambar saja, tanpa ada arti secara abstrak. Pemahaman ini salah, karakter-karakter dalam bahasa Mandarin dibuat berdasarkan artinya. Jadi ada keterkaitan antara bentuk karakter dengan arti dari karakter tersebut. Dalam sistem tulisan mandarin, karakter yang satu suku kata, masingmasing biasanya diucapkan dengan makna dasar. Namun, meskipun kata Mandarin dapat dibentuk oleh karakter dengan makna dasar, mayoritas kata-kata dalam Mandarin memerlukan dua atau lebih karakter untuk menulis (dengan demikian bersuku) tetapi memiliki makna yang berbeda tetapi tergantung pada karakter yang dibuat. Karakter Mandarin juga telah digunakan dan dalam beberapa kasus dalam bahasa lain, paling signifikan Jepang (di mana karakter tunggal dapat mewakili beberapa suku kata yang diucapkan), Korea dan Vietnam. Ada dua standar dalam penulisan karakter-karakter dalam bahasa Mandarin. Yang pertama adalah “traditional system” yang masih digunakan di Hong Kong, Taiwan dan Macau. Penulisan secara tradisional ini memang lebih rumit, tetapi lebih memiliki keterikatan bentuk dengan arti dari karakter yang dimaksud. Yang kedua adalah “simplified system”. Sistem ini mulai berkembang pada tahun 1950-an ketika Partai Komunis mengambil alih pemerintahan di daratan China. “Simplified system”
23
mengurangi jumlah garis yang dipakai dalam satu karakter dan mengurangi jumlah karakter-karakter yang memiliki kesamaan satu sama lainnya. Walaupun penulisannya lebih sederhana dari “traditional system”, sistem ini kurang memiliki keterkaitan yang erat dengan arti dari karakter yang dimaksud. Sistem inilah yang belakangan digunakan, sedangkan “traditional system” sudah jarang digunakan. 2.5.1
Penulisan Karakter Mandarin Karakter mandarin mempunyai tingkat kesulitan yang tinggi dalam penulisannya,
karena setiap karakter mandarin adalah sebuah gambar yang mewakili sebuah arti. Pada umumnya, seorang lulusan Sekolah Menengah di China hanya menguasai 3000-4000 huruf yang paling sering dipakai sehari-hari, dari total karakter yang mencapai 50000 lebih. Menuliskan suatu karakter mandarin mempunyai kesukaran yang lebih tinggi daripada mengenalinya. Oleh karena itu, tidak heran apabila seorang yang dapat membaca karakter mandarin tetapi tidak dapat menulisnya. Hal tersebut berbeda dengan bahasa-bahasa yang berbasis aksara latin, di mana seseorang yang dapat membaca pasti dapat menulisnya. Menurut Oey Peng Kiat (2000), cara menulis huruf/karakter mandarin bermacam-macam. Secara umum, bentuk karakter mandarin terdiri dari dua macam, yaitu fantizi yang merupakan karakter klasik dan jiantizi yang merupakan karakter sederhana. Saat ini, fantizi digunakan di Taiwan, sedangkan jiantizi digunakan di China. Kedua jenis karakter ini berbentuk segiempat, yang dinamakan zixing. 2.5.2
Goresan Dasar Karakter Mandarin
24
Goresan dasar/jiben bifa adalah unit terkecil dari struktur karakter mandarin. Goresan dasar terdiri dari 17 jenis. Bentuk-bentuk goresan dasar dapat dilihat pada Tabel 2.1.
Tabel 2.1 Bentuk-bentuk goresan dasar Sumber: (Yonatan, 2005, p.9) No
Bentuk
Ucapan
Keterangan
1
Heng
Goresan horizontal dari kiri ke kanan
2
Shu
Goresan vertikal dari atas ke bawah
3
Pie
Goresan dari kanan atas ke kiri bawah
4
Na
Goresan dari kiri atas ke kanan bawah
5
ZouDian
Titik dari kanan atas ke kiri bawah
6
YouDian
Titik dari kiri atas ke kanan bawah
7
Ti
8
HengZhe
Goresan dari kiri bawah ke kanan atas
Goresan diawali garis horizontal dari kiri ke kanan dilanjutkan dengan garis vertikal dari atas ke bawah
25
9
ShuGou
Goresan lurus ke bawah dan sedikit mengail ke atas
10
Heng Gou
Goresan horizontal dari kiri ke kanan dan sedikit mengail
11
PieDian
Goresan diawali dari kanan atas ke kiri bawah, kemudian dilanjutkan ke kanan bawah
12
ShuTi
Goresan diawali dengan garis lurus dari atas ke bawah dan sedikit mengail ke kanan atas
13
ShuZhe
Goresan diawali dari atas membentuk garis lurus ke bawah, kemudian dilanjutkan dengan garis horizontal ke kanan
14
HengZhe
Goresan diawali dengan garis lurus dari kiri ke kanan, kemudian dilanjutkan dengan membentuk garis vertikal ke bawah dan sedikit mengail ke arah kiri atas
Gou
15
ShuZhe ZheGou
Goresan diawali dari atas membentuk garis vertikal, lalu membentuk garis mendatar ke kiri, dan dilanjutkan dengan garis ke bawah dan sedikit mengail ke kiri atas
16
WanGou
Goresan diawali dari atas, lalu melengkung ke kanan bawah, kemudian sedikit mengail ke kiri atas
17
HengZhe
Goresan diawali dari kiri membentuk garis horizontal, lalu sedikit ke kiri bawah, kemudian dilanjutkan dengan membentuk kurva terbuka kira-kira ¾ lingkaran
ZheGou
2.6
Jaringan Saraf
26
Manusia adalah ciptaan Tuhan yang paling sempurna. Manusia dapat mengolah
berbagai informasi dengan menggunakan otaknya. Teknologi neural
network saat ini ingin meniru kemampuan otak manusia. Pada sub-bab berikut akan dijelaskan tentang teori dasar serta konsep dari jaringan saraf manusia dan jaringan saraf tiruan. 2.6.1
Jaringan Saraf Manusia Jaringan saraf manusia mempunyai kemampuan untuk belajar dan mengingat
banyak informasi serta dapat beradaptasi dengan cara merespon suatu rangsangan. Otak manusia diperkirakan terdiri dari 1011 sel saraf (neuron). Di dalam otak manusia inilah terdapat fungsi–fungsi yang sangat banyak dan rumit, di antaranya adalah ingatan, belajar, penalaran, kecerdasan, inisiatif, dan lain-lain. Untuk membentuk fungsifungsi itu, tiap–tiap sel saraf akan saling berhubungan membentuk jaringan yang sangat rumit yang disebut dengan jaringan saraf. Tiap sel saraf berhubungan dengan sel lain melalui sebuah saluran yang disebut dengan sinapsis. Saraf biologi mempunyai 3 komponen utama yang dapat diadopsi untuk memahami saraf tiruan sebagai berikut. a.
Dendrit: Menerima sinyal dari saraf (neuron) lainnya.
b.
Badan Sel (Soma/Cell Body): Menampung semua sinyal yang diterima sel, apabila sinyal yang diterima cukup besar, sel membangkitkan sinyal untuk dikirim ke sel lainnya.
c.
Akson: Mentransmisikan aktivitas neuron dari badan sel ke dendrit sel lainnya.
d.
Sinapsis: Meningkatkan dan mengurangi kekuatan hubungan karena eksitasi.
27
Setiap neuron mempunyai tiga sifat dasar sebagai berikut. a.
Kemampuan untuk bereaksi terhadap rangsangan yang masuk melalui sinapsis.
b.
Kemampuan untuk mempropagansikan sinyal eksitasi yang diterima ke bagian yang lain.
c.
Kemampuan untuk mempengaruhi neuron-neuron yang lain. Arus input yang berasal dari dendrit dijumlahkan secara bertahap oleh
kapasitas/weight yang terdapat dalam badan sel. Neuron bereaksi jika eksitasi dalam badan sel melebihi ambang batas. Sel saraf bereaksi mengirim sinyal melalui akson, kemudian dikirim ke sinapsis. Dari sinapsis sinyal tersebut disebarkan ke dendritdendrit yang lain. Secara garis besar neuron mengolah informasi yang masuk dan meneruskan ke neuron yang lain (Dwi Astuti, 2009). 2.6.2
Jaringan Saraf Tiruan (Artificial Neural Network) Menurut Haykin (1999, p.2), jaringan saraf tiruan (Artificial Neural Network)
adalah sejumlah prosesor yang terdistribusi secara paralel dan terdiri dari unit pemrosesan sederhana, di mana masing-masing unit memiliki kecenderungan untuk menyimpan pengetahuan yang dialami dan dapat digunakan kembali. Jaringan saraf tiruan (JST), dapat menyelesaikan persoalan yang rumit atau tidak mungkin jika diselesaikan dengan menggunakan komputasi secara konvensional. Dengan melakukan proses belajar JST dapat memodifikasi tingkah laku sesuai dengan keadaan lingkungannya. Jaringan saraf dapat mengatur dirinya untuk menghasilkan suatu respon yang konsisten terhadap rangkaian masukan. JST dirancang dan dilatih untuk memiliki kemampuan seperti yang dimiliki oleh manusia.
28
Jaringan saraf tiruan dapat dikatakan sebagai pemodelan matematika dari jaringan saraf manusia dengan menggunakan asumsi–asumsi sebagai berikut.
a.
Pemrosesan informasi terjadi pada elemen–elemen sederhana yang disebut neuron.
b.
Sinyal–sinyal yang mengaliri neuron–neuron melewati hubungan link.
c.
Setiap link penghubung punya bobot yang besesuaian, yang dalam suatu jaringan saraf menggandakan sinyal yang ditransmisikan.
d.
Setiap neuron menerapkan suatu fungsi aktivasi (biasanya non-linier) ke input jaringan (jumlah dari sinyal input terbobotnya) untuk menentukan sinyal outputnya.
2.7
Jaringan Saraf Tiruan Conterpropagation Jaringan saraf tiruan (JST) Conterpropagation adalah jaringan hibrida. JST ini
terdiri dari jaringan outstar dan jaringan filter yang kompetitif. JST ini dikembangkan pada tahun 1986 oleh Robert Hecht-Nielsen. JST ini dapat menemukan bobot yang benar, tidak seperti JST backpropagation biasa yang mudah terjebak dalam minimum lokal selama training. Counterpropagation merupakan JST dengan metode pelatihan semi-supervised. Pelatihan semi-supervised adalah pelatihan yang mengandung 2 tahap pembelajaran, yaitu supervised learning dan unsupervised learning. Pelatihan supervised adalah pelatihan yang output targetnya sudah diketahui sebelumnya. Pelatihan unsupervised adalah pelatihan yang tidak mempunyai vektor target, namun sejumlah vektor input akan disediakan sebagai acuan. Counterpropagation merupakan jaringan yang dapat
29
melakukan
pemetaan
secara
dua
arah
(Fausett,1994).
Dengan
kata
lain,
counterpropagation dapat melakukan pemetaan secara forward dan secara backward atau inverse. Di dalam jaringan counterpropagation, tidak hanya unit input saja yang dapat menghasilkan unit output, unit output juga dapat menghasilkan nilai bagi unit input. Jaringan counterpropagation terdiri atas dua input layer X dan Y, sebuah hidden layer yang disebut kohonen layer dan dua buah output layer X* dan Y*. Setiap layer dalam jaringan tersebut terdiri dari sejumlah unit. Setiap layer ini akan dihubungkan dengan sejumlah bobot yang berguna untuk menentukan nilai tiap unit pada langkah selanjutnya. Untuk dapat mendapatkan gambaran yang lebih bagus tentang arsitektur lengkap counterpropagation, dapat dilihat pada gambar 2.1.
X1 Y1 Xi
Z1
Xn
Yk
Z2
X Input Layer
Zj Y*1
Ym Y Input Layer X*1
Kohonen Layer Y*k
X*i
Y*m
X*n
Y Output Layer
X Output Layer
Gambar 2.3 Arsitektur Lengkap Counterpropagation Sumber: (Fausett,1994, p.197) Keterangan Gambar Zj : unit ke-j dari hidden layer
30
Xi : input vektor X = (X1……, Xi,……Xn) Yk : input vektor Y = (Y1……, Yk,……Ym) X*i : output vektor X* = (X*1……, X*i,……X*n) Y*k : output vektor Y* = (Y*1……, Y*k,……Y*m) Bila dipisah menurut fase pelatihannya, arsitektur fase kohonen learning dapat dilihat pada gambar 2.4, sedangkan fase grossberg learning dapat dilihat pada gambar 2.5.
Gambar 2.4 Arsitektur Fase Kohonen Learning Sumber: (Fausett,1994, p.198)
31
Gambar 2.5 Arsitektur Fase Grossberg Learning Sumber: (Fausett,1994, p.198) 2.8
Algoritma Counterpropagation Pelatihan counterpropagation terdiri atas dua fase. Fase pelatihan pertama
disebut kohonen learning (dari input unit ke hidden unit), sedangkan fase pelatihan kedua disebut grossberg learning (dari hidden unit ke output unit). Pelatihan pada fase pertama harus diselesaikan dahulu baru berpindah ke fase kedua. Pada pelatihan kohonen learning, hanya unit pemenang yang diperbolehkan belajar atau meng-update bobotnya. Untuk menentukan unit pemenang, dihitung jarak yang paling minimal antara vektor bobot dengan vektor input. Untuk menghitung jarak antara dua vektor dapat menggunakan rumus Euclidan Distance berikut ini. +
……(2.1)
di mana: : unit ke-j dari hidden layer : input vektor
32
: bobot dari input layer
yang menuju hidden layer unit
: input vektor : bobot dari input layer
yang menuju hidden layer unit
: jumlah unit : jumlah unit Dimisalkan, unit ke-j yang menjadi pemenang, maka rumus untuk meng-update bobotnya adalah: ……(2.2) ……(2.3) di mana: : bobot
yang baru
: bobot
yang lama
: bobot
yang baru
: bobot
yang lama
: learning rate untuk bobot menuju hidden layer Pada fase kedua, hanya unit pemenang yang masih aktif pada kohonen layer yang boleh mengikuti proses pelatihan. Bobot dari unit pemenang tersebut di-update sehingga mendekati unit input Y. Jadi, output unit Y* merupakan pendekatan dari input unit Y dan X* merupakan pendekatan dari input unit X. Rumus perubahan bobot pada grossberg learning, dengan misalnya unit ke-j dari kohonen layer sebagai pemenang, adalah:
33
……(2.4) ……(2.5) di mana: : bobot dari hidden layer : bobot dari hidden layer : bobot
yang baru
: bobot
yang lama
: bobot
yang baru
: bobot
yang lama
yang menuju output layer unit y*j yang menuju output layer unit x*i
: learning rate untuk bobot keluar dari hidden layer 2.8.1
Algoritma Proses Pelatihan Counterpropagation Pada proses komputasi, langkah-langkah yang harus dilakukan dalam pelatihan
counterpropagation adalah sebagai berikut. Langkah 1:
Inisialisasi semua bobot dan learning rate
Langkah 2:
Selama kondisi berhenti fase pertama belum terpenuhi, lakukan langkah 3-8
Langkah 3:
Untuk setiap pasangan input x:y, lakukan langkah 4-6
Langkah 4:
Masukkan vektor input x pada layer X Masukkan vektor input y pada layer Y
Langkah 5:
Cari unit hidden layer yang menang, simpan index-nya pada variabel J.
Langkah 6:
Update bobot untuk unit
dengan menggunakan rumus (2.2) dan (2.3)
34
Langkah 7:
Kurangi learning rate
Langkah 8:
Periksa apakah kondisi berhenti untuk fase pertama terpenuhi.
Langkah 9:
Selama kondisi berhenti untuk fase kedua belum terpenuhi, lakukan langkah 10-16 (
dan
bernilai sangat kecil dan konstan selama fase
kedua). Langkah 10: Untuk setiap pasangan input x:y, lakukan langkah 11-14 Langkah 11: Masukkan vektor input x pada layer X Masukkan vektor input y pada layer Y Langkah 12: Cari unit hidden layer yang menang, simpan index-nya pada variabel J. Langkah 13: Update bobot yang masuk ke
dengan menggunakan rumus (2.2) dan
(2.3) Langkah 14: Update bobot yang keluar dari
ke output layer dengan menggunakan
rumus (2.4) dan (2.5) Langkah 15: Kurangi learning rate ( dan ) Langkah 16: Periksa apakah kondisi berhenti untuk fase kedua terpenuhi Dalam pencarian pemenang pada langkah 4 dan 11, jika nilainya sama maka dipilih unit dengan index terkecil. 2.8.2
Algoritma Proses Pengujian Counterpropagation Setelah proses training, JST counterpropagation dapat digunakan untuk mencari
pendekatan pasangan input, output (x:y) dalam x* dan y*. Langkah-langkahnya adalah sebagai berikut.
35
Langkah 1:
Gunakan bobot hasil training.
Langkah 2:
Untuk setiap pasangan x:y, lakukan langkah 3-5
Langkah 3:
Masukkan vektor input x pada layer X Masukkan vektor input y pada layer Y
Langkah 4:
Cari unit pemenang
Langkah 5:
Hitung pendekatan x dan y dengan rumus: di mana
adalah hasil perhitungan yang mendekati vektor
di mana
adalah hasil perhitungan yang mendekati vektor
input
input (Fausett,1994, pp.199-202) 2.9
Interaksi Manusia Komputer Manusia adalah makhluk yang senang berinteraksi dengan manusia lain. Oleh
karena itu, maka penggunaan komputer dibuat sesederhana mungkin sehingga manusia dapat berinteraksi dengan komputer semudah berinteraksi dengan manusia lain. Proses penyederhanaan ini dikenal dengan interactive user interface. 2.9.1
Program Interaktif Ada lima kriteria yang harus dimiliki oleh suatu program sehingga dapat
berinteraksi dengan baik dan bersifat user friendly (Shneiderman, 2005, p.15) sebagai berikut.
36
a.
Memiliki waktu belajar yang relatif singkat.
b.
Mampu memberikan informasi yang diperlukan dengan cepat.
c.
Mudah untuk dioperasikan oleh user.
d.
Kemudahan untuk mengingat program tersebut walaupun telah lama tidak mengoperasikannya.
e.
Kepuasan pribadi.
2.9.2 Delapan Aturan Emas Menurut Shneiderman (2005, p.74), dalam merancang sistem interaksi manusia dan komputer yang baik juga harus memperhatikan delapan aturan emas sebagai berikut. a.
Bertahan untuk konsistensi.
b.
Memperbolehkan user untuk memakai shortcut.
c.
Memberikan umpan balik yang informatif.
d.
Pengorganisasian yang baik sehingga user mengetahui kapan awal dan akhir dari suatu action.
e.
Pengguna mampu mengetahui dan memperbaiki kesalahan dengan mudah.
f.
Dapat dilakukan pembalikan action.
g.
User mampu aktif dalam mengambil langkah selanjutnya bukan hanya merespon pesan yang muncul.
h.
Mengurangi beban ingatan jangka pendek bagi user sehingga perancangannya harus sederhana.
2.10
Model Perancangan Aplikasi
37
Dalam membuat suatu program aplikasi terdapat beberapa model proses, salah satu diantaranya adalah Waterfall Model atau yang biasa dikenal dengan Classic Life Cycle. Model ini disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan (Pressman, 2005, p.79). Terdapat 6 tahapan dalam model Waterfall. Berikut adalah penjelasan tahaptahap yang dilakukan di dalam model ini. a.
Analisis dan perancangan sistem Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam program aplikasi. Hal ini sangat penting , mengingat program aplikasi harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dan lain-lain. Tahap ini sering disebut dengan Project Definition.
b.
Analisis Kebutuhan Proses pengumpulan elemen sistem ditingkatkan dan dipusatkan secara khusus untuk mengerti karakteristik dari program yang akan dibuat. Kebutuhan maupun sistem harus dibicarakan bersama dengan pelanggan.
c.
Perancangan Proses
perancangan
menerjemahkan
kebutuhan
elemen
sistem
yang
direpresentasikan ke dalam sebuah blueprint yang dapat diperkirakan kualitasnya sebelum dilakukan pengkodean. d.
Pengkodean
38
Untuk dapat dimengerti komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh komputer, yaitu ke dalam bahasa pemograman melalui proses pengkodean. Tahap ini merupakan implementasi dari tahap desain yang secara teknis nantinya dikerjakan oleh programmer. e.
Pengujian Pengujian dilakukan untuk memastikan hasilnya sesuai kebutuhan yang sudah didefinisikan sebelummya.
f.
Pemeliharaan Pemeliharaan suatu program diperlukan karena program yang dibuat tidak selamanya hanya seperti itu. Pengembangan merupakan salah satu bagian dari pemeliharaan. Pengembangan terjadi untuk memperbaiki error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada program tersebut.
SISTEM ENGINEERING ANALYS DESIGN CODE TESTING MAINTENANCE
Gambar 2.6 Model Waterfall Sumber : (Pressman, 2005) 2.11
Bahasa Pemrograman C#
39
C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan (http://id.wikipedia.org/wiki/C_sharp). C# dibuat oleh Microsoft pada akhir tahun 1990-an dan merupakan bagian dari strategi .NET dari Microsoft. C# pertama kali dikeluarkan pada pertengahan tahun 2000. Perancang utama dari C# adalah Anders Hejlsberg. Hejlsberg merupakan seorang pakar bahasa pemrograman terkemuka, dengan beberapa pencapaian yang luar biasa. Salah satunya adalah pengembangan Turbo Pascal yang menjadi standar untuk semua compiler masa kini (http://id.wikipedia.org/wiki/C_sharp).
C# sangat berhubungan erat dengan C, C++ dan Java. Hal ini dikarenakan mereka bertiga merupakan bahasa pemrograman yang paling banyak dipakai di dunia. Terlebih pada saat C# diciptakan, hampir semua programmer profesional mengetahui C, C++ dan Java. Dengan membangun C# pada fondasi yang solid maka C# menawarkan kemudahan migrasi dari ketiga bahasa tersebut (Schildt, 2010). 2.12
Flow Chart
Flow Chart juga dikenal sebagai flow diagram atau work flow. Flow Chart digunakan untuk menunjukkan informasi yang saling berhubungan (kejadian, instruksi atau langkah-langkah dalam sebuah proses, aliran uang atau data). Flow Chart juga
40
sering digunakan untuk membantu memecahkan masalah, juga digunakan untuk mendefinisikan dan melihat efek dari alur kerja (Fowler & Stanwick, 2004, p.428). Perancangan
program
aplikasi
ini
menggunakan
Flow
Chart
untuk
menggambarkan proses yang terjadi pada aplikasi secara keseluruhan. Proses ini digambarkan secara runtun, dari awal proses perancangan, yaitu mengumpulkan data, hingga terbentuk jaringan saraf tiruan dari hasil training data. Simbol-simbol utama yang digunakan dalam diagram alur/Flow Chart adalah sebagai berikut. 1.
Berupa proses atau aktivitas, fungsi, misalnya perhitungan
2.
Untuk predefined process
3.
Untuk decision yaitu berupa pertanyaan dan pengambilan keputusan
4.
Untuk data yaitu dapat berupa proses input/ouput
5.
Untuk proses input manual
6.
Untuk preparation yaitu inisialisasi data/nilai
7.
Untuk terminal yaitu menandai awal atau akhir program
41
8.
Untuk connector yaitu sebagai penghubung dalam satu halaman
9.
Untuk off-page connector yaitu sebagai penghubung antar halaman
10.
Untuk menghubungkan komponen dan menunjukan arah
(http://www.edrawsoft.com/flowchart-symbols.php)