Implementasi Jaringan Syaraf Tiruan Backpropagation Untuk Mengenali Motif Batik
IMPLEMENTASI JARINGAN SYARAF TIRUAN
BACKPROPAGATION
UNTUK MENGENALI MOTIF BATIK
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
FANY HERMAWAN
10110051
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
(2)
v
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xiii
DAFTAR LAMPIRAN ... xvii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 3
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.5.1 Metode Pengumpulan Data ... 4
1.5.2 Model Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Citra Digital ... 7
2.1.1 Citra ... 7
2.1.2 Definisi Pengolahan Citra ... 8
2.1.3 Model Citra ... 8
2.1.4 Digitalisasi Citra ... 11
2.1.5 Kategori Pengolahan Citra ... 13
2.1.6 Pengolahan Citra Digital ... 14
2.1.6.1 Scaling ... 14
2.1.6.2 Grayscale ... 15
(3)
vi
2.2 Kecerdasan Buatan ... 18
2.3 Jaringan Syaraf Tiruan ... 19
2.4 Arsitektur Backpropagation ... 20
2.5 Backpropagation ... 21
2.6 Pemograman Berorientasi Objek ... 24
2.7 UML (Unifed Modelling Language) ... 27
2.8 IDE yang Digunakan ... 28
2.8.1 Microsoft Visual Studio ... 29
BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA ... 31
3.1 Analisis Masalah ... 31
3.2 Analisis Sistem ... 32
3.3 Analisis Data Masukan ... 33
3.4 Analisis Algoritma ... 42
3.4.1. Arsitektur Jaringan Backpropagation ... 42
3.4.2. Struktur Data ... 44
3.4.3. Algoritma Backpropagation ... 45
3.5 Spesifikasi Kebutuhan Perangkat Lunak ... 67
3.6 Perancangan Sistem ... 68
3.6.1 Diagram Relasi ... 68
3.6.2 Struktur Tabel ... 69
3.6.3 Struktur Menu ... 70
3.6.4 Perancangan Antarmuka... 70
3.6.5 Perancangan Pesan ... 74
3.6.6 Jaringan Semantik ... 76
3.6.7 Perancangan Method ... 76
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 91
4.1 Implementasi Sistem ... 91
4.1.1 Implementasi Perangkat Keras ... 91
4.1.2 Implementasi Perangkat Lunak ... 91
(4)
vii
4.2.2 Skenario Pengujian 1... 107
4.2.3 Skenario Pengujian 2... 109
4.2.4 Skenario Pengujian 3... 115
4.2.5 Skenario Pengujian 4... 117
BAB 5 KESIMPULAN DAN SARAN ... 125
5.1 Kesimpulan ... 125
5.2 Saran ... 125
(5)
127
DAFTAR PUSTAKA
[1] Shalahuddin, R. A. (2013). Rekayasa Perangkat Lunak. Bandung: Informatika.
[2] Nazla Nurmila, A. S. (2007). ALGORITMA BACK PROPAGATION NEURAL NETWORK UNTUK PENGENALAN POLA KARAKTER HURUF JAWA. Jurnal Masyarakat Informatika, 1-10.
[3] Kiki, Sri, K. 2004. Jaringan Saraf Tiruan dengan Metode Backpropagation untuk Mendeteksi Gangguan Psikologi. Media Informatika 2(2): 1-14.
[4] C, A. S. (2012). Indonesian Journal Of Tropical and Infectious Deseas, Digital Detection System Design Of Mycrobacterium Tuberculosis Trough Axtraction Of Sputum Image Using Neural Networks.
[5] Munir, R. (2008). Pengolahan Citra Digital.
[6] Hermawati, F. A. (2013). Pengolahan Citra Digital. Yogyakarta: Andi.
[7] Siang, J. J. (2009). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: Andi.
[8] Pupsitaningrum, D. (2006). Pengantar Jaringan Syaraf Tiruan. Yogyakarta: Andi.
[9] Wardani, E. W. (2013). Pengenalan Motif Batik Menggunakan Metode Transformasi Paket Wavelet, 1-93.
[10] Sianipar, R. H. (2014). Pemograman C#. Bandung : Informatika.
[11] Wuryandari, M. D. (2011). Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation Dan Learning Vector Quantization Pada Pengenalan Wajah. [12] Nurhayati, J. A. (n.d.). Pengelompokan Citra Warna Menggunakan Jaringan
(6)
NIM : 10110051
Tempat/Tgl. Lahir : Cirebon, 09 Oktober 1992 Jenis Kelamin : Laki-Laki
Alamat : Jl. Kapling Rukem RT.18 / RW.05, Ds. Kasugengan Lor, Kec. Depok – Kab. Cirebon
No. Telp/HP : 08997167240
E-mail : [email protected]
Riwayat Pendidikan
Tahun Pendidikan
1997-1998 TK Aisyah
1998-2004 SD Negeri Kasugengan Lor 1 2004-2007 SMP Negeri 1 Plumbon 2007-2010 SMA Negeri 1 Leuwimunding
2010-2014
Program Strata 1 (S1) Program Studi Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia Bandung
(7)
1
PENDAHULUAN
1.1.Latar Belakang
Perkembangan teknologi yang semakin maju membuat para ilmuwan berlomba – lomba untuk menciptakan dan mengembangkan komputer untuk dapat bertindak seperti manusia, dimulai dari melihat sebuah objek sampai mengenali objek tersebut dengan cara membangun jaringan syaraf tiruan yang diadaptasi dari jaringan syaraf biologi yang terdapat pada manusia. Terdapat dua jenis metode pembelajaran pada jaringan syaraf tiruan, yaitu pembelajaran terawasi (supervised learning) dan pembelajaran tidak terawasi (unsupervised learning). Pembelajaran terawasi adalah pembelajaran yang memiliki target keluaran. Backpropagation
merupakan salah satu metode pembelajaran terawasi yang dapat menangani pola – pola kompleks serta menggunakan error keluaran untuk mengubah nilai bobotnya dalam arah mundur sehingga nilai dapat diperbaiki dalam melakukan pengenalan citra.
Berdasarkan hasil studi literatur penggunaan metode jaringan syaraf tiruan
backpropagation sebagai model pelatihan pengenalan pola – pola kompleks tingkat keberhasilan untuk mengenali suatu pola dari sebuah objek sangat baik. Contohnya penelitian yang dilakukan untuk identifikasi pengenalan karakter huruf jawa, rata – rata tingkat akurasi yang dihasilkan pada penelitian ini adalah 99.563 % [2], penelitian yang dilakukan untuk identifikasi gangguan psikologi, rata – rata tingkat akurasi yang dihasilkan pada penelitian ini adalah 97,5 % [3], dan penelitian yang dilakukan untuk identifikasi penyakit TBC (Tuberulosis), tingkat akurasi yang dihasilkan pada penelitian ini sebesar 77,5 % dalam pengenalan pola penyakit TBC menggunakan metode backpropagation [4].
Batik merupakan salah satu kebudayaan yang dimiliki oleh Indonesia, yang harus dijaga,dilestarikan dan diperkenalkan kepada generasi muda. Batik memiliki berbagai macam motif yang bervariasi, setiap daerah di Indonesia mempunyai ciri khas tertentu pada motif batik. Batik memiliki keunikan, keunikan ini terletak pada motifnya yang kompleks, pakem (cara motif diorganisasi) dan insen – insen
(8)
( ornamen – ornamen kecil yang digunakan untuk mengisi ruang yang kosong diantara motif utama). Motif mempunyai peranan penting dalam mendefinisikan filosofi. Motif batik terbagi menjadi dua kelompok besar, yakni motif batik geometri dan non – geometri, terdapat motif terakhir pada pola non geometri yaitu motif pola khusus. Motif khusus memuat motif yang tidak dapat dimasukan ke dalam kelas yang lain. Motif khusus inilah yang akan dijadikan sebagai data training dan akan diujicoba untuk dikenali.
Zaman sekarang tidak semua orang dapat mengenal batik melalui ciri – ciri motif yang tampak secara visual hal ini dikarenakan batik mempunyai motif yang bervariasi dan hampir setiap motif batik mempunyai keunikan pola yang serupa ( tapi tidak sama ) sehingga sulit dikenali. Pengetahuan pengenalan motif mungkin hanya dimiliki oleh orang – orang tertentu yang mempunyai bidang keahlian pada bidang terkait seperti bidang membatik. Batik sangat cocok dijadikan objek penelitian untuk mengimplementasikan backpropagation, karena batik mempunyai pola motif yang kompleks dan bervariasi.
Adapun tema yang sama dalam pengenalan motif batik menggunakan metode pengolahan citra transformasi paket wavalet tingkat akurasi yang dihasilkan pada penelitian ini adalah tingkat pengenalan tertinggi menggunakan filter wavalet Daubechies –2 level 2 80 % dan pengenalan terendah sebesar 3,3 %[9].
Penelitian tugas akhir mengangkat tema implementasi jaringan syaraf tiruan
backpropagation untuk mengenali motif batik yang bertujuan untuk menguji kebenaran dengan menggunakan metode backpropagation apakah tingkat akurasi yang dihasilkan sangat tinggi, dengan melakukan pembelajaran terhadap motif batik kemudian melakukan pengenalan terhadap motif tersebut.
Menurut hasil tinjauan salah satu cara untuk mengenali motif batik sebelum masuk ketahap pengenalan pola, yaitu melakukan proses pengolahan citra terlebih dahulu. Proses pengolahan citra dilakukan bertujuan untuk menyederhanakan nilai pixel citra serta melakukan proses penarikan informasi yang terkandung pada citra. Tahapan proses yang digunakan dalam pengolahan citra pada penelitian tugas akhir ini yaitu scalling, grayscale, edge detection (Sobel) dan tresholding.
(9)
1.2.Perumusan Masalah
Berdasarkan latar belakang masalah maka perumusan masalah yang akan diselesaikan pada skripsi ini yaitu :
1. Bagaimana menerapkan metode backpropagation dalam pengenalan batik. 2. Bagaimana melatih jaringan syaraf tiruan agar dapat mengenali motif batik. 3. Bagaimana mengetahui hasil akurasi pengenalan batik dengan metode
backpropagation. 1.3.Maksud dan Tujuan
Maksud dari penelitian yang akan dilakukan yaitu menganalisis keakurasian pengenalan citra batik menggunakan metode jaringan syaraf tiruan
backpropagation.
Tujuan dari penelitian yang dilakukan adalah mengetahui keakurasian pada kasus pengenalan batik Cirebon.
1.4.Batasan Masalah
Dalam penelitian ini terdapat batasan masalah yang perlu diperhatikan antara lain :
1. Citra sebagai pelatihan dan pengenalan adalah citra batik dengan daerah batik khusus Cirebon dengan jenis motif mega mendung,singa barong, kapal kompeni, wayang, dan kupu-kupu.
2. Citra masukan yaitu citra batik berukuran bebas tetapi paling tinggi dengan ukuran 512 x 512 pixel, dengan format .jpg,.png,.bmp,.jpeg.
3. Pengujian pengenalan menggunakan data testing yang sama dengan data pembelajaran.
4. Metode deteksi tepi yang digunakan adalah metode sobel.
5. Metode pembelajaran jaringan syaraf tiruan menggunakan pembelajaran terawasi.
6. Metode pembelajaran terawasi yang digunakan adalah backpropagation. 7. Sistem yang dibangun berbasis dekstop dengan bahasa pemograman Visual
(10)
1.5.Metodologi Penelitian
Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data untuk mendukung terlaksananya suatu penelitian. Metode penelitian yang digunakan adalah metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan fakta – fakta dan informasi dalam situasi atau kejadian dimana sekarang secara sistematis, faktual dan akurat.
1.5.1. Metode Pengumpulan Data
Pengumpulan data dapat diperoleh secara langsung dari objek penelitian. Cara – cara yang mendukung untuk mendapatkan data primer adalah dengan melakukan studi pustaka.
Studi pustaka dilakukan dengan cara mempelajari, meneliti dan menelaah berbagai literatur dari perpustakaan yang bersumber dari buku – buku, teks, jurnal ilmiah, situs – situs internet, dan bacaan – bacaan yang ada kaitannya dengan topik penelitian.
1.5.2. Model Pembangunan Perangkat Lunak
Model pembuatan perangkat lunak pada penelitian ini menggunakan paradigma model sekuensial linear atau sering disebut model air terjun (waterfall) seperti yang digambarkan pada Gambar 1.1.
(11)
Tahap – tahap pembuatan perangkat lunak pada model sekuensial linear adalah sebagai berikut :
a. Analisis
Merupakan tahap menganalisis proses kerja dari pre – processing untuk mengubah citra biasa menjadi keabuan, mengetahui tepi citra dengan melakukan proses edge detection menggunakan sobel dan cara pembelajaran serta pengenalan menggunakan backpropagation.
b. Desain
Merupakan tahap perancangan perangkat lunak dari data analisis kedalam bentuk yang mudah dimengerti oleh user.
c. Pengodean
Merupakan tahap menterjemahkan hasil analisis dan desain ke dalam kode program sehingga perangkat lunak dapat diberjalan dengan baik pada komputer.
d. Pengujian
Merupakan tahap pengujian terhadap kode program yang telah dibuat dengan memfokuskan pada bagian dalam program. Tujuannya untuk memastikan bahwa semua pernyataan yang telah diuji dan memastikan juga bahwa input yang digunakan akan menghasilkan output yang sesuai.
e. Pendukung (support) atau pemeliharaan
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan – perubahan atau penambahan sesuai dengan permintaan user.
1.6.Sistematika Penulisan
Sistematika penulisan laporan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang telah dilakukan. Sistematika penulisan tugas akhir ini adalah sebagai berikut.
BAB 1 PENDAHULUAN
Bab ini menjelaskan secara umum gambaran mengenai penulisan penelitian yang terdiri dari latar belakang, perumusan masalah, maksud dan tujuan, batasan
(12)
masalah, metodologi penelitian, dan sistematika penulisan untuk menjelaskan pokok – pokok pembahasan.
BAB 2 LANDASAN TEORI
Bab ini membahas berbagai konsep dasar dan teori – teori yang berkaitan dengan topik penelitian yang dilakukan dan hal – hal yang berguna dalam proses analisis permasalahan.
BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA
Bab ini membahas tentang analisis masalah, analisis sistem, analisis data masukan, analisis algoritma, spesifikasi kebutuhan fungsional dan non – fungsional.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas tentang implementasi dan pengujian dari hasil analisis dan perancangan yang telah disusun pada bab sebelumnya.
BAB 5 KESIMPULAN DAN SARAN
Bab ini merupakan penutup penyusunan laporan yang berisi kesimpulan dari implementasi dan uji coba yang dilakukan. Selain itu berisi pula saran yang diharapkan dapat menjadi sebuah masukan untuk pengembangan aplikasi di masa yang akan datang.
(13)
7
LANDASAN TEORI
2.1. Citra Digital
Citra atau gambar yang didefinisikan sebagai sebuah fungsi dua dimensi, f(x,y), dimana x dan y adalah koordinat bidang datar, dan harga fungsi f disetiap pasangan koordinat (x,y) disebut intensitas atau level keabuan (grey level) dari gambar dititik itu. Jika x,y dan f semuanya berhingga (finite) dan nilainya diskrit maka gambarnya disebut citra digital.
2.1.1. Citra
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi) Gambar 2.1 adalah citra gadis model yang bernama lena. Ditinjau dari sudut pandang matematis, citra merupakan fungsi terus menerus (continue) dari intensitas bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat – alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : optik berupa foto, analog berupa sinyal video seperti gambar pada monitor televisi, digital yang dapat langsung disimpan pada suatu pita magnetik. Citra mempunyai dua jenis kategori yaitu : citra diam (still image) adalah citra tunggal yang tidak bergerak. Gambar 2.1 adalah contoh dari citra diam. Citra bergerak (moving images) adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata kita sebagai gambar yang bergerak. Setiap citra di dalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri atas ratusan sampai ribuan frame.
(14)
Gambar 2.1 Lena [5] 2.1.2. Definisi Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang dimiliki mengalami penurunan mutu (degradasi) misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Umumnya, operasi – operasi pada pengolahan citra diterapkan pada citra bila :
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.
2. Elemen di dalam citra perlu dikelompokan, dicocokan atau diukur. 3. Sebagian citra perlu digabung dengan bagian citra yang lain. 2.1.3. Model Citra
Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital. Komputer digital saat ini hanya dapat mengelola citra digital. Citra merupakan fungsi malar (kontinu) dari intensitas
(15)
cahaya pada bidang dwimatra. Secara matematis fungsi intensitas cahaya pada bidang dwimatra disimbolkan dengan f (x,y) yang dalam hal ini :
(x,y) : koordinat pada bidang dwimatra.
f (x,y) : intensitas cahaya (brightness) pada bidang dwimatra.
Gambar 2.2 memperlihatkan posisi koordinat pada bidang citra. Sistem koordinat yang diacu adalah sistem koordinat kartesian, yang dalam hal ini sumbu mendatar menyatakan sumbu x, dan sumbu tegak menyatakan sumbu y.
Gambar 2.2 Cara menentukan koordinat tititk di dalam citra [5]
Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0 sampai tidak berhingga, sehingga di dapatkan persamaan seperti pada persamaan (2.1).
... (2.1) Nilai f (x,y) sebenarnya adalah hasil kali dari :
1. i (x,y) = jumlah cahaya yang berasal dari sumbernya (illumination), nilainya antara 0 sampai tidak berhingga.
2. r (x,y) = derajat kemampuan objek memantulkan cahaya (reflection), nilainya antara 0 dan 1.
Gambar 2.3 memperlihatkan proses pembentukan intensitas cahaya. Sumber cahaya menyinari permukaan objek. Jumlah pancaran (iluminasi) cahaya yang diterima objek pada koordinat (x,y) adalah i (x,y). Objek memantulkan cahaya yang diterimanya dengan derajat pantulan r (x,y). Hasil kali antara i (x,y) dan r (x,y) menyatakan intensitas cahaya pada koordinat (x,y) yang ditangkap
(16)
oleh sensor visual pada sistem optik seperti pada persamaan (2.2) kemudian penjelasannya penguraian rumus berasal dari persamaan (2.3) dan (2.4) sehingga penggabungan keduanya akan menjadi persamaan (2.5).
... (2.2) yang dalam hal ini
... (2.3) ... (2.4) Sehingga
... (2.5)
Gambar 2.3 Pembentukan Citra [5]
Nilai i(x, y) ditentukan oleh sumber cahaya, sedangkan r(x, y) ditentukan oleh karakteristik objek di dalam gambar. Nilai r(x,y) = 0 mengindikasikan penerapan total, sedangkan r(x,y) = 1 menyatakan pemantulan total. Jika permukaan mempunyai derajat pemantulan nol, maka fungsi intensitas cahaya,
f(x, y), juga nol. Sebaliknya, jika permukaan mempunyai derajat pemantulan 1, maka fungsi intensitas cahaya sama dengan iluminasi yang diterima oleh permukaan tersebut. Intensitas f dari gambar hitam putih pada titik (x, y) disebut
grey level(derajat keabuan), yang dalam hal ini derajat keabuannya bergerak dari hitam ke putih, sedangkan citranya disebut greyscale image (citra hitam putih)
(17)
atau monochrome image (citra monochrome). Derajat keabuan memiliki rentang nilai dari lmin sampai lmax atau lmin < f < lmax. Selang (lmin, lmax) disebut skala keabuan.
Biasanya selang (lmin, lmax) sering digeser untuk alasan-alasan praktis menjadi selang [0, L], yang dalam hal ini nilai intensitas 0 menyatakan hitam, nilai intensitas L menyatakan putih, sedangkan nilai intensitas antara 0 sampai L
bergeser dari hitam ke putih. Sebagai contoh, citra hitam-putih dengan 256 level
artinya mempunyai skala abu dari 0 sampai 255 atau [0, 255], yang dalam hal ini nilai intensitas 0 menyatakan hitam, nilai intensitas 255 menyatakan putih, dan nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih. Citra hitam-putih disebut juga citra satu kanal, karena warnanya hanya ditentukan oleh satu fungsi intensitas saja. Citra berwarna (color images) dikenal dengan nama citra spektral, karena warna pada citra disusun oleh tiga komponen warna yang disebut komponen RGB, yaitu merah (red), hijau (green), dan biru (blue). Intensitas suatu titik pada citra berwarna merupakan kombinasi dari tiga intensitas: derajat keabuan merah (fmerah(x,y)), hijau (fhijau(x,y)), dan biru (fbiru(x,y)). 2.1.4 Digitalisasi Citra
Agar dapat diolah dengan komputer digital, maka suatu citra harus 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). Pada umumnya citra digital berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar x panjang).
Citra digital yang tingginya N, lebarnya M, dan memiliki L derajat keabuan dapat dianggap sebagai fungsi seperti pada persamaan (2.6).
{
... (2.6) Citra digital yang berukuran N x M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom seperti pada persamaan (2.7).
(18)
[
] ... (2.7) Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f (i, j) merupakan intensitas (derajat keabuan) pada titik (i,
j). Masing-masing elemen pada citra digital (berarti elemen matriks) disebut
imageelement, picture element atau pixel atau pel. Jadi, citra yang berukuran N x
M mempunyai NM buah pixel. Sebagai contoh, misalkan sebuah berukuran 256 x 256 pixel dan direpresentasikan secara numerik dengan matriks yang terdiri dari 256 buah baris (di-indeks dari 0 sampai 255) dan 256 buah kolom (di-indeks dari 0 sampai 255) seperti contoh berikut pada persamaan (2.8).
[
]
... (2.8) Pada matriks persamaan 2.7 pixel pertama pada koordinat (0, 0) mempunyai nilai intensitas 0 yang berarti warna pixel tersebut hitam, pixel kedua pada koordinat (0, 1) mempunyai intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya. Proses digitalisasi citra ada dua macam:
1. Digitalisasi spasial (x, y), sering disebut sebagai penerokan (sampling).
Sampling menyatakan besarnya kotak-kotak yang disusun dalam baris dan kolom. Dengan kata lain sampling pada citra menyatakan besar kecilnya ukuran piksel pada citra. Untuk memudahkan implementasi, jumlah sampling biasanya diasumsikan perpangkatan dari dua seperti pada persamaan (2.9).
N = 2n ... (2.9) Dimana,
N = jumlah sampling pada suatu baris atau kolom n = bilangan bulat positif
Pembagian gambar menjadi ukuran tertentu menentukan resolusi spasial yang diperoleh. Semakin tinggi resolusinya, yang berarti semakin kecil ukuran piksel (atau semakin banyak jumlah pikselnya), semakin halus gambar yang diperoleh karena informasi yang hilang akibat pengelompokkan derajat keabuan pada pen-sampling-an semakin kecil.
(19)
2. Digitalisasi intensitas f (x, y), sering disebut sebagai kuantisasi.
Setelah proses sampling pada citra maka proses selanjutnya adalah kuantisasi. Kuantisasi menyatakan besarnya nilai tingkat kecerahan yang dinyatakan dalam nilai tingkat keabuan (grayscale) sesuai dengan jumlah bit biner yang digunakan, dengan kata lain kuantisasi pada citra menyatakan jumlah warna yang ada pada citra. Proses kuantisasi membagi skala keabuan (0, L) menjadi G buah level yang dinyatakan dengan suatu harga bilangan bulat (integer), biasanya G diambil perpangkatan dari 2, seperti pada persamaan (2.10). Pada tabel 2.1 ditunjukkan hasil kuantisasi citra dengan skala keabuan yang berbeda-beda.
G = 2m ... (2.10) Dimana,
G = derajat keabuan m = bilangan bulat positif
Tabel 2.1 Tabel Kuantisasi Citra dengan Skala Keabuan yang Berbeda
Skala Keabuan Rentang Nilai Keabuan Pixel Depth
21 ( 2 nilai ) 0,1 1 bit
22 ( 4 nilai ) 0 sampai 3 2 bit
24 ( 16 nilai ) 0 sampai 15 4 bit
28 ( 256 nilai ) 0 sampai 255 8 bit
Jumlah bit yang dibutuhkan untuk mempresentasikan nilai keabuan piksel disebut kedalaman piksel (pixel depth). Citra sering diasosiasikan dengan kedalaman pikselnya. Jadi, citra dengan kedalaman 8 bit disebut juga citra 8-bit (atau citra 256 warna, G = 256 = 28 ). Semakin banyak jumlah derajat keabuan (berarti jumlah bit kuantisasinya makin banyak), semakin bagus gambar yang diperoleh.
2.1.5. Kategori Pengolahan Citra
Pengolahan citra dapat dibagi ke dalam tiga kategori yakni, kategori rendah, menengah, dan tinggi.
(20)
1. Kategori rendah, melibatkan operasi-operasi sederhana seperti prapengolahan citra untuk mengurangi derau, pengaturan kontras, dan pengaturan ketajaman citra. Pengolahan kategori rendah ini memiliki input dan output berupa citra. 2. Kategori menengah, melibatkan operasi-operasi seperti segmentasi dan
klasifikasi citra. Proses pengolahan citra menengah ini melibatkan input berupa citra dan output berupa atribut (fitur) citra yang dipisahkan dari citra input. 3. Kategori tinggi, melibatkan proses pengenalan dan deskripsi citra.
Penelitian tugas akhir ini proses pengolahan citra masuk tergolong kedalam kategori tinggi karena melibatkan proses pengenalan dan deskripsi citra. 2.1.6. Pengolahan Citra Digital
Pengolahan citra adalah kegiatan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia/mesin (komputer). Data masukan adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik dari pada citra masukan. Proses pengolahan citra yang digunakan pada penelitian ini terdiri dari proses
scaling,grayscale,edge detection (sobel),tresholding. 2.1.6.1. Scaling
Scaling merupakan proses pengubahan ukuran gambar digital, hal ini perlu dilakukan agar semua gambar digital data masukan memiliki ukuran yang sama dengan memperkecil citra[11]. Menghitung skala perubahan panjang dan lebar dengan terlebih dahulu menentukan skala baru dihitung menggunakan persamaan (2.11) dan (2.12).
... (2.11) ... (2.12) Menentukan koordinat pixel disekitar matriks yang sedang diulang, x dan y dengan menggunakan persamaan (2.13) – (2.20).
... (2.13) ... (2.14) ... (2.15) ... (2.16)
(21)
... (2.17) ... (2.18) ... (2.19) ... (2.20) Mengambil nilai pixel pada 4 koordinat menggunakan persamaan (2.21) – (2.24) .
... (2.21) ... (2.22) ... (2.23) ... (2.24) Menghitung nilai RGB baru dengan menggunakan nilai RGB dari keempat koordinat yang sudah diambil dengan menggunakan persamaan (2.25) – (2.33).
... (2.25) ... (2.26) ... (2.27) ... (2.28) ... (2.29) ... (2.30) ... (2.31) ... (2.32) ( ) ... (2.33) 2.1.6.2. Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan kebuan disini merupakan warna abu dengan berbagai dari hitam hingga mendekati putih. Citra
grayscale memiliki kedalaman warna 8 bit ( 256 kombinasi warna keabuan ). Rentang nilai warna – warna pada RGB untuk Red (merah) rentangnya (255,0,0),
(22)
Green (hijau) rentangnya (0,255,0), Blue (biru) rentangnya (0,0,255), dan Mediun Gray (abu) rentangnya (127,127,127). Misalkan nilai RGB warna adalah (r, g, b), dimana r, g, dan b adalah bilangan bulat antara 0 dan 255. Rata-rata tertimbang grayscale, x, diberikan oleh persamaan (2.34).
... (2.34) Contoh, sebuah bayangan gelap ungu memiliki nilai RGB (100, 0, 150). Rata-rata tertimbang adalah x = (100 + 0 +150)/3 = 83 , Jadi (83,83,83) hasilnya adalah abu – abu.
Tabel 2.2 Tabel Warna RGB [8]
Colorname HEX RGB
Black 000000 0,0,0
Blue 0000FF 0,0,255
Green 008000 0,128,0
Red FF0000 255,0,0
2.1.6.3. Edge Detection (Sobel)
Metode ini merupakan pengembangan metode robert. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi sehingga tepi-tepi yang dihasilkan lebih banyak dibanding dua metode sebelumnya. Operator terdiri dari sepasang kernel 3 × 3 konvolusi seperti yang ditunjukkan pada Gambar 2.4 Satu kernel yang lain hanya diputar oleh 90 °.
a. Gx b. Gy
Gambar 2.4 Matriks Sobel 3 x 3
Kernel ini dirancang untuk merespon secara maksimal untuk tepi berjalan secara vertikal dan horizontal relatif terhadap grid pixel, satu kernel untuk
(23)
masing-masing dua orientasi tegak lurus. Kernel dapat diterapkan secara terpisah dengan citra masukan, untuk menghasilkan pengukuran yang terpisah dari komponen gradien di setiap orientasi (menyebut Gx dan Gy). Ini kemudian dapat digabungkan bersama-sama untuk mencari besarnya nilai mutlak gradien pada setiap titik dan orientasi gradien itu [6]. Besarnya gradien diberikan persamaan (2.35).
| | √ ... (2.35) Dengan, G = besar gradien operator sobel,
Gx = Gradien sobel arah horizontal Gy = Gradien sobel arah vertikal
Biasanya, sebuah perkiraan besarnya dihitung dengan menggunakan persamaan (2.36).
| | | | | | ... (2.36) yang lebih cepat untuk menghitung.
Sudut orientasi tepi (relatif ke grid pixel) menimbulkan gradien spasial diberikan oleh persamaan (2.37).
... (2.37) 2.1.6.4. Tresholding
Merupakan tahap untuk membuat warna citra menjadi hanya berwarna hitam atau putih. Untuk melakukan thresholding terlebih dahulu harus dicari suatu nilai yang digunakan untuk batas toleransi suatu warna keabuan dapat dijadikan warna hitam atau warna putih, nilai tersebut biasa disebut nilai ambang. Setelah semua piksel diubah menjadi nilai keabuan, pencarian nilai ambangpun dilakukan. Ada beberapa cara menentukan nilai ambang yaitu pertama, dengan menentukan langsung berdasarkan nilai tengah dari level keabuan yaitu 128. Kedua, menentukan suatu nilai tertentu sebagai nilai ambang. Ketiga, menentukan nilai rata – rata dari total piksel keabuan dalam citra dan menjadikannya sebagai nilai ambang rata – rata. Kemudian setelah didapat nilai ambang tersebut maka akan dilakukan perbandingan setiap nilai piksel dari citra keabuan tersebut dengan nilai ambangnya. Jika nilai piksel lebih besar dari nilai ambangnya maka nilai piksel
(24)
tersebut akan diubah menjadi 0 (piksel berwarna hitam). Sedangkan jika yang ditemukan sebaliknya yaitu nilai pikselnya lebih kecil dari nilai ambang yang telah ditentukan maka nilai piksel tersebut diubah menjadi 1 (piksel berwarna putih) [6]. Cara membuat nilai pixel menjadi tresholding menggunakan persamaan (2.38).
{ ... (2.38) Keterangan :
f (x,y) : citra biner dari citra grayscale
T : nilai ambang
2.2. Kecerdasan Buatan
Kecerdasan buatan ( Artificial Intelligence ) merupakan salah satu ilmu komputer yang membuat agar mesin ( komputer ) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Kecerdasan buatan mempunyai dua bagian utama yang sangat dibutuhkan dalam melakukan aplikasi, seperti terlihat pada gambar 2.5 komponen yang dibutuhkan adalah :
a. Basis Pengetahuan ( Knowledge Base ), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.
b. Motor Inferensi ( Inference Engine ), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.
Gambar 2.5 Penerapan Kecerdasan Buatan [7]
Kecerdasan buatan terdiri dari beberapa kajian diantaranya adalah sistem pakar, jaringan syaraf tiruan, computer vision, simulasi crowd, logika fuzzy, algoritma genetika, dokumen minning.
(25)
2.3. Jaringan Syaraf Tiruan
Jaringan syaraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita – cerita fiksi ilmiah. Otak buatan ini dapat berpikir seperti manusia, dan juga sepandai manusia dalam menyimpulkan sesuatu dari potongan – potongan informasi yang diterima. Khayalan manusia tersebut mendorong para peneliti untuk mewujudkannya. Komputer diusahakan agar bisa berpikir sama seperti cara berpikir manusia. Caranya adalah dengan melakukan peniruan terhadap aktivitas – aktivitas yang terjadi di dalam sebuah jaringan saraf biologis [8].
Komponen JST terdiri dari neuron – neuron dan neuron – neuron tersebut saling berhubungan. Neuron – neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju neuron – neuron yang lain, pada JST hubungan neuron - neuron tersebut dikenal dengan nama bobot. Komponen JST seperti terlihat pada Gambar 2.6 terdiri dari input ( informasi) bobot ( nilai- nilai tertentu ), fungsi aktivasi berfungsi apabila input yang dimasukan sesuai dengan nilai ambang yang ditentukan jika tidak sesuai maka fungsi aktivasi tidak diaktifkan, dan apabila neuron – neuron tersebut diaktifkan maka neuron akan mengirimkan output melalui bobot – bobot.
Gambar 2.6 Komponen Jaringan Syaraf Tiruan[6]
Jaringan Syaraf tiruan mempunyai dua macam proses pembelajaran yaitu pembelajaran terawasi dan pembelajaran tidak terawasi. Pembelajaran terawasi adalah jika output yang diharapkan telah diketahui sebelumnya, sedangkan pembelajaran tidak terawasi adalah proses pembelajaran yang tidak memerlukan target output.
1. Pembelajaran Terawasi ( Supervised Learning )
Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Pada proses pembelajaran,
(26)
satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila terjadi perbedaan antara pola output hasil pembelajaran dengan pola target, maka disini akan muncul error. Apabila nilai error ini masih cukup besar, mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. Metode pembelajaran terawasi diantaranya Hebb Rule, Perceptron, Delta Rule, Backpropagation, Learning Vektor Quantization, HeteroassociativeMemory.
2. Pembelajaran Tak Terawasi ( Unsupervised Learning ) pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan selama proses pembelajaran. Metode pembelajaran tidak terawasi salah satunya adalah jaringan kohonen.
2.4. Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Gambar 2.7 adalah arsitektur backpropagation dengan x buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari z unit (ditambah sebuah bias), serta m buah unit keluaran. Vji merupakan bobot garis dari unit masukan Xi ke unit layar tersembunyi Zj (Vj0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi Zj). Wkj merupakan bobot dari unit layar tersembunyi Zj ke unit keluaran Yk (Wk0 merupakan bobot dari bias dilayar tersembunyi ke unit keluaran Zk).
(27)
Gambar 2.7 Arsitektur Jaringan Backpropagation
2.5. Backpropagation
Backpropagetion atau propagasi balik suatu algoritma pembelajaran dan digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot – bobot yang terhubung dengan neuron – neuron yang terdapat pada lapisan tersembunyi [7]. Algoritma propagasi balik menggunakan error output agar dapat mengubah nilai bobot – bobotnya dalam proses mundur (backward) untuk mendapatkan error ini, tahap perambatan maju, neuron – neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, sedangkan dalam melakukan sebuah proses perambatan maju dan mundur disebut epoch atau iterasi, aktivasi sigmoid biner yang memiliki rentang nilai (0,1), yaitu seperti pada persamaan (2.39).
̇ ... (2.39) dengan turunan pada persamaan (2.40)
( ) ... (2.40) Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1,1) seperti pada persamaan (2.41).
̇ ... (2.41) dengan turunan pada persamaan (2.42).
(28)
... (2.42) Fase I : Propagasi maju
Selama propagasi maju, sinyal masukan ( = xi ) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layar tersembunyi ( = zi ) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan ( = yk ). Berikutnya, keluaran jaringan ( = yk ) dibandingkan dengan target yang harus dicapai ( = tk ). Selisih tk - yk adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot (w dan v) setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.
Fase II : Propagasi mundur
Berdasarkan kesalahan tk - yk dihitung faktor (k = 1,2,...,m) yang dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layar bawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
Fase III : Perubahan bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di layar atasnya.
Berdasarkan penjelasan terhadap fase yang ada didalam backpropagation maka algoritma pelatihan untuk jaringan adalah sebagai berikut:
(29)
Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9 Langkah 2 : Untuk setiap pasangan data pelatihan, lakukan langkah 3-8 Fase I : Propagasi maju
Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi diatasnya.
Langkah 4 : Hitung semua keluaran di unit tersembunyi zj (j=1,2,..p) dengan menggunakan persamaan (2.43) dan (2.44).
̇ ̇ ∑ ... (2.43)
... (2.44) Langkah 5 : Hitung semua keluaran jaringan di unit yk (k=1,2,..m) dengan menggunakan persamaan (2.45) dan (2.46).
∑ ... (2.45) ... (2.46) Fase II : Propagasi mundur
Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit keluaran ( k = 1,2,...,m) dengan menggunakan persamaan (2.47).
̇ ... (2.47) k merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar dibawahnya (langkah 7). Hitung suku perubahan bobot (yang akan dipakai nanti untuk merubah bobot dengan laju percepatan α dengan menggunakan persamaan (2.48).
... (2.48) Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan disetiap unit tersembunyi ( j = 1,2,...,p) dengan menggunakan persamaan (2.49).
(30)
∑ ... (2.49) Hitung faktor unit tersembunyi dengan menggunakan persamaan (2.50).
( ̇ ) ( ) ... (2.50) Hitung suku perubahan bobot ( yang akan dipakai untuk merubah bobot ) dengan menggunakan persamaan (2.51).
... (2.51) Fase III : Perubahan bobot
Langkah 8 : Hitung semua perubahan bobot dengan menggunakan persamaan (2.52) dan (2.53).
Perubahan bobot garis yang menuju ke unit keluaran :
.... (2.52) Perubahan bobot garis menuju ke unit tersembunyi :
... (2.53) Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. 2.6. Pemograman Berorientasi Objek
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara matematis. Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana perangkat lunak di bangunmelalui pendekatan objek secara sistematis [1].
(31)
1. Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah masih bisa dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).
2. Kecepatan pengembangan
Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan dalam pengkodean. 3. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.
4. Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analis, perancangan maupun pengkodean.
5. Meningkatkan kualitas perangkat lunak
Karena pendekatan pembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek :
a. Class
Class adalah kumpulan objek – objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama mungkin lahir atau diciptakan dengan kelas tersebut. Sebuah kelas mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti.
b. Objek
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, suatu organisasi, tempat, kejadian, struktur, status atau hal – hal lain yang bersifat abstrak.
(32)
Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi.
d. Atribut
Atribut adalah sebuah kelas variabel global yang dimiliki sebuah kelas, atribut dapat berupa nilai atau elemen – elemen data yang dimiliki oleh objek dalam kelas objek.
e. Abstraksi
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek – aspek lain yang tidak sesuai dengan permasalahan.
f. Enkapsulasi
Pembungkusan atribut data dan layanan yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.
g. Pewarisan
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.
h. Antarmuka
Antarmuka sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi.
i. Reusability
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. j. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.
k. Komunikasi Antar Objek
(33)
ke objek lainnya. l. Polimorfisme
Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.
m. Package
Package adalah sebuah komentar atau kemasan yang dapat digunakan untuk mengelompokkan kelas – kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.
2.7. UML (Unified Modelling Language)
UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram teks – teks pendukung. Berbagai diagram pada UML antara lain [1] :
a. Class Diagram
Diagram kelas menggambarkan struktur sistem dari segi pendefinisian kelas – kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
b. Object Diagram
Diagram object menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem.
c. Component Diagram
Diagram komponen dibuat untuk menunjukkan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem.
d. Package Diagram
Menyediakan cara mengumpulkan elemen – elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam uml dapat dikelompokkan menggunakan package diagram.
e. Deployment Diagram
(34)
aplikasi.
f. Use Case Diagram
Merupakan pemodelan kelakuan sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.
g. Activity Diagram
Diagram aktivitas menggambarkan workflow atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak.
h. Sequence Diagram
Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek.
2.8. IDE yang Digunakan
IDE atau singkatan dari (Integrated Development Environment adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak[10].
Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas:
a. Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak. b. Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian
mengubah dalam bentuk binari yang sesuai dengan bahasa mesin.
c. Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi. d. Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari
bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu IDE modern dapat membantu memberikan saran yang mempercepat penulisan. Pada saat penulisan kode, IDE juga dapat menunjukan bagian-bagian yang jelas mengandung kesalahan atau keraguan.
(35)
2.8.1. Microsoft Visual Studio
Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).
Visual Studio kini telah menginjak versi Visual Studio 9.0.21022.08, atau dikenal dengan sebutan Microsoft Visual Studio 2008 yang diluncurkan pada 19 November 2007, yang ditujukan untuk platform Microsoft .NET Framework 3.5. Versi sebelumnya, Visual Studio 2005 ditujukan untuk platform .NET Framework 2.0 dan 3.0. Visual Studio 2003 ditujukan untuk .NET Framework 1.1, dan Visual Studio 2002 ditujukan untuk .NET Framework 1.0. Versi-versi tersebut di atas kini dikenal dengan sebutan Visual Studio .NET, karena memang membutuhkan Microsoft .NET Framework. Sementara itu, sebelum muncul Visual Studio .NET, terdapat Microsoft Visual Studio 6.0 (VS1998). Dan setelah Visual Studio 2008 muncul versi Visual Studio 2010 dan sekarang yang digunakan adalah Visual Studio 2012[10].
(36)
(37)
125 BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan hasil penelitian, analisis, perancangan, pembuatan hingga pengujian simulasi implementasi jaringan syaraf tiruan backpropagation untuk mengenali motif batik, didapatkan kesimpulan yaitu hasil keakurasian yang didapatkan dalam kasus pengenalan motif batik Cirebon yaitu sebesar 85 %. 5.2. Saran
Untuk lebih meningkatkan kinerja dari sistem yang dibuat, maka diusulkan beberapa saran sebagai berikut :
1. Data sampling citra batik perlu ditambahkan untuk pelatihan jaringan syaraf tiruan agar akurasi dari sistem meningkat.
2. Perlunya penambahan perhitungan MSE terhadap jaringan syaraf tiruan
backpropagation agar keakurasian semakin meningkat.
3. Metode pengolahan citra perlu dimodifikasi dengan menggunakan metode lainnya.
4. Simulator pengenalan motif batik lebih baik dijalankan pada komputer yang memiliki spesifikasi tinggi.
(38)
(39)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033IMPLEMENTASI JARINGAN SYARAF TIRUAN
BACKPROPAGATION
UNTUK MENGENALI MOTIF BATIK
Fany Hermawan
Teknik Informatika – Universitas Komputer Indonesia Jl. Dipatiukur 112-114 Bandung
E-mail : [email protected]
ABSTRAK
Berdasarkan hasil studi literatur penggunaan metode jaringan syaraf tiruan
backpropagation sebagai model pelatihan
pengenalan pola – pola kompleks tingkat keberhasilan untuk mengenali suatu pola dari sebuah objek sangat baik seperti penelitian untuk identifikasi pengenalan huruf Jawa tingkat akurasi penelitian 99.563 %, penelitian identifikasi gangguan psikologi tingkat akurasi dihasilkan 97,5% dan identifikasi penyakit TBC tingkat keakurasian 77,5%. Batik mempunyai motif yang bervariasi dan hampir setiap motif batik mempunyai keunikan pola yang serupa ( tapi tidak sama ) sehingga sulit dikenali oleh karena itu batik sangat cocok untuk dijadikan obyek pengenalan pola untuk mengimplementasikan jaringan syaraf tiruan backpropagation.
Pembangunan simulasi implementasi jaringan syaraf tiruan backpropagation untuk mengenali motif batik pemogramannya berbasis objek dengan UML diagram. Simulasi ini menggunakan proses pengolahan citra terhadap citra masukan sebelum citra tersebut dimasukkan ke dalam JST, diantaranya proses scalling, grayscale, edge detection dengan metode sobel dan tresholding.
Hasil penelitian tentang implementasi jaringan syaraf tiruan backpropagation untuk mengenali motif batik tingkat keakurasian yang didapatkan dari hasil pengenalan adalah 85%.
Kata Kunci : Jaringan Syaraf Tiruan,
Backpropagation,Batik, Scalling, Edge Detection(Sobel), Tresholding.
1. PENDAHULUAN
Perkembangan teknologi yang semakin maju membuat para ilmuwan berlomba – lomba untuk menciptakan dan mengembangkan komputer untuk dapat bertindak seperti manusia, dimulai dari melihat sebuah objek sampai mengenali objek tersebut dengan cara membangun jaringan syaraf tiruan yang diadaptasi dari jaringan syaraf biologi yang terdapat pada manusia. Terdapat dua jenis
metode pembelajaran pada jaringan syaraf tiruan, yaitu pembelajaran terawasi (supervised learning) dan pembelajaran tidak terawasi (unsupervised
learning). Pembelajaran terawasi adalah
pembelajaran yang memiliki target keluaran.
Backpropagation merupakan salah satu metode pembelajaran terawasi yang dapat menangani pola kompleks serta menggunakan error keluaran untuk mengubah nilai bobotnya dalam arah mundur sehingga nilai dapat diperbaiki dalam melakukan pengenalan citra.
Berdasarkan hasil studi literatur penggunaan metode jaringan syaraf tiruan backpropagation
sebagai model pelatihan pengenalan pola kompleks tingkat keberhasilan untuk mengenali suatu pola dari sebuah objek sangat baik. Contohnya penelitian yang dilakukan untuk identifikasi pengenalan karakter huruf jawa, rata – rata tingkat akurasi yang dihasilkan pada penelitian ini adalah 99.563 % [2], penelitian yang dilakukan untuk identifikasi gangguan psikologi, rata – rata tingkat akurasi yang dihasilkan pada penelitian ini adalah 97,5 % [3], dan penelitian yang dilakukan untuk identifikasi penyakit TBC (Tuberulosis), tingkat akurasi yang dihasilkan pada penelitian ini sebesar 77,5 % dalam pengenalan pola penyakit TBC menggunakan metode backpropagation [4].
Batik merupakan salah satu kebudayaan yang dimiliki oleh Indonesia, yang harus dijaga,dilestarikan dan diperkenalkan kepada generasi muda. Batik memiliki berbagai macam motif yang bervariasi, setiap daerah di Indonesia mempunyai ciri khas tertentu pada motif batik. Batik memiliki keunikan, keunikan ini terletak pada motifnya yang kompleks, pakem (cara motif diorganisasi) dan insen – insen ( ornamen – ornamen kecil yang digunakan untuk mengisi ruang yang kosong diantara motif utama). Motif mempunyai peranan penting dalam mendefinisikan filosofi. Motif batik terbagi menjadi dua kelompok besar, yakni motif batik geometri dan non – geometri, terdapat motif terakhir pada pola non geometri yaitu motif pola khusus. Motif khusus memuat motif yang tidak dapat dimasukan ke dalam kelas yang lain. Motif khusus inilah yang akan dijadikan sebagai data training dan akan diujicoba untuk dikenali.
(40)
tampak secara visual, hal ini dikarenakan batik mempunyai motif yang bervariasi dan hampir setiap motif batik mempunyai keunikan pola yang serupa ( tapi tidak sama ) sehingga sulit dikenali. Pengetahuan pengenalan motif mungkin hanya dimiliki oleh orang – orang tertentu yang mempunyai bidang keahlian pada bidang terkait seperti bidang membatik. Batik sangat cocok dijadikan objek penelitian untuk mengimplementasikan backpropagation, karena batik mempunyai pola motif yang kompleks dan bervariasi.
Adapun tema yang sama dalam pengenalan motif batik menggunakan metode pengolahan citra transformasi paket wavalet tingkat akurasi yang dihasilkan pada penelitian ini adalah tingkat pengenalan tertinggi menggunakan filter wavalet Daubechies – 2 level 2 80 % dan pengenalan terendah sebesar 3,3 %[9].
Penelitian tugas akhir mengangkat tema implementasi jaringan syaraf tiruan
backpropagation untuk mengenali motif batik yang bertujuan untuk menguji kebenaran dengan menggunakan metode backpropagation apakah tingkat akurasi yang dihasilkan sangat tinggi, dengan melakukan pembelajaran terhadap motif batik kemudian melakukan pengenalan terhadap motif tersebut.
Menurut hasil tinjauan salah satu cara untuk mengenali motif batik sebelum masuk ketahap pengenalan pola, yaitu melakukan proses pengolahan citra terlebih dahulu. Proses pengolahan citra dilakukan bertujuan untuk menyederhanakan nilai pixel citra serta melakukan proses penarikan informasi yang terkandung pada citra. Tahapan proses yang digunakan dalam pengolahan citra pada penelitian tugas akhir ini yaitu scalling, grayscale, edge detection (Sobel) dan tresholding.
2. ISI PENELITIAN 2.1 Metode yang digunakan
Pada penelitian ini metode yang digunakan meliputi preprocessing dan metode jaringan syaraf tiruan backpropagation.
2.1.1 Preprocessing
Preprocessing terdiri dari scaling, grayscale,
dan tresholding.
1. Scaling
Scaling merupakan proses pengubahan ukuran gambar digital agar semua gambar digital data masukan memiliki ukuran yang sama dengan memperkecil citra atau memperbesar[11]. Caranya yaitu menghitung skala perubahan panjang dan lebar dengan terlebih dahulu menentukan skala
(1) (2) Keterangan :
nwidthfactor : faktor skala lebar baru
nheightfactor : faktor skala panjang baru 2. Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Rumus yang digunakan yaitu seperti persamaan 3.
Grayscale = (R+G+B) / 3 (3) 3. Edge Detection (Sobel)
Metode ini merupakan pengembangan metode robert. Kelebihan metode sobel adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi sehingga tepi-tepi yang dihasilkan lebih banyak. Operator terdiri dari sepasang kernel 3 x 3konvolusi. Rumus yang digunakan yaitu seperti persamaan 4 dan 5.
(3) G = besar gradien operator sobel
Gx= gradien sobel arah horizontal
Gy= gradien sobel arah vertika
(4) 4. Tresholding
Tresholding atau pengambangan merupakan tahap untuk membuat warna memiliki dua tingkat
keabuan yaitu hitam dan putih, proses
pengambangan akan menghasilkan citra biner[6]. Proses tresholding mengikuti aturan dari persamaan 5.
(5)
2.1.2. Metode Jaringan Syaraf Tiruan
Backpropagation
Backpropagation atau propagasi balik yaitu suatu algoritma pembelajaran yang digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang terdapat pada lapisan tersembunyi[7]. Algoritma propagasi balik menggunakan error output agar dapat mengubah nilai bobot – bobotnya dalam proses mundur
(backward) untuk mendapatkan error ini, tahap perambatan maju, neuron – neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, sedangkan dalam melakukan sebuah proses perambatan maju dan mundur disebut epoch atau
(41)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033iterasi, aktivasi sigmoid biner yang memiliki rentang nilai (0,1), yaitu seperti pada persamaan 6.
(6)
Algoritma pelatihan untuk jaringan adalah sebagai berikut :
Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil
Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9
Langkah 2 : Untuk setiap pasangan data pelatihan, lakukan langkah 3-8
Fase I : Propagasi maju
Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi diatasnya. Langkah 4 : Hitung semua keluaran di unit tersembunyi zj (j=1,2,..p) dengan menggunakan
persamaan 7 dan 8.
(7) (8) Langkah 5 : Hitung semua keluaran jaringan di
unit yk (k=1,2,..m) dengan menggunakan
persamaan 9 dan 10.
(9) (10) Fase II : Propagasi mundur
Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit keluaran ( k = 1,2,...,m) dengan menggunakan persamaan 11.
(11)
k merupakan unit kesalahan yang akan dipakai
dalam perubahan bobot layar dibawahnya (langkah 7). Hitung suku perubahan bobot (yang akan dipakai nanti untuk merubah bobot dengan
laju percepatan α dengan menggunakan persamaan
12.
(12)
Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan disetiap unit tersembunyi ( j = 1,2,...,p) dengan menggunakan persamaan 13.
(13)
Hitung faktor unit tersembunyi dengan menggunakan persamaan 14.
(14)
Hitung suku perubahan bobot ( yang akan
dipakai untuk merubah bobot ) dengan
menggunakan persamaan 14.
(15)
Fase III : Perubahan bobot
Langkah 8 : Hitung semua perubahan bobot dengan menggunakan persamaan 16 dan 17.
Perubahan bobot garis yang menuju ke unit keluaran :
(16)
Perubahan bobot garis menuju ke unit tersembunyi (17)
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.
2.2 Analisis Data Masukan
Proses yang digunakan pada penelitian ini terlihat seperti pada gambar 1
Gambar 1 Alur Simulasi
2.2.1 Citra Masukan
Citra masukan merupakan citra motif batik Cirebon, terdapat 5 macam jenis motif yang digunakan yaitu motif mega mendung, singa barong, wayang, kapal kompeni dan kupu-kupu. Pada contoh kasus berikut yaitu menggunakan citra motif batik mega mendung dengan ukuran 10 x 10 pixel seperti yang terlihat pada gambar 2.
Gambar 2 Batik Mega Mendung 10 Pixel x 10 Pixel
2.2.2 Preprocessing 1.Scaling
Scaling merupakan proses penskalaan gambar, pada contoh kasus gambar akan
(42)
Gambar 3 Batik Mega Mendung 5 Pixel x 5 Pixel
Gambar 4 Nilai Pixel RGB Citra dengan Ukuran Lebar 5 Pixel dan Panjang 5 Pixel 2. Grayscale
Grayscale merupakan proses pengubahan citra menjadi citra keabuan. Nilai RGB untuk setiap pixel pada gambar mega mendung yang akan diubah menjadi keabu-abuan yaitu seperti pada gambar 4.
Langkah mengubah nilai pixel menjadi grayscale
yaitu sebagai berikut :
a) Setiap pixel dihitung nilai Grayscale yang ada pada setiap koordinat .
b) Hitung grayscale semua pixel dengan menggunakan langkah a).
c) Nilai RGB setiap pixel diset ulang dengan nilai grayscale yang dihasilkan pada perhitungan langkah a). Hasilnya ditunjukkan pada gambar 5.
Gambar 5 Batik Mega Mendung Hasil Grayscale
Gambar 6 Nilai Grayscale
3. Edge detection (Sobel)
Gambar digital yang sudah berwarna keabu-abuan akan menjadi data masukan pada proses ini, sehingga tepi gambar yang ada pada
Gy. Hasil pendeteksian tepi menggunakan operator
sobel yaitu seperti gambar 7.
Gambar 7 Nilai Sobel
4. Treshold
Treshold merupakan proses pengubahan citra menjadi citra biner atau citra hitam putih. Proses treshold dilakukan dengan langkah sebagai berikut :
a. Tentukan nilai threshold (T) dengan rentang 0-255, dalam penelitian ini diambil nilai T=128.
b. Jika nilai pixel lebih dari atau sama dengan 128 maka ubah nilai pixel pada citra menjadi 1, jika nilai pixel kurang dari 190 maka ubah nilai pixel menjadi 0.
Gambar 8 Nilai Pixel Citra Thresholding
2.2.3 Pembelajaran
Metode pembelajaran yang digunakan pada penelitian ini adalah jaringan syaraf tiruan
backpropagation dengan menggunakan dua
perambatan yaitu perambatan maju dan perambatan mundur. Masukan pada proses pembelajaran merupakan matriks hasil treshold
motif batik mega mendung pada gambar 8. Selanjutnya matriks tersebut dirubah menjadi array 1 dimensi seperti pada gambar 9.
Gambar 9 Array 1 Dimensi Citra Thresholding
Data inilah yang akan digunakan sebagai pembelajaran terhadap jaringan yang sudah
(43)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033dibangun. Jaringan yang dibangun mempunyai tiga lapisan yaitu lapisan masukan, lapisan tersembunyi dan lapisan keluaran. Pada kasus ini layer masukan mempunyai 25 node dan 1 node bias, layer tersembunyi mempunyai 25 node, jumlah ini diambil dari lapisan masukan dan 1 node bias, sedangkan pada lapisan keluara mempunyai 1 node. Arsitektur jaringan dapat dilihat pada gambar 10.
Gambar 10 Arsitektur jaringan syaraf tiruan
backpropagation
Langkah – langkah proses pembelajaran adalah sebagai berikut :
1. Tentukan nilai epoch, laju pemahaman, dan error minimum. Pada contoh perhitungan ini digunakan batasan sebagai berikut:
epoch = 10 laju pemahaman = 0.2, dengan
range 0- 1, maka dalam contoh kasus ini dipilih nilai 0.2 sebagai rasio pembelajaran Error minimum = 0
2. Inisialisasikan bobot awal dengan nilai random dengan interval -0.5 – 0.5
3. Perulangan dilakukan selama nilai perulangan lebih kecil dari maksimal perulangan dan kuadrat error lebih besar dari nilai error minimum. Setiap data dilakukan perulangan perhitungan langkah 4 dan langkah 5.
4. Perambatan maju (feedforward)
perulangan ke-1 Data ke-1
5. Perambatan Mundur ( backpropagation)
Pada data kedua dilakukan operasi-operasi yang sama dengan menggunakan bobot-bobot akhir hasil pengolahan data pertama ini sebagai bobot-bobot awalnya. Proses ini dilakukan secara berulang sampai pada maksimum perulangan.
2.2.4 Pengenalan
Pengenalan merupakan proses untuk melakukan pengenalan citra uji. Sebagai contoh kasus terdapat citra motif batik mega mendung berukuran 5 x 5 pixel yang telah di-preprocessing
terlebih dahulu, dan diubah dari matriks menjadi array satu dimensi terlihat pada gambar 11.
Gambar 11 Array 1 Dimensi Citra Thresholding
Langkah –langkah proses pengenalan adalah sebagai berikut :
1. Lakukan proses pembelajaran terlebih dahulu menggunakan perambatan maju dan perambatan mundur, proses pembelajaran. Proses pembelajaran telah dilakukan dan didapatkan bobot-bobot hasil pembelajaran serta nilai Y.
2. Setelah didapatkan bobot hasil pembelajaran, lakukan proses pengenalan dengan menggunakan perambatan maju (Feedforward) maka akan didapatkan nilai Y keluaran hasil dari proses pengenalan
3. Setelah di dapatkan nilai y dari pengenalan maka selanjutnya nilai y pengenalan (y = 0,961424456) dibandingkan dengan nilai y yang ada di pembelajaran (y = 0,964210669), bandingkan nilai y dari pengenalan yang mendekati nilai y dari pembelajaran maka data akan di dapatkan. Nilai y keluaran dari pengenalan adalah nilai y hasil dari perhitungan menggunakan bobot w dan v yang paling optimal yang didapatkan dari proses pembelajaran yang dilakukan berulang-ulang sampai epoch terpenuhi, oleh sebab itu nilai y dari pengenalan akan mendekati hasil dari nilai y pembelajaran sehingga nilai y inilah yang menjadi data pencocokan dari pembelajaran dan pelatihan.
2.3Pengujian Metode
Pengujian metode bertujuan untuk mengetahui keakurasian pengenalan citra motif batik cirebon
dari metode backpropagation yang
diimplementasikan pada simulasi untuk mengenali motif batik. Pengujian metode ini menggunakan pengujian algoritma backpropagation yang dicoba dengan berbagai pasangan variabel yang digunakan dalam pembelajaran. Data citra yang digunakan dalam pembelajaran dan pengenalan terdiri dari 5 macam motif yaitu motif mega mendung, motif singa barong, motif kapal kompeni, motif kupu-kupu dan motif wayang, seperti pada Tabel 1, setiap motifnya mempunyai variasi yang berbeda – beda. Pengujian ini
(44)
teridentifikasi sesuai dengan target dan jumlah data yang teridentifikasi tidak sesuai dengan target keluaran, pengujian ini dilakukan menggunakan simulasi implementasi backpropagation untuk mengenali motif batik yang sudah dibuat.
Metode backpropagation mempunyai tiga buah parameter yang dapat dirubah yaitu error minimum, laju pemahaman, dan batas epoch(iterasi). Perubahan dari ketiga parameter tersebut dapat mempengaruhi kecepatan dan keakurasian pengenalan motif batik, untuk pengujian simulasi digunakan parameter akurasi. Tabel 1 Data Citra Pembelajaran dan Pengenalan
No. Nama Citra
1.
Mega Mendung 1 Mega Mendung 1
2.
Singa Barong 1 Singa Barong 2
3.
Kapal Kompeni 1 Kapal Kompeni 2
4.
Kupu – Kupu 1 Kupu – Kupu 2
5.
Wayang 1 Wayang 2
2.4 Hasil Penelitian
Rencana pengujian performansi yang akan dijalankan pada simulator ini merupakan pengujian dengan menggunakan berbagai kombinasi parameter pembelajaran, terlihat pada tabel 2
Tabel 2 Parameter Pengujian Algoritma
Epoch 10
50
Laju Pemahaman 0,1
0,2
Error Minimum 0,01
Kombinasi nilai parameter pengujian algoritma terlihat pada tabel 3.
Tabel 3 Kombinasi Nilai Parameter Pengujian Algoritma
No Epoch Laju
Pemahaman
Error Minimum
1 10 0,1 0,01
2 50 0,1 0,01
3 10 0,2 0,01
4 50 0,2 0,01
Hasil pengujian untuk kombinasi parameter ke 1 terlihat pada tabel 4.
Tabel 4 Hasil Pengujian Pengenelan 1
Hasil pengujian untuk kombinasi parameter ke 2 terlihat pada tabel 5.
Nama Motif
Nilai Keluaran (Y)
Kesimpulan Mega Mendung 1 0,0003515237 Dikenali
Singa Barong 1 0,0003083951 Dikenali
Wayang 1 0,002817291 Dikenali
Kapal Kompeni 1 0,0007576777 Dikenali
Kupu – Kupu 1 0,003460536 Dikenali
Mega Mendung 2 0,0005947885 Dikenali Singa Barong 2 0,0009589184 Dikenali
Wayang 2 0,00427844 Dikenali
Kapal Kompeni 2 0,003558951 Dikenali
(45)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033Tabel 5 Hasil Pengujian Pengenalan 2
Hasil pengujian untuk kombinasi parameter ke 3 terlihat pada tabel 6.
Tabel 5 Hasil Pengujian Pengenalan 3
Hasil pengujian untuk kombinasi parameter ke 4 terlihat pada tabel 7.
Tabel 7 Hasil Pengujian Pengenalan 4
Jadi dari 4 kali pengujian pengenalan motif batik menggunakan simulasi implementasi jaringan syaraf tiruan backpropagation untuk mengenali motif batik diperoleh hasil sebagai berikut :
Tabel 8 Kesimpulan Hasil Pengujian Pengujia n Pengenal an Skenari o 1 Skenari o 2 Skenari o 3 Skenari o 4 Persentas
e Akurasi 100 % 50 % 100 % 90 %
Rata-rata persentas e Akurasi
85%
3 PENUTUP
Berdasarkan hasil yang didapat dalam penelitian serta disesuaikan dengan tujuannya, maka diperoleh kesimpulan, tingkat akurasi rata-rata 85% artinya tingkat keakurasian dalam kasus pengenalan motif batik (Cirebon) sangat baik.
Untuk lebih meningkatkan kinerja dari sistem yang dibuat, maka diusulkan beberapa saran sebagai berikut :
1. Data sampling citra batik perlu ditambahkan untuk pelatihan jaringan syaraf tiruan agar akurasi dari sistem meningkat.
2. Perlunya penambahan perhitungan MSE
terhadap jaringan syaraf tiruan
backpropagation agar keakurasian semakin meningkat. Nama Motif Nilai Keluaran (Y) Kesimpula n Mega Mendung 1 0,5016606 Dikenali
Singa Barong 1 0,5006242 Dikenali
Wayang 1 0,503799 Tidak
Dikenali Kapal Kompeni 1 0,5027753 Tidak
Dikenali Kupu – Kupu 1 0,5012387 Dikenali Mega Mendung 2 0,5025526 Dikenali
Singa Barong 2 0,5041642 Tidak Dikenali
Wayang 2 0,5013393 Tidak
Dikenali Kapal Kompeni 2 0,5018868 Tidak
Dikenali Kupu – Kupu 2 0,5040368 Dikenali
Nama Motif
Nilai Keluaran (Y)
Kesimpulan Mega Mendung 1 0,0006388723 Dikenali
Singa Barong 1 0,0004885535 Dikenali
Wayang 1 0,00188817 Dikenali
Kapal Kompeni 1 0,0006721837 Dikenali
Kupu – Kupu 1 0,003155197 Dikenali
Mega Mendung 2 0,0008742915 Dikenali Singa Barong 2 0,003024148 Dikenali
Wayang 2 0,0001796771 Dikenali
Kapal Kompeni 2 0,003715404 Dikenali Kupu – Kupu 2 0,0008223989 Dikenali
Nama Motif
Nilai Keluaran (Y)
Kesimpulan
Mega Mendung 1 0,4996403 Tidak
Dikenali Singa Barong 1 0,4996034 Dikenali
Wayang 1 0,4998855 Dikenali
Kapal Kompeni 1 0,4991292 Dikenali
Kupu – Kupu 1 0,4997116 Dikenali
Mega Mendung 2 0,5000706 Dikenali
Singa Barong 2 0,4996042 Dikenali
Wayang 2 0,4998415 Dikenali
Kapal Kompeni 2 0,4994311 Dikenali
(46)
4. Simulator pengenalan motif batik lebih baik dijalankan pada komputer yang memiliki spesifikasi tinggi.
DAFTAR PUSTAKA
[1] Shalahuddin, R. A. (2013). Rekayasa Perangkat Lunak. Bandung: Informatika.
[2] Nazla Nurmila, A. S. (2007).
ALGORITMA BACK PROPAGATION NEURAL NETWORK UNTUK PENGENALAN POLA KARAKTER
HURUF JAWA. Jurnal Masyarakat
Informatika, 1-10.
[3] Kiki, Sri, K. 2004. Jaringan Saraf Tiruan dengan Metode Backpropagation untuk Mendeteksi Gangguan Psikologi. Media Informatika 2(2): 1-14.
[4] C, A. S. (2012). Indonesian Journal Of Tropical and Infectious Deseas, Digital Detection System Design Of Mycrobacterium Tuberculosis Trough Axtraction Of Sputum Image Using Neural Networks.
[5] Munir, R. (2008). Pengolahan Citra Digital.
[6] Hermawati, F. A. (2013). Pengolahan Citra Digital. Yogyakarta: Andi.
[7] Siang, J. J. (2009). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: Andi.
[8] Pupsitaningrum, D. (2006). Pengantar Jaringan Syaraf Tiruan. Yogyakarta: Andi. [9] Wardani, E. W. (2013). Pengenalan Motif
Batik Menggunakan Metode Transformasi Paket Wavelet, 1-93.
[10] Sianipar, R. H. (2014). Pemograman C#.
Bandung : Informatika.
[11] Wuryandari, M. D. (2011). Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation Dan Learning Vector Quantization Pada Pengenalan Wajah.
[12] Nurhayati, J. A. (n.d.). Pengelompokan Citra Warna Menggunakan Jaringan Syaraf Tiruan Dengan Software MATLAB.
(47)
(48)
(1)
dibangun. Jaringan yang dibangun mempunyai tiga lapisan yaitu lapisan masukan, lapisan tersembunyi dan lapisan keluaran. Pada kasus ini layer masukan mempunyai 25 node dan 1 node bias, layer tersembunyi mempunyai 25 node, jumlah ini diambil dari lapisan masukan dan 1 node bias, sedangkan pada lapisan keluara mempunyai 1 node. Arsitektur jaringan dapat dilihat pada gambar 10.
Gambar 10 Arsitektur jaringan syaraf tiruan backpropagation
Langkah – langkah proses pembelajaran adalah sebagai berikut :
1. Tentukan nilai epoch, laju pemahaman, dan error minimum. Pada contoh perhitungan ini digunakan batasan sebagai berikut:
epoch = 10 laju pemahaman = 0.2, dengan range 0- 1, maka dalam contoh kasus ini dipilih nilai 0.2 sebagai rasio pembelajaran Error minimum = 0
2. Inisialisasikan bobot awal dengan nilai random dengan interval -0.5 – 0.5
3. Perulangan dilakukan selama nilai perulangan lebih kecil dari maksimal perulangan dan kuadrat error lebih besar dari nilai error minimum. Setiap data dilakukan perulangan perhitungan langkah 4 dan langkah 5.
4. Perambatan maju (feedforward) perulangan ke-1
Data ke-1
5. Perambatan Mundur ( backpropagation) Pada data kedua dilakukan operasi-operasi yang sama dengan menggunakan bobot-bobot akhir hasil pengolahan data pertama ini sebagai bobot-bobot awalnya. Proses ini dilakukan secara berulang sampai pada maksimum perulangan. 2.2.4 Pengenalan
Pengenalan merupakan proses untuk melakukan pengenalan citra uji. Sebagai contoh kasus terdapat citra motif batik mega mendung berukuran 5 x 5 pixel yang telah di-preprocessing terlebih dahulu, dan diubah dari matriks menjadi array satu dimensi terlihat pada gambar 11.
Gambar 11 Array 1 Dimensi Citra Thresholding Langkah –langkah proses pengenalan adalah sebagai berikut :
1. Lakukan proses pembelajaran terlebih dahulu menggunakan perambatan maju dan perambatan mundur, proses pembelajaran. Proses pembelajaran telah dilakukan dan didapatkan bobot-bobot hasil pembelajaran serta nilai Y.
2. Setelah didapatkan bobot hasil pembelajaran, lakukan proses pengenalan dengan menggunakan perambatan maju (Feedforward) maka akan didapatkan nilai Y keluaran hasil dari proses pengenalan
3. Setelah di dapatkan nilai y dari pengenalan maka selanjutnya nilai y pengenalan (y = 0,961424456) dibandingkan dengan nilai y yang ada di pembelajaran (y = 0,964210669), bandingkan nilai y dari pengenalan yang mendekati nilai y dari pembelajaran maka data akan di dapatkan. Nilai y keluaran dari pengenalan adalah nilai y hasil dari perhitungan menggunakan bobot w dan v yang paling optimal yang didapatkan dari proses pembelajaran yang dilakukan berulang-ulang sampai epoch terpenuhi, oleh sebab itu nilai y dari pengenalan akan mendekati hasil dari nilai y pembelajaran sehingga nilai y inilah yang menjadi data pencocokan dari pembelajaran dan pelatihan.
2.3Pengujian Metode
Pengujian metode bertujuan untuk mengetahui keakurasian pengenalan citra motif batik cirebon dari metode backpropagation yang diimplementasikan pada simulasi untuk mengenali motif batik. Pengujian metode ini menggunakan pengujian algoritma backpropagation yang dicoba dengan berbagai pasangan variabel yang digunakan dalam pembelajaran. Data citra yang digunakan dalam pembelajaran dan pengenalan terdiri dari 5 macam motif yaitu motif mega mendung, motif singa barong, motif kapal kompeni, motif kupu-kupu dan motif wayang, seperti pada Tabel 1, setiap motifnya mempunyai variasi yang berbeda – beda. Pengujian ini
(2)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
menghasilkan besaran akurasi dari metode backpropagation berdasarkan jumlah data yang teridentifikasi sesuai dengan target dan jumlah data yang teridentifikasi tidak sesuai dengan target keluaran, pengujian ini dilakukan menggunakan simulasi implementasi backpropagation untuk mengenali motif batik yang sudah dibuat.
Metode backpropagation mempunyai tiga buah parameter yang dapat dirubah yaitu error minimum, laju pemahaman, dan batas epoch(iterasi). Perubahan dari ketiga parameter tersebut dapat mempengaruhi kecepatan dan keakurasian pengenalan motif batik, untuk pengujian simulasi digunakan parameter akurasi. Tabel 1 Data Citra Pembelajaran dan Pengenalan
No. Nama Citra
1.
Mega Mendung 1 Mega Mendung 1
2.
Singa Barong 1 Singa Barong 2
3.
Kapal Kompeni 1 Kapal Kompeni 2
4.
Kupu – Kupu 1 Kupu – Kupu 2
5.
Wayang 1 Wayang 2
2.4 Hasil Penelitian
Rencana pengujian performansi yang akan dijalankan pada simulator ini merupakan pengujian dengan menggunakan berbagai kombinasi parameter pembelajaran, terlihat pada tabel 2
Tabel 2 Parameter Pengujian Algoritma
Parameter Nilai
Epoch 10
50
Laju Pemahaman 0,1
0,2
Error Minimum 0,01
Kombinasi nilai parameter pengujian algoritma terlihat pada tabel 3.
Tabel 3 Kombinasi Nilai Parameter Pengujian Algoritma
No Epoch Laju
Pemahaman
Error Minimum
1 10 0,1 0,01
2 50 0,1 0,01
3 10 0,2 0,01
4 50 0,2 0,01
Hasil pengujian untuk kombinasi parameter ke 1 terlihat pada tabel 4.
Tabel 4 Hasil Pengujian Pengenelan 1
Hasil pengujian untuk kombinasi parameter ke 2 terlihat pada tabel 5.
Nama Motif
Nilai Keluaran (Y)
Kesimpulan Mega Mendung 1 0,0003515237 Dikenali
Singa Barong 1 0,0003083951 Dikenali Wayang 1 0,002817291 Dikenali Kapal Kompeni 1 0,0007576777 Dikenali Kupu – Kupu 1 0,003460536 Dikenali Mega Mendung 2 0,0005947885 Dikenali Singa Barong 2 0,0009589184 Dikenali Wayang 2 0,00427844 Dikenali Kapal Kompeni 2 0,003558951 Dikenali Kupu – Kupu 2 0,003649108 Dikenali
(3)
Tabel 5 Hasil Pengujian Pengenalan 2
Hasil pengujian untuk kombinasi parameter ke 3 terlihat pada tabel 6.
Tabel 5 Hasil Pengujian Pengenalan 3
Hasil pengujian untuk kombinasi parameter ke 4 terlihat pada tabel 7.
Tabel 7 Hasil Pengujian Pengenalan 4
Jadi dari 4 kali pengujian pengenalan motif batik menggunakan simulasi implementasi jaringan syaraf tiruan backpropagation untuk mengenali motif batik diperoleh hasil sebagai berikut
:
Tabel 8 Kesimpulan Hasil Pengujian Pengujia n Pengenal an Skenari o 1 Skenari o 2 Skenari o 3 Skenari o 4 Persentas
e Akurasi 100 % 50 % 100 % 90 % Rata-rata
persentas e Akurasi
85%
3
PENUTUP
Berdasarkan hasil yang didapat dalam penelitian serta disesuaikan dengan tujuannya, maka diperoleh kesimpulan, tingkat akurasi rata-rata 85% artinya tingkat keakurasian dalam kasus pengenalan motif batik (Cirebon) sangat baik.
Untuk lebih meningkatkan kinerja dari sistem yang dibuat, maka diusulkan beberapa saran sebagai berikut :
1. Data sampling citra batik perlu ditambahkan untuk pelatihan jaringan syaraf tiruan agar akurasi dari sistem meningkat.
2. Perlunya penambahan perhitungan MSE terhadap jaringan syaraf tiruan backpropagation agar keakurasian semakin meningkat. Nama Motif Nilai Keluaran (Y) Kesimpula n Mega Mendung 1 0,5016606 Dikenali
Singa Barong 1 0,5006242 Dikenali Wayang 1 0,503799 Tidak
Dikenali Kapal Kompeni 1 0,5027753 Tidak
Dikenali Kupu – Kupu 1 0,5012387 Dikenali Mega Mendung 2 0,5025526 Dikenali
Singa Barong 2 0,5041642 Tidak Dikenali Wayang 2 0,5013393 Tidak
Dikenali Kapal Kompeni 2 0,5018868 Tidak
Dikenali Kupu – Kupu 2 0,5040368 Dikenali
Nama Motif
Nilai Keluaran (Y)
Kesimpulan Mega Mendung 1 0,0006388723 Dikenali
Singa Barong 1 0,0004885535 Dikenali Wayang 1 0,00188817 Dikenali Kapal Kompeni 1 0,0006721837 Dikenali Kupu – Kupu 1 0,003155197 Dikenali Mega Mendung 2 0,0008742915 Dikenali Singa Barong 2 0,003024148 Dikenali Wayang 2 0,0001796771 Dikenali Kapal Kompeni 2 0,003715404 Dikenali Kupu – Kupu 2 0,0008223989 Dikenali
Nama Motif
Nilai Keluaran (Y)
Kesimpulan Mega Mendung 1 0,4996403 Tidak
Dikenali Singa Barong 1 0,4996034 Dikenali Wayang 1 0,4998855 Dikenali Kapal Kompeni 1 0,4991292 Dikenali Kupu – Kupu 1 0,4997116 Dikenali Mega Mendung 2 0,5000706 Dikenali Singa Barong 2 0,4996042 Dikenali Wayang 2 0,4998415 Dikenali Kapal Kompeni 2 0,4994311 Dikenali Kupu – Kupu 2 0,4999377 Dikenali
(4)
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
3. Metode pengolahan citra perlu dimodifikasi dengan menggunakan metode lainnya. 4. Simulator pengenalan motif batik lebih baik
dijalankan pada komputer yang memiliki spesifikasi tinggi.
DAFTAR PUSTAKA
[1] Shalahuddin, R. A. (2013). Rekayasa Perangkat Lunak. Bandung: Informatika.
[2] Nazla Nurmila, A. S. (2007).
ALGORITMA BACK PROPAGATION NEURAL NETWORK UNTUK PENGENALAN POLA KARAKTER HURUF JAWA. Jurnal Masyarakat Informatika, 1-10.
[3] Kiki, Sri, K. 2004. Jaringan Saraf Tiruan dengan Metode Backpropagation untuk Mendeteksi Gangguan Psikologi. Media Informatika 2(2): 1-14.
[4] C, A. S. (2012). Indonesian Journal Of Tropical and Infectious Deseas, Digital Detection System Design Of Mycrobacterium Tuberculosis Trough Axtraction Of Sputum Image Using Neural Networks.
[5] Munir, R. (2008). Pengolahan Citra Digital.
[6] Hermawati, F. A. (2013). Pengolahan Citra Digital. Yogyakarta: Andi.
[7] Siang, J. J. (2009). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: Andi.
[8] Pupsitaningrum, D. (2006). Pengantar Jaringan Syaraf Tiruan. Yogyakarta: Andi. [9] Wardani, E. W. (2013). Pengenalan Motif
Batik Menggunakan Metode Transformasi Paket Wavelet, 1-93.
[10] Sianipar, R. H. (2014). Pemograman C#. Bandung : Informatika.
[11] Wuryandari, M. D. (2011). Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation Dan Learning Vector Quantization Pada Pengenalan Wajah. [12] Nurhayati, J. A. (n.d.). Pengelompokan
Citra Warna Menggunakan Jaringan Syaraf Tiruan Dengan Software MATLAB.
(5)
(6)