SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
TEGAR SEMBADA
10110468
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah
memberikan rahmat serta hidayah-Nya sehingga penulis dapat menyelesaikan
penulisan skripsi dengan judul “IMPLEMENTASI RUN LENGTH DAN METODE JARINGAN SARAF TIRUAN HOPFIELD UNTUK KLASIFIKASI
PENYAKIT KULIT” sebagai salah satu syarat kelulusan pada Program Strata 1 Program Studi Teknik Informatika Fakultas Ilmu dan Teknik Komputer di
Universitas Komputer Indonesia.
Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan,
bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan
terima kasih yang sebesar-besarnya kepada :
1. Allah SWT atas rahmat, berkah dan izin-Nya saya bisa menyelesaikan
penulisan skripsi ini.
2. Ibu Nelly Indriani W, S.Si, M.T. selaku dosen pembimbing skripsi. Terima
kasih banyak atas bimbingan, arahan serta seluruh waktu dan perjuangan ibu
selama ini demi mengantarkan penulis untuk dapat menyelesaikan tugas akhir
skripsi.
3. Ibu Ednawati Rainarli, S.Si., M.Si. selaku reviewer yang telah banyak
memberikan masukan dan arahan.
4. Ibu Utami Dewi, S.Kom., M.Kom. selaku dosen wali IF-11 2010 selama
penulis menempuh pendidikan di UNIKOM
5. Kepada seluruh Dosen dan Staff Program Studi Teknik Informatika
Universitas Komputer Indonesia, terima kasih atas semua ilmu pendidikan,
pengetahuan serta pengajaran Bapak/Ibu.
6. Untuk teman-teman IF-11 2010 seperjuangan dan semua pihak yang telah
membantu dalam menyelesaikan tugas akhir ini yang tidak dapat penulis
sebutkan satu per satu, terima kasih banyak atas semua dukungan dan
iv
Bandung, July 2015
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xii
DAFTAR LAMPIRAN ... xvi
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah... 3
1.5 Metodologi Penelitian ... 3
1.5.1 Metode Pengumpulan Data ... 4
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Pengolahan Citra (Image Processing) ... 7
2.2 Langkah-Langkah Penting dalam Pengolahan Citra (image processing) ... 7
2.3 Elemen Citra... 9
2.4 Citra Analog dan Citra Digital ... 11
2.5 Tekstur ... 11
2.6 Metode Run-Length ... 12
2.7 Jaringan Saraf Tiruan (JST) ... 14
vi
2.8.1 Jaringan Hopfield Kontinu ... 21
2.9 OOP (Object Oriented Programming) ... 22
2.10 UML (Unified Modeling Language) ... 24
2.11 Bahasa C# ... 26
BAB 3 ANALISIS DAN PERANCANGAN ALGORITMA ... 27
3.1 Analisis Masalah ... 27
3.2 Analisis Sistem ... 28
3.3 Analisis Data ... 32
3.3.1 Analisis Data Masukan ... 32
3.3.2 Analisis Data Keluaran ... 33
3.4 Analisis Metode / Algoritma ... 33
3.4.1 Analisis Tahap Pengolahan Citra ... 33
3.4.1 Analisis Tahapan Pelatihan ... 39
3.4.2 analisis Tahapan Pengujian ... 42
3.5 Analisis kebutuhan perangkat lunak ... 44
3.5.1 Analisis kebutuhan non-fungsional ... 44
3.5.2 Analisis kebutuhan fungsional ... 45
3.6 Perancangan System... 54
3.6.1 Perancangan antar muka ... 55
3.6.2 Jaringan Semantik ... 58
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 59
4.1 Implementasi ... 59
4.1.1 Implementasi Perangkat Keras ... 59
4.1.2 Implementasi Perangkat Lunak ... 59
vii
4.2 Pengujian ... 62
4.2.2 pengujian metode ... 65
4.2.1 Pengujian Metode dengan ukuran 32x32 ... 67
4.2.2 Pengujian Metode Dengan Ukuran Citra 64x64 ... 71
4.2.3 Pengujian metode dengan ukuran 128x128 ... 75
4.3 Kesimpulan Pengujian ... 81
BAB 5 KESIMPULAN DAN SARAN ... 83
5.1 Kesimpulan ... 83
5.2 Saran ... 83
83 KULIT” Institut Teknologi Nasional
2. Mita indriani “ANALISIS TEKSTUR MENGGUNAKAN METODE RUN LENGTH”.
3. Nirmawati (2004). Uji Banding Hasil Pengobatan Sulfur 10% Dalam Petrolatum
dengan Salep 2-4 pada Penderita Skabies. Universitas Padjajaran, Bandung.
4. Muis, S., 2006. Teknik Jaringan Saraf Tiruan. Yogyakarta: Graha Ilmu.
5. Nalwan, A., 1997. Pengolahan Gambar Secara Digital. Jakarta: Elex Media
Komputindo
6. Tavakoli Targhi Alireza, 2009. The Texture-Transform: An Operator for Texture
Detection and Discrimination, Stockholm, Sweden.
7. Faradila, penyelesaian system persamaan nonlinier dengan metode jaringan saraf
tiruan hopfield. Universitas Islam Negri Hidayatullah, Jakarta.
8. Kristanto, A., 2004. Jaringan Saraf Tiruan (Konsep Dasar, Algoritma dan
Aplikasi). Jogjakarta: Gava Media
9. Pressman, S. R., 2010. Rekayasa Perangkat Lunak. Yogyakarta: Andi.
10.GASIM, “Jaringan syaraf tiruan untuk pengenalan jenis kayu berbasis citra”
[tesis], Bogor: Program Pascasarjana, Institut Pertanian Bogor,
11.NAKANO K, “Application of neural networks to the color grading of apples”,
Computers and Electronics in Agriculture18 (1997) 105-116Ahmad, U., 2008.
Pengolahan gambar digital dan teknik pemogramanya, Graha ilmu.
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Pengenalan citra hingga saat ini memiliki peran yang cukup penting karena
dapat membantu masyarakat dalam kehidupan sehari-hari. Contoh aplikasinya
adalah automatisasi dalam mengklasifikasikan objek atau barang dalam proses
industri, analisis citra satelit, pencarian data citra di dalam halaman web atau basis
data, peninjauan kualitas barang, dan lain-lain.
Pengenalan tekstur merupakan salah satu teknik yang dapat digunakan dalam
pengenalan citra. Selain pengenalan tekstur dalam proses pengenalan citra juga
dibutuhkan proses pengklasifikasian agar pengenalan yang dihasilkan memiliki
hasil yang baik. Berdasarkan penelitian sebelumnya proses pengenalan citra dapat
dilakukan untuk mendeteksi penyakit kulit. Pada dasarnya penyakit kulit dapat
dikenali berdasarkan beberapa aspek diantaranya adalah pola dan teksturnya[3].
Pada penelitian yang telah disebutkan sebelumnya telah dilakukan penelitian
untuk melakukan pengenalan terhadap penyakit kulit berdasarkan pola, dan
memiliki akurasi yang cukup tinggi yaitu 80%[1]. Hasil dari penelitian ini dapat
lebih akurat apabila menggunakan teknik pengenalan tekstur, karena pola yang
dimiliki oleh penyakit kulit tidak selalu sama.
Metode yang dapat digunakan untuk pengenalan tekstur salah satunya adalah
metode run length. Berdasarkan penelitian sebelumnya metode ini dianggap
sangat berguna dalam membedakan tekstur kasar dan tekstur halus, karena metode
ini memperoleh ciri dari suatu citra dengan menggunakan distribusi suatu piksel
dengan intensitas yang sama secara berurutan dalam satu arah tertentu sebagai
primitifnya[2].
Setelah mendapatkan ciri dari suatu citra dengan menggunakan teknik
pengenalan berdasarkan tekstur selanjutnya yang harus diperhatikan dalam
digunakan untuk mendapatkan hasil yang akurat. Salah satu metode yang dapat
digunakan adalah metode jarigan saraf tiruan. Dalam metode jaringan saraf tiruan
memiliki banyak jenis salah satunya adalah jaringan saraf tiruan Hopfield. Metode
ini merupakan salah satu metode optimasi untuk pencarian nilai minimum dari
kombinasi objektif, dan setiap neuronya berhubungan secara penuh yang
memungkinkan untuk mendapat hasil lebih optimal daripada metode yang lain.
Dari permasalahan dan solusi yang telah dijelaskan, maka penelitian skripsi
ini akan mengklasifikasikan penyakit kulit berdasarkan tekstur kulit dengan
menerapkan metode run length sebagai metode ekstaksi citra dan metode jaringan
saraf tiruan Hopfield untuk klasifikasi citra, diharapkan kombinasi kedua metode
ini dapat melakukan pengklasifikasian penyakit kulit dengan akurat. Karena
dengan tingginya tingkat akurasi yang didapat diharapkan hasil dari klasifikasi ini
dapat dijadikan sebagai bahan rujukan penanganan lebih lanjut kepada pakar.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan pada latar belakang, maka
yang menjadi pokok permasalahan adalah bagaimana penerapan metode run
length dan metode jaringan saraf tiruan Hopfield dalam pengolahan citra dengan
teknik analisis tekstur untuk pengklasifikaisan penyakit kulit pada manusia, serta
tingkat akurasi yang didapat dari proses run length dan JST hopfield dalam
mengklasifikasi citra berdasarkan tekstur.
1.3 Maksud dan Tujuan
Maksud dari penelitian skripsi ini adalah Implementasi Metode Run Length
dan metode jaringan saraf tiruan hopfield untuk klasifikasi penyakit kulit manusia
berdasarkan tekstur kulit. Tujuan yang hendak dicapai dari penelitian skipsi ini
adalah untuk menganalisis tingkat akurasi penerapan metode run-length dalam
mendeteksi dan mengklasifikasi jenis-jenis tekstur penyakit kulit dengan
1.4 Batasan Masalah
Karena terlalu luasnya permasalahan yang terjadi maka penelitian dibatasi
dan hanya memfokuskan pada :
1. Metode yang digunakan adalah metode run length dan jst hopfield.
2. Data citra yang digunakan adalah citra kulit manusia, dan
pengambilan citra yang sudah disediakan.
3. Bobot yang digunakan pada jaringan saraf tiruan adalah bilangan acak
dari 0 sampai 1.
4. Penyakit kulit yang deteksi dibatasi hanya penyakit kulit yang dapat
dilihat secara visual dari gejala-gejalanya, baik di-scan secara
langsung pada penyakit kulit tersebut, maupun men-scan melalui file
gambar dengan format gambar JPG.
5. Citra yang diklasifikasi adalah citra penyakit eksim kering, eksim
basah, jerawat, mata ikan, bisul.
6. Bahasa pemrograman yang digunakan untuk membangun aplikasi ini
adalah C#.
7. Metode analisis perancangan yang digunakan adalah analisis dan
perancangan perangkat lunak berorientasi objek, dengan
menggunakan pemodelan Unified Modeling Language (UML).
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan adalah metodologi Analisis deskriptif.
Analisis deskriptif adalah metode analisis dengan mendeskripsikan atau
menggambarkan data yang telah terkumpul sebagaimana adanya tanpa membuat
kesimpulan yang berlaku untuk umum. Metodologi ini terbagi menjadi dua
metode yaitu metode pengumpulan data dan metode metode pembangunan
perangkat lunak.
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut :
Pengumpulan data dengan cara mengumpulkan literature, jurnal, paper
dan bacaan-bacaan yang berkaitan dengan tujuan penelitian, yaitu tentang
objek penelitian seperti kulit dan penyakit kutlit. Serta tentang metode yang
digunakan seperti metode run length dan metode jaringan saraf tiruan
Hopfield.
b. Pengamatan
Teknik pengumpulan data, dengan mengumpulkan foto-foto sample
penyakit dan mengumpulkan cara-cara perawatan untuk penyakit tersebut.
1.5.2 Metode Pembangunan Perangkat Lunak
Dalam pembangunannya, teknik analisis data dalam pembuatan perangkat
lunak menggunakan paradigma perangkat lunak secara prototype, yang meliputi
beberapa proses diantaranya:
a. Quick Planning, pada tahap ini dilakukan analisis tentang pengenalan
penyakit kulit berdasarkan tekstur kulit, analisis tentang solusi yang akan
dicapai dari penelitian ini, analisis tentang metode yang akan digunakan yaitu
run length dan jaringan saraf tiruan hopfield dan analisis kebutuhan
fungsional dan non-fungsional.
b. Quick Modelling, adalah proses menterjemahkan kebutuhan proses yang
terlibat dalam mengenali penyakit kulit beserta pengklasifikaiannya ke dalam
sebuah representasi software yang dapat diperkirakan demi kualitas sebelum
dimulai pemunculan dan melakukan perancangan antarmuka beserta pesan
yang akan tampil dalam sistem yang akan dibuat.
c. Construction, adalah tahap menterjemahkan data yang telah dirancang
kedalam bahasa pemrograman tertentu diamana dalam kasus ini
menggunakan bahasa pemrograman C#.
d. Deployment, adalah proses pengujian terhadap metode run length dan metode
jaringan saraf tiruan hopfield yang telah diterapkan dalam suatu sistem untuk
mengetahui apakah ke-2 metode ini telah terimplementasikan dengan baik
e. Communication, adalah proses yang didalamnya berisi tentang perbaikan
fungsionalitas apabila dirasa masih belum memenuhi kebutuhan.
Gambar 1. 1 Metode Prototype
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan. Sistematika penulisan laporan ini
adalah sebagai berikut :
Bab 1 Pendahuluan
Bab ini menguraikan beberapa sub-bab antara lain menguraikan latar
belakang permasalahan yang meliputi pengenalan penyakit kulit berdasarkan
tekstur kulit, rumusan masalah, menentukan maksud dan tujuan dari pengenalan
penyakit kulit menggunakan metode run length, batasan masalah, metodologi
penelitian, serta sistematika penulisan.
Bab 2 Landasan Teori
Bab ini menguraikan tentang teori-teori pendekatan yang digunakan untuk
menganalisis masalah dan teori yang dipakai dalam mengolah data penelitian
yaitu teori mengenai Pengolahan Citra, teori mengenai Analisis Tekstur, teori
hopfield, teori mengenai pemrograman Berorientasi object, teori mengenai bahasa
C#, teori mengenai Visual studio.net dan teori mengenai Microsoft Visio.
Bab 3 Analisis dan Perancangan Algoritma
Bab ini memaparkan penjelasan mengenai analisis sistem seperti analisis
masalah, analisis non fungsional (hardware, software, dan brainware), analisis
data,analisis algoritma, kebutuhan fungsional serta perancangan sistem seperti
perancangan antarmuka, perancangan pesan dan jaringan semantik.
Bab 4 Implementasi dan Pengujian
Bab ini berisi tentang pengujian akurasi metode run length dan metode
jaringan saraf tiruan hopfield pada proses klasifikasi citra dengan menggunakan
program simulasi yang telah dibuat
Bab 5 Kesimpulan dan Saran
Bab ini berisi kesimpulan akhir yang diperoleh dari hasil penulisan laporan
7
LANDASAN TEORI
2.1 Pengolahan Citra (Image Processing)
Untuk melakukan pengenalan suatu objek berdasarkan tekstur yang dimiliki
objek tersebut maka dibutuhkanlah suatu teknik untuk melakukannya, teknik
tersebut adalah teknik pengolahan citra. Pengolahan citra merupakan proses
pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini
mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah
pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua
dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital
juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan
nyata maupun kompleks yang diwakili oleh bit-bit tertentu.
Citra merupakan istilah lain dari gambar yang merupakan komponen
multimedia yang memegang peranan sangat penting sebagai bentuk informasi
visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu
kaya akan informasi. Citra digital adalah citra hasil digitalisasi citra kontinu
(analog). Tujuan dibuatnya citra digital adalah agar citra tersebut dapat diolah
menggunakan komputer atau piranti digital dan memperbaiki kualitas citra agar
mudah diinterpretasi oleh manusia atau mesin (komputer). Teknik-teknik
pengolahan citra mentransformasikan citra menjadi citra lain yang mempunyai
kualitas lebih baik.
2.2 Langkah-Langkah Penting dalam Pengolahan Citra (image
processing)
Dalam pengolahan citra terdapat beberapa langkah penting yang harus
dilakukan. Secara umum, langkah-langkah dalam pengolahan citra dapat di
1. Akuisisi Citra
Akuisisi citra adalah tahap awal untuk mendapatkan citra digital. Tujuan
akuisisi citra adalah untuk menentukan data yang diperlukan dan memilih metode
perekaman citra digital. Tahap ini dimulai dari objek yang akan diambil
gambarnya, persiapan alat-alat, sampai pada pencitraan. Pencitraan adalah
kegiatan transformasi dari citra tampak (foto, lukisan, gambar, patung,
pemandangaan dan lain-lain) menjadi citra digital. Beberapa alat yang dapat
digunakan untuk pencitraan adalah:
a. Video kamera
b. Kamera digital
c. Kamera konvesional dan converter analog to digital
d. Scanner
e. Photo sinar-x atau sinar infra merah 2. Preprocessing
Tahapan ini diperlukan untuk menjamin kelancaran pada proses berikutnya.
Hal-hal penting yang dilakukan pada tingkatan ini diantaranya adalah:
a. Peningkatan kualitas citra (kontras, brightness, dan lain-lain)
b. Menghilangkan noise
c. Perbaikan citra (image restoration)
d. Transformasi (image transformasi)
e. Menentukan bagian citra yang akan diobservasi 3. Segmentasi
Tahapan ini bertujuan untuk mempartisi citra menjadi bagian-bagian pokok
yang mengandung informasi penting. Misalnya, memisahkan objek dari latar
belakang.
4. Representasi dan Deskripsi
Dalam hal ini representasi merupakan suatu proses untuk merepresentasikan
suatu wilayah sebagai suatu daftar titik-titik koordinat dalam kurva yang tertutup,
dengan deskripsi luasan atau perimeternya. Setelah suatu wilayah dapat
direpresentasikan, proses selanjutnya adalah melakukan deskripsi citra dengan
bertujuan untuk memilih informasi kuantitatif dari ciri yang ada, yang dapat
membedakan kelas-kelas objek secara baik, sedangkan ekstraksi ciri bertujuan
untuk mengukur besaran kuantitatif ciri setiap piksel, misalnya rata-rata, standar
deviasi, koefisien variasi, signal to nois ratio (SNR), dan lain-lain.
5. Pengenalan dan interpretasi
Tahap pengenalan bertujuan untuk memberi label pada suatu objek yang
informasinya disediakan oleh descriptor, sedangkan tahap interpretasi bertujuan
untuk memberi arti atau makna kepada kelompok objek-objek yang dikenali.
6. Basis pengetahuan
Basis pengetahuan sebagai basis data pengetahuan berguna untuk memandu
operasi dari masing-masing modul proses dan mengkontrol interaksi antara
modul-modul tersebut. Selain itu, basis pengetahuan juga digunakan sebagai
referensi pada proses template matching atau pada pengenalan pola.
2.3 Elemen Citra
Dalam pengolahan citra objek yang digunakan adalah sebuah citra dari
sebuah objek tertentu yang mana citra tersebut mengandung sejumlah elemen
dasar. Elemen dasar tersebut di manipulasi dalam pengolahan citra, elemen
tersebut adalah[5]:
1. Warna
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna
mempunyai panjang gelombang. Warna yang diterima oleh mata merupakan hasil
kombinasi cahaya dengan panjang gelombang berbeda. Kombinasi warna yang
memberikan rentang warna yang paling lebar adalah red (R), green (G), blue (B)
2. Kecerahan (brightness)
Kecerahan disebut juga intensitas cahaya. Kecerahan pada sebuah piksel
(titik) didalam citra bukanlah intensitas yang rell, tetapi sebenarnya adalah
3. Kontras (contrast)
Kontras menyatakan sebaran terang dan gelap di dalam sebuah gambar. Citra
dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah
terang atau sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi
gelap dan terang tersebar secara merata.
4. Kontur (contour)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada
piksel yang bertetangga. Karena adanya perubahan intensitas, mata manusia dapat
mendeteksi tepi objek didalam citra.
5. Bentuk (shape)
Bentuk adalah properti intrinsik dari objek tiga dimensi, dengan pengertian
bahwa shape merupakan properti intrinsik utama untuk sistem visual manusia.
Pada umumnya citra yang dibentuk oleh mata merupakan citra dwimatra (dua
dimensi), sedangkan objek yang dilihat umumnya berbentuk trimatra (tiga
dimensi). Informasi bentuk objek dapat diekstraksi dari citra pada permulaan
pra-pengolahan dan segmentasi citra.
6. Tekstur (texture)
Tekstur diartikan sebagai distribusi spasial dari derajat keabuan di dalam
sekumpulan piksel-piksel yang bertetangga. Jadi tekstur tidak dapat didefinisikan
untuk sebuah piksel. Sistem visual manusia menerima informasi citra sebagai
suatu kesatuan. Resolusi citra yang diamati ditentukan oleh skala dimana tekstur
tersebut dipersepsi.
7. Waktu dan Pergerakan
Respon suatu sistem visual tidak hanya berlaku pada faktor ruang, tetapi juga
pada faktor waktu. Sebagai contoh, bila citra diam ditampilkan secara cepat, akan
berkesan melihat citra yang bergerak.
8. Deteksi dan Pengenalan
Dalam mendeteksi dan mengenali suatu citra, ternyata tidak hanya sistem
visual manusia saja yang bekerja, tetapi juga ikut melibatkan ingatan dan daya
2.4 Citra Analog dan Citra Digital
Secara umum terdapat 2 jenis citra yaiu citra analog dan citra digital. Citra
analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi,
foto sinar-X, foto yang tercetak dikertas foto, lukisan, pemandangan, hasil CT
scan, gambar-gambar yang terekam pada pita kaset, dan lain-lain sebagainya[4].
Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak
dapat diproses dikomputer secara langsung. Oleh sebab itu, agar citra ini dapat
diproses dikomputer, proses konversi analog ke digital harus dilakukan terlebih
dahulu. Citra analog dihasilkan dari alat-alat analog, video kamera analog, kamera
foto analog, Web Cam, CT scan, sensor ultrasound pada system USG, dan
lain-lain[4] .
Citra Digital adalah citra yang dapat diolah oleh komputer dan citra digital
yaitu gambar pada bidang dua dimensi. Dalam tinjauan matematis, citra
merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Ketika
sumber cahaya menerangi objek, objek memantulkan kembali sebagian cahaya
tersebut. Pantulan ini ditangkap oleh alat-alat pengindera optik, misalnya mata
manusia, kamera, scanner dan sebagainya. Bayangan objek tersebut akan terekam
sesuai intensitas pantulan cahaya. Ketika alat optik yang merekam pantulan
cahaya itu merupakan mesin digital, misalnya kamera digital, maka citra yang
dihasilkan merupakan citra digital. Pada citra digital, kontinuitas intensitas cahaya
dikuantisasi sesuai resolusi alat perekam[4].
2.5 Tekstur
Dalam pengolahan citra terdapat berbagai teknik pengenalan suatu citra yang
salah satunya adalah pengenalan citra berdasarkan analisis tekstur. Analisis
tekstur memegang peranan penting dalam pengolahan citra digital karena analisis
tekstur dikembangkan dengan tujuan agar komputer dapat memahami, membuat
model, serta memproses tekstur untuk dapat menirukan proses pembelajaran mata
atau penglihatan manusia. Tekstur dapat dianggap sebagai pengelompokan
kesamaan didalam suatu citra. Sifat sifat subpola tersebut menimbulkan cahaya
frekuensi, fase, keterarahan, ketidakteraturan, kehalusan, dan lain-lain. Karena
komputer tidak memiliki indra penglihatan, maka komputer hanya mengetahui
pola suatu citra digital dari ciri atau karakteristik teksturnya[5].
Secara umum tekstur mengacu pada repetisi elemen-elemen tekstur dasar
yang sering disebut primitif atau texel (texture element). Suatu texel terdiri dari
beberapa pixel dengan aturan posisi bersifat periodik, kuasiperiodik, atau acak.
Syarat-syarat terbentuknya tekstur setidaknya ada dua, yaitu:
1. Adanya pola-pola primitif yang terdiri dari satu atau lebih pixel.
Bentuk-bentuk pola primitif ini dapat berupa titik, garis lurus, garis lengkung, luasan
dan lain-lain yang merupakan elemen dasar dari sebuah bentuk.
2. Pola-pola primitif tadi muncul berulang-ulang dengan interval jarak dan arah
tertentu sehingga dapat diprediksi atau ditemukan karakteristik
pengulangannya.
Pada analisis citra, pengukuran tekstur dikategorikan menjadi tiga kategori
utama yaitu : statistik, struktural, dan pengolahan sinyal.
1. Metode statistik mempertimbangkan bahwa intensitas dibangkitkan oleh
medan acak dua dimensi, metode ini berdasar pada frekuensi-frekuensi ruang.
Contoh metode statistis adalah fungsi autokorelasi, matriks ko-okurensi,
transformasi Fourier, frekuensi tepi, run-length.
2. Metode struktural berkaitan dengan penyusunan bagian-bagian terkecil suatu
citra. Contoh metode struktural adalah model fraktal.
3. Metode pengolahan sinyal adalah metode yang berdasarkan analisis frekuensi
seperti transformasi Gabor dan transformasi wavelet
2.6 Metode Run-Length
Seperti yang telah dijelaskan diatas bahwa metode run length merupakan
salah satu metode yang dapat digunakan dalam analisis tekstur. Metode run-length
menggunakan distribusi suatu pixel dengan intensitas yang sama secara berurutan
dalam satu arah tertentu sebagai primitifnya. Masing – masing primitif
didefinisikan atas panjang, arah, dan level keabuan. Panjang dari primitif tekstur
Analisis metode run-length ini digunakan untuk membedakan citra halus dan
citra kasar. Tekstur kasar menunjukan banyaknya pixel tetangga yang memiliki
intensitas yang sama sedangkan tekstur halus menunjukan sedikit pixel tetangga
yang menunjukan intensitas yang sama[2].
Untuk melakukan ekstraksi ciri dengan menggunakan metode run-length,
citra aras keabuan dengan matriks f(x,y)harus ditransformasikan terlebih dahulu
kedalam matriks Grey Level Run-Length (GLRL), B(a,r).
F(x,y) GLRL B(a,r) (2.1)
Elemen matriks dari GLRL B(a,r) menghitung banyaknya primitif (run) dengan
panjang r dan level keabuan a. Jumlah dari primitif (run) dapat diperoleh dengan
persamaan berikut[2]:
(2.2)
Dengan: L : Banyaknya level keabuan citra
Nr : Panjang maksimal dari primitif
K : Jumlah run
M,N : Dimensi citra
a :level keabuan
r :panjang run
Adapun ciri dari tekstur dapat diperoleh dari persamaan – persamaan berikut
ini[2] :
1. Short Run Emphasis (SRE)
SRE mengukur distribusi short run. SRE sangat tergantung pada banyaknya
short run dan diharapkan bernilai besar pada tekstur halus.
(2.3)
LRE mengukur distribusi long run. LRE sangat bergantung pada banyaknya
long run da diharapkan bernilai besar pada tekstur kasar.
(2.4)
3. Grey Level Uniformity (GLU)
GLU mengukur persamaan nilai derajat keabuan seluruh citra dan diharapkan
bernilai kecil jika nilai derajat keabuan serupa diseluruh citra.
(2.5)
4. Run Length Uniformity (RLU)
RLU mengukur persamaan panjangnya run diseluruh citra dan diharapkan
bernilai kecil jika panjangnya run serupa diseluruh citra.
(2.6)
5. Run Percentage (RPC)
RPC mengukur keserbasaman dan distribusi run dari sebuah citra pada arah
tertentu. RPC bernilai paling besar jika panjangnya run adalah 1 untuk semua
derajat keabuan pada arah tertentu.
(2.7)
2.7 Jaringan Saraf Tiruan (JST)
Jaringan saraf tiruan adalah salah satu representasi buatan dari otak manusia
yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak
manusia. Istilah buatan ini diimplementasikan dengan menggunakan program
komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses
Otak manusia berisi berjuta-juta sel saraf yang bertugas untuk memproses
informasi. Setiap sel saraf (neuron) akan memiliki satu ini sel, inti sel ini yang
akan bertugas untuk melakukan pemrosesan informasi.
2.7.1 Komponen dan Arsitektur
Pembuatan struktur jaringan saraf tiruan diilhami oleh struktur jaringan
biologi, khususnya jaringan otak manusia.
Jaringan saraf terdiri dari beberapa komponen berikut [10] :
1. Neuron, sel saraf yang akan mentrsnformasikan informasi yang diterima
melalui sambungan keluarnya menuju neuron-neuron lain.
2. Hubungan antar neuron dikenal dengan nama bobot.
3. Neuron layers, neuron-neuron aka dikumpulkan dalam lapisan-lapisan
(layer).
4. Informasi yang diberikan pada jaringan saraf akan dirambatkan dari
lapisan ke lapisan, mulai dari lapisan input sampai lapisan output melalui
lapisan lainnya, tergantung pada algoritma pembelajarannya, bisa jadi
informasi tersebut akan dirambatkan secara mundur pada jaringan.
Gambar 2. 1 Model Tiruan Sebuah Neuron
Berdasarkan Gambar 2.1 faktor terpenting untuk menentukan kelakuan suatu
neuron adalah fungsi aktivasi dan pola bobotnya. Ada beberapa arsitektur jaringan
saraf, antara lain :
1. Jaringan dengan lapisan tunggal (single layer net)
Seperti yang terdapat dalam Gambar 2.2 berikut adalah ciri dari jaringan
a. Memiliki satu lapisan dengan bobot terhubung
b. Menerima input kamudian langsung mengolahnya menjadi output
tanpa harus melewati lapisan tersembunyi.
Gambar 2. 2 Model Single Layer
2. Jaringan dengan banyak lapisan (multi layer net)
Dibawah ini merupakan keterangan dari Gambar 2.3 yang menjelaskan
tentang ciri dari jaringan multilayer.
a. Memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan
lapisan output.
b. Ada lapisan yang berbobot yang terletak antara 2 lapisan yang
2.7.2 Fungsi Aktivasi
Mengaktifkan saraf tiruan berarti mengaktifkan setiap neuron yang dipakai
pada jaringan tersebut. Banyak fungsi yang dipakai sebagai pengaktif, diantaranya
[8] :
1. Fungsi Undak Biner (Hard Limit)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak
untuk mengkonversi input dari suatu variabel yang bernilai kontinu ke
suatu output biner. Fungsi hard limit dirumuskan
{ (2.8)
2. Fungsi Undak Biner (Threshold)
Fungsi ini sering disebut fungsi nilai ambang atau fungsi headviside,
dirumuskan :
3. Fungsi Bipolar
Hampir sama dengan undak biner, hanya output yang dihasilkan
berupa 1,0 atau -1. Fungsi ini dirumuskan :
{
(2.10)
4. Fungsi Bipolar (Dengan Threshold)
Fungsi yang menghasilkan output berupa 1,0 atau -1
{ (2.11)
5. Fungsi Linear (Identitas)
Fungsi linear memilki nilai output yang sama dengan nilai input,
dirumuskan :
(2.12)
6. Fungsi Sturating Linear
Fungsi ini dirumuskan :
{
(2.13)
7. Fungsi Symetric Saturating Linear
Fungsi ini dirumuskan :
{
(2.14)
8. Fungsi Sigmoid Biner
Digunakan untuk jaringan saraf yang dilatih dengan menggunakan
metode backpropagation. Fungsi ini dirumuskan :
9. Fungsi Sigmoid Bipolar
Output dari fungsi ini memiliki range antara 1 sampai -1. Fungsi ini
dirumuskan :
(2.16)
2.7.3 Proses Pembelajaran
Metode pembelajaran terdiri dari beberapa metode [10] :
1. Metode Pelatihan Terbimbing
Metode pembelajaran pada jaringan saraf disebut terawasi jika output yang
diharapkan telah diketahui sebelumnya. Metode ini memasukan target
keluaran alam data untuk proses pelatihan. Beberapa metode terbimbing
diantaranya : Jaringan Single Perceptron, Hebb Rule, Delat Rule,
Backpropagation, Hetroassociative Memory, Bidirectional Associative
Memory dan Learning Vector Quantization.
2. Metode Pelatihan Tak Terbimbing
Metode pelatihan tak terbimbing adalah pelatihan tanpa memerlukan target
pada keluarannya. Proses pelatihan berdasarkan proses transformasi dari
bentuk variabel kontinyu menjadi variabel diskrit yang dikenal dengan
kuantisasi vektor. Jaringan yang digunakan untuk proses pelatihan tak
terbimbing ini adalah jaringan umpan balik (feedback network). Beberapa
metode tak terbimbing adalah : Metode Kohonen/Self-Organizing Map
(SOM) dan Metode Hopfield.
2.8 Metode Hopfield
Pada tahun 1982, John Hopfield dari California Institute of Technology
merancang sebuah jaringan saraf tiruan yang kemudian dikenal dengan nama
jaringan hopfield. Dalam jaringan hopfield, semua neuron saling berhubungan
penuh. Neuron yang satu mengeluarkan output dan kemudian menjadi input bagi
semua neuron yang lain. Proses pengiriman dan penerimaan sinyal antar neuron
JST Hopfield merupakan salah satu metode optimasi untuk pencarian nilai
minimum dari kombinasi fungsi objektif. Pada gambar 2.4 semua neuron saling
berhubungan penuh. Neuron yang satu mengeluarkan output dan kemudian
menjadi input bagi neuron yang lain ouptut dari setiap simpul diumpanbalikan ke
input dari simpul lainnya melalui bobot koneksi yang tetap. Nilai
mula-mula diinisialisasikan menggunakan rumus yang diberikan hopfield untuk
seluruh pola-pola contoh [4].
Gambar 2.4 menunjukan sebuah jaringan jaringan hopfield dengan neuron
yang terhubung satu sama lain. Apabila dalam pengolahan citra angka 1,2 dan 3
mewakili kelas, untuk x adalah inputan sedangkan y adalah output dan w adalah
bobot. Berikut bobot-bobot tersebut digambarkan sebagai vektor W:
Bobot yang terletak pada diagonalnya adalah nol yang menunjukan bahwa
neuron-neuron pada jaringan hopfield tidak memiliki hubungan dengan dirinya Gambar 2. 4 Topologi
sendiri[8]. Sedangkan untuk menghitung jarak terdekat adalah dengan rumus
seperti berikut :
d( )=√ (2.17)
d= selisih jarak
a,b= titik 1
c,d= titik 2
Dimana dalam kasus pengolahahn citra a dan b mewakili nilai aktivasi dari data
latih sedangkan c dan d mewakili nilai aktivasi dari citra uji. Maksud dari rumus
diatas adalah rumus untuk mencari jarak terdekat yang berarti semakin kecil
selisih antara nilai aktivasi dari dataset dengan citra uji semakin mirip juga citra
uji tersebut dengan dataset. Sebaliknya semakin besar selisih antara nilai aktivasi
dataset dan citra uji semakin berbeda juga citra uji dengan dataset yang ada.
2.8.1 Jaringan Hopfield Kontinu
Jaringan hopfield kontinu merupakan pengembangan dari metode jaringan
hopfield. Cara kerja dari metode jaringan hopfield kontinu ini meyerupai jaringan
hopfield diskrit tetapi metode ini memiliki kemampuan lebih karena tidak dibatasi
pada nilai biner (0 dan 1) sehingga nilai input dan output yang diharapkan pada
jaringan tidak hanya biner tetapi juga bilangan riil[7].
Dalam jaringan hopfield kontinu, arsitektur dari jaringan ditentukan sehingga
perubahan setiap neuron-neuronnya digambarkan secara kontinu. Arsitektur dan
topologi yang digunakan dalam penelitian ini adalah sama dengan topologi dan
arsitektur jaringan saraf tiruan hopfield diskrit seperti pada gambar 2.4, namun
yang membedakan adalah nilai bobot yang dimilikinya yaitu pada jaringan saraf
tiruan hopfield diskrit hanya ada nilai bineer sedangkan yang digunakan adalah
bilangan riil antara 0 sampai 1.
2.9 OOP (Object Oriented Programming)
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
melaluipendekatan objek secara sistematis. Metode berorientasi objek didasarkan
pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi
onjek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan
berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi
objek[12].
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi
lama banyak menimbulkan masalah seperti adanya kesulitan pada saat
mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya,
misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan
saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat
beragam (aplikasi bisnis, real-time, utility, dan sebagainya) dengan platform yang
berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi
pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Keuntungan menggunakan metodologi berorientasi objek adalah sebagai
berikut[12]:
a. Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalahmasih
dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut
(reusable).
b. Kecepatan pengembangan
Karena sistem yang dibangun dengan baik dan benar pada saat analisis
dan perancangan akan menyebabkan berkurangnya kesalahan pada saat
pengkodean.
c. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil
dapat dipisahkan dan pola-pola yang mungkin sering diubah0ubah.
d. Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat
analisis, perancangan maupun pengkodean.
Karena adanya pendekatan pengembangan lebih dekat dengan dunia
nyata dan adanya konsistensi pada saat pengambangannya, perangkat lunak
yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai
sedikit kesalahan.
Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman
berorientasi objek [12]:
a. Smalltalk
Smalltalk merupakan salah satu bahasa pemrograman yang
dikembangkan untuk mendukung pemrograman berorientasi objek.
b. Bahasa Pemrograman Eiffel
Eiffel merupakan bahasa pemrograman yang dikembangkan untuk
mendukung pemrograman berorientasi objek mulai tahun 1985 oleh Bertrand
Meyer dan compiler Eiffel selesai pada tahun 1987.
c. Bahasa Pemrograman C++
C++ merupakan pengembangan lebih lanjut bahasa pemrograman C
untuk mendukung pemrograman berorientasi objek.
d. Bahasa Pemrograman (web) PHP
PHP dibuat pertama kali oleh seorang perekayasa perangkat (software
engineering) yang bernama Rasmus Lerdoff.
e. Bahasa Pemrograman Java
Java dikembangkan oleh perusahaan Sun Microsystem. Java menurut
definisi dari Sun Microsystem adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada komputer standalone
ataupun pada lingkungan jaringan.
2.10 UML (Unified Modeling Language)
Unified Modelling Language (UML) adalah sekumpulan spesifikasi yang
dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam
spesifikasi, yaitu Diagram Interchange Specification, UML, Infrastructure, UML
Superstructure, dan Object Constraint Language (OCL). Pada UML 2.3 terdiri 13
A. Structure Diagram, yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
1. Diagram Kelas
Diagram kelas menggambarkan struktur sistem dari segi pendefinisian
kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa
yang disebut attribut dan metode atau operasi.
2. Diagram Objek
Diagram objek menggambarkan struktur sistem dari segi penamaan objek
dan jalannya objek dalam sistem.
3. Diagram Komponen
Diagram komponen dibuat untuk menunjukan organisasi dan
ketergantungan diantara kumpulan komponen dalam sebuah sistem.
4. Composite Structure Diagram
Composite structure diagram baru mulai ada pada UML versi 2.0.
Diagram ini dapat digunakan untuk menggambarkan struktur dari
bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat
berjalan (runtime).
5. PackageDiagram
Package diagram menyediakan cara mengumpulkan elemen-elemen yang
saling terkait dalam diagram UML. Hampir semua diagram dalam UML
dapat dikelompokkan menggunakan package diagram.
6. DeploymentDiagram
Deployment menunjukan konfigurasi komponen dalam proses eksekusi
aplikasi.
B. Behavior Diagram, yaitu kumpulan diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada
sebuah sistem.
1. Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakuan (behavior)
interaksi antara satu atau lebih aktor dengan sistem informasi yang akan
dibuat.
2. Activity Diagram
Activity diagram menggambarkan workflow atau aktivitas dari sebuah
sistem atau proses bisnis atau menu yang ada pada perangkat lunak.
3. State Machine Diagram
State machine diagram digunakan untuk menggambarkan perubahan
status atau transisi status dari sebuah mesin atau sistem atau objek.
C. Interactions Diagram, yaitu kumpulan diagram yang digunakan untuk
menggambarkan interaksi antar subsistem pada suatu sistem.
1. Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
diterima antar objek.
2. Communication Diagram
Communication Diagram menggambarkan interaksi antar objek/bagian
dalam bentuk urutan pengiriman pesan. Diagram komunikasi
merepresentasikan informasi yang diperoleh dari diagram kelas, diagram
sekuen, dan diagram use case untuk mendeskripsikan gabungan antara
struktur statis dan tingkah laku dinamis dari suatu sistem.
3. Timing Diagram
Timing diagram merupakan diagram yang fokus pada penggambaran
terkait batasan waktu.
4. Interaction Overview Diagram
Interaction overview diagram mirip dengan diagram aktivitas yang
berfungsi untuk menggambarkan sekumpulan urutan aktivitas, diagram ini
adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram
2.11 Bahasa C#
C# (tanda „#’ dibaca “Sharp”) merupakan bahasa pemograman baru yang diciptakan Microsoft seacra khusus sebagai salah satu bahasa pemrograman dalam
teknologi .Net sebagai bahasa baru, C# tidak berevolusi dari bahasa C# versi
bukan teknologi .Net. dengan demikian C# dapat memaksimalkan kemampuannya
tanpa khawatir dengan masalah kompatibilitas dengan versi-versi sebelumnya.
Keharusan sebuah perangkat lunak untuk tetap dapat kompatibel dengan
versi-versi sebelumnya sebagaimana yang terjadi pada Visual Basic (VB) maupun
C++biasanya menghambat optimalitas kemampuan dari perangkat lunak
tersebut[12].
Sejak diluncurkan pada tahun 2000, C# dengan cepat merebut hati
progammer C++ bahkan VB. Dengan tata cara penulisan yang mirip C++ dan
interface mirip VB 6.0 menurut wikipedia, sebuah ensiklopedia gratis di internet
pengguna C# .Net pada saat ini sudah melebihi pengguna VB.Net. sementara itu
jumlah pengguna bahasa pemrograman lain masih berada dibawah jumlah
pengguna VB .Net. masih menurut wikipedia, jumlah buku C# yang terjual pun
berada dikisaran 2 hingga 3 kali lebih banyak dari jumlah buku VB yang terjual.
Dari informasi ini dapat disimpulkan bahwa C# merupakan bahasa pemrogrman
baru yang sedang berkembang dan dapat diterima dengan baik oleh kebanyakan
progammer dan kalangan industri. Di Microsoft sendiri, C# merupakan bahasa
pemrograman yang digunakan untuk membuat perangkat lunak yang
bertteknologi .Net dengan demikian dapat diperkirakan bahwa C# akan menjadi
83
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil penelitian, analisis pengolahan citra, pelatihan dan pengujian
metode run length dan jaringan saraf tiruan hopfield untuk klasifikasi citra
berdasarkan tekstur ini, didapatkan kesimpulan yaitu Metode run length dan
metode jaringan saraf tiruan hopfield dapat digunakan dalam mengenali beberapa
penyakit kulit manusia. Adapun rata rata akurasi terkecil adalah 84% ketika nilai k
yang dipilih adalah 4 dan yang tertinggi adalah 96% rata-rata ini berlaku untuk
citra 32x32 sedangkan untuk citra 64x64 dan 128x128 masing-masing nilai
tertinggi dan terendahnya adalah 86% dan 96%.
5.2 Saran
Dari hasil penelitian, analisis, pengolahan citra, pelatihan dan pengujian
terdapat saran-saran yang mungkin akan bermanfaat jika ada yang akan
melakukan penelitian yang sejenis, yaitu memastikan validasi dari citra masukan
sudah sesuai dengan citra tujuan penelititan dimana dalam penelitian ini adalah
Nama : Tegar Sembada
TTL : Bandung, 10 Mei 1992
Alamat : Jl. Tanjung 3 No.29 RT.02 RW.11 Perumahan
Bumi Rancaekek Kencana Kel. Rancaekek Kencana Kec.Rancaekek
Bandung, Jawa Barat
No. Handphone : 085317745949
Email : tegar_gila@yahoo.co.id
RIWAYAT PEDIDIKAN
1998-2004 : SDN Kencana Indah 1 Rancaekek
2004-2007 : SMP Al-Ma’soem
2007-2010 : SMA Al-Ma’soem
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
IMPLEMENTASI METODE RUN LENGTH DAN JARINGAN SARAF
TIRUAN HOPFIELD UNTUK KLASIFIKASI PENYAKIT KULIT
BERDASARKAN TEKSTUR KULIT
Tegar Sembada11
Teknik Informatika – Univesitas Komputer Indonesia Jl. Dipatiukur 112 - 114 Bandung
E-mail : tegar_gila@yahoo.co.id1
ABSTRAK
Pengenalan tekstur merupakan salah satu teknik yang dapat dilakukan dalam melakukan proses pengolahan citra. Selain pengenalan tekstur dalam proses pengolahan citra dibutuhkan juga proses klasifikasi agar hasil yang didapat lebih optimal. Pengenalan tekstur dapat digunakan untuk melakukan pengenalan penyakit kulit, karena pada dasarnya penyakit kulit dapat dikenali dari beberapa aspek diantaranya adalah berdasarkan pola dan teksturnya
Metode untuk memperoleh ciri-ciri citra tekstur adalah dengan menghitung matriks run length dari data citra, ciri-ciri yang digunakan untuk klasifikasi citra pada penelitian ini menggunakan Short Run
Emphasis(SRE), Long Run Emphasis(RLE), Grey
Level Uniformity(GLU), Run Length
Uniformity(GLU) dan Run Percenttage(RPC). Hasil ciri-ciri tersebut kemudian digunakan untuk klasifikasi dengan menggunakan jaringan saraf tiruan hopfield yang menentukan hasil klasifikasi berdasarkan tekstur.
Kata kunci : Hopfield, Jaringan Saraf Tiruan, Klasifikasi, Run Length, Tekstur.
1. PENDAHULUAN
Pengenalan tekstur merupakan salah satu teknik yang dapat digunakan dalam pengenalan citra. Selain pengenalan tekstur dalam proses pengenalan citra juga dibutuhkan proses pengklasifikasian agar pengenalan yang dihasilkan memiliki hasil yang baik. Berdasarkan penelitian sebelumnya proses pengenalan citra dapat dilakukan untuk mendeteksi penyakit kulit. Pada dasarnya penyakit kulit dapat dikenali berdasarkan beberapa aspek diantaranya adalah pola dan teksturnya.
Metode yang dapat digunakan untuk pengenalan tekstur salah satunya adalah metode run length. Metode ini membedakan tekstur kasar dan tekstur halus, karena metode ini memperoleh ciri dari suatu citra dengan menggunakan distribusi suatu piksel dengan intensitas yang sama secara berurutan dalam satu arah tertentu sebagai primitifnya.
. Dalam metode jaringan saraf tiruan memiliki banyak jenis salah satunya adalah jaringan saraf tiruan Hopfield. Metode ini merupakan salah satu
metode optimasi untuk pencarian nilai minimum dari kombinasi objektif, dan setiap neuronya berhubungan secara penuh yang memungkinkan untuk mendapat hasil lebih optimal daripada metode yang lain.
1.1 Pengolahan Citra
Untuk melakukan pengenalan suatu objek berdasarkan tekstur yang dimiliki objek tersebut maka dibutuhkanlah suatu teknik untuk melakukannya, teknik tersebut adalah teknik pengolahan citra. Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi.
1.2 Elemen Citra
Dalam pengolahan citra objek yang digunakan adalah sebuah citra dari sebuah objek tertentu yang mana citra tersebut mengandung sejumlah elemen dasar. Elemen dasar tersebut di manipulasi dalam pengolahan citra, elemen tersebut adalah warna, kecerahan, kontras, kontur, bentuk, tekstur, waktu dan pergerakan dan deteksi dan pengenalan.
1.3 Tekstur
Dalam pengolahan citra terdapat berbagai teknik pengenalan suatu citra yang salah satunya adalah pengenalan citra berdasarkan analisis tekstur. Analisis tekstur memegang peranan penting dalam pengolahan citra digital karena analisis tekstur dikembangkan dengan tujuan agar komputer dapat memahami, membuat model, serta memproses tekstur untuk dapat menirukan proses pembelajaran mata atau penglihatan manusia.
1.4 Metode Run Length
menggunakan metode run-length, citra aras keabuan dengan matriks f(x,y)harus ditransformasikan terlebih dahulu kedalam matriks Grey Level Run-Length (GLRL), B(a,r).
F(x,y) GLRL B(a,r)
Elemen matriks dari GLRL B(a,r) menghitung banyaknya primitif (run) dengan panjang r dan level keabuan a. Jumlah dari primitif (run) dapat diperoleh dengan persamaan berikut:
Dengan: L : Banyaknya level keabuan citra Nr : Panjang maksimal dari primitif persamaan – persamaan berikut ini[2] :
1. Short Run Emphasis (SRE)
SRE mengukur distribusi short run. SRE sangat tergantung pada banyaknya short run dan diharapkan bernilai besar pada tekstur halus.
2. Long Run Emphasis (LRE)
LRE mengukur distribusi long run. LRE sangat bergantung pada banyaknya long run da diharapkan bernilai besar pada tekstur kasar.
3. Grey Level Uniformity (GLU)
GLU mengukur persamaan nilai derajat keabuan seluruh citra dan diharapkan bernilai kecil jika nilai derajat keabuan serupa diseluruh citra.
4. Run Length Uniformity (RLU)
RLU mengukur persamaan panjangnya run diseluruh citra dan diharapkan bernilai kecil jika panjangnya run serupa diseluruh citra.
5. Run Percentage (RPC)
RPC mengukur keserbasaman dan distribusi run dari sebuah citra pada arah tertentu. RPC bernilai paling besar jika panjangnya run adalah 1 untuk semua derajat keabuan pada arah tertentu.
1.5 Jaringan Saraf Tiruan
Jaringan saraf tiruan adalah salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran (Kristanto A, 2004).
Otak manusia berisi berjuta-juta sel saraf yang bertugas untuk memproses informasi. Setiap sel saraf (neuron) akan memiliki satu ini sel, inti sel ini yang akan bertugas untuk melakukan pemrosesan informasi.
1.6 Arsitektur Jaringan
1. Jaringan dengan lapisan tunggal (single layer net) a. Memiliki satu lapisan dengan bobot
terhubung
b. Menerima input kamudian langsung mengolahnya menjadi output tanpa harus melewati lapisan tersembunyi.
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
2. Jaringan dengan banyak lapisan (multi layer net) a. Memiliki 1 atau lebih lapisan yang terletak
diantara lapisan input dan lapisan output. b. Ada lapisan yang berbobot yang terletak
antara 2 lapisan yang bersebelahan.
Gambar 2. Model Multi Layer
3. Jaringan dengan lapisan kompetitif (Competitive layer net)
a. Hubungan antar neuron pada lapisan kompetitif tidak diperlihatkan pada diagram arsitektur
Gambar 3. Model Competitive Layer
1.7 Proses Pembelajaran
Metode pembelajaran terdiri dari beberapa metode (Muis S, 2006) :
1. Metode Pelatihan Terbimbing
Metode pembelajaran pada jaringan saraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Metode ini memasukan target keluaran alam data untuk proses pelatihan. Beberapa metode terbimbing diantaranya : Jaringan Single Perceptron, Hebb Rule, Delat Rule, Backpropagation, Hetroassociative Memory, Bidirectional Associative Memory dan Learning Vector Quantization. 2. Metode Pelatihan Tak Terbimbing
Metode pelatihan tak terbimbing adalah pelatihan tanpa memerlukan target pada keluarannya. Proses pelatihan berdasarkan proses transformasi dari bentuk variabel kontinyu menjadi variabel diskrit yang dikenal dengan kuantisasi vektor. Jaringan yang digunakan untuk proses pelatihan tak terbimbing ini adalah jaringan umpan balik
(feedback network). Beberapa metode tak terbimbing adalah : Metode Kohonen/Self-Organizing Map (SOM) dan Metode Hopfield.
1.8 Metode Hopfield
Pada tahun 1982, John Hopfield dari California Institute of Technology merancang sebuah jaringan saraf tiruan yang kemudian dikenal dengan nama jaringan hopfield. Dalam jaringan hopfield, semua neuron saling berhubungan penuh. Neuron yang satu mengeluarkan output dan kemudian menjadi input bagi semua neuron yang lain. Proses pengiriman dan penerimaan sinyal antar neuron ini secara feedback tertutup dan terus menerus sampai dicapai kondisi stabil (Kristanto A, 2004).
Dalam model diskritnya, jaringan hopfield bobot sinaptiknya menggunakan vektor biner dimensi n. Model semacam ini berisi n neuron dan jaringannya terdiri dari n(n-1) interkoneksi dua jalur. Cara pemahaman paling mudah JST Hopfield berdasarkan konsep di atas dapat disajikan dalam gambaran umumnya adalah sebagai berikut :
Bila ada sebuah JST yang terbentuk dari N X N neuron dimana N adalah jumlah variabel dari objek yang akan dioptimasi. Setiap neuron terhubung penuh satu sama lainnya. Ilustrasi pernyataan tersebut adalah sebagai berikut :
Gambar 4. Layout dari JST Hopfield
Gambar 5. Topologi JST Hopfield
ada beberapa versi dari algortima jaringan Hopfield. Untuk deskripsi dari algoritma Hopfield menggunakan input vektor yang berupa angka biner. Untuk menyimpan sekumpulan pola biner digunakan notasi s(p), p=1 ,..., P,
dimana:
untuk i|=j dan Wij=0
sedangkan versi dari deskripsi algortima Hopfiled lainnya menggunakan vektor input yang berupa angka bipolar. Untuk menyimpan sekumpulan pola bipolar digunakan notasi s(p),p=1,...,p, dimana :
Jaringan saraf tiruan hopfield merupakan salah satu Algoritma Machine Learning yang dapat mengklasifikasikan suatu objek citra berdasarkan pelatihan yang diberikan. Proses klasifikasi akan dilakukan setelah citra di ekstrasi terlebih dahulu untuk mendapatkan ciri utama dari citra tersebut. Metode yang dipakai sebagai proses ekstraksi adalah metode Run Length. Metode run-length menggunakan distribusi suatu pixel dengan intensitas yang sama secara berurutan dalam satu arah tertentu sebagai primitifnya. Masing – masing primitif didefinisikan atas panjang, arah, dan level keabuan. Dengan 5 ciri tekstur atau parameter yang didapat dari metode Run Length yakni Short Run Emphasis (SRE), Long Run Emphasis (LRE), Grey Level Uniformity (GLU), Run Length Uniformity (RLU) dan Run Percentage (RPC) sudah dapat mengenali tekstur citra hasil ekstraksi ciri tersebut kemudian akan digunakan sebagai nilai masukan untuk menentukan hasil klasifikasi citra berdasarkan teksturnya.
Citra tekstur penyakit kulit dapat di klasifikasikan berdasarkan informasi yang terdapat
lebih lanjut untuk menangani penyakit kulit tersebut. Dengan mengenali tekstur dari sebuah citra benda adalah salah satu cara yang dapat digunakan untuk mengenali,mengindetifikasi dan mengklasifikasikan citra tersebut.
2.2 Analisis Proses
Pada analisis proses ini akan menjelaskan sub proses yang dimiliki oleh analisis sistem yang akan dibangun. Dapat dilihat pada gambar 8.
Masukan citra
Gambar 6. Alur analisis proses
Dalam penerapan metode run length untuk melakukan pengolahan citra terbagi menjadi 3 langkah yaitu analisis run length, pelatihan hopfield dan pengujian hopfield. Ketiga langkah tesebut merupakan langkah-langkah pokok yang dilakukan dalam proses penerapan metode run length dan JST hopfield untuk pengenalan suatu citra. Pada langkah analisis run length, akan dilakukan ekstraksi fitur dari suatu citra yang kemudian fitur tersebut akan dijadikan sebagai nilai inputan dalam langkah selanjutnya yaitu pelatihan dan pengujian hopfield. Berdasarkan gambar 3.1 dijelaskan bahwa sistem yang akan dibangun adalah sistem pengolahan citra dimana didalamnya terdapat sub bab berikut:
2.2.1 Analisis Run Length
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
Berikut adalah alur proses dari analisis run length : Analisis run
Gambar 7. Alur Proses analisis run length
2.2.2 Pelatihan Hopfield
Tujuan dari proses ini adalah untuk melatih data citra yang kemudian akan dijadikan dataset. Dataset adalah data yang akan digunakan dalam proses pengujian sebagai data pembanding dengan data uji, hal ini diperlukan karena semakin banyak dataset yang ada semakin baik pula hasil klasifikasi yang akan dihasilkan
Gambar 8. Alur proses pelatihan Hopfield
2.2.3 Pengujian hopfield
Pada proses ini data masukan akan dibandingkan dengan dataset yang ada, pertama citra masukan akan dicari fiturnya terlebih dahulu yang kemudian akan dikalikan dengan bobot hopfield untuk mendapatkan nilai aktivasi. Nilai aktivasi inilah yang akan dibandingkan dengan nilai aktivasi yang ada dalam dataset
Gambar 9. Alur Proses Pengujian Hopfield
2.3 Analisis data citra akan di konversi menjadi grayscale hal ini dilakukan untuk menyederhanakan dan memudahkan proses selanjutnya, dengan tujuan menjadikan tiap piksel memiliki satu nilai yaitu nilai keabuan (gray value). Setelah citra di konversi menjadi grayscale akan didapatkan matriks grayscale tersebut, matriks ini akan digunakan sebagai masukan proses ekstraksi citra run length.
mulai dari pengolahan citra, pelatihan dan pengujian. Di pengolahan citra menggunakan metode run length yang menghasilkan ekstraksi ciri dengan bantuan grayscale untuk menjadikan citra memiliki satu nilai tunggal di dalam setiap pikselnya, kemudian di pelatihan menggunakan jaringan saraf tiruan hopfield dan di pengujian menggunkan proses pengolahan citra dan pelatihan sehingga dihasilkan hasil klasifikasi. Adapun kelas dari klasifikasinya adalah eksim kering, eksim basah, mata ikan, bisul, dan jerawat.
2.4 Pengujian Metode
Pengujian algoritma ini bertujuan untuk mengetahui performansi dari metode run length dan jaringan saraf tiruan hopfield untuk klasifikasi citra. Pengujian pada penelitian ini adalah untuk mengukur tingkat keakuratan yang dibutuhkaan untuk proses klasifikasi citra dengan beberapa skenario yang telah dipersiapkan. Proses pengujian menggunakan metode black box untuk mengetahui kinerja fungsionalitas sistem beserta nilai inputan yang dimasukan kedalam sistem. Dalam pengujian ini menggunakan pula metode K-fold dengan bantuan tools Confusion matrix untuk mengetahui tingkat akurasi dari sistem yang dibangun.
Berikut adalah skenario yang direncanakan untuk melakukan pengujian dengan menggunakan metode K-fold:
1. Menguji Pengaruh ukuran citra 32x32, terhadap hasil klasifikasi perbandingan antara data latih, dan data uji.
2. Menguji Pengaruh ukuran citra 64x64, terhadap hasil klasifikasi perbandingan antara data latih, dan data uji.
3. Menguji Pengaruh ukuran citra 128x128, terhadap hasil klasifikasi perbandingan antara data latih, dan data uji.
Dalam menggunakan metode K-fold yang harus dilakukan adalah menentukan nilai K-fold yang akan digunakan, nilai K-fold akan digunakan sebagai banyaknya perbangingan. Misalkan apabila terdapat data sebanyak 40 data dan memiliki 2 buah kelas. Nilai K-fold dimisalkan 2 maka pengujian yang dilakukan adalah dengan cara membagi seluruh data dalam kelas menjadi 2 yaitu menjadi A1 dan A2, dimana A1 merupakan data latih dan A2 merupakan data uji. Setelah dilakukan perbandingan dengan ketentuan diatas perbandingan dilakukan kembali dengan ketentuan A2 jadi data latih dan A1 menjadi data uji. Setelah setelah pengujian akan didapatkan persentase akurasi.
Berikut adalah hasil pengujian dari metode k-fold:
2.4.1 Pengujian Metode dengan ukuran 32x32 2.4.1.1Pengujian dengan menggunakan nilai
Kfold=2
penelitian ini data yang digunakan sebanyak 100 data, dan akan dibagi 2, yaitu data A1 = 50 dan data A2 = 50, pengujian dilakukan sebanyak nilai k yang digunakan, pengujian 1 = data A1 sebagai data latih dan data A2 sebagai data uji. Pengujian 2 adalah sebaliknya, data A1 = sebagai data uji dan data A2 sebagai data latih.
Tabel 1.Confusion matrix Pengujian 1 dengan A1 sebagai data uji
Tabel 2. Confusion matrix Pengujian 2 dengan A2 sebagai data uji
2.4.1.2 pengujian dengan menggunakan nilai k-fold=4
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
data A2 =25, data A3 = 25 dan data A4 = 25, pengujian dilakukan sebanyak nilai k yang digunakan, pengujian 1 = data A1 sebagai data uji dan data A2, A3, A4 sebagai data latih. Pengujian 2 = data A2 sebagai data uji dan data A1, A3, A4 sebagai data latih. pengujian 3 = data A3 sebagai data uji dan data A1, A2, A4 sebagai data latih. Pengujian 4 = data A4 sebagai data uji dan data A1, A2, A3 sebagai data latih.
Tabel 3. Confusion matrix Pengujian 1 dengan A1 sebagai data uji
Tabel 4. Confusion matrix Pengujian 2 dengan A2 sebagai data uji
Tabel 5. Confusion matrix Pengujian 3 dengan A3 sebagai data uji
Tabel 6. Confusion matrix Pengujian 4 dengan A4 sebagai data uji
Dengan cara yang sama lakukan terhadap skenario yang lainnya yaitu skenario 2 dan 3. Maka didapat nilai rata-rata dari setiap pengujian dengan nilai sebagai berikut:
Tabel 7. rata-rata akurasi pengujian
2.5 Kesimpulan pengujian
Berdasarkan pengujian yang dilakukan dengan menggunakan metode pengujian k-fold dan metode
black box dapat ditarik kesimpulan bahwa tingkat rata-rata akurasi tertinggi dan terendah di dapat ketika nilai k=4 dengan masing-masing nilai akurasinya adalah 84% ketika nilai k yang dipilih adalah 4 dan yang tertinggi adalah 96% rata-rata ini berlaku untuk citra 32x32 sedangkan untuk citra 64x64 dan 128x128 masing-masing nilai tertinggi dan terendahnya adalah 86% dan 96%.
Berdasakan pengujian diatas pula dapat ditarik kesimpulan bahwa jumlah data latih yang dimiliki akan berpengaruh terhadap tingkat akurasi, karena semakin banyak data latih maka proses klasifikasi akan memiliki banyak pilihan dalam pencocokan. Sedangkan untuk pengaruh dari ukuran citra dapat disimpulkan bahwa ukuran citra cukup berpengaruh dalam proses klasifikasi karena ketika suatu citra di resize akan menyebabkan beberapa informasi yang dimiliki oleh citra asli menjadi hilang.
3. PENUTUP 3.1 Kesimpulan