BAB 2 LANDASAN TEORI
Dalam bab landasan teori ini, akan penulis akan mencoba menguraikan teori yang relevan, lengkap, dan terkini sejalan dengan permasalahan yang dihadapi, juga diuraikan hubungan antara permasalahan tersebut dengan teknik yang digunakan dalam perancangan program aplikasi ini serta bagaimana cara penulis dalam mengatasi dan menyelesaikannya.
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.
11
Gambar 2.1 Prototype Model
Model ini kemudian menjadi panduan langkah-langkah pembuatan program aplikasi yang sesuai dengan kebutuhan penyelesaian akan masalah yang dihadapi, serta harapan dari penggunanya, supaya proyek pengembangan program aplikasi tersebut dapat diselesaikan dengan baik dan 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.
12 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):
Aktor:
segala
sesuatu
yang
berhubungan
dengan
sistem
dan
melaksanakan use case yang terkait.
Precondition: kondisi awal yang harus dimiliki aktor untuk masuk ke dalam sistem untuk terlibat dalam suatu use case.
Postcondition: kondisi akhir atau hasil apa yang akan diterima oleh aktor setelah menjalankan suatu use case.
Flow of Events: kegiatan-kegiatan yang dilakukan pada sebuah proses use case.
Alternative Paths: kegiatan yang memberikan serangkaian kejadian berbeda yang digunakan dalam Flow of Events.
13 2.3.
Class Diagram Class Diagram adalah salah satu diagram struktur statis yang menunjukkan
struktur dari sistem dengan menunjukkan class(es) yang ada pada sistem, attribute dan method class(es) 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 obyek 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.
Gambar 2.4 Hubungan Association Pada Class Diagram Sumber: http://en.wikipedia.org/wiki/Class_Diagram Aggregation adalah lambang dari “memiliki sebuah” atau hubungan association merupakan perluasan association, hubungan aggregation hanya dapat melibatkan dua class.
14 Aggregation terjadi bila suatu class mengandung satu atau lebih obyek dari class lain, tetapi class yang dikandung tidak memiliki life cycle dependency dengan class yang mengandung.
Gambar 2.5 Hubungan Aggregation Pada Class Diagram Sumber: http://en.wikipedia.org/wiki/Class_Diagram
Composition merupakan hubungan aggregation di mana class yang dikandung telah memiliki life cycle dependency dengan class yang mengandung.
Gambar 2.6 Hubungan Composition Pada Class Diagram Sumber: http://en.wikipedia.org/wiki/Class_Diagram
2.4.
Sequence Diagram Menurut Lethbridge (2002, p.270), sequence diagram adalah diagram yang
menunjukkan urutan proses dan penukaran pesan oleh sejumlah obyek (dan seorang actor
yang
optional)
dalam
melakukan
tugas
tertentu.
menggambarkan skenario runtime sederhana secara grafis.
Sequence
diagram
15
Gambar 2.7 Notasi Object, Lifetime dan Activation Sumber: Lethbridge (2002, p.440)
Gambar 2.8 Notasi Sequence Diagram Sumber: http://en.wikipedia.org/wiki/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 realtime seperti proses control, telephone switching system, dan control system.
16
2.5.2. Simbol dan Sifat STD State adalah kumpulan keadaan dan atribut yang mencirikan obyek pada waktu atau kondisi tertentu. Disimbolkan dengan segi empat.
Gambar 2.9 Notasi State
Transition adalah symbol perpindahan keaktifan dari sebuah obyek menjadi obyek 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.
17 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. 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:
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”.
Arrows Menunjukkan apa yang disebut sebagai “flow of control” dalam ilmu komputer. Sebuah arrow datang dari sebuah simbol dan berakhir pada simbol lainnya merepresentasikan bahwa kontrol berpindah pada simbol yang ditunjukkan oleh arrow.
18
Processing steps Direpresentasikan sebagai sebuah persegi panjang. Contoh: “tambahkan 1 pada X”; “ganti bagian yang diidentifikasi”; “simpan data”.
Input / Output Direpresentasikan sebagai sebuah jajaran genjang. Contoh: “ambil X dari user”; ”tampilkan X”.
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 Sumber: http://www.novagraph.com/images/HowToFlowchart.png
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, ramah terhadap penggunanya, dengan lima kriteria (Shneiderman 2005, p15) sebagai berikut:
Waktu belajar yang tidak lama.
Kecepatan penyajian informasi yang tepat.
Tingkat kesalahan pemakaian rendah.
Penghafalan sesudah melampaui jangka waktu.
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:
Strive for consistency (berusaha untuk konsisten).
Enable frequent user to use shortcuts (memungkinkan pengguna untuk menggunakan jalan pintas).
Offer informative feedback (memberikan umpan balik yang informatif).
Design dialogs to yield closure (pengorganisasian yang baik sehingga pengguna mengetahui kapan awal dan akhir dari suatu aksi).
Offer simple error handling (memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana).
Permit easy reversal of actions (memungkinkan kembali ke aksi sebelumnya dengan mudah).
20
Support internal locus of control (memungkinkan pengguna untuk menguasai dan mengontrol sistem).
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 indra manusia, yang tentu saja sangat terbatas, dan kemampuannya tidaklah sama dari waktu ke waktu, walaupun hal tersebut sudah cukup dalam beberapa kasus yang umum dijumpai. Misal, dengan hanya mendengar sebagian lagu, dapat membuat seseorang mengingat seluruh lagu. Hal ini menyatakan pada kita bahwa manusia mampu mengingat suatu informasi pola secara menyeluruh hanya dengan berdasarkan sebagian informasi yang tersimpan dalam ingatannya. 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 sehingga kelak menjadikannya mudah dikenali. Dewasa ini, komputer telah memiliki sistem visual intelligencia, yang membuat sistem tersebut dapat melihat dan mengenali sebuah obyek, secara terpisah dari obyek lainnya. Untuk dapat mengenali sebuah obyek, komputer harus melakukan pengolahan citra dan pengenalan pola. Pengolahan citra digunakan untuk mendapatkan citra dengan kualitas yang baik, namun tetap menyimpan ciri-ciri yang dibutuhkan dari pola tersebut. Sementara itu, pengenalan pola berfungsi agar komputer dapat mengenali citra tersebut,
21 untuk kemudian sanggup dipergunakan dalam proses berikutnya bila memang tersedia dan dibutuhkan. Dalam pengenalan pola, kita bisa membagi keseluruhan proses menjadi tiga tahap yaitu:
Perolehan data (data acquisition), yaitu tahap saat data analog akan dilewatkan pada penerjemah yang akan membuatnya menjadi format digital untuk diproses oleh komputer.
Pengolahan data (data preprocessing), yaitu tahap saat data digital yang diperoleh dari tahap sebelumnya diekstraksi karakteristiknya dan kemudian karakteristik tersebut menjadi data output.
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 untuk mengenali suatu pola, berbeda-beda tergantung pada obyek yang diteliti. Namun demikian, pendekatan pengenalan pola yang berkembang dewasa ini adalah dengan menggunakan jaringan saraf tiruan.
22 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, yang tentunya juga berarti bahwa suatu metode pengenalan pola yang diterapkan pada komputer dituntut harus mampu mengenali setiap karakter uji dengan baik, meskipun pola tersebut mungkin sulit untuk dikenali manusia secara manual (kasat mata).
2.9.
Citra Digital Citra merupakan istilah lain untuk gambar. Penggunaan kata citra lebih banyak
digunakan pada materi-materi yang berkaitan dengan konseptual dan teknis, sementara kata gambar digunakan jika mengacu pada obyek yang dibicarakan dalam kehidupan sehari-hari. 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 suatu penerjemah menjadi bentuk citra digital yang tak lain adalah representasi dari sebuah citra, disimpan dalam bentuk array dua dimensi, dan setiap array-nya akan menyimpan nilai warna dan intensitas pencahayaan. Untuk mengubah citra analog menjadi citra digital, kita bisa menggunakan beberapa alat tambahan, misalnya kamera digital atau scanner. Satuan terkecil dari suatu citra disebut pixel (picture element/pel) yang berarti elemen citra. Citra dibentuk dari kotak-kotak persegi yang teratur sehingga jarak horizontal dan vertikal antara pixel adalah sama pada seluruh bagian citra. setiap pixel diwakili oleh bilangan bulat (integer) untuk menunjukkan lokasinya dalam bidang citra dan juga untuk menunjukkan cahaya (keadaan terang gelap) pixel tersebut.
23
m kolom (x,y)
n baris
Gambar 2.13 Sistem Koordinat pada Citra Digital
Untuk menunjukkan lokasi pixel, 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 pixel. Untuk menunjukkan tingkat pencahayaan suatu pixel, digunakan bilangan bulat yang besarnya 8 bit (1 byte) untuk setiap pixel, dengan lebar selang antara 0 – 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:
Citra biner (binary image), yaitu citra di mana setiap pixel-nya hanya memiliki dua kemungkinan warna yaitu hitam dan putih atau 0 dan 1.
Citra keabuan (grayscale), yaitu citra yang memiliki tingkat kuantisasi lebih dari dua.
24
Citra warna (true color), yaitu citra yang setiap pixel-nya selain memiliki nilai tingkat kuantisasi juga memiliki nilai warna. Citra warna ini biasanya memiliki komponen RGB (Red, Green, Blue).
Selain pengelompokan berdasarkan jumlah tingkat kuantisasi dan warnanya, sebuah citra digital juga dapat dikelompokkan menjadi:
Citra raster, yaitu citra yang disimpan dalam bentuk array dari pixel. Pada citra raster, banyaknya kemungkinan warna dalam satu pixel disebut dengan sebutan kedalaman warna (colour depth).
Citra vektor, yaitu citra yang disimpan dalam bentuk geometri, seperti garis, lengkung dan berbagai bentuk geometri lainnya.
2.9.2. Citra Warna/True Color Setiap citra warna, memiliki pixel 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 pixel dari citra warna akan membutuhkan ukuran data 3 bytes. Jumlah kombinasi warna yang mungkin dari sebuah citra warna adalah 224 atau lebih dari 16 juta warna. Hal inilah yang membuat citra warna disebut dengan istilah true color, karena secara umum dianggap telah berhasil mencakup seluruh tampilan warna yang ada.
25
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 bits, maka kemungkinannya adalah 24 = 16 warna. Format citra ini disebut sebagai skala 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
26 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 baik oleh komputer, maka suatu citra harus direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi nalar (kontinu) menjadi nilai–nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang kemudian disebut sebagai citra digital (digital image). Pengolahan citra merupakan suatu proses yang memiliki masukan berupa citra, namun memiliki keluaran
yang juga
merupakan citra (walau keduanya berbeda). Citra Masukan
Pengolahan Citra
Citra Hasil
Gambar 2.15 Representasi dari Sistem Pengolahan Citra
Untuk meningkatkan mutu suatu citra, kita dapat mengeliminasi noise yang tidak diinginkan dari citra tersebut. Selain itu kita juga harus menjaga detail-detail penting 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 macam kemungkinan lainnya. Noise ini haruslah dihilangkan untuk menghasilkan citra yang lebih baik. Ada banyak metode yang dapat digunakan untuk meningkatkan mutu suatu citra, terutama citra digital, beberapa di antaranya adalah sebagai berikut:
27 Perataan histogram Histogram citra adalah suatu grafik yang menyajikan distribusi warna dari suatu citra digital. Histogram tersebut akan menyajikan banyaknya pixel untuk setiap warna yang ada pada citra. Dengan melakukan perataan histogram, maka kita akan mendapatkan citra dengan daerah tingkat keabuan yang sesuai. Penapisan Penapisan atau filtering adalah suatu tahap untuk menahan suatu frekuensi spasial dari suatu citra. Filtering bisa dilakukan dengan menentukan nilai intensitas suatu pixel berdasarkan nilai intensitas pixel-pixel 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 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.
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 pixel akan diubah menjadi warna putih atau menjadi warna hitam. Jika nilai pixel lebih besar dari nilai ambang, pixel
28 tersebut akan diubah menjadi warna putih, sebaliknya akan menjadi warna hitam. Sampai saat ini tidak ada aturan yang pasti mengenai nilai ambang ini. Kita dapat mengubah nilai ambang sesuai dengan kebutuhan supaya mendapat hasil terbaik. Namun demikian ada salah satu metode yang berfungsi untuk menentukan nilai ambang, yaitu adaptive threshold. Untuk menggunakan metode ini, kita harus menjumlahkan seluruh nilai pixel yang ada pada citra, dan kemudian membaginya dengan luas dari citra. Hasil dari perhitungan tersebut dapat digunakan sebagai nilai ambang.
2.10. Abjad Arab Abjad Arab ditulis dari kanan ke kiri, terdiri dari 28 huruf asas (utama). Penyesuaian tenik penulisan yang biasa dipakai bahasa lain seperti misalnya dalam bahasa Parsi, Urdu, Jawi, dan lain-lain umumnya menyertakan berbagai bentuk huruf huruf (abjad) tambahan untuk melengkapinya. Abjad Arab tidak memiliki perbedaan antara huruf besar dengan huruf kecil seperti lazimnya terdapat dalam sistem alphabet romawi. Susunan abjad Arab yang kini digunakan ialah bahwa huruf-hurufnya dikumpulkan mengikut bentuk mereka, seperti yang disertakan dalam gambar-gambar berikut ini:
Gambar 2.16 Tabel susunan abjad Arab yang biasa Sumber : http://ms.wikipedia.org/wiki/Abjad_Arab
29
30
31
32 Gambar 2.17.a Tabel abjad Arab biasa (beserta pengucapannya) Sumber : http://www.arabion.net/indonesian/lesson1_in.html
Gambar 2.17.b Tabel abjad Arab biasa (beserta pengucapannya) Sumber : http://ms.wikipedia.org/wiki/Abjad_Arab
33 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 ciriciri/karakteristik khusus dari citra yang sedang diteliti.
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 cosinus yang berfrekuensi berbeda. Jadi Transformasi Wavelet adalah proses pengubahan sinyal ke dalam berbagai basis Wavelet dengan berbagai fungsi pergeseran dan pengaturan skala yang jelas. Transformasi Wavelet Diskrit merupakan pengubahan (transformasi) sinyal diskrit menjadi koefisien-koefisien Wavelet yang diperoleh dengan cara menapis sinyal dengan menggunakan dua buah tapis yang berlawanan. Kedua tapis tersebut adalah :
Tapis perataan atau penyekalan atau disebut juga dengan tapis lolos rendah (low pass filter).
Tapis detil atau tapis lolos tinggi (high pass filter). Pada tahap pertama, sinyal dilewatkan pada rangkaian filter high-pass dan lowpass, kemudian setengah dari masing-masing keluaran diambil sebagai sample melalui operasi sub-sampling. Proses ini disebut sebagai proses dekomposisi satu
34 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 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
35 Output filter yang memiliki respon impulse h(n) dan input x(n) adalah:
sehingga output dari LPF dan HPF setelah downsampling adalah:
Di mana g(n) dan h(n) adalah respon impulse dari HPF dan LPF. 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. Adapun fungsi dari Wavelet Haar adalah sebagai berikut:
Selain itu, fungsi skala dari Wavelet Haar adalah sebagai berikut:
36 Pada Wavelet Daubechies, terdapat empat fungsi skala, yaitu:
Dari empat fungsi skala tersebut, koefisien fungsi Wavelet-nya antara lain aalah: ,
,
, dan
. Setiap langkah dari proses Transformasi
Wavelet, akan menggunakan fungsi tersebut. Jika data input memiliki nilai N, maka fungsi Wavelet akan digunakan untuk menghitungnya, dan menghasilkan output. Dari fungsi-fungsi di atas, dapat kita rangkumkan fungsi skala dari Wavelet Daubechies adalah:
Sementara fungsi umum Wavelet Daubechies adalah:
Penelitian ini menggunakan basis Wavelet jenis Haar atau sering juga disebut dengan D2 (Daubechies 2).
37 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 pixel.
Gambar 2.19 Algoritma Transformasi Wavelet Diskrit Dua Dimensi Untuk mentransformasikan data dua dimensi dengan menggunakan metode Wavelet, penulis menggunakan Transformasi Wavelet dua dimensi yang mana merupakan suatu penggeneralisasian Transformasi Wavelet pada ruang satu dimensi, algoritmanya dapat dilihat pada gambar 2.19 di atas. Proses dekomposisi Transformasi Wavelet untuk citra dua dimensi dapat dijelaskan pada gambar 2.20.
Gambar 2.20 Transformasi Wavelet untuk Citra Dua Dimensi
38 2.12. Jaringan Saraf Manusia adalah ciptaan Tuhan yang paling sempurna. Manusia dapat mengolah berbagai informasi dengan menggunakan otaknya. Teknologi (artificial) neural network saat ini ingin meniru kemampuan otak manusia yang sangat hebat tersebut. 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 menanggapi suatu rangsangan. Otak manusia diperkirakan oleh para ahli terdiri dari 1011 sel saraf (neuron). Di dalam otak inilah terdapat fungsi–fungsi yang sangat banyak dan rumit, di antaranya adalah ingatan, belajar, penalaran, kecerdasan, inisiatif, dan lain–lain. Untuk membentuk fungsi-fungsi 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 bisa diadopsi untuk memahami saraf tiruan, yaitu:
Dendrit : Menerima sinyal dari saraf (neuron) lainnya.
Badan Sel (Soma/Cell Body) : Menampung semua sinyal yang diterima sel, apabila sinyal yang diterima cukup besar, sel tersebut akan membangkitkan sinyal untuk dikirim ke sel-sel lainnya.
39
Akson : Menransmisikan aktivitas neuron dari badan sel ke dendrit sel lainnya.
Sinapsis : Bisa meningkatkan dan mengurangi kekuatan hubungan karena eksitasi.
Setiap neuron mempunyai tiga sifat dasar :
Kemampuan untuk bereaksi terhadap rangsangan yang masuk melalui sinapsis.
Kemampuan untuk mempropagansikan sinyal eksitasi yang diterima ke bagian yang lain.
Kemampuan untuk mempengaruhi neuron-neuron yang lain.
Gambar 2.21 Jaringan Saraf Manusia Sumber : www.sciencecases.org
40 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.
2.12.2. Jaringan Saraf Tiruan Jaringan saraf tiruan (JST) adalah suatu sistem pemrosesan informasi yang punya karakteristik untuk bertingkah dan berlaku layaknya jaringan saraf manusia. Jaringan saraf tiruan dapat dikatakan sebagai pemodelan matematika dari jaringan saraf manusia dengan menggunakan asumsi-asumsi sebagai berikut:
Pemrosesan informasi terjadi pada elemen-elemen sederhana yang disebut sebagai neuron.
Sinyal-sinyal yang mengaliri neuron-neuron melewati hubungan link.
Setiap link penghubung punya bobot yang bersesuaian, yang dalam suatu jaringan saraf menggandakan sinyal yang ditransmisikan
Setiap neuron menerapkan suatu fungsi aktivasi (biasanya non-linier) ke input jaringan (jumlah dari sinyal input terbobotnya) untuk menentukan sinyal output-nya.
41 Karakteristik jaringan saraf tiruan ditentukan oleh:
Pola hubungan antar neuron (disebut dengan arsitektur jaringan saraf).
Metode penentuan bobot keterhubungan (disebut dengan pelatihan atau proses belajar jaringan)
Fungsi aktivasi.
Gambar 2.22 Jaringan Saraf Tiruan dengan Satu Lapisan Tersembunyi
Suatu jaringan saraf tiruan terdiri dari banyak neuron yang disusun dalam berbagai cara untuk membentuk arsitektur jaringan. Setiap saraf menerima input, memroses bermacam input tersebut, dan mengirimkan output tunggal. Pada dasarnya cara kerja JST tersebut dengan cara menjumlahkan hasil kali dari nilai masukan dengan nilai bobotnya. Pada Gambar 2.20 diperlihatkan serangkaian masukan
…
. Setiap masukan akan dikalikan berturut-turut dengan bobot
dengan demikian hasil kali keluaran akan sama dengan:
…
42
Gambar 2.23 Input dan Bobot pada Jaringan Saraf Tiruan Sumber : www.petra.ac.id
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:
43
Gambar 2.24 Fungsi Sigmoid Sumber : www.upload.wikimedia.org
2.12.2.2.
Back Propagation
Tingkat kemiripan antara citra query dengan citra pustaka akan dihitung dengan menggunakan metrika jaringan saraf tiruan jenis Back Propagation, yang 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:
Umpan maju;
Perhitungan dan perambatan balik galat terkait; dan
Pengaturan bobot.
44 Dalam Back Propagation terdapat tiga lapisan, yaitu:
Lapisan input, yaitu lapisan yang akan diisi dengan data yang akan dilatihkan ke dalam jaringan saraf tiruan.
Lapisan tersembunyi (hidden layer), suatu lapisan (layer) yang tidak pernah muncul dan berada di antara lapisan input dan lapisan output.
Layer output, yaitu layer yang akan berisi nilai output dari proses Back Propagation.
2.12.2.3.
Algoritma Back Propagation
Algoritma Back Propagation 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:
Tahap 0 : Inisialisasi nilai weight.
Tahap 1 : Jika proses terus ingin dilanjutkan, lakukan tahap 2-9.
Tahap 2 : Untuk setiap pasangan data training lakukan tahap 3-8. Langkah maju (Feedforward)
Tahap 3 : Setiap unit input (xi, i = 1,...,n) menerima sinyal input xi dan meneruskan sinyal tersebut ke semua unit pada lapisan di atasnya (hidden layer).
Tahap 4 : Setiap unit tersembunyi (zj, j=1,...,p) menjumlahkan sinyalsinyal input terbobot.
45
kemudian digunakan fungsi aktivasi untuk menghitung sinyal output-nya.
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Tahap 5 : Setiap unit output (yk, k=1,...,m) menjumlahkan sinyal-sinyal input terbobot,
kemudian digunakan fungsi aktivasi untuk menghitung sinyal output-nya.
Langkah mundur (backward)
Tahap 6 : Tiap-tiap unit output (yk, k=1,...,m) menerima pola target yang berhubungan dengan pola input pembelajaran. Hitung informasi error-nya,
hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk),
hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai wok),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
46
Tahap 7 : Tiap-tiap hidden unit (zj, 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 vij), hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai voj),
perbaiki bobot dan bias.
Tahap 8 : Setiap unit output (Yk, k=1,...,m) memperbaiki bobot dan biasnya (j=0,...,p), setiap unit tersembunyi (Zj, j=1,...,p) memperbaiki bobot dan biasnya (i=0,...,n).
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.