• Tidak ada hasil yang ditemukan

Implementasi Jaringan Syaraf Tiruan Backpropagation Untuk Mengenali Motif Batik

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Jaringan Syaraf Tiruan Backpropagation Untuk Mengenali Motif Batik"

Copied!
48
0
0

Teks penuh

(1)

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

(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

(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

(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

(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

(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

(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

(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

(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)

(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

(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

(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

(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

(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).

(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

(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

(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

(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,

(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

(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

(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)

(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

(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

(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

(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

(38)
(39)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033

IMPLEMENTASI 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].

(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

(41)

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

(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

Gambar

Gambar 1.1 Model waterfall [ 1 ]
Gambar 2.1 Lena [5]
Gambar 2.2 Cara menentukan koordinat tititk di dalam citra [5]
Gambar 2.3 Pembentukan Citra [5]
+7

Referensi

Dokumen terkait

Gambar 4.5 Proses perhitungan bentuk citra ke-1 pada sayatan batuan berdasarkan warna merah (pola wajik) biru (pola bukan wajik). 4.3 Perhitungan Dan

Hasil pengujian secara keseluruhan dengan membandingkan tingkat akurasi antara pengenalan fonem dengan menggunakan ekstraksi ciri berbasis transformasi Fourier dan

Berdasarkan hasil dari penelitian tentang pengenalan pola motif batik Pekalongan dengan memanfaatkan algoritma backpropagation, dimana kebutuhan jaringan yang

Algoritma pengenalan citra sidik jari dimulai dengan mengekstrak citra menjadi ciri-ciri citra dengan cara memilih sejumlah kecil (m) koefisien hasil transformasi wavelet yang

Berdasarkan hasil dari penelitian tentang pengenalan pola motif batik Pekalongan dengan memanfaatkan algoritma backpropagation, dimana kebutuhan jaringan yang

Dalam penelitian diagnosis penyakit kulit pada anak dengan metode backpropagation ini diketahui bahwa akurasi hanya mencapai 90% dikarenakan pada data uji tedapat

Algoritma pengenalan citra sidik jari dimulai dengan mengekstrak citra menjadi ciri-ciri citra dengan cara memilih sejumlah kecil (m) koefisien hasil transformasi wavelet yang

Hasil dari penelitian ini yaitu banyaknya variasi citra data pelatihan mempengaruhi tingkat akurasi sistem pengenalan jenis golongan darah dan algoritma yang digunakan