DATA PRIBADI
Nama : Tulus Bangkit Pratama
Jenis kelamin : Laki-laki
Tempat, tanggal lahir : Serang, 26 Oktober 1990
Kewarganegaraana : Indonesia
Status perkawinan : Belum Menikah
Tinggi, berat badan : 172 cm, 70 kg
Agama : Islam
Alamat lengkap : Link. Jombang Cemara Rt.01 Rw.06 Kel. Jombang Wetan Kec.
Jombang.
Telepon, HP : 087821928622
E-mail : bangkitpratama@rocketmail.com
RIWAYAT ORANG TUA
Nama Ayah : Ayi Budiman
Alamat Lengkap : Link. Jombang Cemara Rt.01 Rw.06 Kel. Jombang Wetan Kec.
Jombang.
Telepon, HP : 081806102165
Pekerjaan : Karyawan Swasta
LATAR BELAKANG PENDIDIKAN
- Formal
TK PGRI CILEGON,1995
SD NEGERI 5 CILEGON ,2002
SMP NEGERI 2 CILEGON ,2005
SMA NEGERI 2 KRAKATAU STELL CILEGON (IPA), 2008
UNIKOM (TEKNIK KOMPUTER)
KEMAMPUAN
Kemampuan Teknik Komputer dan Informatika (Image Processing MATLAB, Networking, MS office, corel application, adobe application, web programming &
design, programmer aplication)
Kemampuan internet (e-commers, Bisnis Online)
PENGALAMAN KERJA
Kerja praktek di PT. Krakatau Information Technology selama 1 bulan pada tahun 2011, Management Otorisasi System (Web Design)
PENGALAMAN ORGANISASI
Menjabat sebagai Wakil Ketua OSIS SMA Negeri 2 Cilegon tahun ajaran 2006-2007. Pengurus RISMA Al-Muhsinin SMA Negeri 2 Cilegon dari tahun 2005-2008.
Ketua Pelaksana Acara Perpisahan Siswa SMA Negeri 2 Cilegon Angkatan 2007.
Bandung, 27 Agustus 2013
Hormat saya,
MENGGUNAKAN JARINGAN SYARAF TIRUAN METODE
LEVENBERG – MARQUARDT DENGAN MATLAB VERSI 7.8
TUGAS AKHIR
Disusun untuk memenuhi syarat kelulusan
Pada Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer
Oleh
TULUS BANGKIT PRATAMA 10208089
Pembimbing:
John Adler, M.Si
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
v
KATA PENGANTAR
Assalamualaikum Wr, Wb.
Puji syukur kehadirat Allah SWT, pencipta semesta alam. Shalawat serta
salam semoga tercurahkan kepada Baginda Rosul Muhammad SAW, kepada
keluarganya, para Tabiin dan para pengikutnya yang selalu setia hingga akhir
masa.
Alhamdulillah, berkat rahmat Allah SWT, penulis dapat menyelesaikan
tugas akhir ini dengan judul : “Identifikasi Pola Warna Citra Google Maps
Menggunakan Jaringan Syaraf Tiruan Metode Levenberg – Marquardt
Dengan Matlab Versi 7.8”. Tugas akhir ini disusun untuk memenuhi syarat dalam meraih gelar sarjana pada Jurusan Teknik Komputer, Fakultas Teknik dan
Ilmu Komputer di Universitas Komputer Indonesia. Dengan segala kekurangan
didalamnya karena penulis hanyalah manusia biasa yang memiliki banyak
kesalahan, walaupun begitu penulis berusaha untuk menyelesaikan tugas akhir ini
dengan baik dan dapat memberi tambahan ilmu bagi yang membacanya.
Selama proses penelitian, penulis banyak sekali dibantu oleh orang-orang
terdekat penulis terutama para pembimbing yang selalu sabar untuk memberi
masukan dan nasehat bagi penulis, tanpa beliau penulis tidak akan mungkin
menyelesaikan tugas akhir ini. Keluarga penulis pun selalu memotivasi agar tetap
semangat dan sabar dalam menyelesaikan tugas akhir ini. oleh karena itu
perkenankan penulis mengucapkan terima kasih dan penghargaan yang
sebesar-besarnya kepada:
1. Wendi Zarman, M.Si. Selaku Ketua Jurusan Teknik Komputer.
2. John Adler, M.Si. Selaku Dosen Pembimbing sekaligus Dosen Wali kelas 08
TK-3 yang telah meluangkan waktu dan sabar dalam memberi bimbingan
kepada penulis dalam menyelesaikan tugas akhir ini.
3. Ayahanda Ayi Budiman dan Ibunda Tuti Alawiyah. Yang telah mencintai,
menyayangi, mendidik penulis, serta memberikan doa kepada penulis dengan
penuh kesabaran dan ikhlas.
4. Seluruh Bapak dan Ibu Dosen Jurusan Teknik Komputer.
vi
menjadi inspirasi penulis untuk tetap sabar dan semangat dalam menyelesaikan
tugas akhir ini.
7. Eti Muzdalifah, S.Pd. Yang selalu mensuport, memberi nasehat, cinta, kasih
sayang dan doa kepada penulis dalam menyelesaikan tugas akhir ini.
8. Teman-teman 08 TK-3 yang tidak bisa disebutkan satu persatu yang telah
memberikan semangat kepada penulis.
9. Semua pihak yang tidak bisa disebutkan satu persatu. Terima kasih
sebanyak-banyaknya.
Penulis menyadari bahwa tugas akhir ini masih banyak sekali kekurangan
oleh karena itu penulis mengharapkan saran dan kritik yang bersifat membangun
dan semoga tugas akhir ini bermanfaat, khususnya bagi penulis dan umumnya
bagi pembaca.
Kebenaran datangnya dari Allah SWT, dan kesalahan datangnya dari penulis
pribadi. Karena penulis hanyalah manusia biasa yang tak luput dari salah dan
dosa.
Wassalamualaikum Wr, Wb.
Bandung, Agustus 2013
vii
DAFTAR ISI
LEMBAR PERNYATAAN ... ii
ABSTRAK ... iii
ABSTRACT ... iv
KATA PENGANTAR ... v
DAFTAR ISI ... vii
DAFTAR TABEL ... ix
DAFTAR GAMBAR ... x
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Maksud dan Tujuan ... 3
1.3 Batasan Masalah ... 3
1.4 Metode Penelitian ... 4
1.5 Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1 Google Maps ... 6
2.2 Citra Digital ... 6
2.2.1 Citra RGB ... 7
2.2.2 Citra Grayscale ... 7
2.2.3 Citra Biner ... 7
2.3 Algoritma Levenberg Marquardt ... 8
2.4 Pengolahan Citra ... 9
2.5 Segmentasi Citra ... 11
2.6 Ekstraksi Ciri Orde Dua... 12
2.7 Jaringan Syaraf Tiruan ... 14
2.7.1 Model Neuron ... 16
2.7.2 Bobot ... 17
2.7.3 Fungsi Aktivasi ... 18
2.7.4 Konsep Dasar Jaringan Syaraf Tiruan ... 19
2.7.5 Arsitektur Jaringan ... 20
2.8 Perangkat lunak ... 20
2.8.1 Software Matlab ... 20
viii
3.1 Diagram Blok Sistem ... 23
3.2 Proses Pengambilan Image ... 24
3.3 Sistem Pengolahan Citra ... 24
3.3.1 Cropping Citra ... 24
3.3.2 Konversi Citra Grayscale ... 25
3.3.3 Teknik Segmentasi Citra ... 26
3.3.4 Ekstraksi Ciri ... 27
3.4 Arsitektur Jaringan Syaraf Tiruan ... 27
3.5 Proses Training Levenberg-Marquardt ... 28
3.6 Perancangan Perangkat Lunak ... 30
3.6.1 Flowchart Perancangan Aplikasi ... 30
3.6.2 Perancangan Antarmuka Sistem ... 30
3.6.3 Software Antarmuka Sistem ... 33
BAB IV PENGUJIAN DAN ANALISA ... 35
4.1 Pengujian ... 35
4.1.1 Proses Running Program Aplikasi Pengolahan Citra ... 37
4.1.2 Training Citra Biner Menggunakan Jaringan Syaraf Tiruan Levenberg-Marquardt ... 44
4.2 Analisa ... 48
4.2.1 Analisa Proses Segmentasi ... 48
4.2.2 Analisa Hasil Training Jaringan Syaraf Tiruan Levenberg-Marquard ………..50
BAB V SIMPULAN DAN SARAN ... 54
5.1 Simpulan ... 54
5.2 Saran ... 55
56
DAFTAR PUSTAKA
[1] H. Demuth, M. Beale, Neural Network Tool, Edisi 6, 2000.
[2] Adler, J. Pengaruh Matriks dan Porositas Batuan Karbonat Formasi Parigi.
Majalah Ilmiah Unikom Vol.9, hal 51-60, Maret 2011.
[3] Prasetyo,E. Pengolahan Citra Digital dan Aplikasinnya Menggunakan
Matlab, Andi, Yogyakarta, 2011.
[4] Rahmat. dkk. Pengenalan Pola Sinyal EKG menggunakan JST dengan
Algoritma Levenberg–Marquardt. Seminar Nasional Pasca Sarjana V ITS Surabaya, 2005.
[5] Gonzales, R.C., and Woods, R.E, Digital Image Processing Second edition. New Jersey: Prentice Hall. 2002.
[6] Gunawan, T. Fakta dan Konsep Geografi untuk SMA/MA kelas XII, Inter Plus, Jakarta, 2007.
[7] Artikel non-personal, 9 Februari 2013, Buta Warna, Wikipedia Bahasa Indonesia, http://id.wikipedia.org/wiki/Buta_warna, diakses 28 februari
1
PENDAHULUAN
1.1 Latar Belakang
Riset-riset mengenai Jaringan Syaraf Tiruan telah banyak
dimplementasikan dalam segala bidang ilmu, kuhususnya dalam bidang Ilmu
Pengetahuan Alam atau Sains. Jaringan Syaraf Tiruan (JST) merupakan mesin
yang didesain untuk memodelkan cara yang digunakan otak untuk
mengerjakan suatu fungsi tertentu.
Dalam gambar peta dunia terdapat simbol warna untuk kenampakan
geografis dan pada setiap warna memiliki makna tertentu. Kenampakan
geografis dibagi menjadi beberapa macam yaitu kenampakan hipsografi,
kenampakan hidrografi, kenampakan vegetasi, kenampakan hasil budaya dan
kenampakan es. Kenampakan hipsografi atau relief muka bumi, untuk
pegunungan menggunakan warna dasar coklat muda dan coklat tua.
Kenampakan hidrografi atau wilayah perairan, menggunakan warna dasar biru
muda dan biru tua. Kenampakan vegetasi atau wilayah hutan dan perkebunan
menggunakan warna dasar hijau. Kenampakan hasil budaya manusia,
menggunakan warna merah dan hitam, misalnya jalan raya dan kota dengan
simbol warna merah, jalan kereta api, batas wilayah dan pemukiman dengan
simbol warna hitam. Warna putih pada peta juga digunakan untuk
menggambarkan kenampakan es di permukaan bumi, misalnya es di kutub
utara dan selatan pada peta dunia [6].
Bagi penderita buta warna yang memiliki keterbatasan untuk membedakan
warna, akan kesulitan dalam mengenali objek yang ada pada gambar peta
dengan banyak warna. Buta warna merupakan suatu kelainan yang disebabkan
ketidakmampuan sel-sel kerucut mata untuk menangkap suatu spektrum warna
tertentu yang disebabkan oleh faktor genetis [7]. Secara tidak langsung
2
masyarakat pada umumnya, kelainan tersebut akan tampak ketika melihat
benda yang berwarna-warni.
Berdasarkan latar belakang yang diuraikan diatas, maka penulis tertarik
untuk mengimplementasikan Jaringan Syaraf Tiruan dalam membuat aplikasi
pengolahan citra mengenai identifikasi pola warna untuk mengetahui area
daratan dan bukan daratan pada peta Gogle Maps. Google Maps merupakan sebuah jasa peta globe virtual gratis dan online yang disediakan oleh Google
yang dapat diakses di http://maps.google.com. Pada dasarnya Jaringan Syaraf
Tiruan (JST) mencoba memudahkan para penggunanya sehingga pekerjaan
yang dilakukan akan lebih efisien. Jaringan Syaraf Tiruan ini dibangun untuk
mengenali pola input yang diberikan oleh pengguna sehingga memudahkan
dalam pengolahan data. Untuk itu diperlukan suatu metode Jaringan Syaraf
Tiruan yang dapat meminimalisir masalah yang mungkin timbul pada sistem
Jaringan Syaraf Tiruan yang dibuat, metoda yang akan digunakan untuk
membuat aplikasi ini yaitu Algoritma Levenberg –Marquardt.
Aplikasi Jaringan Syaraf Tiruan yang dibuat menggunakan pemrograman
Matlab karena Matlab telah menyediakan tools untuk pembuatan Jaringan Syaraf Tiruan, dalam hal pengolahan citra pemprograman Matlab sangat cocok
penggunaannya dan juga sering digunakan oleh kalangan teknik, yang lebih
membedakannya dengan pemrograman lain yaitu Matlab sudah menyediakan
berbagai macam toolbox dan element pengolahan untuk berbagai bidang sains termasuk untuk pengolahan citra yang memudahkan programmer dalam
memprogram aplikasi.
Dalam penggunaannya diharapkan aplikasi yang dibuat dapat memberikan
informasi yang sesuai dengan tujuan atau kepentingan pengolahan citra dan
dapat membantu penderita buta warna untuk mengenali objek-objek yang ada
1.2 Maksud dan Tujuan
Tujuan dari penelitian ini adalah merancang dan membuat aplikasi
pengolahan citra untuk pengenalan pola warna citra peta pada Google Maps
dan mencari informasi mengenai objek yang ada pada gambar peta diantaranya
dalam pengenalan area daratan dan bukan daratan, aplikasi yang dibuat
diharapkan dapat membantu penderita buta warna untuk mencari informasi
mengenai objek yang ada di permukaan bumi melalui gambar peta.
Selain itu dalam penelitian ini, pada proses training citra diimplementasi
Jaringan Syaraf Tiruan dengan menggunakan algoritma Levenberg – Marquardt, diharapkan dari implementasi Jaringan Syaraf Tiruan tersebut dapat mengindentifikasi pola warna citra dengan baik agar data yang dihasilkan
dari proses pengolahan citra sesuai dengan yang diharapkan.
1.3 Batasan Masalah
Berikut beberapa batasan masalah identifikasi pola warna citra Google Maps :
1. Objek citra berasal dari gambar peta satelit pada Google Maps 2012. 2. Ukuran image asli menggunakan 50 x 512 sampai 384 x 512 dengan
format image .jpg.
3. Aplikasi yang dibuat dilakukan secara offline.
4. Citra output dengan format binary image.
5. Menggunakan metode training Levenberg–Marquardt yang merupakan pengembangan algoritma backpropagation standar.
6. Karakteristik citra yang dicari adalah area daratan dan bukan daratan.
7. List program untuk mengolah gambar menggunakan Software Matlab
4
1.4 Metode Penelitian
Dalam perancangan sistem ini ada beberapa tahapan dalam proses
perancangannya:
1. Studi pustaka
Mengumpulkan materi pendukung dalam proses perancangan sistem
ini. Seperti materi mengenai algoritma Levenberg–Marquardt untuk identifikasi pola warna citra.
2. Observasi
Mengumpulkan bahan-bahan dan komponen yang akan digunakan
dalam pembuatan sistem ini.
3. Proses perancangan
Perancangan sistem ini meliputi perancangan Software. 4. Pengujian
Tahap pengujian ini dilakukan agar hasil dari alat yang telah dibuat
dapat sesuai dengan apa yang telah direncanakan.
5. Analisis
Menganalisis hasil dari pengujian sistem yang telah dibuat.
1.5 Sistematika Penulisan
Sistematika penulisan laporan tugas akhir ini sebagai berikut:
BAB I : PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, maksud dan tujuan,
batasan masalah, metodologi penelitian dan sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini berisi teori-teori yang berhubungan dengan judul tugas akhir
yang dikerjakan seperti Algoritma Levenberg – Marquardt dan lain
sebagainya.
Bab ini berisi tentang perancangan sistem yang dibuat, meliputi
diagram blok sistem, perancangan perangkat lunak dan alur kerja
aplikasi.
BAB IV : PENGUJIAN DAN ANALISA SISTEM
Bab ini berisi pengujian yang dilakukan terhadap aplikasi yang sudah
dibuat serta berisikan analisis terhadap sistem yang akan dibangun,
meliputi spesifikasi sistem aplikasi dan fungsi sistem yang dibuat.
BAB V : SIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari penelitian yang telah dan dalam bab ini
6
BAB II
DASAR TEORI
2.1 Google Maps
Google maps adalah sebuah jasa peta globe virtual gratis dan online disediakan oleh Google yang dapat diakses di http://maps.google.com. Google Maps memberikan informasi mengenai peta dan pemetaan suatu daerah, selain itu
Google Maps juga mampu memberikan informasi mengenai kepadatan lalu lintas suatu wilayah, bahkan memberikan pencitraan melalui darat ataupun udara.
2.2 Citra Digital
Citra adalah 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.
Di dalam komputer, citra digital disimpan sebagai suatu file dengan format
tertentu. Format citra tersebut menunjukan cara sebuah citra digital disimpan,
misalnya apakah dengan suatu kompresi atau tidak. Contoh format citra digital
adalah .bmp, .jpg, .png, .tif dan sebagainya. Ukuran citra digital dinyatakan dalam
pixel (picture element). Umumnya, nilai setiap pixel merupakan kuantisasi harga intensitas cahaya. Dengan demikian, suatu citra digital dapat dipandang sebagai
sebuah matriks yang elemen-elemennya menunjukkan intensitas cahaya
terkuantisasi. Bedanya terletak pada urutan penyebutan angka ukuran tersebut.
dengan ukuran 112x92, dimana 112 merupakan banyaknya baris dan 92
merupakan banyaknya kolom.
2.2.1 Citra RGB
Citra RGB adalah citra warna yang setiap pixelnya mewakili warna yang merupakan kombinasi tiga warna dasar, yaitu merah, hijau, dan biru (RGB = Red, Green, Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte (nilai maksimum 255 warna).
2.2.2 Citra Grayscale
Dalam komputasi, suatu citra digital grayscale atau greyscale adalah suatu
citra dimana nilai dari setiap pixel merupakan sample tunggal. Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna
hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas
terkuat. Citra grayscale berbeda dengan citra hitam-putih, dimana pada konteks komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu hitam dan putih
saja.
Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra grayscale seringkali merupakan
perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik single band.
Citra grayscale disimpan dalam format 8 bit untuk setiap sample pixel, yang memungkinkan sebanyak 256 intensitas. Format ini sangat membantu dalam
pemrograman karena manipulasi bit yang tidak terlalu banyak. Pada aplikasi lain
seperti pada aplikasi medical imaging dan remote sensing biasa juga digunakan format 10 bit, 12 bit dan 16 bit.
2.2.3 Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan yaitu hitam dan putih, 0 dan 1 dimana 0 menyatakan warna latar
8
warna putih. Meskipun saat ini citra berwarna lebih disukai karena memberi kesan
yang lebih kaya daripada citra biner, walau begitu citra biner masih tetap
dibutuhkan. Misalnya pemanfaatan citra biner untuk penderita buta warna total
atau Akromatisme dalam mengenali objek pada gambar berwarna, dimana
penderita tidak dapat mengenali warna merah, hijau dan biru, penderita buta
warna ini hanya dapat mengenali warna hitam dan putih saja.
2.3 Algoritma Levenberg Marquardt
Algoritma Levenberg-marquardt merupakan pengembangan algoritma
backpropagation standar. Pada algoritma backpropagation, proses update bobot dan bias menggunakan Negative Gradient Descent secara langsung sedangkan, algoritma Levenberg-Marquardt menggunakan pendekatan matrik Hesian (H) yang dapat dihitung dengan :
H = ………...(2.1)
dimana adalah sebuah tranpose dari matrik jacobian dan J merupakan sebuah matrik jacobian yang berisikan turunan pertama dari error jaringan terhadap bobot dan bias jaringan.
J =
...(2.2)
= turunan pertama error jaringan. = turunanpertama bobot jaringan.
Sedangkan gradient (g) dapat dihitung dengan :
g = ………...(2.3)
dimana e adalah vektor yang menyatakan semua error pada output jaringan. Perubahan pembobot (∆X) dapat dihitung dengan :
∆X = [ + µI ……….(2.4)
sehingga dapat dihitung fungsi bobot-bobot jaringan dan bias (X) untuk perbaikan
pembobot dengan :
X = X + ∆X ………...(2.5a)
X = X + [ + µI ……...………..(2.5b)
2.4 Pengolahan Citra
Pengolahan citra merupakan kegiatan memperbaiki kualitas citra agar
mudah diinterpretasi oleh manusia atau mesin (komputer). Masukannya adalah
citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra
masukan. Misal citra warnanya kurang tajam, kabur (blurring), mengandung noise
(misal bintik-bintik putih) sehingga perlu ada pemrosesan untuk memperbaiki
citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang
disampaikan menjadi berkurang.
Pengolahan citra merupakan sebuah bentuk pemrosesan sebuah citra atau
gambar dengan cara memproses numerik dari gambar tersebut, dalam hal ini yang
diproses adalah masing-masing pixel dari gambar tersebut.
Citra menurut kamus Webster adalah suatu representasi, kemiripan dan
imitasi dari suatu objek atau benda. Contohnya foto sinar-X thorax mewakili keadaan bagian dalam tubuh seseorang. Citra dari sudut pandang matematis,
merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi.
Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek.
Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari
berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alat-alat optik, misal
mata manusia, kamera, scanner, sensor satelit dan sebagainya.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:
1. Optik berupa foto
10
Citra juga dapat dikelompokan menjadi dua yaitu citra tampak dan citra tidak
tampak.
1. Citra tampak berupa gambar, apa yang tampak di layar monitor atau
televisi.
2. Citra tidak tampak berupa data gambar dalam bentuk file, citra yang
dipresentasikan dalam fungsi matematis.
Citra atau gambar bisa diibaratkan sebagai matriks dua dimensi. Gambar
digital merupakan suatu fungsi dengan nilai yang berupa intensitas cahaya pada
tiap titik pada bidang yang telah dikuantisasi. Titik dimana suatu gambar
di-sampling disebut picture element atau disingkat pixel. Nilai intensitas warna pada suatu pixel disebut level grayscale.
Ada beberapa level grayscale berdasarkan banyaknya bit: Binary-valued image: 1 bit, hanya bernilai 0 atau 1. Gray level : 8 bit, nilainya antara 0 – 255.
High color : 16 bit, rentang nilainya 216 True color : 32 bit.
Jika suatu gambar disimpan maka yang disimpan adalah array 2 dimensi,
dimana masing-masing merepresentasikan data yang berhubungan dengan pixel
tersebut.
Pengolahan citra sering diidentikkan dengan image filtering. Pengolahan citra sendiri dapat didefinisikan sebagai proses filtering sebuah gambar pixel demi
pixel. Tujuan utama dari pengolahan citra adalah untuk meningkatkan kualitas gambar yang diperoleh. Beberapa contoh filtering yang biasa dilakukan:
1. Grayscale Filter
Grayscale filter mengubah sebuah gambar berwarna menjadi gambar hitam putih dengan cara mengubah efek warna dari masing-masing pixel
Gambar 2. 1 Foto dengan format grayscale.
2. Low pass filter
Low pass filter digunakan untuk menghilangkan ruang derau berfrekuensi tinggi dari sebuah gambar digital. Istilah derau atau noise digunakan sebagai efek samping dari proses konversi pola dan energi cahaya menjadi
energi listrik selama proses konversi gambar dari bentuk analog menjadi
bentuk digital. Noise merupakan variasi yang tidak diinginkan terjadi dalam sebuah pixel. Hasil dari low pass filter ini membuat gambar menjadi lebih kabur daripada aslinya.
Gambar 2. 2Contoh hasil foto low pass filter
2.5 Segmentasi Citra
Segmentasi merupakan proses partisi gambar digital ke beberapa daerah
dengan tujuan untuk menyederhanakan ataupun merubah representasi gambar
menjadi sesuatu yang lebih bermakna dan mudah dianalisa. Ada beberapa metoda
12
kelemahan tergantung pada karakteristik dari citra yang akan diproses. Berikut
beberapa metode yang umum digunakan dalam segmentasi citra.
a. Thresholding
Metode thresholding didasarkan pada pemisahan pixel ke dalam kelas yang berbeda tergantung pada tingkat keabuan masing-masing pixel. Intensitas
citra medis seperti tumor dan jaringan pada otak biasanya sangat rumit dan
memiliki tingkat keabuan yang sangat dekat sehingga menyebabkan kesulitan
penentuan ambang batas (threshold). Metode thresholding tidak bisa diterapkan untuk citra dengan tingkat keabuan yang berdekatan sehingga
biasanya dikombinasikan dengan metode lain.
b. Growing Region
Metode growing region seperti menggabungan thresholding dengan kondisi konektivitas atau kriteria daerah homogenitas. Keberhasilan dari metode
tersebut bergantung pada kepresisian informasi anatomi untuk meletakkan
baik satu mapun beberapa pixel untuk masing-masing daerah homogen.
Kelemahan lain dari metode growingregion adalah metode tersebut hanya dapat bekerja dengan baik pada daerah yang homogen dan membutuhkan
operator untuk menentukan daerah yang akan disegmentasi.
c. Shapebase
Metode shapebased juga memberikan pendekatan yang cukup sederhana dalam segmentasi citra namun sangat sulit dalam penentuan kontur awal
sehingga ketidaktepatan dalam penentuan kontur awal dapat menyebabkan
hasil segmentasi yang kurang memuaskan.
2.6 Ekstraksi Ciri Orde Dua
Salah satu teknik untuk memperoleh ciri statistik orde dua adalah dengan
menghitung probabilitas hubungan ketetanggaan antara dua pixel pada jarak dan orientasi sudut tertentu. Pendekatan ini bekerja dengan membentuk sebuah
matriks kookurensi dari data citra, dilanjutkan dengan menentukan ciri sebagai
Kookurensi berarti kejadian bersama, yaitu jumlah kejadian satu level nilai
pixel bertetangga dengan satu level nilai pixel lain dalam jarak (d) dan orientasi sudut (θ) tertentu. Jarak dinyatakan dalam pixel dan orientasi dinyatakan dalam derajat. Orientasi dibentuk dalam empat arah sudut dengan interval sudut 45°,
yaitu 0°, 45°, 90°, dan 135°. Sedangkan jarak antar pixel biasanya ditetapkan sebesar 1 pixel.
Matriks kookurensi merupakan matriks bujursangkar dengan jumlah
elemen sebanyak kuadrat jumlah level intensitas pixel pada citra. Setiap titik (p,q) pada matriks kookurensi berorientasi θ berisi peluang kejadian pixel bernilai p
bertetangga dengan pixel bernilai q pada jarak d serta orientasi θ dan (180−θ).
Setelah memperoleh matriks kookurensi tersebut, kita dapat menghitung
ciri statistik orde dua yang merepresentasikan citra yang diamati. Terdapat enam
ciri tekstural yang dapat diekstraksi dari matriks kookurensi yaitu Angular Second Moment, Contrast, Correlation, Variance, Inverse Difference Moment, dan
Entropy.
a. Angular Second Moment (ASM)
Menunjukkan ukuran sifat homogenitas citra.
……….(2.6)
dimana p(i,j) menyatakan nilai pada baris i dan kolom j pada matriks kookurensi.
b. Contrast (CON)
Menunjukkan ukuran penyebaran atau momen inersia (k) elemen-elemen matriks citra. Jika letaknya jauh dari diagonal utama, nilai kekontrasan besar.
Secara visual, nilai kekontrasan adalah ukuran variasi antar derajat keabuan
suatu daerah citra.
14
c. Correlation (COR)
Menunjukkan ukuran ketergantungan linear derajat keabuan citra sehingga
dapat memberikan petunjuk adanya struktur linear dalam citra.
……….(2.8)
d. Variance (VAR)
Menunjukkan variasi elemen-elemen matriks kookurensi. Citra dengan
transisi derajat keabuan kecil akan memiliki variansi yang kecil pula.
………..……….(2.9)
e. Inverse Different Moment (IDM)
Menunjukkan kehomogenan citra yang berderajat keabuan sejenis. Citra
homogen akan memiliki harga IDM yang besar.
……….(2.10)
f. Entropy (ENT)
Menunjukkan ukuran ketidakteraturan bentuk. Harga ENT besar untuk citra dengan transisi derajat keabuan merata dan bernilai kecil jika struktur citra
tidak teratur (bervariasi).
……….(2.11)
2.7 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan adalah suatu teknologi komputasi yang berbasis
hanya pada model syaraf biologis dan mencoba mensimulasikan tingkah laku dan
kerja model syaraf terhadap berbagai macam masukan. Sebagai suatu teknologi
komputasi, Jaringan Syaraf Tiruan merupakan satu teknik pemrosesan informasi
suatu proses komputasi yang identik dengan kerja neuron dalam sistem syaraf manusia. Seperti halnya jaringan syaraf biologis, model matematik Jaringan
Syaraf Tiruan menghubungkan sejumlah masukan dan keluaran suatu sistem
secara adaptif yang diorganisasikan dalam lapisan elemen pemroses seperti
layaknya hubungan antar neuron syaraf biologis.
Jaringan Syaraf Tiruan terdiri atas elemen pemroses bernama neuron, yang dihubungkan dengan elemen pemroses lain oleh suatu aturan dan bobot.
Umumnya, Jaringan Syaraf Tiruan merupakan suatu kumpulan pemroses sinyal
analog yang dihubungkan melalui link yang disebut interkoneksi sederhana.
Secara skematis, Jaringan Syaraf Tiruan digambarkan dalam bentuk grafik yang
mempunyai arah menuju suatu simpul dari elemen pemroses. Arah panah
menunjukkan arah normal suatu aliran sinyal. Pemrosesan sinyal di dalam
jaringan dilakukan melalui proses komputasi. Dengan demikian, Jaringan Syaraf
Tiruan merupakan suatu teknik komputasi pada software yang mengemulasikan
neuron biologis dalam melakukan operasi pengambilan informasi.
Teknologi Jaringan Syaraf Tiruan yang berkembang pesat merupakan solusi
persoalan komputasi yang tidak dapat diselesaikan oleh komputer konvensional.
Kemudian, Jaringan Syaraf Tiruan belajar dari contoh yang disebut set pelatihan.
Karena belajar dari contoh, Jaringan Syaraf Tiruan mempunyai potensi
membangun sistem komputasi sebagai hasil pemetaan hubungan masukan dan
keluaran yang ada dalam sistem. Set pelatihan dikenal sebagai pola pelatihan
berupa suatu vektor dan didapatkan dari sumber seperti citra, sinyal suara, data
dari sensor, data keuangan, dan informasi.
Secara garis besar, proses belajar Jaringan Syaraf Tiruan dapat dibagi menjadi
dua:
1. Jaringan Syaraf Tiruan yang menggunakan paket pelatihan sebagai proses
belajar dan dikenal sebagai proses belajar dengan pengawasan.
2. Jaringan Syaraf Tiruan tanpa paket pelatihan pada proses belajar dan
umumnya disebut proses belajar tanpa pengawasan.
Kemampuan dan proses komputasi pada Jaringan Syaraf Tiruan memberikan
16
1. Jaringan Syaraf Tiruan bersifat adaptif terhadap perubahan parameter yang
mempengaruhi karakteristik sistem, sehingga pada proses belajar Jaringan
Syaraf Tiruan mampu belajar secara adaptif dan melaksanakan tugas
berbasis pada data yang diberikan saat pelatihan.
2. Jaringan Syaraf Tiruan memiliki kekebalan atau toleran terhadap
kesalahan. Artinya, Jaringan Syaraf Tiruan tetap berfungsi walaupun ada
ketidak-lengkapan data yang dimasukkan. Jaringan Syaraf Tiruan
mempunyai kemampuan mengisi bagian masukan yang kurang lengkap
sedemikian rupa sehingga tetap diperoleh keluaran dibutuhkan.
3. Jaringan Syaraf Tiruan dapat dilatih memberikan keputusan dengan
memberikan set pelatihan sebelumnya untuk mencapai target tertentu,
sehingga Jaringan Syaraf Tiruan mampu membangun dan memberikan
jawaban sesuai dengan informasi yang diterima pada proses pelatihan.
4. Jaringan Syaraf Tiruan mempunyai struktur paralel dan terdistribusi.
Artinya, komputasi dapat dilakukan oleh lebih dari satu elemen pemroses
yang bekerja secara simultan.
5. Jaringan Syaraf Tiruan mampu mengklasifikasi pola masukan dan pola
keluaran. Melalui proses penyesuaian, pola keluaran dihubungkan dengan
masukan yang diberikan oleh Jaringan Syaraf Tiruan.
6. Jaringan Syaraf Tiruan mengurangi derau, sehingga dihasilkan keluaran
yang lebih bersih.
7. Jaringan Syaraf Tiruan dapat dimanfaatkan pada proses optimisasi
penyelesaian suatu masalah.
8. Jaringan Syaraf Tiruan dapat digunakan pada proses pengendalian sistem
agar masukan memperoleh tanggapan yang diinginkan.
2.7.1 Model Neuron
Mengadopsi esensi dasar dari system syaraf biologi, syaraf tiruan
digambarkan sebagai berikut : menerima sinyal input (X), baik dari data yang dimasukkan atau dari output sel syaraf pada jaringan syaraf. Setiap sinyal input datang melalui suatu koneksi atau hubungan yang mempunyai sebuah bobot
bobot dari input dan dikurangi dengan nilai ambang kemudian akan mendapatkan
suatu aktivasi dari sel syaraf (post synaptic potential, PSP, dari sel syaraf). Signal aktivasi kemudian menjadi fungsi aktivasi atau fungsi transfer untuk
menghasilkan output dari sel syaraf.
Satu sel syaraf terdiri dari tiga bagian, yaitu: fungsi penjumlah (summing function), fungsi aktivasi (activation function), dan keluaran (output).
Gambar 2. 3 Model Neuron
Jika kita lihat, neoron buatan diatas mirip dengan sel biologis. Informasi
(input) akan dikirim ke neuron dengan bobot tertentu. Input ini akan diproses oleh suatu fungsi yang akan menjumlahkan nilai-nilai bobot yang ada. Hasil
penjumlahan kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktifasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, jika tidak, maka neuron tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka
neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya.
2.7.2 Bobot
Bobot merupakan suatu nilai yang mendefinisikan tingkat atau
kepentingan hubungan antara suatu node dengan node yang lain. Semakin besar
bobot suatu hubungan menandakan semakin pentingnya hubungan kedua node
tersebut.
Bobot merupakan suatu hubungan berupa bilangan real maupun integer,
18
tersebut bisa ditentukan untuk berada didalam interval tertentu. selama proses
pelatihan, bobot tersebut dapat menyesuaikan dengan pola-pola input.
Jaringan dengan sendirinya akan memperbaiki diri terus-menerus karena
adanya kemampuan untuk belajar. Setiap ada suatu masalah baru, jaringan dapat
belajar dari masalah baru tersebut, yaitu dengan mengatur kembali nilai bobot
untuk menyesuaikan karakter nilai.
2.7.3 Fungsi Aktivasi
Pada setiap layer pada jaringan syaraf tiruan terdapat fungsi aktivasi.
fungsi ini adalah fungsi umum yang akan digunakan untuk membawa input
menuju output yang diinginkan. Fungsi aktivasi inilah yang akan menentukan besarnya bobot. Penggunaan fungsi aktivasi tergantung pada kebutuhan dan
desired output. Contoh dari fungsi aktivasi ini antara lain: 1. Linier atau Pureline
Fungsi linier akan membawa input ke output yang sebanding. fungsi ini digambarkan sebagai berikut:
Gambar 2.4 Linear Transfer Function
2. Tansig
Tansig adalah fungsi sigmoid tangen yang digunakan sebagai fungsi aktivasi.
Fungsi ini akan membawa nilai input pada output dengan menggunakan rumus
Gambar 2.5 Tan-Sigmoid Transfer Function
2.7.4 Konsep Dasar Jaringan Syaraf Tiruan
Setiap pola-pola informasi input dan output yang diberikan kedalam Jaringan Syaraf Tiruan diproses dalam neuron. Neuron-neuron tersebut terkumpul di dalam lapisan-lapisan penyusun Jaringan Syaraf Tiruan tersebut dapat dibagi
menjadi tiga, yaitu:
1. Lapisan Input
Unit-unit di dalam lapisan input disebut unit-unit input. Unit-unit input tersebut
menerima pola inputan data dari luar yang menggambarkan suatu permasalahan.
2. Lapisan Tersembunyi
Unit-unit di dalam lapisan tersembunyi disebut unit-unit tesembunyi. Dimana
outputnya tidak dapat secara langsung diamati. 3. Lapisan output
20
2.7.5 Arsitektur Jaringan
Jaringan Syaraf Tiruan memiliki beberapa arsitektur jaringan yang sering
digunakan dalam berbagai aplikasi. Arsitektur Jaringan Syaraf Tiruan tersebut,
antara lain:
1. Jaringan Layer Tunggal (Single Layer Network)
Jaringan dengan lapisan tunggal terdiri dari 1 layer input dan 1 layer output. Setiap neuron/unit yang terdapat di dalam lapisan/layer input selalu terhubung dengan setiap neuron yang terdapat pada layer output. Jaringan ini hanya menerima input kemudian secara langsung akan mengolahnya menjadi output
tanpa harus melalui lapisan tersembunyi.
2. Jaringan Layer Jamak (multi layer network)
Jaringan dengan lapisan jamak memiliki ciri khas tertentu yaitu memiliki tiga
jenis layer yakni layer input, layer output dan layer tersembunyi (Hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan jaringan dengan lapisan tunggal. Namun,
proses pelatihan sering mebutuhkan waktu yang cenderung lama.
3. Jaringan Layer Kompetitif
Pada jaringan ini sekumpulan neuron bersaing untuk menjadi aktif. Algoritma yang menggunakan metode ini adalah Learning Vector Quantization (LVQ)
2.8 Perangkat lunak
2.8.1 Software Matlab
Matlab adalah sebuah bahasa (pemrograman) dengan kinerja yang tinggi
(high-performance) untuk komputasi teknis, yang mengintegrasikan komputasi, visualisasi dan pemrograman di dalam lingkungan yang mudah penggunaannya
dalam memecahkan persoalan dengan solusinya yang dinyataka dengan notasi
matematik. Penggunaan matlab, yaitu:
Matematik dan Komputasi Pengembangan Algoritma
Grafik untuk Sains dan Teknik
Pengembangan aplikasi, termasuk pembuatan antarmuka grafis untuk
pengguna (Graphical User Interface).
Matlab adalah sistem interaktif yang menggunakan elemen data dasarnya
adalah array yang tidak membutuhkan dimensi. Hal ini mempermudah untuk menyelesaikan masalah komputasi terutama menyangkut matriks dan vector.
Nama Matlab merupakan singkatan dari matrix laboratory. Pada awalnya Matlab dibuat untuk mempermudah pengembangan perangkat lunak berbasis
matriks oleh proyek LINPACK dan EISPACK.
Matlab memiliki beberapa keunggulan dan kemudahan dalam desain dan
analisis sistem kendali dan sistem linear. Fungsi-fungsi pendukung terangkum
dalam Control System Toolbox dan Signal Proccesing Toolbox. Kebanyakan operasi dalam sistem kendali dan sistem linear berhubungan dengan operasi
matriks, aritmatika kompleks, menghitung akar, model konversi, dan
penggambaran fungsi-fungsi yang kompleks. Seperti telah kita ketahui
sebelumnya, Matlab telah didesain untuk memudahkan pengerjaan operasi-operasi
tersebut diatas, dan analisa fungsi. Pelatihan ini lebih ditekankan pada
pemrograman dan menggunakan fungsi-fungsi dasar dalam bahasa Matlab
sehinga teori mengenai ilmu sistem itu sendiri hanya akan disinggung sedikit pada
topik-topik yang relevan.
2.8.2 Sistem Matlab
Sebagai sebuah sistem Matlab tersusun dari lima bagian utama, yaitu :
1. Development Environment. Merupakan sekumpulan perangkat dan fasilitas yang membantu anda untuk menggunakan fungsi-fungsi dan file-file
Matlab. Beberapa perangkat ini merupakan sebuah Graphical User
22
2. Matlab Mathematical Function Library. Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan
complex arithmetic, sampai dengan fungsi-fungsi yang lebih komplek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier transforms.
3. Matlab Language. Merupakan suatu high level matrix atau array language
dengan control flow statements, functions, data structures, input atau
output, dan fitur-fitur object oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua hal baik pemrograman dalam lingkup
sederhana untuk mendapatkan hasil yang cepat dan pemrograman dalam
lingkup yang lebih besar untuk memperoleh hasil-hasil dan aplikasi yang
komplek.
4. Graphics. Matlab memiliki fasilitas untuk menampilkan vektor dan matriks sebagai suatu grafik. Di dalamnya melibatkan high level functions
(fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga
dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan bagi anda untuk
membiasakan diri untuk memunculkan grafik mulai dari bentuk yang
sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi Matlab.
Matlab Application Program Interface (API). Merupakan suatu library yang memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran mampu
berinterakasi dengan Matlab. Ini melibatkan fasilitas untuk pemanggilan routines
54
BAB V
SIMPULAN DAN SARAN
Pada bab ini, akan diuraikan beberapa hal yang dapat disimpulkan dari bab
sebelumnya serta saran yang dapat digunakan sebagai acuan untuk pengembangan
selanjutnya.
5.1 Simpulan
Dari perancangan, pengerjaan, dan analisa yang dilakukan selama pembuatan
tugas akhir ini, dapat diambil beberapa kesimpulan sebagai berikut:
1. Identifikasi pola warna citra pada peta Google Maps menggunakan Aplikasi
Jaringan Syaraf Tiruan Levenberg Marquardt telah berhasil membuat pola citra baru yang diidentifikasikan sebagai daerah daratan dan bukan daratan.
2. Pada proses training diperoleh nilai epoch sebanyak 17 iterations dari batas
maximum 100 epoch., waktu yang digunakan selama proses training
sebanyak 6 detik, nilai performance = 2.06e+07, nilai gradient = 8.49e+05, Mu = 1.00+04 dan validation check =6. (Gambar 4.29)
3. Dalam proses training menggunakan Jaringan Syaraf Tiruan diperoleh nilai regresi (R) mendekati 1 sebesar 0.95889 dan 0.91483. Hal tersebut
menunjukan bahwa kinerja Jaringan Syaraf Tiruan yang dibuat telah bekerja
secara optimal karena ada kecocokan antara nilai output dari hasil training
dengan target. Proses training harus dilakukan berulang – ulang sampai nilai regresi (R) mendekati 1. (Gambar 4.30)
4. Aplikasi pengolahan citra menghasilkan citra biner dari proses segmentasi
pola warna citra peta Google Maps.
5. Ukuran citra dengan pixel tinggi membutuhkan waktu lebih lama untuk diidentifikasi dibandingkan dengan ukuran citra dengan pixel yang rendah.
6. Secara keseluruhan, aplikasi yang dibuat berhasil memenuhi fungsi yang
55
5.2 Saran
1. Pada aplikasi yang sudah dibuat, kedepannya diharapkan ada pengembangan
aplikasi ini, misalnya untuk identifikasi daerah laut dangkal dan dalam.
2. Untuk pengembangan aplikasi pengolahan citra banyak metode pengolahan
citra untuk pengenalan pola citra misalnya dengan metode watershed.
3. Aplikasi yang telah dibuat diharapkan dapat digunakan oleh para penderita
1
Tulus Bangkit Pratama1, John Adler2
1,2
Jurusan Sistem Komputer Unikom, Bandung
1
bangkitpratama@rocketmail.com, 2johnadler2zz@yahoo.com
ABSTRAK
Riset-riset mengenai Jaringan Syaraf Tiruan telah banyak diimplementasikan dalam segala bidang ilmu, kuhususnya dalam bidang ilmu pengetahuan alam atau Sains. Jaringan Syaraf Tiruan (JST) merupakan mesin yang didesain untuk memodelkan cara yang digunakan otak untuk mengerjakan suatu fungsi tertentu. Melihat perkembangan mengenai Jaringan Syaraf Tiruan muncul ide untuk mengaplikasikan Jaringan Syaraf Tiruan ke dalam bidang ilmu Geografi mengenai identifikasi pola warna citra peta untuk membedakan kenampakan geografis pada peta, pengaplikasiannya diterapkan pada peta Google Maps, sebuah jasa peta globe virtual gratis dan online yang disediakan oleh Google yang dapat diakses di http://maps.google.com.
Dalam identifikasi pola warna citra dilakukan proses pengolahan citra,yaitu kegiatan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (komputer). Teknik pengolahan citra yang digunakan adalah teknik Segmentasi. Metode training yang digunakan pada penelitian ini menggunakan algoritma Levenberg-Marquardt.
Dari hasil penelitian pada proses training diperoleh nilai epoch sebanyak 17 iterations dari batas maximum 100 iterations. Sedangkan waktu yang digunakan selama proses training sebanyak 6 detik, nilai performance = 2,06. , nilai gradient = 8,49. , Mu = 1,00. , validation check = 6 dan nilai regresi (R) untuk proses training sebesar 0.95889 dan nilai regresi (R) dari seluruh proses secara berturut-turut adalah 0.91483, nilai regresi tersebut menunjukan adanya hubungan kelinieran antara output jaringan dengan target. Identifikasi pola warna citra pada peta Google Maps menggunakan aplikasi Jaringan Syaraf Tiruan Levenberg Marqurdt telah berhasil membuat pola citra baru yang diidentifikasikan sebagai daerah daratan dan bukan daratan. Secara keseluruhan, aplikasi yang dibuat berhasil memenuhi fungsi yang diinginkan, yaitu untuk membantu penderita buta warna.
Kata kunci: Jaringan Syaraf Tiruan, Pengolahan Citra, Teknik Segmentasi, Levenberg-Marquardt.
1. PENDAHULUAN
Pada peta dunia terdapat simbol warna untuk kenampakan geografis dan pada setiap warna memiliki makna tertentu. Misalnya kenampakan hipsografi atau relief muka bumi, menggunakan warna dasar coklat, dari coklat muda sampai coklat tua, kenampakan hidrografi atau wilayah perairan (sungai, danau, laut), menggunakan warna dasar biru, dari biru muda (hampir putih) sampai biru tua (kehitaman) dan Kenampakan vegetasi (hutan, perkebunan), menggunakan warna dasar hijau. Warna hijau juga digunakan untuk menggambarkan wilayah dataran rendah.Berdasarkan permasalahan yang diuraikan di atas, maka penulis tertarik untuk mengimplementasikan Jaringan Syaraf Tiruan dengan metode training
Lavenberg-Marquardt dalam mengidentifikasi pola
warna citra Google Maps dan membuat aplikasi pengolahan citra untuk mengetahui
area daratan dan bukan daratan pada peta
Google Maps. Dalam penggunaannya
diharapkan aplikasi yang dibuat dapat memberikan informasi yang sesuai dengan tujuan atau kepentingan pengolahan citra dan dapat membantu penderita buta warna untuk mengenali objek-objek yang ada di permukaan bumi melalui gambar peta.
2. TEORI PENUNJANG
Google Maps
Google maps adalah sebuah jasa peta globe virtual gratis dan online disediakan oleh Google yang dapat diakses di http://maps.google.com. Google Maps memberikan informasi mengenai peta dan pemetaan suatu daerah, selain itu
Google Maps juga mampu memberikan
Tulus Bangkit Pratama dan John Adler
2
Algoritma Levenberg Marquardt
Algoritma Levenberg-marquardt merupakan pengembangan algoritma backpropagation standar. Pada algoritma backpropagation, proses update bobot dan bias menggunakan Negative Gradient Descent
secara langsung sedangkan, algoritma Levenberg-Marquardt menggunakan pendekatan matrik Hesian
(H) yang dapat dihitung dengan :
H = ………...(1)
dimana adalah sebuah tranpose dari matrik
jacobian dan J merupakan sebuah matrik jacobian
yang berisikan turunan pertama dari error jaringan terhadap bobot dan bias jaringan.
J =
... (2)
= turunan pertama error jaringan.
= turunanpertama bobot jaringan.
Sedangkan gradient (g) dapat dihitung dengan :
g = ……….………...(3)
dimana e adalah vektor yang menyatakan semua
error pada output jaringan.
Perubahan pembobot (∆X) dapat dihitung dengan : ∆X = [ + µI ……...(4)
dimana μ adalah konstanta learning dan I adalah sebuah matrik identitas.
sehingga dapat dihitung fungsi bobot-bobot jaringan dan bias (X) untuk perbaikan pembobot dengan :
X = X + ∆X ………...(5a)
X = X + [ + µI ………...(5b)
Pengolahan Citra
Pengolahan citra merupakan kegiatan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (komputer). Masukannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan. Misal citra warnanya kurang tajam, kabur (blurring), mengandung noise (misal bintik-bintik putih) sehingga perlu ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang disampaikan menjadi berkurang.
Segmentasi
Segmentasi merupakan proses partisi gambar digital ke beberapa daerah dengan tujuan untuk menyederhanakan ataupun merubah representasi
gambar menjadi sesuatu yang lebih bermakna dan mudah dianalisa. Ada beberapa metoda yang sering digunakan dalam segmentasi citra antara lain : metode thresholding, metode shapebased, metode region growing, dan metode statistik atau juga disebut metode clustering.
Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan yaitu hitam dan putih, 0 dan 1 dimana 0 menyatakan warna latar belakang (background) dan 1 menyatakan warna tinta atau objek atau dalam bentuk angka 0 untuk hitam dan angka 1 untuk warna putih. Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya pada proses analisis citra medis yang menggunakan gambar sinar-x.
Ekstraksi Ciri Orde Dua
Salah satu teknik untuk memperoleh ciri statistik orde dua adalah dengan menghitung probabilitas hubungan ketetanggaan antara dua piksel pada jarak dan orientasi sudut tertentu. Pendekatan ini bekerja dengan membentuk sebuah matriks kookurensi dari data citra, Terdapat berbagai jenis 6 ciri tekstural yang dapat diekstraksi dari matriks kookurensi yaitu Angular Second
Moment, Contrast, Correlation, Variance,
Inverse Difference Moment, dan Entropy.
Jaringan Syaraf Tiruan (JST)
3
Secara garis besar, proses belajar JST dapat dibagi menjadi 2:
1. JST yang menggunakan paket pelatihan sebagai proses belajar dan dikenal sebagai proses belajar dengan pengawasan.
2. JST tanpa paket pelatihan pada proses belajar dan umumnya disebut proses belajar tanpa pengawasan.
3. PERANCANGAN SISTEM Diagram Blok Sistem
Berikut merupakan gambar diagram blok sistem yang dibuat (Gambar.1):
Gambar.1 Diagram Blok Sistem
Proses pengambilan citra
Pengambilan image input dilakukan dengan cara
cropping langsung pada Google Maps yang
dapat diakses melalui situs
https://maps.google.co.id. Berikut adalah citra asli dari hasil cropping pada Google maps :
Gambar.2 Citra Asli Google Maps
Pada (Gambar.2)Ukuran image input yang akan diolah yaitu image yang berukuran 50x512 sampai 384x512 dengan format image .jpg.
Sistem Pengolahan Citra
a. Konversi Citra Grayscale
Pada perancangan sistem pengolahan citra dibutuhkan citra grayscale, karena citra warna asal merupakan citra RGB sehingga
dibutuhkan teknik filter untuk mengubah nilai masing-masing pixel menjadi derajat keabuan dengan teknik Grayscale filter yaitu mengubah sebuah gambar berwarna menjadi gambar hitam putih dengan cara mengubah efek warna dari masing-masing pixel menjadi derajat keabuan.
b. Segmentasi Citra
Beberapa teknik dan fungsi segmentasi citra yang digunakan pada aplikasi matlab adalah teknik thresholding, fungsi entropy dan fungsi strel. Fungsi entropy adalah nilai statistik yang dapat digunakan untuk mengkarakterisasi tekstur citra input, karena sifatnya yang diskrit (nilai piksel tidak dalam bentuk pecahan) fungsi ini sesuai untuk
mencari citra biner yang memiliki nilai „0‟ dan „1‟. Selanjutnya teknik thresholding,
thresholding merupakan proses pemisahan
piksel-piksel berdasarkan derajat keabuan yang dimilikinya. Piksel yang memiliki derajat keabuan lebih kecil dari nilai batas yang ditentukan akan diberikan nilai 0, sementara piksel yang memiliki derajat keabuan yang lebih besar dari batas akan diubah menjadi bernilai 1. Setelah teknik
thresholding selanjutnya menjalankan fungsi
strel, proses ini biasanya digunakan untuk kehalusan, pengisian atau menghapus objek dalam suatu citra grayscale atau biner.
c. Ekstraksi Ciri Orde Dua
Salah satu teknik untuk memperoleh ciri statistik orde dua adalah dengan menghitung probabilitas hubungan ketetanggaan antara dua piksel pada jarak dan orientasi sudut tertentu. Pendekatan ini bekerja dengan membentuk sebuah matriks kookurensi dari data citra, dilanjutkan dengan menentukan ciri sebagai fungsi dari matriks tersebut.
d. Arsitektur Jaringan Syaraf Tiruan
Tulus Bangkit Pratama dan John Adler
4 Input layer sebanyak 1 neuron
Hidden layer sebanyak 20 neuron
Output layer sebanyak 6 neuron
Metode training yang digunakan sistem adalah Levenberg Marquardt learning. Sistem melakukan pembelajaran terhadap input dengan target yang sudah ditentukan untuk memperoleh nilai-nilai bobot dan bias yang optimum pada tiap unit neuron hidden layer dan outputlayer.
Proses Training Levenberg-Marquardt
Dalam rangka mengimplementasikan algoritma
Levenberg-Marquardt untuk pelatihan jaringan syaraf tiruan, ada satu masalah harus dipecahkan yaitu bagaimana seseorang mengatur pelatihan proses iteratif untuk memperbarui bobot. Pada bagian ini, pelaksanaan proses training dengan algoritma Levenberg-Marquardt akan disusun sebagai berikut :
a. Menentukan input dan target training.
Nilai input diperoleh dari proses sebelumnya yaitu nilai dari enam ciri statistik orde dua diantaranya Angular Second Moment (CiriASM), Contrast (CiriCON), Correlation (CiriCOR), Variance (CiriVAR), Inverse Difference Moment (CiriIDM), dan Entropy (CiriENT).
b. Pengambilan sampel sebanyak enam kali. Dilakukan dengan cara cropping dari image
hasil pengolahan citra. Kriteria sampel yang diambil adalah dua kali cropping daerah yang bernilai „0‟(warna hitam), dua kali
cropping daerah yang bernilai „1‟ (warna putih) dan dua kali cropping daerah yang
bernilai „0‟ dan „1‟ (warna hitam dan putih).
Proses ini bertujuan untuk menentukan enam nilai ciri statistik orde dua dari citra yang akan di training melalui perhitungan ciri orde dua.
c. Training citra.
Dengan menggunakan jaringan syaraf tiruan yang telah dibuat, sampel di training
menggunakan jaringan syaraf tiruan
Levenberg-Marquardt (trainlm). d. Klasifikasi pola warna citra.
Deteksi tekstur pada citra dengan cara mensortir keseluruh bagian pixel citra.
Flowchart Perancanngan Aplikasi
Dengan flow chart, proses dari alur program yang dibuat digambarkan dengan sederhana menggunakan simbol yang mudah untuk dimengerti, berikut flowchart dari perancangan aplikasi :
Gambar.3 Flowchart Perancangan Aplikasi
Software Antarmuka Sistem
Berikut merupakan tampilan dari Software
antarmuka sistem Identifikasi Pola Warna Citra Google Maps Menggunakan Jaringan Syaraf Tiruan Levenberg-Marquadt Dengan Matlab Versi 7.8.
Gambar.4 Antarmuka Sistem
5
1. Picture Box, untuk menampilkan image.
2. Pushbutton Browse Image, untuk
mengambil File image yang sudah disimpan.
3. Pushbutton Cropping, untuk cropping
image.
4. Panel Identifikasi, didalamnya terdapat menu-menu proses pengoahan citra diantaranya :
a. Pushbutton Convert to Grayscale
b. Pushbutton Entropy BW1
c. Pushbutton BW2
d. Pushbutton Segmentation
e. Pushbutton Fitur
f. Pushbutton Atur Contrast
g. Pushbutton Reset
5. Panel Fitur, menampilkan nilai ciri orde dua yang merupakan output dari
pushbutton Fitur.
6. Tombol Histogram, untuk menampilkan histogram dari image yang diolah.
a. Pushbutton Histogram1: Histogram
dari citra hasil cropping.
b. Pushbutton Histogram2: Histogram
dari citra grayscale.
c. Pushbutton Histogram3: Histogram
dari citra entropy.
d. Pushbutton Histogram4: Histogram
dari citra BW1.
e. Pushbutton Histogram5: Histogram
dari citra BW2.
f. Pushbutton Histogram6: Histogram
dari citrahasil segmentasi.
4. Hasil Pengujian
Langkah-langkah pengujian yang dilakukan yaitu setelah program Matlab dijalankan,
Pengujian Program Aplikasi Pengolahan Citra
Berikut adalah langkah-langkah pengujian program aplikasi pengolahan citra yang telah dibuat, yaitu : karakteristiknya sebagai sampel citra yang akan diolah,lakukan dengan menekan
pushbutton Cropping. Tekan pushbutton Histogram1 jika ingin melihat histogram dari hasil cropping.
Gambar 5. Cropping citra
3. Tekan pushbutton Convert to Grayscale
untuk konversi citra RGB menjadi citra
Grayscale. Tekan pushbutton Histogram2 jika ingin melihat histogram dari citra grayscale.
4. Tekan pushbutton Entropy untuk mengkarakterisasi tekstur citra grayscale. Tekan pushbutton Histogram3 jika ingin melihat histogram dari citra hasil entropy.. 5. Tekan pushbutton BW1, pada proses ini
digunakan teknik thresholding untuk mendapatkan citra biner. Tekan pushbutton Histogram4 jika ingin melihat histogram dari citra BW1.
6. Selanjutnya, tekan pushbutton BW2 untuk menentukan mana daerah daratan dinyatakan
oleh nilai „0‟ dan mana daerah bukan daratan dinyatakan dengan nilai „1‟. 2 merupakan nega i dari 1 ( 1). ekan pushbutton Histogram5 jika ingin melihat histogram dari citra BW2.
7. Tekan pushbutton Segmentation untuk penghalusan citra biner. Tekan pushbutton Histogram6 jika ingin melihat histogram dari citra hasil segmentasi.
8. Tekan pushbutton Fitur untuk menampilkan nilai ciri orde dua.
Dari langkah-langkah pengujian diperoleh keluaran, diperlihatkan pada Gambar.6. , semua
pushbutton telah berfungsi dengan baik.
Tulus Bangkit Pratama dan John Adler
6
output dari proses pengolahan citra tersebut. Dari citra output yang didapat. Langkah selanjutnya adalah proses training citra output hasil dari pengolahan citra.
Gambar 6. Antarmuka Hasil running Aplikasi Pengolahan Citra
Training citra biner menggunakan jaringan syaraf tiruan levenberg-marquardt
Caranya running list program trainLM.m
pada menu editor matlab. List program
trainLM.m sebelumnya sudah dibuat dan di
simpan pada file folder. Lalu ambilah sampel sebanyak enam kali dengan ketentuan kriteria sampel yang diambil adalah dua kali cropping daerah yang bernilai „0‟(warna hitam), dua kali
cropping daerah yang bernilai „1‟ (warna putih) dan dua kali cropping daerah yang bernilai „0‟
dan „1‟ (warna hitam dan putih). Setelah itu muncul window nntraintool.
Gambar 7. Window nntraintool
Pada gambar 7. terlihat pada panel progress hasil dari training citra diatas, diperoleh nilai epoch
sebanyak 17 iterations dari batas maximum 100
iterations., waktu yang digunakan selama proses
training sebanyak 6 detik, nilai performance = 2,06. , nilai gradient = 8,49. , Mu = 1,00. dan validation check =6. Langkah pengujian selanjutnya mengklasifikasi pola warna citra, dilakukan untuk mengidentifikasi karakteristik pola warna citra dengan cara mensortir keseluruh bagian pixel citra untuk mendeteksi adanya tekstur pada citra.
Gambar 8 Citra hasil training (a). Sebelum dinormalisasi (b). Sudah dinormalisasi
Pada gambar diatas, proses identifikasi membutuhkan waktu 3 menit 10 detik untuk menyapu ke semua daerah citra dengan ukuran citra 92 x 102 pixel. Dengan demikian bentuk pola yang diperoleh dapat diklasifikasikan dimana daerah daratan berada di dalam garis dan yang berada diluar garis bukan daerah daratan.
Analisa
Secara desain dan hasil, jaringan syaraf tiruan yang dirancang memang belum mencapai hasil yang terbaik. Pada Gambar.7 terlihat pada panel
progress hasil dari training citra diperoleh nilai
epoch sebanyak 17 iterations dari batas maximum 100
iterations., waktu yang digunakan selama proses
training sebanyak 6 detik, nilai performance = 2,06. , nilai gradient = 8,49. , Mu = 1,00. dan validation check =6.
Dari batas maximum 100 epoch didapat 17 kali iterasi maksudnya pada proses training terjadi 17 siklus yang melibatkan seluruh pola data
training, sebenarnya dalam proses training
memerlukan banyak iterasi sampai mencapai batas maximum epoch. sehingga jumlah epoch yang telah ditentukan belum cukup mendapat hasil performance jaringan syaraf tiruan yang optimal.
7
dan target. Jika pelatihan yang sempurna, output
jaringan dan target akan persis sama, tetapi hubungan tersebut sangat sulit untuk disesuaikan dan harus berulang – ulang dalam proses
training sampai nilai output mendekati nilai target.
Hasilnya ditunjukkan pada Gambar 9. Nilai R merupakan indikasi hubungan antara output dan target. Jika R = 1, menunjukkan bahwa adanya hubungan linear yang tepat antara output dan target. Jika R mendekati nol, maka tidak ada hubungan linear antara output dan target. Dalam pengujian kali ini, data pelatihan menunjukkan kecocokan. Dalam pengujian kali ini, data pelatihan menunjukkan kecocokan, karena nilai R pada proses
training mendekati “1” terlihat pada (Gambar. 9)
Nilai R training = 0.95889 dan nilai R dari seluruh proses berturut-turut = 0.91483.
Gambar 9. Plot Regression
Proses selanjutnya adalah proses mengklasifikasi pola citra dengan cara mensortir keseluruh bagian
pixel citra untuk mendeteksi adanya tekstur pada citra, di dapatkan pola citra seperti pada (Gambar.8).
Terlihat pada (Gambar.8), citra hasil training
membentuk pola yang dapat diklasifikasikan dimana daerah yang berada didalam garis merupakan daerah daratan dan yang berada diluar garis merupakan daerah yang bukan daratan. Berdasarkan pengujian hasil ini belum cukup maksimal karena hanya garis tepi saja yang terdeteksi.
Selain itu dalam pengujian proses menyapu ke semua daerah citra dibutuhkan waktu 3 menit 15 detik dengan ukuran citra 92 x 102. Hal tersebut menjadi pertimbangan akan kinerja dari sistem program yang telah dibuat, karena prosesnya masih memakan waktu yang cukup lama, telah dilakukan pengujian sebanyak 5 kali untuk mengetahui pengaruh apa saja yang menyebabkan membutuhkan waktu yang cukup lama . Berikut data hasil percobaan.
Tabel 1. Data Klasifikasi Citra
Percobaan ke-
Ukuran Citra
(pixel) Waktu yang dibutuhkan
1 92 x 102 3 min 15 sec dilakukan memperlihatkan bahwa ukuran citra
input mempengaruhi lamanya waktu proses
klasifikasi, semakin kecil ukuran citra input