BAB 2
LANDASAN TEORI
Dalam landasan teori ini, diuraikan mengenai teori yang relevan, lengkap, dan
terkini
sejalan
dengan
permasalahan
yang
dihadapi.
Dalam bab
juga
diuraikan
hubungan antara permasalahan dan teknik yang digunakan dalam perancangan
program aplikasi ini.
2.1
System Development Life Cycle (SDLC)
Menurut Turban, et. Al. (2001, p477-486), Software Development Life Cycle
(SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan
yang diperlukan
untuk
membangun suatu sistem informasi. Pendekatan Prototyping
digunakan untuk menggambarkan SDLC.
SDLC dirancang dengan tujuan untuk
membangun
alur pemrograman
yang
terstruktur dan untuk membantu manajemen proyek dalam perhitungan estimasi
waktu dan sumber yang dibutuhkan suatu proyek.
|
![]() 10
Gambar 2.1 Prototype Model
Model ini menjadi panduan langkah-langkah pembuatan program aplikasi
yang sesuai dengan kebutuhan dan harapan
dari
pengguna,
supaya
proyek
pengembangan program aplikasi tersebut dapat diselesaikan dengan sempurna.
2.2
Use Case Diagram
Use Case
menunjukkan
hubungan
interaksi antara
aktor
dengan use case di
dalam suatu
sistem (Mathiassen,
2000,
p343)
yang
bertujuan
untuk
menentukan
bagaimana aktor berinteraksi dengan sebuah sistem. Aktor adalah orang atau sistem
lain yang berhubungan dengan sistem.
|
![]() 11
Ada tiga simbol yang mewakili komponen sistem seperti terlihat pada gambar
dibawah ini.
Gambar 2.2 Notasi Use Case Diagram
Sumber : Mathiassen (2000, p343)
Menurut Schneider dan Winters, ada lima hal yang harus diperhatikan dalam
pembuatan diagram use case (Schneider dan Winters, 2001, p26):
a.
Aktor: segala sesuatu yang berhubungan dengan sistem dan melaksanakan use
case yang terkait.
b.
Precondition: kondisi awal yang harus dimiliki aktor untuk
masuk ke dalam
sistem untuk terlibat dalam suatu use case.
c.
Postcondition:
kondisi
akhir
atau
hasil
apa
yang
akan
diterima
oleh
aktor
setelah menjalankan suatu use case.
d.
Flow
of
Events: kegiatan-kegiatan
yang
dilakukan
pada sebuah
proses use
case.
|
![]() 12
e.
Alternative Paths: kegiatan
yang memberikan
serangkaian kejadian berbeda
yang digunakan dalam Flow of Events.
2.3
Class Diagram
Class Diagram
adalah
salah satu
diagram struktur statis
yang
menunjukkan
struktur dari sistem dengan menunjukkan class-class yang ada pada sistem, attribute
dan method class-class tersebut dan hubungan antar class. Hubungan class terdiri dari
link, association, aggregation dan composition.
Gambar 2.3 Notasi Class Diagram
Sumber: Lethbridge (2002, p.439)
Link adalah hubungan dasar antar objek yang menggambarkan garis
penghubung antara dua atau lebih class. Link merupakan bagian dari association.
Association menggambarkan kumpulan link yang saling berhubungan. Binary
Association (dengan
dua
titik
akhir)
biasanya digambarkan
sabagai
sebuah
garis,
dimana
masing-masing
titik
akhir
dihubungkan
dengan
sebuah class.
Association
memiliki dua atau lebih titik akhir.
|
![]() 13
Gambar 2.4 Hubungan Association Pada Class Diagram
Aggregation
adalah
lambang
dari
memiliki
sebuah
atau
hubungan
association merupakan
perluasan
association,
hubungan
aggregation hanya
dapat
melibatkan dua class.
Aggregation terjadi bila suatu class mengandung satu atau
lebih objek dari
class lain, tetapi class yang dikandung tidak memiliki life cycle dependency dengan
class yang mengandung.
Gambar 2.5 Hubungan Aggregation Pada Class Diagram
Composition
merupakan
hubungan
aggregation
di
mana
class
yang
dikandung telah memiliki life cycle dependency dengan class yang mengandung.
|
![]() 14
Gambar 2.6 Hubungan Composition Pada Class Diagram
2.4
Sequence Diagram
Menurut
Lethbridge (2002,
p.270), sequence diagram adalah
diagram
yang
menunjukkan urutan proses dan penukaran pesan oleh sejumlah objek (dan seorang
actor
yang
optional)
dalam
melakukan
tugas
tertentu.
Sequence
diagram
menggambarkan scenario runtime sederhana secara grafis.
Gambar 2.7 Notasi Object, Lifetime dan Activation
Sumber: Lethbridge (2002, p.440)
|
![]() 15
Gambar 2.8 Notasi Sequence Diagram
2.5
State Transition Diagram (STD)
2.5.1
Pengertian STD
STD
merupakan
suatu
modeling
tool
yang
menggambarkan
sifat
ketergantungan sistem. Pada mulanya hanya digunakan untuk menggambarkan suatu
sistem
yang
memiliki
sifat real time
seperti
proses
control,
telephone
switching
system, dan control system.
2.5.2
Simbol dan Sifat STD
State adalah kumpulan keadaan dan atribut yang mencirikan objek pada waktu
atau kondisi tertentu. Disimbolkan dengan segi empat.
|
![]() 16
Gambar 2.9 Notasi State
Transition adalah symbol perpindahan keaktifan dari sebuah objek menjadi
objek lain. Transition disimbolkan dengan anak panah.
Gambar 2.10 Notasi Transition
Condition adalah suatu keadaan pada lingkungan eksternal yang dapat
dideteksi
oleh
sistem.
Condition menggambarkan
syarat
yang
biasanya
digunakan
dalam hubungan seleksi. Action adalah yang dilakukan sistem bila terjadi perubahan
state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau
output. Display adalah hasil yang merupakan STD.
2.6
Flowchart
Flowchart adalah representasi skematik dari sebuah algoritma atau sebuah
proses yang teratur, menunjukkan langkah-langkah dalam kotak-kotak yang
bervariasi dan urutannya dengan menghubungkan kotak-kotak tersebut dengan panah.
|
17
Flowchart digunakan dalam mendesain atau mendokumentasikan sebuah proses atau
program
(Wikipedia 2008). Flowchart pertama
kali diperkenalkan oleh Frank
Gilbreth kepada
anggota ASME (American
Society
of
Mechanical
Engineers)
pada
tahun 1921 sebagai
representasi
Process Charts First Steps
in Finding the One
Best Way dan saat ini menjadi alat yang sering digunakan untuk menunjukkan aliran
proses dalam suatu algoritma.
Sebuah Flowchart pada umumnya memiliki simbol-simbol sebagai berikut:
a. Start and end symbols
Direpresentasikan dalam bentuk oval, atau persegi panjang dengan ujung yang
membulat, biasanya mengandung kata Start atau End atau frase lainnya
yang menujukkan awal proses atau akhir dari proses, seperti submit enquiry
atau receive product.
b. Arrows
Menunjukkan
apa
yang
disebut
sebagai
flow of
control dalam
ilmu
computer. Sebuah arrow datang dari sebuah simbol dan berakhir pada simbol
lainnya merepresentasikan bahwa kontrol
berpindah pada simbol yang
ditunjukkan oleh arrow.
c. Processing steps
Direpresentasikan sebagai sebuah persegi panjang. Contoh: tambahkan 1
pada X; ganti bagian yang diidentifikasi; simpan data.
|
![]() 18
d.
Input / Output
Direpresentasikan sebagai sebuah jajaran genjang. Contoh: ambil X dari
user; tampilkan X.
e.
Conditional or decision
Direpresentasikan sebagai sebuah belah ketupat / bentuk berlian. Biasanya
berisi pertanyaan
yang mempunyai
jawaban
yes atau no, ataupun
true
atau false. Simbol
ini
unik karena ada dua arrows yang keluar dari simbol
ini.
Biasanya
terdapat
pada
bagian bawah
dan
kanan,
dan berkorespondensi
pada jawaban yes atau no, ataupun true atau false. Tiap arrow harus
diberi label di dalamnya. Lebih dari dua arrows dapat digunakan, tetapi secara
normal berarti bagian tersebut dapat dipecah lagi secara lebih mendalam.
Gambar 2.11 Flowchart
|
19
2.7
Interaksi Manusia dan Komputer (IMK)
Berdasarkan evaluasi
dari
sudut
interaksi
manusia
dan
komputer,
program
simulasi yang dirancang
harus bersifat interaktif. Suatu program yang interaktif dan
baik harus bersifat
user
friendly,
dengan
lima
kriteria
(Shneiderman
2005,
p15)
sebagai berikut:
a.
Waktu belajar yang tidak lama.
b.
Kecepatan penyajian informasi yang tepat.
c.
Tingkat kesalahan pemakaian rendah.
d.
Penghafalan sesudah melampaui jangka waktu.
e.
Kepuasan pribadi.
Menurut (Shneiderman 2005, p74), dalam merancang sistem interaksi
manusia dan komputer yang baik juga harus memperhatikan delapan aturan utama
(eight golden rules), yaitu:
a.
Strive for consistency (berusaha untuk konsisten).
b.
Enable frequent user to use shortcuts (memungkinkan pengguna
untuk
menggunakan jalan pintas).
c.
Offer informative feedback (memberikan umpan balik yang informatif).
d.
Design
dialogs to
yield
closure
(pengorganisasian
yang
baik
sehingga
pengguna mengetahui kapan awal dan akhir dari suatu aksi).
e.
Offer simple error handling (memberikan pencegahan kesalahan dan
penanganan kesalahan yang sederhana).
|
20
f.
Permit easy reversal of actions (memungkinkan kembali ke aksi sebelumnya
dengan mudah).
g.
Support internal locus of control (memungkinkan pengguna untuk menguasai
dan mengontrol sistem).
h.
Reduce short term memory load (mengurangi beban ingatan jangka pendek,
sehingga pengguna tidak perlu banyak menghafal).
2.8
Pengenalan Pola
Pengenalan pola merupakan sebuah metode
yang
telah
lama
ada
dan
terus
berkembang
hingga
saat
ini.
Pengenalan pola
tradisional
masih
berbasis
pada
kemampuan
alat
indera
manusia.
Manusia mampu
mengingat suatu
informasi pola
secara
menyeluruh
hanya
dengan
berdasarkan sebagian
informasi
yang
tersimpan
dalam ingatannya.
Sebagai
contoh, dengan
hanya
mendengar sebagian
lagu,
dapat
membuat kita mengingat seluruh lagu.
Pengenalan pola adalah kemampuan
manusia
untuk
mengenali
obyek-obyek
berdasarkan ciri-ciri dan pengetahuan yang pernah diamatinya dari obyek
tersebut.
Tujuan
dari
pengenalan
pola
ini
adalah
mengklasifikasi
dan
mendeskripsikan
pola
atau obyek kompleks berdasarkan ciri-cirinya.
Saat
ini,
komputer
telah
memiliki
sistem intelejen visual,
yang
membuat
dirinya dapat melihat dan mengenali sebuah obyek. Untuk dapat mengenali sebuah
obyek komputer harus melakukan pengolahan citra dan pengenalan pola. Pengolahan
|
![]() 21
citra digunakan untuk mendapatkan citra dengan kualitas yang baik, sementara
pengenalan pola berfungsi agar komputer dapat mengenali citra tersebut.
Dalam pengenalan pola, kita bisa
membagi keseluruhan proses menjadi tiga
tahap yaitu:
a.
Perolehan
data
(data
acquisition),
yaitu
tahap
saat
data
analog akan
dilewatkan pada penerjemah yang akan membuatnya
menjadi
format
digital
untuk diproses oleh komputer.
b.
Pengolahan data (data preprocessing), yaitu tahap saat data digital yang
diperoleh
dari
tahap
sebelumnya
diekstraksi karakteristiknya dan kemudian
karakteristik tersebut menjadi data output.
c.
Pengklasifikasian keputusan (decision classification), yaitu tahap saat
karakteristik
yang
diperoleh
pada tahap sebelumnya,
digunakan untuk
mengklasifikasikan obyek.
Gambar 2.12 Representasi Konseptual dari Sistem Pengenalan Pola
Dalam pengenalan pola, banyak sekali metode yang bisa digunakan dan tidak
ada suatu
metode yang bisa dikatakan paling tepat. Metode terbaik yang digunakan
|
22
untuk mengenali suatu pola, berbeda-beda tergantung obyek yang diteliti. Namun
demikian, pendekatan pengenalan pola yang saat ini sedang berkembang adalah
dengan menggunakan jaringan saraf tiruan.
Jadi dapat kita simpulkan bahwa pengenalan pola adalah suatu proses untuk
mengenali sebuah obyek dengan berbagai
metode, dan dalam proses pengenalannya
harus memiliki tingkat akurasi
yang tinggi. Adapun tingkat akurasi
yang
tinggi
ini,
berarti bahwa suatu metode pengenalan pola yang diaplikasikan pada komputer harus
mampu mengenali, meskipun pola tersebut secara manual sulit untuk dikenali oleh
manusia.
2.9 Citra Digital
Citra merupakan istilah lain untuk gambar. Kata citra lebih banyak digunakan
pada materi yang berkaitan dengan konseptual dan teknis, sementara kata gambar
digunakan jika mengacu pada objek yang dibicarakan dalam kehidupan seharihari.
Citra adalah gambar pada bidang dwimatra (dua dimensi) yang memiliki sumbu x dan
sumbu y.
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
|
![]() 23
analog
menjadi citra
digital,
kita
bisa
menggunakan
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 juga digunakan untuk menunjukkan
cahaya atau keadaan terang gelap piksel tersebut.
(x,y)
m
kolom
n baris
Gambar 2.13 Sistem Koordinat pada Citra Digital
Untuk menunjukkan lokasi piksel,
koordinat (0,0) berfungsi untuk
menunjukkan posisi sudut kiri atas pada citra, indeks x bergerak ke kanan dan indeks
y bergerak ke bawah. Koordinat (m-1, n-1)
digunakan
untuk
menunjukkan
posisi
kanan bawah dalam citra berukuran m x n piksel.
Untuk
menunjukkan
tingkat
pencahayaan suatu
piksel,
digunakan
bilangan
bulat yang besarnya 8 bit (1 byte) untuk setiap piksel, dengan lebar selang antara 0
|
24
255,
di
mana
0
untuk
warna
hitam,
255
untuk
warna
putih
dan
tingkat
keabuan
ditandai dengan nilai di antara 0 255.
2.9.1
Jenis Citra Digital
Citra digital dapat
dikelompokan
menjadi
tiga
menurut jumlah
tingkat
kuantisasi dan warnanya, yaitu:
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 pixelnya 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 bisa dikelompokan menjadi:
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.
|
25
2.9.2
Citra Warna/True Color
Setiap citra warna, memiliki piksel yang terdiri dari tiga warna yang spesifik,
yaitu merah, hijau dan biru. Format citra ini disebut dengan citra RGB (Red, Green,
Blue). Setiap warna dasar memiliki intensitasnya sendiri dengan nilai maksimum 255
(8 bit)
dan
nilai
minimum 0.
Sebagai contoh,
warna kuning
merupakan kombinasi
warna merah dengan nilai 255 dan warna hijau 255, sehingga kombinasi RGB-nya
adalah 255 255 0. Dari contoh di atas, dapat kita lihat bahwa sebuah piksel dari citra
warna akan membutuhkan ukuran data 3 byte. Jumlah kombinasi warna yang
mungkin dari sebuah citra warna adalah 2²
4
atau lebih dari 16 juta warna. Hal inilah
yang
membuat
citra warna disebut dengan
istilah true color, karena dianggap telah
mencakup seluruh warna yang ada.
2.9.3
Citra Keabuan/Grayscale
Seperti telah
dijelaskan di
atas,
citra dapat
terbagi
menjadi
tiga,
yaitu citra
warna (true color), citra keabuan, dan citra biner. Citra biner adalah citra yang hanya
memiliki
dua
jenis warna
yaitu
hitam dan putih.
Berbeda
dengan
citra biner, citra
keabuan
memiliki
kemungkinan
warna
yang lebih
banyak
daripada
citra
biner.
Banyaknya kemungkinan warna pada citra keabuan bergantung pada jumlah bit yang
digunakan. Sebagai contoh, jika suatu citra memiliki nilai 4
bit,
maka
kemungkinannya adalah 2
4
= 16 warna. Format citra ini disebut sebagai skala
|
![]() 26
keabuan,
karena
nilai
minimum
yang
dimilikinya
adalah
warna
hitam,
nilai
maksimumnya adalah warna putih, dan nilai di antaranya adalah warna abu-abu.
= 15
10
7
10
15
13
= 12
4
15
7
11
15
= 10
5
15
7
14
14
= 15
15
3
11
13
15
Gambar 2.14 Matriks 2D Citra Keabuan
2.9.4
Pengolahan Citra Digital
Image Processing atau sering juga disebut pengolahan citra bertujuan untuk
memperbaiki
kualitas
citra
agar
lebih
mudah
diinterpretasi oleh manusia atau
komputer. Agar dapat diolah
dengan
komputer,
maka
suatu
citra
harus
direpresentasikan
secara
numerik
dengan
nilainilai
diskrit. Representasi
citra
dari
fungsi
malar
(kontinu)
menjadi
nilainilai 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.
Citra
Masukan
Pengolahan
Citra
Citra
Hasil
Gambar 2.15 Representasi dari Sistem Pengolahan Citra
|
27
Untuk
meningkatkan
mutu suatu
citra, kita
harus
mengeliminasi noise
yang
tidak
diinginkan
dari
citra tersebut.
Selain
itu
kita
juga
harus
menjaga
detail
yang
tetap ingin ditampilkan pada citra. Noise pada suatu citra digital bisa 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
metode
yang
dapat digunakan untuk meningkatkan mutu suatu citra. Beberapa di antaranya adalah
sebagai berikut:
a.
Perataan histogram.
Histogram citra
adalah
suatu
grafik yang
menyajikan
distribusi
warna
dari
suatu citra digital. Histogram tersebut akan menyajikan banyaknya piksel
untuk
setiap
warna
yang
ada
pada
citra. Dengan
melakukan perataan
histogram, maka kita akan
mendapatkan citra dengan daerah tingkat keabuan
yang sesuai.
b.
Penapisan.
Penapisan
atau
filtering adalah
suatu
tahap
untuk
menahan
suatu
frekuensi
spasial
dari
suatu
citra. Filtering bisa dilakukan dengan menentukan nilai
intensitas suatu piksel berdasarkan nilai intensitas piksel-piksel di
sekitarnya.
Untuk meningkatkan mutu
citra dengan mengurangi
noise,
kita
bisa
menggunakan dua jenis filter
yaitu low pass filter dan high pass filter. Low
pass filter mempunyai efek perataan
warna keabuan, sehingga
gambar
yang
|
28
diperoleh
akan
tampak
agak
kabur
kontrasnya,
sedangkan high
pass filter
berfungsi
sebaliknya. Filter
tersebut
akan
menyalurkan
dan
memperkuat
komponen frekuensi tinggi dari suatu citra, sehingga mempertajam garis batas
antar obyek.
c.
Thresholding.
Thresholding adalah suatu metode untuk mengubah citra digital menjadi citra
biner,
yaitu citra
dengan dua warna. Proses
ini
juga
akan membantu
untuk
menghilangkan
noise pada
citra.
Untuk
melakukan
thresholding,
kita
membutuhkan nilai ambang (threshold value). Nilai ambang ini digunakan
sebagai penentu apakah suatu piksel akan diubah menjadi warna putih atau
menjadi
warna
hitam.
Jika nilai
piksel lebih besar dari
nilai
ambang,
piksel
tersebut
akan
diubah
menjadi
warna putih,
sebaliknya akan
menjadi
warna
hitam.
Sampai
saat
ini
tidak
ada
aturan
yang pasti
mengenai
nilai
ambang.
Kita dapat mengubah nilai ambang sesuai dengan kebutuhan kita agar
memperoleh citra yang baik. Namun demikian ada salah satu metode yang
berfungsi
untuk
menentukan
nilai ambang,
yaitu adaptive threshold. Untuk
menggunakan metode ini, kita harus menjumlahkan seluruh nilai piksel yang
ada pada citra, dan kemudian membaginya dengan luas dari citra. Hasil dari
perhitungan tersebut dapat digunakan sebagai nilai ambang.
|
![]() 29
2.10
Katakana
Katakana adalah salah satu daripada tiga cara penulisan bahasa Jepang.
Katakana biasanya digunakan untuk menulis kata-kata yang berasal dari bahasa asing
yang
sudah
diserap
ke
dalam bahasa
Jepang
(
???
/gairaigo)
selain
itu
juga
digunakan untuk menuliskan onomatope dan kata-kata asli bahasa Jepang, hal ini
2.10.1 Tabel I
Tabel pertama
ini berisi huruf-huruf Katakana standar. Jika komputer Anda
tidak
mempunyai font bahasa
Jepang,
lihat
tabel
ketiga untuk huruf-huruf dasar.
(Huruf
dalam warna
merah
sudah
tidak
?
a
?
i
?
u
?
e
?
o
?
ka
?
ki
?
ku
?
ke
?
ko
??
kya
??
kyu
??
kyo
?
sa
?
shi
?
su
?
se
?
so
??
sha
??
shu
??
sho
?
ta
?
chi
?
tsu
?
te
?
to
??
cha
??
chu
??
cho
?
na
?
ni
?
nu
?
ne
?
no
??
nya
??
nyu
??
nyo
?
ha
?
hi
?
fu
?
he
?
ho
??
hya
??
hyu
??
hyo
?
ma
?
mi
?
mu
?
me
?
mo
??
mya
??
myu
??
myo
|
![]() 30
?
ya
?
yu
?
yo
?
ra
?
ri
?
ru
?
re
?
ro
??
rya
??
ryu
??
ryo
?
wa
?
wi
?
we
?
wo
?
n
?
ga
?
gi
?
gu
?
ge
?
go
??
gya
??
gyu
??
gyo
?
za
?
ji
?
zu
?
ze
?
zo
??
ja
??
ju
??
jo
?
da
?
ji
?
zu
?
de
?
do
?
ba
?
bi
?
bu
?
be
?
bo
??
bya
??
byu
??
byo
?
pa
?
pi
?
pu
?
pe
?
po
??
pya
??
pyu
??
pyo
Gambar 2.16 Tabel huruf-huruf Katakana standar
2.10.2 Tabel II
Tabel kedua berisi
huruf-huruf
tambahan dalam zaman
modern. Ini biasanya
??
ye
??
wi
??
we
??
wo
??
va
??
vi
?
vu
??
ve
??
vo
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 31
??
she
??
je
?? che
??
ti
??
tu
??
tyu
??
di
??
du
??
dyu
??
tsa
??
tsi
??
tse
??
tso
??
fa
??
fi
??
fe
??
fo
?? fyu
Gambar 2.17 Tabel huruf-huruf Katakana tambahan
2.11
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 ciri-ciri/karakteristik khusus dari citra yang diteliti.
|
32
2.11.1 Transformasi Wavelet Diskrit
Transformasi
merupakan
suatu
proses
untuk mengubah suatu data ke dalam
bentuk lain agar lebih mudah untuk dianalisis. Sebagai contoh, Transformasi Fourier
merupakan suatu proses untuk mengubah data ke dalam beberapa gelombang kosinus
yang
berfrekuensi
berbeda.
Jadi
Transformasi Wavelet
adalah
proses
pengubahan
sinyal
ke
dalam berbagai
Wavelet
basis
dengan
berbagai
fungsi
pergeseran
dan
penyekalaan.
Transformasi
Wavelet Diskrit merupakan pentransformasian
sinyal
diskrit
menjadi
keofisien-koefisien Wavelet
yang
diperoleh
dengan
cara
menapis
sinyal
dengan menggunakan dua buah tapis yang berlawanan. Kedua tapis tersebut adalah :
a.
Tapis perataan atau penyekalan atau disebut juga dengan
tapis
lolos rendah
(low pass filter).
b.
Tapis detil atau tapis lolos tinggi (high pass filter).
Pada
tahap
pertama,
sinyal
dilewatkan
pada
rangkaian
filter
high-pass
dan
low-pass, kemudian setengah dari masing-masing
keluaran
diambil
sebagai
sample melalui
operasi sub-sampling. Proses ini disebut sebagai proses
dekomposisi
satu
tingkat.
Keluaran
dari filter low-pass
digunakan
sebagai
masukan di proses dekomposisi tingkat berikutnya. Proses ini diulang sampai
tingkat
proses
dekomposisi
yang
diinginkan.
Gabungan
dari
keluaran-
keluaran
filter
high-pass
dan
satu
keluaran
filter
low-pass yang
terakhir,
disebut sebagai koefisien Wavelet, yang berisi informasi sinyal hasil
|
![]() 33
Transformasi yang telah terkompresi. Jadi secara umum dapat kita simpulkan
bahwa
Transformasi
Wavelet
Diskrit
adalah proses dekomposisi
citra
pada
frekuensi sub-band dari citra tersebut, di
mana komponen sub-band tersebut
dihasilkan dengan cara menurunkan level dekomposisi.
Gambar 2.18 Dekomposisi Wavelet Diskrit pada Sinyal Satu Dimensi
Output filter yang memiliki respon impulse h(n) dan input x(n) adalah:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
sehingga output dari LPF dan HPF setelah downsampling adalah:
?
HPF
?
?
?
?
?
?
?2
?
?
?
LPF
?
?
?
?
?
?
?2
?
?
|
![]() 34
Di
mana
g(n)
dan
h(n)
adalah
respon
impulse
dari
HPF
dan
LPF.
Dalam
dekomposisi Wavelet, level maksimum ditentukan dengan persamaan sebagai berikut:
ln ??
?
/
??
?
?
1??
Level
maks
ln ?2?
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. Adapun fungsi dari Wavelet Haar adalah sebagai berikut:
?
?
?
?
1
?1
0
? ?
,
2
1
?
1
? ? 1,
2
?
0
?
??.
Selain itu, fungsi skala dari Wavelet Haar adalah sebagai berikut:
????
?
1
0
? ? 1,
0
?
??.
Pada Wavelet Daubechies, terdapat empat fungsi skala, yaitu:
1
v³
?
4
v2
3
v³
?
4
v2
3
v³
?
4
v2
1
v³
?
4v2
|
![]() 35
Dari
empat
fungsi
skala tersebut,
koefisien
fungsi
Wavelet-nya adalah,
?
?
,
?
?
,
?
?
,
dan
?
?
.
Setiap
langkah
dari
proses
Transformasi Wavelet, akan menggunakan
fungsi tersebut. Jika data
input
memiliki
nilai N, maka fungsi Wavelet akan digunakan untuk menghitung dan menghasilkan
?
output. Dari
fungsi-fungsi di atas, dapat kita rangkumkan
fungsi skala dari Wavelet
Daubechies adalah:
?
?
?
??
?
?
??
?
?
?
??
?
?
??
?
?
?
?
?2
?
?
?
?2
1
?
?
?
?2
2
?
?
??2
3?
Sementara fungsi umum Wavelet Daubechies adalah:
?
?
?
??
?
?
??
?
?
?
??
?
?
??
?
?
?
?
?2
?
?
?
?2
1
?
?
?
?2
2
?
?
??2
3?
Penelitian ini menggunakan basis Wavelet jenis Haar atau sering juga disebut
dengan D2 (Daubechies 2).
2.11.2 Transformasi Wavelet Dua Dimensi
Data
citra
merupakan
data
yang berbentuk
array
dua
dimensi,
yang
berisi
informasi tentang warna dan intensitas pencahayaan dari suatu piksel.
|
![]() 36
Gambar 2.19 Algoritma Transformasi Wavelet Diskrit Dua Dimensi
Untuk mentransformasikan data dua dimensi dengan menggunakan metode
Wavelet, digunakan Transformasi Wavelet dua dimensi. Transformasi Wavelet dua
dimensi
merupakan
pengeneralisasian Transformasi
Wavelet pada
ruang
satu
dimensi, yang algoritmanya dapat dilihat pada gambar 2.19.
Proses dekomposisi Transformasi Wavelet untuk citra dua dimensi dapat
dijelaskan pada gambar 2.20.
Gambar 2.20 Transformasi Wavelet untuk Citra Dua Dimensi
|
37
2.12
Jaringan Saraf
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.12.1 Jaringan Saraf Manusia
Keunikan dari jaringan saraf manusia yaitu kemampuannya untuk belajar dan
mengingat
berbagai
informasi
serta
dapat beradaptasi
dengan cara
merespon
suatu
rangsangan. Otak manusia diperkirakan terdiri dari 10¹1
sel saraf (neuron). Di dalam
otak inilah terdapat fungsifungsi yang sangat banyak dan rumit, di antaranya adalah
ingatan, belajar, penalaran, kecerdasan, inisiatif, dan lainlain. Untuk membentuk
fungsifungsi itu, tiaptiap 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 bisa
diadopsi untuk memahami saraf tiruan, yaitu:
a.
Dendrit : Menerima sinyal dari saraf (neuron) lainnya.
|
![]() 38
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 : Bisa meningkatkan dan mengurangi kekuatan hubungan karena
eksitasi.
Setiap neuron mempunyai tiga sifat dasar :
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 neuronneuron yang lain.
Gambar 2.21 Jaringan Saraf Manusia
Sumber :
|
39
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
dendrit
dendrit
yang lain. Secara garis besar neuron
mengolah
informasi
yang
masuk
dan
meneruskan ke neuron yang lain.
2.12.2 Jaringan Saraf Tiruan
Jaringan
saraf
tiruan (JST)
adalah
suatu
sistem pemrosesan
informasi
yang
punya karakteristik performansi seperti halnya jaringan saraf manusia. Jaringan saraf
tiruan
dapat
dikatakan
sebagai pemodelan
matematika
dari jaringan
saraf
manusia
dengan menggunakan asumsiasumsi sebagai berikut:
a.
Pemrosesan
informasi
terjadi
pada
elemenelemen
sederhana
yang
disebut
neuron.
b.
Sinyalsinyal yang mengaliri neuronneuron melewati hubungan link.
c.
Setiap link penghubung punya bobot yang besesuaian, yang dalam suatu
jaringan saraf menggandalkan sinyal yang ditransmisikan.
d.
Setiap neuron
menerapkan suatu
fungsi aktifasi
(biasanya nonlinier) ke input
jaringan
(jumlah
dari
sinyal input
terbobotnya)
untuk
menentukan
sinyal
outputnya.
|
![]() 40
Karakteristik jaringan saraf tiruan ditentukan oleh:
a.
Pola hubungan antar neuron (disebut dengan arsitektur jaringan).
b.
Metode penentuan bobot keterhubungan (disebut dengan pelatihan atau proses
belajar jaringan).
c.
Fungsi aktifasi.
Gambar 2.22 Jaringan Saraf Tiruan dengan Satu Lapisan Tersembunyi
Suatu jaringan saraf tiruan terdiri dari neuronneuron disusun dalam berbagai
cara untuk membentuk arsitektur jaringan. Setiap saraf menerima input, memproses
input-input, dan mengirimkan output tunggal.
Pada dasarnya cara kerja JST tersebut dengan cara menjumlahkan hasil kali
dari nilai masukan dengan nilai bobotnya. Pada Gambar 2.15 diperlihatkan
serangkaian masukan
?
?
. Setiap masukan akan dikalikan berturut-
turut
dengan bobot
?
?
dengan demikian hasil kali keluaran akan sama dengan:
?
.
?
?
.
?
?
.
?
|
![]() 41
Gambar 2.23 Input dan Bobot pada Jaringan Saraf Tiruan
2.12.2.1
Fungsi Aktivasi
Dalam jaringan
komputasi,
fungsi
aktivasi
dari
sebuah
neuron akan
mendefinisikan nilai output yang akan dihasilkan dari sebuah atau serangkaian input.
Sebuah sirkuit komputer sederhana dapat dilihat sebagai sebuah jaringan digital. Hal
ini
serupa
dengan
perilaku
dari
jaringan perceptron pada jaringan saraf tiruan.
Aktivasi dari neuron adalah jumlah bobot paling tinggi dari masukan sebuah neuron
dalam jaringan saraf tiruan. Terdapat banyak macam fungsi aktivasi, mulai dari
fungsi linear, sigmoid, step, ramp, namun yang akan digunakan dalam penelitian ini
adalah
fungsi
aktivasi
jenis sigmoid.
Fungsi
logistik
dari
fungsi
sigmoid
adalah,
sebagai berikut:
?
?
?
1
1
?
|
![]() 42
Gambar 2.24 Fungsi Sigmoid
2.12.2.2
Backpropagation
Tingkat
kemiripan
antara
citra query
dengan
citra
pustaka
akan
dihitung
dengan menggunakan metrika jaringan saraf tiruan jenis
backpropagation.
Backpropagation adalah jaringan saraf tiruan dengan metode pelatihan perambatan
balik galat (generalized delta rule) yang merupakan metode penurunan gradien untuk
minimisasi galat kuadrat total pada output yang dihitung dari jaringan.
Pelatihan jaringan dengan perambatan balik melibatkan proses tiga tingkat,
yaitu:
a.
Umpan maju
b.
Perhitungan dan perambatan balik galat terkait dan
c.
Pengaturan bobot
|
43
Dalam backpropagation terdapat tiga lapisan, yaitu:
a.
Lapisan input, yaitu lapisan yang akan diisi dengan data yang akan ditraining
ke dalam jaringan saraf tiruan.
b.
Lapisan tersembunyi (hidden layer), layer yang tidak pernah muncul dan
berada di antara lapisan input dan lapisan output.
c.
Layer output, yaitu layer yang akan berisi nilai output dari proses
backpropagation.
2.12.2.3
Algoritma Backpropagation
Algoritma backpropagation terbagi menjadi dua, yaitu alogritma training dan
algoritma
untuk
aplikasi.
Pada
algoritma training, ada dua langkah yang harus
dilakukan, yaitu langkah maju (feedfoward) dan langkah mundur (backward).
Sementara untuk bagian aplikasi, hanya langkah maju yang akan dijalankan. Lebih
rincinya, kedua tahap tersebut adalah sebagai berikut:
a.
Tahap 0 : Inisialisasi nilai weight.
b.
Tahap 1 : Jika proses terus ingin dilanjutkan, lakukan tahap 2-9.
c.
Tahap 2 : Untuk setiap pasangan data training lakukan tahap 3-8.
Langkah maju (Feedforward)
a.
Tahap
3
:
Setiap
unit
input
(x
i
,
i
=
1,...,n)
menerima
sinyal
input
x
i
dan
meneruskan sinyal tersebut ke semua unit pada lapisan di atasnya (hidden
layer).
|
![]() 44
b.
Tahap 4
:
Setiap
unit tersembunyi (z
j
,
j=1,...,p)
menjumlahkan sinyal-sinyal
input terbobot.
?
?_
?
?
??
?
?
?
?
??
?
?
kemudian digunakan fungsi aktivasi untuk menghitung sinyal output-nya.
?
?
??_
?
?
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit
output).
c.
Tahap 5 : Setiap unit output (y
k
,
k=1,...,m) menjumlahkan sinyal-sinyal input
terbobot,
?_
?
?
??
?
?
?
?
??
?
?
kemudian digunakan fungsi aktivasi untuk menghitung sinyal output-nya.
?
?
??_
?
?
Langkah mundur (backward)
d.
Tahap
6
:
Tiap-tiap
unit output (y
k
,
k=1,...,m)
menerima
pola
target
yang
berhubungan dengan pola input pembelajaran. Hitung informasi error-nya,
?
?
?
?
?
?
?
?
?
??_
?
?
|
![]() 45
hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
w
jk
),
??
??
?
?
?
?
?
hitung juga koreksi bias (yang
nantinya digunakan untuk
memperbaiki
nilai
w
ok
),
??
??
?
dan kirimkan nilai ?
ke unit-unit yang ada dilapisan bawahnya.
e.
Tahap
7
:
Tiap-tiap
hidden
unit
(z
j
,
j=1,...,p)
menjumlahkan
delta
inputnya
(dari unit yang berada pada lapisan atasnya),
?
?_
?
?
?
?
?
??
?
?
kalikan nilai ini denan turunan dari fungsi aktivasinya untuk menghitung
informasi error-nya,
?
?
?_
?
?
??_
?
?
kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki
nilai v
ij
),
??
??
?
?
?
?
?
hitung juga koreksi bias (yang
nantinya digunakan untuk
memperbaiki
nilai
v
oj
),
??
??
?
|
![]() 46
perbaiki bobot dan bias.
f.
Tahap 8
:
Setiap
unit output (Y
k
,
k=1,...,m) memperbaiki bobot dan biasnya
(j=0,...,p),
?
??
?
??
?
?
??
?
?
??
??
setiap
unit
tersembunyi
(Z
j
,
j=1,...,p)
memperbaiki
bobot
dan
biasnya
(i=0,...,n).
?
??
?
??
?
?
??
?
?
??
??
g.
Tahap 9 : tes kondisi berhenti.
Jadi, pada landasan teori ini, telah dibahas teori-teori yang berhubungan
dengan
perancangan program aplikasi,
seperti
metode
perancangan
program,
image
processing, Transformasi
Wavelet,
Jaringan
Saraf
Tiruan,
dan
algoritma
Back
Propagation. Penggunaan dari teori-teori tersebut akan dijelaskan lebih lanjut pada
bab selanjutnya.
|