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
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
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
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
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
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
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
( 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
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
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.
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
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
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
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
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)
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
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
[
] ... (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
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
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.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
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
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
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,
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
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
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)
... (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:
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
∑ ... (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].
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.
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
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
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
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
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
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].
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
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
iterasi, 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
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