skripsi diajukan sebagai salah satu syarat untuk...
Post on 11-Mar-2019
221 Views
Preview:
TRANSCRIPT
/
SOFTWARE PENGENAL POLA PAMOR KERIS JAW A
DENGAN MENGilvfPLEMENTASIKAN
KOHONEN NEURAL NETWORK
Skripsi
Diajukan Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
.. .. .. llilllBli.
I Ulll I
Oleh:
USWATUN HASANAH
109091000104
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DANTEKNOLOGI
UNIVERSITAS ISLAM NEGERI SY ARIF HIDA YATULLAH
JAKARTA
1434 HI 2014 M
[--;·1;~;.~~~J s.r-1~. ;<A-t\~:;·~~~:AM;-· \.· UIN SY/\lllD JAl<AhT/\ I
-·--···-~~-·----..~-~·-•*~"-•~~,-w---~
SOFTWARE PENGENAL POLA PAMOR KERIS JA WA
DENG AN MENGIMPLEMENTASIKAN KOHONEN NEURAL NETWORK
Skripsi
Diajukan Sebagai Salah Satu Syarat untuk Memperoleh Gelar Smjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri SyarifHidayatullah Jakarta
Pembimbing I
< Anif Hanifah S, M.Si
Oleh:
USW A TUN HASANAH 109091000104
Menyetujui,
NIDN. 07280 20340 389997
Mengetahui,
Pembimbing II
"
Victor Amrizal, M.Kom
NIP. 19740624 200710 1 001
Ketua Program di Teknik lnformatika
Nurhayati, Ph.
PENGESAHAN UJIAN
Skripsi denganjudul "SOFTWARE PENGENAL POLA PAMOR KERIS JA WA
DENGAN MENGIMPLEMENTASIKAN KOHONEN NEURAL NETWORK",
yang ditulis oleh USWATUN HASANAH, NIM 109091000104 telah diuji dan
dinyatakan lulus dalam siding Munaqosyah Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Senin, 20 Januari
2014. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar
Sazjana Komputer Strata Satu (SI) pada Program Studi Teknik Informatika.
Ria Hari Gusmita, M.Kom
NIP. 19820817 200912 2 002
Pembimbing I
~~· Anif Hanifah S, M.Si
NIDN. 07280 20340 389997
eknol gi
r. Agus Salim, M.Si
NIP 19720816 199903 1 003
Tim Penguji
Mengetahui
Jakarta, 20 Januari 2014
NIDN. 2001128101
Pembimbing II
Victor Amrizal, M.Kom
NIP. 19740624 200710 I 001
Ketua Program Studi Teknik
I ormatika
NIP. 19690316 199903 2 002
PERNYATAAN
DENGAN !NI SAY A MENY ATAKAN BAHWA SKRJPSJ !NI BENAR
BENAR HAS IL !<ARY A SAY A SENDIRI YANG BEL UM PERNAH
DIAJUKAN SEBAGAI SKRJPSJ ATAU KARYA ILMIAH PADA
PERGURUAN TJNGGI ATAUPUN LEMBAGA MANAPUN.
akarta, J a t ari 20 l 4
ABSTRAK
Uswatun Hasanah - I 09091000 I 04, "Software Pengenal Pola Pamor Keris
Jawa dengan Mengimplementasikan Koho11e11 Neural Network" di bawah
bimbingan !bu Anif Hanifah Setyaningrum, M.Si dan Bapak Victor Amrizal,
M.Kom.
Keris Jawa merupakan kebudayaan khas Nusantara (Indonesia) dalam bentuk benda tajam. Mutu suatu keris Jawa dapat dinilai melalui pola pamor yang menghiasinya. Selain sebagai parameter penentu mutu suatu keris Jawa, pamor juga menyumbangkan nilai keindahan (estetis). Pentingnya mengetahui keindahan dan mutu suatu keris Jawa tidak didukung dengan ketersediaan pakar keris Jawa pada zaman sekarang ini sehingga perlu dibuat sebuah software "pengenal pola pamor keris Jawa". Dari mengenali suatu pola pamor keris Jawa, diharapkan mutu dari keris Jawa tersebut dapat diidentifikasi.Sebagai hasil penelitian pertama yang membahas mengenai pola pamor keris Jawa, software ini difokuskan pada bagaimana cara mengenali nama dari pola pamor tersebut. Guna mendukung proses ke1janya, software ini mengimplementasikan sebuah sub disiplin ilmu kecerdasan buatan yaitu Koho11e11 Neural Network (KNN) untuk melakukan proses pelatihan (training) dan pengenalan (recogni::ing). Sebagai sebuah sojiirnre yang berhubungan dengan pola. dalam pengimpementasiannya sofiware ini tidak bisa terlepas dari teori-teori pola seperti teori deteksi tepi dan pengubahan pola citra ke brntuk negatif. Dalam mengimplementasikan Kohonen Neural Network (KNN), ilmu deteksi tepi, dan ilmu konversi citra ke bentuk negatifmenjadi suatu software yang dapat mengenali pola pamor keris Jawa maka diperlukan sebuah metode pengumpulan data serta metode pengembangan sojiware. Beberapa metode pent,umpulan data yang peneliti gunakan meliputi metode wawancara, studi kepustakaan, observasi, dan kuesioner. Adapun metode pengembangan software yang peneliti gunakan adalah ICONIX Process. Sedangkan bahasa pem rograman yang peneliti gunakan adalah bahasa pemrograman Java.
Kata Kunci : Deteksi Tepi, Efek Negatif, ICONIX Process, Java, Keris Jawa, Kohonen Neural Network (KNN), Pamor, Pola, Software.
Jumlah Daftar Pustaka: 12 Sumber (7 Buku Cetak + 2 E-Book + 1 Skripsi + 2
Artikel Ilmiah)
Jumlah Halaman : 150 (28 Tabel + 83 Gambar + 7 Lampiran)
7) Bapak Darmaji, S.Pd sebagai ahli budaya yang telah membagikan
pengetahuannya mengenai kebudayaan-kebudayaan Indonesia khususnya
kebudayaan mengenai perkerisan.
8) Mbah Jahid sebagai salah satu pakar keris yang membagikan
pengetahuannya mengenai keris.
9) Bapak Badrut Tamam sebagai kolektor keris yang dengan senang hati
meminjamkan beberapa kerisnya untuk diteliti.
I 0) Museum Nasional yang memperkenankan peneliti untuk berkunjung dan
mengambil beberapa gambar keris.
I I) Bapak, !bu, dan Adek tersayang yang setiap hari mendoakan kelancaran
proses menuju kelulusan SI serta dengan ikhlas dan pen uh cinta
memberikan semua yang peneliti minta.
12)Gita, Subhan, Bayu, Yunia, l-lisbul, l-lafidz, Ka Fikri, dan teman-teman Tl
angka:an 2009 lainnya.
13) Teman-reman Kost Amerilly House.
14) Se111ua pihak ynng r icridukung kcLl ;,-.::~;-~'.n )';·;_·><.'> ~-~krip;;i >._ii'<_:; ·,i1..L1k bi~a
peneliti sebutkan satu persatu.
Peneliti menyadari bahwa skripsi ini jauh dari sempurna, oleh karenanya
peneliti mengharapkan saran dan kritik dari para pembaca. Akhir kata, peneliti
berharap skripsi ini dapat bermanfaat bagi semua pihak.
Jakarta, Januari 20 I 4
Uswatun Hasanah
109091000104
DAFTARISI
HALAMAN JUDUL ........................................................................ i
LEMEAR PERSETUJUAN PEMBIMEING .......................................... ii
LEMEAR PENGESAHAN .............................................................. iii
LEMEAR PERNY AT AAN ................................................................................ iv
ABSTRAK .......................................................................................................... v
KATA PENGANTAR ........................................................................................ vi
DAFT AR IS! .................................................................................................... viii
DAFTAR TAEEL ............................................................................................. xii
BAB I PENDAHULUAN .................................................................................... 1
I. 1
1.2
1.3
1.4
i_atar 1Jci'1!.ang ................................................................................... 1
Rumusan Masalah ................................................................................. 3
Batasan Masalah .................................................................................... 4
Tujuan dan Manfaat Penelitian .............................................................. 4
1.4.1 Tujuan Penelitian ........................................................................... 4
I .4.2 Manfaat Penelitian .......................................................................... 5
I .5 Metodologi Penelitian ........................................................................... 5
1.5.1 Metode Pengumpulan Data ............................................................. 5
I .5.2 Metode Pengembangan Software .................................................... 7
I .6 Sistematika Penulisan ............................................................................ 8
BAB II LANDASAN TEORI ............................................................................ 10
2. l Pengenalan Pola .................................................................................. l 0
2.2 Ker is ................................................................................................... 14
2.2. l Pamor Keris ................................................................................. 16
2.2.2 Penamaan Pamor Keris ................................................................. 16
2.3 Artificial Neural Network (ANN) ........................................................ 18
2.3.1 Sejarah dan Perkembangan ANN .................................................. 19
2.3.2 Metode Pembelajaran dalam ANN ............................................... 20
2.4 Kohonen Neural Network (KNN) ........................................................ 21
2.4.1 Struktur Jaringan pada KNN ......................................................... 22
2.4.2 Proses Belajar pada KNN ............................................................. 24
2.5 Pengolahan Citra Digital... ................................................................... 27
2.6 Canny Edge Detection ......................................................................... 27
2. 7 Citra Negatif.. ...................................................................................... 28
2.8 ICONlX Process .................................................................................. 29
2.8.1 Domain Model...................................................... . .............. 29
2.8.2 Behavioral Requirements .............................................................. 31
2.8.3 Robustness Diagram ..................................................................... 32
2.8.4 Sequence Diagram ........................................................................ 35
2.8.5 Class Diagram .............................................................................. 37
2.8.6 Fitur-fitur Utama lCONIX Process ............................................... 38
2.8. 7 Keunggulan ICONlX Process dibandingkan Metode-metode Lain 39
2.8.8 Tahap-tahap dalam ICONIX Process ............................................ 39
2.9 Bahasa Pemrograman Java .................................................................. 40
2.9.1 Sejarah Bahasa Pemrograman Java ............................................... 40
2.9.2 Tiga Teknologi yang Terdapat pada Java ...................................... 40
2.9.3 Java l/O (Input Output) ................................................................ 41
2.9.4 Keunggulan Bahasa Pemrograman Java ........................................ 41
2.10 Netbeans .......................................................................................... 42
2.10.1 Netbeans 7.2.1 .............................................................................. 42
BAB Ill METODOLOGI PENELITIAN ........................................................... 44
3.1 Metode Pengumpulan Data .................................................................. 44
3.2 Metode Pengembangan Sistem ............................................................ 46
3.2.1 Requirements Desfinition ............................................................. 46
3.2.2 Analysis/Preliminaty Design ........................................................ 47
3.2.3 Detailed Design ............................................................................ 47
3.2.4 Implementasi (Implementation) .................................................... 47
BAB IV HASIL DAN PEMBAHASAN ............................................................ 49
4.1 Requirements Definition ...................................................................... 49
4.1. I Functional Requirements Definition ............................................. 49
4. I .2 Domain /\fodeling ............................................ . 54
4.1.3 Behavioral Requirements Definition ............................................. 59
4.2 Analysis/Preliminary Design ............................................................... 74
4.3 Detailed Design ................................................................................... 82
4.4 Implementation .................................................................................... 89
4.4.1 Coding ......................................................................................... 89
4.4.2 Testing ....................................................................................... 106
BAB V PENUTUP .......................................................................................... 119
5.1 Kesimpulan ....................................................................................... 119
5.2 Saran ................................................................................................. 120
LAMPJRAN I (Foto Keris Jawa) .................................................................... 123
LAMP IRAN 2 (Hasil Running Terhadap Software Pengenal Pola Pamor Keris
Jawa) ............................................................................................................... 129
LAMPIRAN 3 (Hasil Wawancara I) ............................................................... 141
LAMPIRAN 4 (Hasil Wawancara 2) ............................................................... 142
LAMPIRAN 5 (Hasil Wawancara 3) ............................................................... 143
LAMPlRAN 6 (Downsampling Citra Ukuran I OOx 100) ................................... 144
LAMPIRAN 7 (Downsampling Citra Ukuran 50x50) ...................................... 149
DAFTAR GAMBAR
Gambar I Alur Pendeteksian Pola dengan Pendekatan Statistik ......................... 10
Gambar 2 Alur Pendeteksian Pola dengan Pendekatan Sintaks .......................... 12
Gambar 3 Alur Pendeteksian Pola Retak Jalan dengan Pendekatan ANN ........... 13
Gambar 4 Struktur Jaringan KNN ...................................................................... 22
Gambar 5 Alur Proses Belajar KNN .................................................................. 24
Gambar 6 Struktur Model ICONIX Process ....................................................... 29
Gambar 7 Pe ran Robustness Analysis ................................................................ 32
Gambar 8 Simbol-simbol Robustness Diagram .................................................. 33
Gambar 9 Simbol-simbol Sequence Diagram ..................................................... 35
Gambar I 0 Simbol-simbol Class Diagram ......................................................... 37
,, , d,,~k,1 LcrCikir ........ .................................................................. 48
Garn bar 12 Al ur Pendeteksian Pola Pam or Keris hwa ....................................... 49
Garn bar I 3Domain Model ................................................................................. 58
Gambar 14 Storyboard I (Tampilan Awai Software) ......................................... 59
Garn bar 15 Storyboard 2 (Halaman Olah Citra) ................................................. 60
Gambar 16 Storyboard 3 (Halaman Tambah Data) ............................................. 61
Gambar 17 Storyboard 4 (Halaman Kenali Pola) ............................................... 63
Garn bar 18 Use Case ......................................................................................... 65
Garn bar 19 Robustness Diagram 1 (Meng-klik Tombol Olah Citra) ................... 74
Garn bar 20 Robustness Diagram 2 (Meng-upload Citra Tunggal) ...................... 75
Garn bar 2 I Robustness Diagram 3 (Melakukan Deteksi Tepi) ........................... 75
Gambar 22 Robustness Diagram 4 (Melakukan Konversi ke Citra Negatif) ....... 76
Gambar 23 Robustness Diagram 5 (Menyimpan Citra pada PC/Laptop) ............ 76
Gambar 24 Robustness Diagram 6 (Meng-klik Tombol Tam bah Data) .............. 77
Gambar 25 Meng-upload Data ........................................................................... 77
Gambar 26 Robustness Diagram 8 (Menghapus Data) ....................................... 78
Gambar 27 Robustness Diagram 9 (Meng-upload Citra Masukan) ..................... 78
Gambar 28 Robustness Diagram I 0 (Melakukan Proses Downsampling Citra) .. 79
Gambar 29 Robustness Diagram 11 (Menamai Citra) ........................................ 79
Gambar 30 Robustness Diagram 12 (Menyimpan Data Citra) ............................ 80
Gambar 31 Robustness Daigram 13 (Meng-klik Tombol Kenali Pola) ............... 80
Gambar 32 Robustness Diagram 14 (Melakukan Proses Training KNN) ............ 81
Gambar 33 Robustness Diagram 15 (Melakukan Pengenalan Pola) .................... 81
Gambar 34 Sequence Diagram I (Meng-klik Tombol Olah Citra) ...................... 82
Gambar 35 Sequence Diagram 2 (Meng-upload Citra Tunggal) ......................... 83
Gambar 36 Sequence Diagram 3 (Melakukan Deteksi Tepi) .............................. 83
Gambar 3 7 Sequence Diagram 4 (Melakukan Konversi ke Citra Negatif) .......... 84
Gambar 38 Sequence Diagr~m 5 (Menyimpan Citra Pada PC/Laptop) ............... 84
Gambar 39 Sequence Diagram 6 (Meng-klik Tombol Tambah Data) ................. 85
Gambar 40 Sequence Diagram 7 (Meng-upload Data) ....................................... 85
Gambar 41 Sequence Diagram 8 (Menghapus Data) .......................................... 86
Gambar 42 Diagram 9 (Meng-upload Citra Masukan) ....................................... 86
Gambar 43 Sequence Diagram I 0 (Melakukan Proses Downsampling Citra) ..... 87
Gambar 44 Sequence Diagram 11 (Menamai Citra) ........................................... 87
Gambar 45 Sequence Diagram 12 (Menyimpan Data Citra) ............................... 88
Gambar 46 Sequence Diagram 13 (Meng-klik Tombol Kenali Pola) .................. 88
Garn bar 71 Tampilan Citra yang Sudah Tersegmentasi .................................... 109
Gambar 72 Garn bar Setelah Dilakukan Ekstraksi Ciri ( dengan Mendapatkan
Deteksi Tepi) ................................................................................................... I 09
Garn bar 73 Perbaikan Mutu (Konversi Citra ke Bentuk Negatif) ...................... 110
Gambar 74 Penyimpanan Hasil Perbaikan Mutu Citra Telah Berhasil .............. 110
Gambar 75 Representasi Downsampling Citra (IOOxIOO) ................................ 111
Gambar 76 Labelisasi ...................................................................................... 112
Gambar 77 Load Data ...................................................................................... 113
Gambar 78 Upload Citra yang Akan di-Training .............................................. 113
Gambar 79 Laporan Hasil Training .................................................................. 114
Garn bar 80 Hasil Pengenalan ........................................................................... 114
Gambar 81 Downsampling Matriks Citra 50x50 .............................................. 116
Gambar 82 1-la,il Prose_; Training (P.latriks 5Ux5U J .......................................... 117
Gambar 83 1-Iasil Pengenalan Pola Pamor Keris Jawa (Matriks 50x50) ............ 117
BABI
PENDAHULUAN
1.1 Latar Belakang
Pada awal munculnya, komputer hanya difungsikan sebagai alat
komputasi, namun seiring perkembangan zaman fungsi tersebut semakin
berkembang pula. Salah satu perwujudan dari perkembangan komputer
adalah diciptakannya komputer yang mengadopsi cara berifikir dan
bertindak manusia. Adapun konsep pembuatan komputer yang bersifat
human/ike disebut dengan kecerdasan buatan.
Menurut Sri Kusumadewi dalam bukunya yang berjudul Artificial
Intelligence (Teknik dan Aplikasinya) menyatakan bahwa "Kecerdasan
buatan atau artificial Intelligence merupakan salah satu bagian dari ilmu
komputer yang membuat agar mesin (komputer) dapat melakukan seperti
d:in :.c!"~'.ik : ::.n:; dilaLt:ka11 cilch r.1anusia:·1
llmu kecerdasan buatan memiliki beberapa subdisiplin ilmu salah
satunya adalah Jaringan Syaraf Tiruan (Artificial Neural Network). Seperti
halnya komputer yang mengalami perkembangan, JST juga mengalami
beberapa perkembangan. JST muncul pertama kali sekitar tahun 1940-an
dengan ditemukannya sebuah penemuan oleh para ilmuan bahwa psikologi
dari otak manusia sama dengan pemrosesan yang dilakukan oleh komputer.
Setelah mengalami beberapa perkembangan, tiba saatnya pada tahun 1982,
seorang profesor yang bernama Teuvo Kohonen mengembangkan metode
pembelajaran jaringan syaraf tiruan yang tidak terawasi (unsupervised
learning) yang sebelumnya yaitu pada tahun 1974, Paul John Werbos
memperkenalkan algoritma backpropagation untuk melatih perceptron
dengan banyak lapisan (multiple layer perceptron). Metode pembelajaran
1 Sri Kusumadc\vi, Artificial Intelligence : Teknik dan Aplikasinya (Yogyakarta: Graha Ilmu, 2003), h. l.
yang ditemukan oleh Prof.Teuvo Kohonen tersebut diberi nama sesuai nama
belakang penemunya, sehingga menjadi Kohonen Neural Network.
Sebagai metode pembelajaran yang tidak terawasi (unsupervised
learning), Kohonen Neural Network memiliki sifat self organizing yaitu
sebuah kemampuan memetakan dirinya sendiri untuk mendapatkan output
yang diinginkan. Selain itu, Kohonen Neural Network juga tidak
menggunakan fungsi aktivasi sehingga tidak menggunakan bobot bias (Bias
Weight) sebagaimana yang digunakan oleh metodc bakcpropagation.
Berdasarkan beberapa sifat tersebut, Kohonen Neural Network seringkali
diterapkan dalam program yang berbasis pengenalan pola karena struktur
jaringannya yang relatif sederhana sehingga mampu mempercepat proses
pembelajaran.
Keris adalah sebuah karya seni khas Nusantara dalam bentuk senjata
tajam dengan salah satu jenisnya adalah keris Jawa. Salah satu hal yang
paling menarik dari keris Jawa adalah struktur pola pamor-nya yang sangat
detail dan cenderung rumit serta kompleks sehingga sering dijadikan acuan
dalam pembuatan keris jenis Jainnya seperti keris Bali dan Jain sebagainya.2
Melihat kompleksitas serta kerumitan dari detail pamor keris Jawa ini maka
diperlukan sebuah metode pengenalan pola yang sesuai. Mengacu pada
sebuah artikel yang berjudul "Kohonen Self-Organizing Feature Map in
Pattern Recognition" yang mengimplementasikan Kohonen Neural Network
untuk mengenali citra satelit berdasarkan ciri-cirinya, serta dikatakan pula
dalam artikel tersebut bahwa jenis pola citra satelit memiliki informasi
(tekstur) yang kompleks, dengan demikian penulis beranggapan bahwa
sesuai dengan kerumitan dari citra satelit tersebut maka Kohonen Neural
Network merupakan metode yang sesuai untuk melakukan pengenalan
terhadap pola pamor keris Jawa yang juga memiliki kerumitan dalam
teksturnya.
2 Wa\vancara Pribadi dengan Bapak Victor Amrizal, Jakarta, 03 Maret 2013.
Meskipun Indonesia merupakan tempat asal lahirnya kebudayaan
keris, saat ini sudah sangat jarang ditemui orang-orang yang ahli dalam
bidang perkerisan. Sehingga pengidentifikasian terhadap pola pamor keris
sering kali masih terjadi kesalahan. Selain itu masih banyak pula masyarakat
Indonesia yang tidak mengetahui mengenai Keris Jawa serta Pola Pamor
nya. Hal ini merupakan sebuah ironi mengingat bahwa bangsa lndonesialah
pemilik budaya keris akan tetapi tidak mengenali bentuk-bentuk po la pamor
keris itu sendiri. Dalam survey yang dilakukan kepada 35 orang masyarakat
Indonesia, 32 orang menyatakan penting dilakukan pembuatan sebuah
software yang dapat mengenali bentuk-bentuk pola pamor keris Jawa.
Dengan software tersebut diharapkan dapat memberikan manfaat praktis di
antaranya adalah dapat mensosialisasikan bentuk-bentuk pola pamor keris
Jawa sehingga pengetahuan mereka tentang kebudayaan keris menjadi lebih
kaya.
Berdasarkan beberapa latar belakang di atas, peneliti tertarik umuk
membual sebuah software yrrng dapat mengenali pola pw11or kcris Jawa
dengan mengimplementasikan salah satu metode pembelajaran tidak
terawdsi pada Artificial Neural Network yang dikenal dengan metode
Kohonen Neural Network. Adapun judul yang dipilih oleh penulis adalah
Snftware Pengenal Pola Pamor Keris Jawa dengan Meng
implementasikan Kohonen Neural Network (KNN).
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, berikut ini :nasalah yang dapat
dirumuskan :
I. Bagaimana membuat sebuah software yang mampu mengenali pola
pamor keris Jawa dengan menerapkan metode Kohonen Neural
Network?
2. Berapakah ukuran matriks yang paling sesuai untuk melakukan
pengenalan pola pamor keris Jawa dengan mengimplementasikan
Kohonen Neural Network? Apakah matriks dengan ukuran 1OOxl00
ataukah 50x50?
1.3 Batasan Masalah
Berdasarkan rumusan masalah di atas, berikut ini batasan-batasan
masalah dalam penelitian dalam rangka Penyusunan Tugas Akhir Kuliah
(Skripsi) :
1. Penelitian fokus pada penerapan (implementasi) metode Kohonen
Neural Network ke dalam sebuah program komputer (software) dalam
rangka mengenali pola pamor keris Jawa.
2. Berdasarkan judul, objek penelitian hanya fokus pada keris-keris yang
berasal dari Jawa.
3. Bahasa pemrograman yang digunakan adalah Java.
4. Metode prngembangan software yang digunakan adalah ICONIX
Process.
5. Karena 111e11ggun~:kan !111.. tudc !C()NIX Process, \ isu,di:.-t::,! ubjt:k dan
kelas dilakukan dengan menggunakan UML.
6. Penyimpanan data dilakukan dengan fungsi 1/0 (Input/ Output) di
Java.
7. Java IDE yang dipakai adalah Netbeans 7.2.1.
8. Alat yang digunakan untuk pemodelan adalah Entrprise Architect.
9. Hasil penelitian berupa software berbasis desktop.
1.4 Tujuan dan Manfaat Penelhian
1.4.1 Tujuan Penelitian
Tujuan penelitian daiam rangka penyusunan Tugas Akhir Kuliah
(Skripsi) ini adalah : Membuat sebuah software yang mampu mengenali
pola pamor keris Jawa dengan mengimplementasikan Kohonen Neural
Network.
1.4.2 Manfaat Penelitian
Sedangkan manfaat dari penelitian adalah : Dengan terwujudnya
sebuah software tersebut, identifikasi terhadap po/a pamor keris Jawa
menjadi semakin mudah dan lebih akurat kebenarannya.
1.5 Metodologi Penelitian
Dalam mengimplementasikan metode Kohonen Neural Network
dalam penelitian dan pembuatan laporan skripsi ini, peneliti perlu
melakukan pengumpulan data melakukan tahapan-tahapan pengembangan
sistem berdasarkan metode yang dipilih yaitu metode ICONlX Process.
1.5.1 Metode Pengumpulan Data
Dalam melakukan pengumpulan data, berikut m1 metode-metode
yang telah peneliti gunakan :
1. w·a,vancara
\1et(~d._:: \\a\\~H1'.:ara ~1d~1l~!h n1etode pcngun1pulan cl<:!ta Jengan
cara melakukan tanya jawab terhadap pihak yang terkait. Dalam
penelitian ini, wawancara dilakukan kepada para pakar Keris dan
pengamat budaya Jawa. Tujuan melakukan wawancara terhadap para
pakar keris adalah untuk mendapatkan pengetahuan tentang keris Jawa
khususnya pola pamor-nya.
2. Studi Kepustakaan
Metode studi kepustakaan merupakan metode pengumpulan
data dengan cara mencari sumber-sumber literatur yang terkait dengan
bahasan penelitian. Basil dari metode ini nantinya digunakan sebagai
landasan teori dalam penulisan laporan. Bentuk penerapan studi
kepustakaan yang dilakukan adalah dengan mencari beberapa buku,
jurnal, serta dokumentasi-dokumentasi dalam berbagai bentuk (laporan
penelitian serta foto) yang berkaitan dengan obyek penelitian.
Dari beberapa sumber relevan yang didapat, terdapat dua
sumber utama yang peneliti gunakan sebagai acuan dalam penelitian
kali ini yaitu :
a. Sebuah artikel
ORGANIZING
RECOGNITION"
yang berjudul "KOHONEN SELF
FEATURE MAP IN PATTERN
karangan Markus Toma dari Institute of
Photogrammetry and Remote Sensing Helinsky University of
Technology. Artikel tersebut mengungkapkan kegunaan Kohonen
Neural Network dalam mengenali citra satelit. Diungkapkan juga
dalam artikel tersebut bahwa dalam sebuah citra satelit didapatkan
informasi yang sangat banyak, sehingga untuk mendapatkan
informasi yang kita inginkan maka diperlukanlah Kohonen Neural
Network untuk melakukan ekstraksi ciri.
b. Penelitian yang dilakukan oleh prof.Jeff Heaton dalam proyek
penelitiannya yang bernama "Heaton Research" khususnya
re:ielitian Yang [1erjuclul "'OCR \\'ith the Kohonen Neural
Network". Dalam penelitian tersebut diterangkan pula cara kerja
Kohonen Neural Network dalam mengenali suqtu pola.
3. Obscrvasi
Metode observasi merupakan sebuah metode pengumpulan data
dengan cara melakukan pengamatan langsung terhadap objek yang diteliti.
Dalam ha! ini, peneliti mendatangi beberapa tempat yang di dalamnya
terdapat beberapa keris Jawa. Tempat pertama yang didatangi adalah
Museum Nasional dan tempat kedua adalah kediaman pemilik keris Jawa
yaitu Bapak Badrut Tamam. Dari observasi tersebut didapatkan beberapa
gambar keris beserta pola pamor-nya.
4. Kucsioner
Kuesioner merupakan teknik pengumpulan data dengan melakukan
survei melalui daftar pertanyaan. Dalam penelitian ini kuesioner ditujukan
kepada sebagian kecil masyarakat Indonesia dari berbagai kaiangan.
Tujuan dilakukan survei dalam bentuk kuesioner kepada masyarakat
Indonesia adalah untuk mengetahui antusiasme mereka terhadap dibuatnya
sebuah software yang dapat mengenali pola pamor keris Jawa.
Dalam teorinya, kuesioner terbagi ke dalam dua teknik yaitu free
format dan Fix Format. Teknik free format merupakan sebuah teknik
kuesioner dengan memberikan kebebasan terhadap responden untuk
menjawab pertanyaan. Sedangkan tetnikfix format memerlukan tanggapan
spesifik dari individu, dengan kata lain responden harus memilih jawaban
yang sudah disediakan. Adapun teknik kuesioner yang dipilih dalam
penelitian ini adalah teknikfree format.
1.5.2 Metode Pengembangan Software
Dalam pembuatan software pengenal pola pamor keris Jawa ini,
peneliti menerapkan sebuah metode pengembangan software yang
bernama metode JCONIX Process. Berikut ini tahapan-tahapan yang
terdapat dalam metode ICONIX Process :
1. Requirements Defi11itio11
Dalam rangka mengumpulkan informasi mengenai kebutuhan
software, dalam ICONIX Process dilakukan beberapa ha! berikut:
I) Functional requirements Definition
2) Domain Modeling
3) Behavioial Requirements Definition
2. A11alysis/Prelimi11ary Design
Hal ini diwujudkan dengan pembuatan robustness diagram
berdasarkan masing-masing use case yang telah dimodelkan pada tahap
sebelumnya.
3. Detailed Design
Hal ini diwujudkan dengan pembuatan sequence diagram
berdasarkan robustness diagram yang telah dimodelkan pada tahap
sebelumnya.
4. Implementation
Implementation terbagi menjadi dua tahap yaitu :
I) Coding
2) Testing
1.6 Sistematika Penulisan
Sistematika penulisan laporan penelitian adalah sebagai berikut :
BABI
BAB II
PENDAHULUAN
Menjelaskan tentang Latar Belakang Penelitian, Batasan
Masalah, Rumusan Masalah, Tujuan dan Manfaat Penelitian,
Metodologi Penelitian, serta Sistematika Penulisan.
LANDASAN TEORI
Menjelaskan tentang teori-teori yang digunakan untuk
penyusunan laporan penelitian serta pembuatan software
pengenal pola pamor keris Jawa. Landasan teori tersebut
terangkum dalam beberapa sub-bab utama yaitu Pengenalan
Pola. Keris, A11ificial Neural Network (ANN). Kohonen Neural
Network (KNN), Pengolahan Citra Digital, Canny Edge
Detection, Citr Negatif, ICONIX Process, Bahasa Pemrograman
Java, dan Netbeans.
BAB III METODOLOGI PENELITIAN
Menjelaskan tahap-tahap yang telah dilakukan dalam
penelitian dan penyusunan laporan penelitian. Tahap-tahap
(metodologi) tersebut terbagi menjadi dua yaitu metodologi
pengumpulan data dan metodologi pengembangan sistem. Di
akhir bab dijelaskan mengenai kerangka berfikir peneliti dalam
melaksanakan penelitian.
BAB IV HASIL DAN PEMBAHASAN
Menjelaskan tentang hasil dari masing-masing tahap yang
dilakukan dalam pembuatan software pengenal pola pamor keris
Jawa sesuai dengan metode ICONIX Process hingga tahap
pengujian software yang meliputi percobaan implementasi
0
BABY
software pengenal dengan matriks yang berbeda ( 1OOx1 00 dan
50x50) serta tabel perbandingan dari masing-masing percobaan
tersebut.
PENUTUP
Berisi kesimpulan dan saran.
2.1 Pengenalan Pola
BAB II
LANDASAN TEORI
Salah satu pengertian pola menurut kamus besar bahasa Indonesia
adalah bentuk (struktur) yang tetap. Sedangkan proses mendeteksi pola dasar
disebut pengenalan pola. Pengenalan pola bertujuan untuk menentukan
kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola
tersebut.
Terdapat tiga pendekatan dalam pengenalan pola3 yaitu :
1. Statistik
Merupakan pendekatan dengan menggunakan data-data yang
berasal dari statistik. Pendekatan ini menggunakan teori-teori ilmu
peluang dan statistik. Ciri-ciri dari suatu pola ditentukan oleh data
statistiknya. Pola yang berbeda memiliki data statistik yang berbeda
pula.
Sistem pengenalan pola dengan pendekatan statistik ditunjukkan
oleh diganna berikut :
Pob _. P1eproces~i11g >---->;
P~i<ltihan !. 1raini11g)
Fear1fl'('
E.Hracrion
Pola terokan Feature Selection
f---~1 C!a;~~(icaifo11
Lean1111g
Gambar 1 Alur Pendeteksian Pola dengan Pendekatan Statistik4
• Preprocessing
3 Brigida Arie Minartiningtyas, Pendekatan Pengena/an Pola, artikel diakses pada 03 Maret 2013 dari http ://inf ormat i ka. \Ve b. i di pen de katan-pen gen alan-po 1 a. h tm ·1 Rinaldi Munir, Pengolahan Citra Digital, artikel diakses pada 03 Maret 20 I 3 dari hltp://informatika.stei.itb.ac.id/-rinaldi.munir/Buku/Pengolahan%20Citra%20Digital/Bab-15 Pengenalano/o20Pola.pdf
Merupakan proses awal yang dilakukan untuk memperbaiki
kualitas citra dengan menggunakan beberapa teknik pengolahan citra
yang ada.
• Feature Extraction
Merupakan suatu proses mengambil ciri-ciri yang terdapat pada
objek dalam citra. Pada proses ini objek di dalam citra mungkin
perlu dideteksi seluruh tepinya, lalu menghitung properti-properti
objek yang berkaitan sebagai ciri. Beberapa proses yang termasuk
dalam feature extraction di antaranya adalah mengubah citra
masukan menjadi citra biner (matriks citra yang terdiri dari angka
yaitu 0 atau I), melakukan penipisan po la, dan lain sebagainya.
• Classification
Merupakan sebuah proses mengelopokkan objek dalam kelas
yang sesuai.
• Feature Selectio11
!\-1crupakan scbuah proses n1en1ilih ciri pada suatu objek agar
diperoleh ciri yang dapat digunakan untuk membedakan suatu objek
dengan objek lainnya.
o Leaming
Merupakan sebuah proses belajar membuat aturan klasifikasi
sehingga kemungkinan jumlah kelas yang tumpang tindih menjadi
sangat kecil.
Berdasarkan gambar tersebut, proses pengenalan pola dengan
menggunakan pendekatan sintaks memiliki dua fase yaitu fase pelatihan
dan fase pengenalan.
Pada fase pelatihan, beberapa contoh citra dipelajari untuk
menentukan ciri yang akan digunakan dalam proses pengenalan serta
prosedur klasifikasinya.
Pada fase pengenalan, citra diambil cirinya kemudian ditentukan
kelas kelompoknya.
5 Ibid
Kumpulan ciri dari suatu pola dinyatakan sebagai vektor ciri
dalam ruang mulli-dimensi. Jadi, setiap pola dinyatakan sebagai titik
dalam ruang multi-dimensi tersebut. Ruang multi-dimensi dibagai
menjadi sejumlah sub-ruang. Tiap sub-ruang dibentuk berdasarkan
pola-pola yang sudah dikenali kategori dan ciri-cirinya melalui fase
pelatihan.
2. Sintaks
Merupakan pendekatan dengan menggunakan aturan-aturan
tertentu. Pendekatan ini menggunakan teori bahasa formal. Ciri-ciri
yang terdapat pada suatu pola ditentukan primitif dan hubungan
struktural antara primitif kemudian menyusun tata bahasanya. Dari
aturan produksi tata bahasa tersebut kita dapat menentukan kelompok
po la.
Sistem pengenalan pola dengan pendekatan sintaks ditunjukkan
oleh gambar diagram berikut:
P11L1 ! i ,---
: Pr1111un·e . l ( 'iass(ficario11 F'reproce.ss111g I Exrrac1io11
r--+
Pcngenalan ( recog11itio11) 1
~~~t~ -------··--·-·----·--·--·---------~------ ---·-------·~- ~------ --- ----- -----Pelntihan (1rai11i11g)
Pola terokan Printitire Selection
Leanli11g
Gambar 2 Alur Pendeteksian Pola dengan Pcndekatan Sintaks5
Pendekatan yang digunakan dalam membentu'< tata bahasa untuk
mengenali pola adalah mengikuti kontur (tepi batas) objek dengan
sejumlah segmen garis tersebut (misalnya dengan kode rantai). Setiap
segmen garis merepresentasikan primitifpembentuk objek.
3. Melalui Pendekatan Artificial Neural Network (Jaringan Syaraf
Ti man)
Merupakan pendekatan dengan menggabungkan pendekatan
sintaks dan statistik. Pendekatan ini meniru cara kerja manusia dengan
cara membuat aturan-aturan tertentu disertai dengan data-data statistik
sebagai dasar dalam pengambilan keputusan.
Sebagai sebuah metode yang menggabungkan dua metode
lainnya yaitu metode sintaks dan statistik, maka metode ini merupakan
metode pengenalan pola yang Iebih akurat.
Berikut ini alur pendeteksian pola dengan pendekatan Artificial
Neural Network dengan contoh kasus "Pengenalan Pola Retak Jalan":
Garn bar 3 Alur Pendeteksian Pola Rctak Jalan dengan Pcndckatan ANN6
• Segmentasi merupakan proses yang ditujukan untuk mendapatkan objek
objek yang terkandung di dalam citra. 7 Dengan kata Iain, segmentasi
merupakan sebuah proses pernisahan antara objek citra dengan
background-nya.
• Ekstraksi ciri memiliki pengertian yang sama dengan fature extraction
seperti yang dijelaskan sebelumnya.
6 P.D.A Kusumojati, Siste111 Pengenalan .Pola Retak Jalan dengan Jaringan Syaraf Tiruan Topo/ogi Propagasi Batik, (Skripsi SI Fakultas Teknik Universitas Indonesia), ha!. 28 7 Abdul Kadir dan Adhi Susanto, Teori danAplikasi Pengolahan Citra (Yogyakarta: Andi, 2013), ha!. 336
2.2 Keris
Keris merupakan karya seni khas Nusantara (Indonesia) dalam bentuk
benda tajam. Banyak temuan dalam bidang arkeologi dan sejarah yang
menyimpulkan bahwa keris generasi awal dibuat di Jawa Tengah dan Jawa
Timur yaitu pada masa kerajaan Majapahit dan Mataram. Sebagai benda
tajam, fungsi keris pada awalnya hanyalah sebagai alat tikam, namun seiring
berkembangnya peradaban manusia, keris mengalami perluasan fungsi di
antaranya sebagai benda seni, pengungkapan falsafah, serta peng
ejawentahan simbol dan harapan.
Pangeran Hadiwidjojo (seorang bagsawan di lingkungan keraton
Surakarta) pernah mengatakan bahwa kata keris berasal dari bahasa Jawa
Kuno yang dijabarkan dari akar kata keris dalam bahasa Sansekerta yang
berarti menghunus. Ki Moesa (seorang guru besar agama Islam di
Yogyakrta) menyatakan bahwa kata keris berasal dari kata haris yang artinya
'penjaga keselamatan diri'. Untuk ejaan keris sendiri terdapat beberapa
perbeJaan; Jalain bcrbagai !iteratur Baral dite1nukan ejaan kris, h.aris, calis,
crist, creis, creest, kriss, dan krees. 'Kari' adalah sebutan keris oleh orang
Minangkabau, 'tappi' oleh orang Sulawesi Selatan, dan 'Kekusur' oleh orang
Minahasa.
Kelahiran keris di daerah Jawa (Jawa Tengah dan Jawa Timur) tidak
terlepas dari budaya Dongson. Budaya Dongson merupakan budaya
tembaga, perunggu, dan besi yang dibawa oleh suku bangsa Yunani dan
Indocina ketika bermigrasi ke Nusantara (Indonesia) sekitar tahun 1500 SM.
Teori tentang budaya Dongson tersebut dijadikan dasar oleh Bernet
Kempers (I 959) untuk menguatkan teorinya tentang kelahiran keris di Jawa.
Dalam teorinya, Bernet meperkirakan bahwa bentuk keris merupakan
perkernbangan dari senjata tusuk zaman perunggu yang banyak ditemukan
dalam budaya Dongson. Teori lain tentang kelahiran Keris di Jawa juga
diungkapkan oleh seorang kolektor senajata tajarn yang bernama Egerton
( 1968). Dalam teorinya Egerton mengungkapkan bahwa pencipta keris Jawa
adalah Panji Inn Kcrtapati yang merupakan seorang raja Jenggala ke-14.
Sedangkan menurut Ronggowarsito dalam bukunya yang berjudul Prate/an
Dhapur saha Waas dikatakan bahwa keris pertama kali dibuat oleh Empu
Ramadi atas titah Sri Paduka Mahadewa Buda. Dalam bukunya tersebut
diungkapkan juga mengenai tahun pembuatan keris pertama kali yaitu 142
tahun Jawa atau sekitar tahun 220 M.
Di Jawa keris juga disebut 'tosan aji' atau 'wesi aji', yang artinya besi
yang bernilai atau dimuliakan. Bagi orang Jawa Kuno yang percara, Keris
sangat dikeramatkan karena dianggap memiliki kekuatan spiritual yang
diturunkan langsung oleh para Dewa.
Dalam pembuatannya, keris memiliki filosofi tersendiri yang
didasarkan pada nilai-nilai Jawa. Salah satunya adalah bagian depan keris
selalu diposisikan menghadap ke kiri. Menururt nilai-nilai yang ada di Jawa,
kiri selalu dianalogikan dengan sesuatu yang bersifat negatif. Adapun arti
posisi yang menghadap ke kiri tersebut adalah manusia sebaiknya selalu
berusaha memberantas hal yang tidak baik. Daiam keadaan terasrung dan
tcrjunf'kirrun keris tctap menghadari ke kiri. Hal ini mengisyarntkan bahwa
bagiamanapun keadaan yang terjadi pada manusia, manusia tersebut harus
tetap menegakkan kebenaran dan memberantas keburukan.
Meskipun beberapa teori telah menyebutkan bahwa keris barasal dari
Jawa Tengah dan Jawa Timur namun keris juga terdapat didaerah luar Jawa
Tengah dan Jawa Timur (keris bisa ditemukan di seluruh wilayah Indonesia
kecuali di Maluku dan Irian Jaya). Selain tersebar di hampir seluruh wilayah
di Indonesia, penyebaran keris juga terjadi di Malaysia, Singapura, Brunei
Darussalam, Filipina bagian Selatan, dan Thailand Selatan.
Penyebaran keris di luar Jawa ter1adi akibat beberapa ha! di antaranya
adalah keris dijadikan sebagai manifestasi perdamaian, penguat
persahabatan, cenderamata, lambang ikatan, alat tukar perdagangan, serta
akibat te1jadinya peperangan dalam hal tujuan perluasan kekuasaan wilayah
kerajaan.
Pembuat keris dikenal dengan sebutan Empu. Kata empu sering
dikaitkan dengan kata mumpuni yang artinya adalah orang yang sanggup
melakukan suatu pekerjaan yang sulit dengan baik dan mempunyai keahlian
yang tinggi. Dalam dunia perkerisan, seorang empu bertanggung jawab
Jangsung dan menyeluruh dalam pembuatan bilah keris, dari mulai
pemilihan bahan baku, menentukan waktu awal pengerjaan keris, mengolah
bahan hingga menjadi keris, merekayasa pola pamor keris, hingga urusan
sesajinya. Pembuatan keris sangat rumit dan dianggap penuh dengan bahaya,
dengan demikian seorang empu sering dianggap memiliki kemampuan
spiritual yang tinggi.
2.2.l Pamor Keris
Salah satu faktor yang menentukan keindahan sebilah keris adalah
suatu pola yang terbentuk di atasnya. Pola tersebut sering disebut dengan
pamor. Melihat pengertian di atas, dapat dikatakan bahwa pamor dapat
memberikan manfaat estetis pada sebilah keris karena dari keindahan pola
pamor tersebut suatu keris dapat dinilai mutunya.
2.2.2 Penamaan Pamor Keris
Bukan hanya manusia yang membutuhkan sebuah nama untuk
menentukan !dentitas diri serta untuk menggantungkan harapan, benda
benda lain termasuk jenis pola pamor keris juga memerlukan sebuah
nama. Selain sebagai identitas atau pengenal, dengan nama atau sebutan
yang indah diharapkan akan muncul daya spiritual tertentu pada keris
tersebut. Sama halnya dengan penamaan seorang anak yang merupakan
hak sepenuhnya orang tua, penamaan untuk po la pamor juga merupakan
hak bagi penciptanya (empu).
Pembuatan pola pada sebiiah keris juga bisa saJa mengalami
kegagalan. Jika gaga! atau tidak sesuai dengan harapan empu, nama pamor
ditambah dengan kata Wurung dibelakangnya. Misalnya pola pamor Udan
Mas Wurung, mengindikasikan bahwa pola Udan Mas yang didapatkan
tidak sesuai dengan harapan sang empu.
Berikut ini aturan-aturan dalam panamaan pada po la pamor keris 8:
I) Pamor yang menampakkan kesan seperti kain satin diberi tambahan kata
ngindhen.
Contoh : Beras Wutah - Ngindhen.
2) Bila ada garis pamor yang mengikuti tepian bilah keris, maka
ditambahkan istilah tepen atau wengkon atau winengku. Ketiga istilah
terse but memiliki kesamaan arti yaitu 'bertepian'.
Contoh : Rou Kenduru - Tepen/Wengkon/Winengku.
3) Bila po la pamor yang dikehendaki gaga! dibuat atau hasilnya tidak seperti
yang diharapkan, maka ditambahkan kata wunmg.
Contoh : Blarak Ngirid ·· Wurung.
4) Pola pamor yang tampil terbalik dari pola yang urnum. diberi tambahan
kata sungsang.
Contoh : Ron Kendhuru - Sungsang.
5) Pada pola-pola pamor tertentu (biasanya pamor puntiran) ditambahkan
keterangan sesuai dengan kerapatan garis-garis pamor-nya :
agal untuk garis pamor yang kasar tebal atau tenggang jaraknya.
Contoh : Lar Gangsir - agal.
sedheng bi la jarak antra garis-garis agak rapat dan garis pamor-nya agak
halus.
Contoh : Lar Gangsir - sedheng.
lembut atau alus bi la guratannya sangat tips atau sangat rapat jaraknya.
8 Haryono Haryoguritno, Keris Jawa antara Mistik dan Nalar (Jakarta PT. Indonesia Kebanggaanku, 2005), hal.216
Contoh : Lar Gangsir - lembut/alus.
6) Penampilan bersama lebih dari satu pola pamor (kecuali dengan pola
pamor Tepen/Wengkon/Winengku) disebutkan dulu jumlahnya, kemudian
nama polapamor masing-masing.
DwiWarna - bila dua pola tampil bersama.
Contoh : DwiWarna: Watu Lapak - Junjung Drajat
TriWarna - bila tiga pola tampil bersama.
Contoh : TriWarna: Beras Wutah - Adeg Tritik
7) Pamor yang berasal dari pola dasar tertentu yang digarap lagi diberi
tambahan kata ginubah.
Contoh : Tambal Ginubah.
8) Pene1npilan rola selang-~e!ing antara pa1J10r dan besi polos hita1n ~ecara
teratur dengan pengecualian pola pamor Tambal, Ron Kendhuru atau
sejenis, kadang-kadang diberi kata tambahan seling.
Contoh : Panadan Iris - Seling.
2.3 Artificial Neural Network (ANN)
Artificial Neural Network (ANN) atau dalam bahasa Indonesia
dikenal dengan istilah Jaringan Saraf Tiruan merupakan suatu model
komputasi yang menggunakan cara kerja jaringan saraf manusia untuk
menyelesaikan masalahnya.9
Pengertian senada juga dinyatakan oleh Sri Kusumadewi dalam
bukunya yang berjudul Art!ficial Intelligence (Teknik dan Aplikasinya),
''.jaringan saraf tiruan merupakan salah satu representasi buatan dari otak
9 Arif Hennawan, Jaringan Syara/Tiruan Teori dan Aplikasinya (Yogyakarta: Andi, 2006), hal.iii
manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran
pada otak manusia tersebut". 10
Dari dua pengertian di atas dapat ditarik sebuah pengertian bahwa
ANN merupakan sebuah ilmu unik yang mengusung sebuah konsep untuk
membuat sebuah mesin (komputer) menjadi secerdas manusia dalam
memikirkan dan mengerjakan suatu tugas yang diberikan.
2.3.1 Sejarah dan Perkembangan ANN
Berikut ini scjarah dan perkembangan ANN 11:
• Pada tahun 1940-an, para ilmuan menemukan bahwa psikologi dari otak
sama dengan model pemrosesan yang dilakukan oleh peralatan
komputer.
• Pada tahun 1943, McCulloh dan Pitts merancang model formal pertama
kali sebagai perhitungan dasar neuron.
• Pada tahun 1949, Hebb menyatakan bahwa informasi dapat disimpan
dalam koneksi-koneksi dan mengusulkan adanya skema pembelajaran
untuk memperbaiki koneksi-koneksi antar neuron tersebut.
• Pada tahun 1954, Farley dan Clark men-setup model-model untuk relasi
adaptif stimulus-respon dalam jaringa random.
• Pada talllm 1958, Rosenblatt mengembangkan konsep dasar perceptron
untuk klasifikasi pola.
• Pada tahun 1960, Widrow dan Hoff mengembangkan ADALINE untuk
kendali adaptif dan pencocokan pola yang dilatih dengan aturan
pembelajaran Least Mean Square (LMS).
• Pada tahun 1974, Werbos memperkenalkan algoritma Backpropagation
untuk melatih perceptron dengan banyak lapisan.
• Pada tahun 1975, Little dan Shaw menggambarkan jaringan saraf dengan
menggunakan model probabilistik.
10 Sri Kusumade\vi, Artificial Intelligence : Teknik dan Aplikasinya (Yogyakarta : Graha Ilmu, 2003), ha!. 208 II Ibid
• Pada tahun 1982, Prof. Teuvo Kohonen mengembangkan metode
pembelajaran jaringa saraf tiruan tak terawasi (unsupervised learning)
untuk pemetaan.
• Pada tahun 1982, Gossberg mengembangkan teori jaringan yang
diinspirasi oleh perkembangan psikologi. Bersama Carpenter, mereka
memperkenalkan sejumlah arsitektur jaringa antara lain : Adaptive
Resonance Theory (ART), ART2, dan ART3.
• Pada tahun 1982, Hopfield mengembangkan jaringan saraf recurrent
yang dapat digunakan untuk menyimpan informasi pada optimasi.
• Pada tahun 1985, algoritma pembelajaran dengan menggunakan mesin
Boltzmann yang menggunakan model jaringan saraf probabilistik mulai
dikembangkan.
• Pada tahun 1987, Kosko mengembangkan jaringan Adaptive
Bedirectional Associative Memory (BAM).
• Pada tahun 1988, mulai dikembangkan fungsi radial basis.
2.3.2 Metode Pembelajaran dalam ANN
Secara garis besar, metode pembelajaran pada ANN dibagi
menjadi dua yaitu:
I) Pembelajaran Terawasi (Supervised Learning)
Metode pembelajaran ini dikatakan terawasi karena output yang
diharapkan (anticipated output) telah disediakan.
Salah satu contoh metode pembelajaran terawasi adalah
Feedforward Backpropagation (BP). Dalam proses belajarnya, pola input
diberikan ke suatu neuron input, pola tersebut kemudian dirambatkan di
sepanjang jaringan saraf melalui suatu hidden neuron (neuron
tersembunyi) hingga akhirnya sampai pada neuron output. Neuron
output ini kemudian membangkitkan pola output yang nantinya akan
dicocokkan dengan pola output yang diharapkan (anticipated output).
Error akan dihasilkan ketika tidak ditemukan kecocokan antara pola
output yang dihasilkan (actual output) dengan pola output yang
diklasifikasikan ke dalam beberapa kelompok/grup dengan sendirinya. Hal
inilah yang menyebabkan KNN sering disebut juga metode SOM (Self
Organizing Map).
Penggunaan KNN dipilih dengan alasan kecepatan dalam proses
belajar, hal ini karena struktur jaringannya relatif sederhana, sehingga proses
pembelajaran dapat dilakukan dengan sangat cepat.
Karena hanya terdiri dari dua lapisan jaringan yaitu lapisan input
(Input Layer) dan lapisan output (Output Layer) maka KNN memliki
keterbatasan yaitu hanya dapat diaplikasikan untuk masalah-masalah yang
bersifat linier (linearly separable problems). 12
2.4.1 Struktur Jaringan pada KNN
', /i \ ' \/
lnputl~'er
Gambar 4 Struktur Jaringan KNN
Berdasarkan gambar di atas, KNN hanya terdiri dari dua lapisan
neuron yaitu lapisan neuron input dan lapisan neuron output.
Berkaitan dengan penyusunan struktur jaringan pada KNN,
terdapat beberapa operasi yang harus dilakukan, yaitu :
I. Normalisasi Input
12 Jeff Heaton, Introduction to Neural Network with Java (ISBN : 097732060X), hal. 156
2.4.2 Proses Belajar pada KNN
Berikut ini adalah alur proses belajar pada KNN 13:
Gambar 5 Alur Proses Belajar KNN
Penjelasannya :
I. Start
Proses training dimulai.
2. Randomize Weight Matrix
Hal pertama yang dilakukan dalam proses training adalah memberikan
nilai bobot matriks dengan nilai random/acak.
3. Calculate Error
Setelah didapatkan nilai bobot matriks, proses selanjutnya adalah
menghitung "Error". Proses penghitungan error dilakukan untuk
13 Ibid, hal. I 60
menentukan neuron pemenang, jumlah kemenangan dari neuron pemenang
tersebut, bobot dari neuron pemenang tersebut (istilah lain dari bobot
untuk neuron pemenang adalah bobot terbaik), serta nilai terbaru dari error
setelah dilakukan perhitungan.
4. Is Error Acceptable?
Setelah didapatkan nilai error terbaru, proses selanjutnya adalah
pengecekan terhadap batas error. Adapun nilai batas error adalah I,014•
Jika nilai error terbaru yang dihasilkan dari proses "Calculate Error" lebih
kecil dari niiai batas error (1.0) maka proses training selesai (stop). Akan
tetapi jika sebaliknya, maka proses dilanjutkan ke tahap berikutnya.
5. Present Training Set and Adjust Weights Based on Winning Neurons
Karena error terbaru yang dihasilkan melebihi batas nilai error yang
ditentukan, maka proses perbaikan bobot matriks harus dilakukan. Untuk
dapat melakukan perbaikan terhadap bobot matriks maka data training set
harus ditampilkan. Adapun bobot matriks yang dilakukan perbaikan
ndalah bobot 1natriks dari nc11r0n pen1ennng yang dihasilkan clari r-roses
sebelumnya (proses ke-3).
6. Recalculate Error Rate, Note Improvement
Setelah dilakukan perbaikan terhadap bobot matriks dari neuron
pemenang, proses selanjutnya adalah melakukan penghitungan kembali
terhadap nilai error. Proses penghitungan error yang dijalankan kali ini
tidak berbeda dengan proses penghitungan error sebelumnya (proses ke-3),
hanya saja jika proses ke-3 sudah dapat dipastikan bahwa neuron
pemenang dengan bobot matriks terbaik telah didapatkan, maka dalam
tahap 6 ini, masih terdapat kemungkinan tidak didapatkan neuron
pemenang, sehingga perlu dilakukan konfirmasi/pengecekan me:igenai ha!
tersebut. Sedangkan nilai terbaru dari error tetap dihasilkan.
7. Is Error Rate Improvements?
Setelah didapatkan nilai error terbaru, perlu dilakukan pengecekan
terhadap perbaikan nilai error tersebut. Nilai error terbaru dikatakan sudah
14 Ibid, h.168
mengalami perbaikan apabila nilai tersebut lebih kecil dari nilai batas error
yaitu 0.1. Jika hal ini terjadi maka proses dilanjutkan ke tahap 8. Akan
tetapijika sebaliknya maka proses kembali lagi ke tahap 5.
8. Have A Best Weight Matrix?
Setelah diketahui bahwa nilai error terbaru sudah mengalami perbaikan,
proses selanjutnya adalah konfirmasi mengenai ada atau tidaknya neuron
pemenang yang dihasilkan dari proses 6. Jika diketahui bahwa neuron
pemenang telah didapatkan, maka proses dilanjutkan ke tahap 9. Akan
tetapi jika tidak didapatkan neuron pemenang maka proses langsung
lompat ke tahap 10.
9. Better than Best Weight Matrix?
Proses selanjutnya adalah perbandingan terhadap bobot matriks terbaik
dari neuron pemenang yang dihasilkan pada tahap 6 (pemenang lama)
dengan yang dihasilkan pada tahap 3 (pemenang baru). Jika ternyata
pemenang lama lebih baik dari pemenang baru maka proses dilanjutkan ke
tahap 10. Jika sebaliknya 1naka pr.):.:es iangsung lC'n1pat kc t0hap 11.
10. Assign Weight to Best Weight Matrix
Proses ini dijalankan ketika diketahui bahwa pemenang lama memiliki
bobot yang lebih baik dari pemenang baru. Kondisi ini mengindikasikan
bahwa proses training yang dijalankan gagai karena dari penghitungan
error terakhir (proses 6) tidak menghasilkan neuron pemenang dengan
bobot matriks yang lebih baik dari proses 3. Menindak lanjuti hal ini,
sebuah proses force winner harus dilakukan. Dalam proses force winner
ini, neuron pemenang dari proses 3 dinyatakan sebagai pemenang.
1 1. Exceeded Max Cycles?
Setelah semua proses /reining dijalankan, proses terakhir adalah
pengecekan terhadap jumlah siklus training. Batas maksimal siklus
training adalah 1000 kali. Jika melebihi jumlah tersebut maka proses
training terpaksa dihentikan (stop).
12. Stop
Proses training dihentikan.
[ PEHPU~~;;::~~TAMA r Uii\I SYAHID JAf<A.RTA
--·--·--· f
yang ditemukan dengan jarak tepi yang sesungguhnya sangat pendek), dan
hanya memberikan satu tanggapan untuk satu tepi.
Berikut ini algoritma deteksi tepi dengan Canny Operator 16:
I) Penghalusan gambar (filtering) dari derau. Salah satu metode filtering
yang bisa digunakan adalah metode filter Gaussian.
2) Mencari turunan pertama arah horizontal dengan menggunakan
operator Sobel.
3) Non-maksimum Suppression
Merupakan sebuah proses mencari titik tertinggi pada data besaran
tepi.
4) Dilakukan proses Hysteresis, yaitu suatu proses penghilangan garis
garis yang seperti terputus-putus pada tepi objek. Caranya dengan
menggunakan dua ambang T 1 dianggap sebagai piksel tepi. Kemudian
semua piksel yang terhubung dengan piksel tersebut dan memiliki nilai
lebih besar dari T2 juga dianggap sebagai piksel tepi.
2. 7 Citra Ncgatif
Konversi citra asli ke bentuk citra negatif merupakan salah satu teknik
peningkatan mutu (Image Enchancemcnt) pada domain spasial yaitu Point
Processing.
Berikut ini algoritma dalam melakukan konversi citra ke bentuk
'f 17 negat1 :
1) Mengubah nilai grey-level citra input dengan transaformasi :
s = (L -1) - r
2) Misalkan L=256, maka
Gbaru = 255 - G1ama
16 Fajar Astuti Herma\vati, Pengo/ahan Citra Digital: Konsep & Teori (Yogyakarta: Andi, 2013), hal. 178 17 Ibid, hal. 29
2.8 ICONIX Process
ICONIX Process merupakan suatu metode pengembangan software
yang posisinya berada di tengah-tengah antara RUP dan XP (Extreme
Programming). Metode ini diperkenalkan oleh Doug Rosenberg. ICONIX
Process menggunakan pendekatan yang memfokuskan pada use case dan
code. Artinya ICONIX Process berusaha mewujudkan use case yang telah
disusun menjadi code program.
uG:Q! ~{ID =Jc ~liF 1·~·;;·. GUI SI0/)'001\rd : Use Case ~ Sequenc1.1 1'"""""'0{!>
l Model l/~ D:agram : = : ~ Robustness Oia!}ftim ~ [ Test Pkms
----------------------------------~ "i!:I t . .
G:QE-.Co~, +Unit _Tests
Garn bar 6 Struktur Model ICONIX Process
Dari gambar di atas, dapat dilihat bahwa lCONIX Process memilki
dua struktur model yaitu truktur dinamis dan struktur statis. Di dalam
struktur dinamis terdapat use case diagram, robustness diagram, dan
sequence diagram. Sedangkan pada struktur statis terdapat domain model ,
domain model yang sudah !er-update, dan class diagram.
2.8.1 Domain Model
Domain model merupakan dasar dari struktur statis yang dibangun.
Pembuatan domain model adalah suatu pekerjaan yang bertugas
menemukan istilah-istilah yang nantinya akan digunakan dalam software,
dapat dikatakan pula bahwa domain model merupakan project glossary
atau sebuah kamus yang di dalamnya terdapat term (istilah-istilah) yang
akan kita gunakan saat pembuatan software. Tujuan pembuatan domain
model adalah untuk menjembatani perbedaan interpretasi yang dapat
menyebabkan mis-komunikasi antar orang-orang yang terlibat dalam
proyek pembuatan software. Dengan kata lain, istilah-istilah yang akan
dipakai dibakukan terlebih dulu dengan membuat domain model.
Pembuatan domain model diawali dengan melakukan abstraksi
model dalam dunia nyata yaitu berupa obyek-obyek konseptual yang turut
berpartisipasi dalam software yang dibangun.
Berikut ini I 0 panduan dalam pembuatan domain mode :
1. Fokus pada problem domain obyek.
2. Gunakan hubungan generalisasi (is-a) dan agregasi (has-a) untuk
menunjukkan bagaimana obyek sating berhubungan antara satu sama
lain.
3. Berikan batasan inisial domain model.
4. Organisasikan kelas-kelas y&ng kita buat menjadi kunci abstraksi
dalam problem domain.
5. Bedakan ant<:1ra dcin1ain n1oclel deng~n dota r1odci.
6. Bedakan antara sebuah obyek dengan tabel database.
7. Gunakan domain model sebagai kamus proyek.
8. Gunakan inisialisasi domain model sebelum membuat use case untuk
menghindari ambiguitas.
9. Jangan terlalu berharap bahwa kelas diagram yang kita buat menjadi
sangat cocok/tepat dengan domain model yang kita buat sebelumnya,
tetapi tetap harus ada kemiripan antara keduanya.
I 0. Jangan letakkan screens dan kelas-kelas yang menspesifikasikan GUI
ke dalam domain model.
Ketika pembuatan domain model sudah selesai, maka use case
sudah bisa dibuat.
8. Buatlah use case dengan struktur noun-verb-noun (kata benda-kata kerja
kata benda ).
9. Referensikan domain class berdasarkan nama.
10. Referensikan boundary class berdasarkan nama.
2.8.3 Robustness Diagram
Robustness diagram merupakan hasil dalam melakukan
robustness analysis (analisis kehandalan).
Robustness analysis diperkenalkan oleh Ivar Jacobson pada tahun
1991. Proses ini dilakukan dengan cara menganalisa use case text
kemudian melakukan identifikasi objek-objek yang terlibat di dalamnya
menjadi tigajenis yaitu boundary object, entity object, dan control object.
Robustness analysis digunakan untuk menjembatani celah (gap)
dari analisa (what) ke perancangan (how).
How {Design)
-m· '?'? § _J _ _:l
= ' - ' = '
Garn bar 7 Pcran Robustness Analysis
Sebagai jembatan antara analisa dan perancangan, robustness
analysis mempunyai beberapa peranan, di antaranya adalah :
I. Uj i Kelayakan
Dalam kaitannya dalam uji kelayakan, robustness analysis
membantu memastikan bahwa use case text yang telah dibuat sudah benar
dan menghindari ketidaksesuaian.
2. Uji Kelengkapan
Dalam kaitannya dalam uji kelengkapan, robustness analysis
membantu memastikan bahwa use case yang sudah dibuat telah benar
benar mencakup skenario utama dan juga skenario altematif
3. Menemukan objek baru
Dengan robustness analysis diharapkan objek-objek yang
sebelumnya mungkin terlewatkan pada saat pembuatan domain model
dapat ditemukan/didefinisikan.
4. Sebagai perancangan awal
Berikut ini simbol-simbol yang terdapat pada robustness diagram :
nouns (objects) verb (action)
.... 4
~ 1n n 1J '-._j '-----" "-.. .. /
Boundary Entity object Controller objei:;t
Gambar 8 Simbol-simbol Robustness Diagram
Gambar di atas menunjukkan simbol-simbol yang terdapat dalam
robustness diagram. Berikut ini penjelasan dari masing-masing simbol
tersebut:
I. Boundary Object
Boundary object merupakan objek yang digunakan oleh actor
sebagai antarmuka untuk berkomunikasi dengan sistem.
2. Entity Object
Entity object bia.sanya berupa objek yang berasal dari domain
model.
3. Controller
Controller merupakan "perekat" antara boundary object
dengan entity object.
Aturan main dalam pembuatan robustness diagram adalah sebagai
berikut:
1. Nouns dapat berkomunikasi dengan verbs (dan sebaliknya).
2. Nouns tidak dapat berkomunikasi dengan sesama nouns.
3. Verbs dapat berkomunikasi dengan sesama verbs.
Berukut ini 10 panduan dalam melakukan pembuatan robustness
diagram dalam fase robustness analysis :
I. Paste use case text ke dalam robustness diagram.
2. Ambil entita~ kelas dari domain model dan tambahkan entitas kelas
yang baru teridentifikasi.
3. Lakukan penulisan ulang terhadap use case Uika masih tidak
jelas/ambigu).
4. Buatlah sebuah boundary object untuk asing-masing screen, dan
barilah nama untuk screens secara jelas.
5. Ingatlah bah\\a t·onrrul!crs terkadang hanya!ah bcrfunJSi sebagai
fungsi logical dari software yang kita bangun.
6. Jangan khawatir mengenai tanda panah dalam sebuah robustness
diagram.
7. Tidak masalah jika diperlukan untuk men-drag use case ke dalam
robustness diagram jika terjadi dipanggil (invoked) dari parent use
case.
8. Rebustness diagram merepresentasikan konsep perancangan awal
berdasarkan use case, bukan merepresentasikan perancangan rinci
(detailed design).
9. Boundary dan entity dalam robustness diagram secara um um akan
berperan sebagai object instances dalam sebuah sequence diagram,
sedangkan controllers berperan sebagai pesan (messages).
I 0. lngatlah bahwa robustness diagram merupakan sebuah "object
picture" dari sebuah use case, di mana tujuannya adalah
memperbaiki use case text dan object model.
2.8.4 Sequence Diagram
Sequence diagram digunakan untuk mengeksplorasi nncian
rancangan sistem (detailed design of system). Dengan demikian akan
ditemukan operasi-operasi (method-method) yang harus dimiliki oleh
suatu kelas. Hal ini juga yang menjadi titik berat dalam perancangan
berorientasi objek.
Berikut ini simbol-simbol yang terdapat dalam sequence diagram :
a. An Actor
::i. Entity Class ,,_...._
/ ., ' I \ !
-'-·--~·-
.:. Boundary Class
.j. Control Class
0
Menggan1barkan orang yanq sedang berinterak.s1 denqan sistem
Menqqanbarkan sebual1 penqqan~tx1ran dtHi !orm
Menqqan1barkan penghuJUng antara boundary denqan tabel
~. A tocus Of Control ~A life hne
I I
0
A massage
A V~ssa;::O
M<?-n99;in1bark,1n tenipat mul;11 d;in tx>r;ikh,rnya sf.'buah massage
Menggambarkan Peng1rin1an Pesan
Berikut ini 10 panduan dalam membuat sequence diagram :
1. Pahamilah mengapa kita harus menggambar sequence diagram.
2. Buatlah sequence diagram untuk tiap-tiap use case, dengan
skenario utama dan alternatif dalam sequence diagram yang sama.
3. Mulailah menggambar sequence diagram dari boundary classes,
entity classes, actors, dan use case text yang kita dapatkan dari
robustness analysis.
4. Gunakanlah sequence diagram untuk menunjukkan behavior dari
use case.
5. Pastikan bahwa use case text memetakan messages ke dalam
sequence diagram.
6. Jangan membuang waktu terlalu benyak untuk fokus dalam
kontrol.
7. Isikan operasi-operasi (method) pada kelas ketika menggambar
tnessages.
(lfn::_!''iiiii yang sudah kit1 buat ketika kita
mengisikan method pada kelas, untuk memastikan bahwa method
tersebut memang dibutuhkan oleh kelas.
9. Cek kesalahan yang mungkin terjadi saat pembuatan sequence
diagram sebelum melakukan coding.
I 0. Rapikan terlebih <lulu struktur model statis sebelum melakukan
CDR (Critical Design Review).
Dalam lCONlX Process, pembuatan sequence diagram memiliki
tiga tujuan utama yaitu :
I. Mengalokasikan behavior ke kelas.
2. Menunjukkan secara rinci bagaimana kelas-kelas sating
berinteraksi.
3. Mendistribusikan methodi ke kelas.
2.8.S Class Diagram
Class diagram (diagram kelas) merupakan sebuah tempat yang
menampung semua objek (berupa atribut/entitas dan operasi/method) yang
berhasil diidentifikasi dalam proses perancangan secara detail. Class
diagram merupakan hasil akhir dari peremajaan (update) terhadap domain
model.
Sebagaimana yang sudah dijelaskan sebelumnya bahwa dalam
lCONIX Process class diagram termasuk ke dalam arsitektur dinamis.
Berikut ini simbol-simbol yang terdapat pada class diagram :
:\'a.ma Ketmngan Simbol Komponen
Class Class adalah blok·blok pembangun pada pemrograman berorientasi I X;m~1 Clo.u
obyek. Sebuah class digambarkan sebagai sebuah kouk yang terbagi at as ! .._ ~1ribnt
! ... a1ribn1 tiga bagian ya.im bagian atas, ungah, dan bawah. Bagi an a1as - mribnr
menunjukkan nama dari class tersebut. Bagian tengah mendefinisikan '
- mnhod -mi'/lrod
propeny:atribut class. Sedangkan bagian akhir mendefiniskan method·
method dari seuah kdas. ---··---~ f--------·-··~ ··--·-· .. --·----------------------·-----·--··-~------'-~":.;c:ano1: Sebua.h mernp:..~an sebu.J.h i't-,'ano1:s:11p hubungan paling umum :llllar ~
L.n (l"n,J b1 I
class dan di!amba.ngkan dengan ~ebuah garis yang menghubungkan antar
2 class tasebut_ Garis ini bisa melambangkan tipe·tipe relationsh~!J dan
jug a dapat menampilkan huk11!11·huk11m multiplisitas pad a sebuah
relanonsh1p. (Conteh: Or.e-to-or.e, one-to-man); :Jan many-to many)
Composition Jika sebuah class tidak berdiri sendiri dan harus merupaka: bagian dari • class lain, maka class tersebut memililri hubungan Composin'on dan
dlgambarkan dengan sebuah gans dengan ujung btrbtntuk jajaran
genjang berisi.'solid
Dependency Terkadang sebuah class menggunakan class yang lain. Hal ini diS<but .................. dengan hubungan Dependency. Umumnya Dependency digunakan untuk
menunjukkan operasi pada suatu class yang menggunakan class lain.
Sebua.h Dependency dilambangk.an dengan sebuah panah bertitik-tikik.
Aggregation Aggregation mengindikasikan kmluruhan bagian relationship dan <
biasanya disebut sebagai relasi -
Gambar 10 Simbol-simbol Class Diagram
2.8.6 Fitur-fitur Utama I CO NIX Process
Pemilihan ICONIX Process sebagai metode pengembangan sistem
tidak terlepas dari beberapa fitur yang dimiliki oleh ICONIX Process.
Fitur-fitur utama tersebut antara Iain :
I. ICONIX Process merupakan metode yang dipicu oleh use case (use
case driven). Use case tersebut ditentukan sejak awal pengembangan
sistem serta menjadi dasar dalam menentukan model dan perilaku
dari sistem/software yang dibangun.
2. ICONIX Process merupakan metode yang berorientasi pada
arsitektur (architecture-ce,11ric). Arsitektur yang terdapat pada
ICONIX Process terbagi menjadi dua yaitu arsitektur statis dan
arsitektur dinamis. Arsitektur statis nantinya yang akan menjadi
kode-kode program, sedangkan asritektur dinamis nantinya yang
akan menggambarkan perilaku sistem/software.
3. lCONIX Process merupakan metode yang bersifat iteratif dan
bertahap (itemlil'e-i11cre111emal). Banyak iterasi yang dilalui ketika
menentukan domain model, mengidentifikasi dan menganalisa use
case, dan iterasi-iterasi lain yang terjadi seiring berjalannya siklus
hidup pengembangan sistem/software. Komponen-komponen yang
terlibat dalam arsitektur statis (model statis) yang dihasilkan terus
diperbaiki (update) secara bertahap dengan bantuan dari komponen
komponen yang terdapat pada arsitektur dinamis (model dinamis)
yang terdiri dari use case, robustness diagram, dan sequence
diagram.
4. ICONIX Process menawarkan penggunaan UML (Unified Modeling
Language) secara tidak berlebihan bahkan cenderung ramping dan
minimalis karena hanya melakukan langkah-langkah yang dianggap
perlu dan cukup untuk melakukan analisa dan perancangan
berorientasi objek (Object Oriented).
5. ICONIX Process memiliki kemampuan penelusuran (traceability)
yang cukup tinggi. Merujuk kembali kepada kebutuhan fungsional
(functional requirements) dapat dilakukan dengan berbagai cara
mudah pada setiap fase pengembangan software. Penelusuran ini
juga tampak pada kenyataan setiap objek dapat diacak langkah demi
langkah, dari analisa menjadi desain dan berakhir dengan
implementasi.
2.8. 7 Keunggulan I CO NIX Process dibandingkan Metode-metode Lain
Keunggulan utama ICONIX Process dan sekaligus menjadi pembeda
dengan metode-metode pengembangan software yang lainnya adalah
pemanfaatan robustness diagram untuk melakukan robustness analysis
(analisa kehandalan). Dengan melakukan analisa kehandalan maka akan
ditemukan objek-objek baru yang sebelumnya tidak teridentifikasi.
2.8.8 Tahap-tahap dalam ICONIX Process
Berikut ini tahap-tahap dalam ICONIX Process :
I. Requirements Definition
Dalam rangka mengumpulkan infonnasi mengenai kebutvhan
software (information gathering), dalam ICONIX Process dilakukan
beberapa ha! berikut :
I) Functional Requirements Definition
2) Domain Modeling
3) Behavioral Requirements Definition
2. Analysis/Preliminary Design
3. Detailed Design
4. Implementation
Implementation terbagi dalam dua tahap :
I) Coding
2) Testing
2.9 Bahasa Pemrograman Java
2.9.1 Sejarah Bahasa Pemrograman Java
Sejarah bahasa pemrograman Java (Java) dimulai pada tahun 1991
melalui sebuah proyek yang dengan nama Green Project dari perusahaan
Sun Microsystem dan dikepalai oleh James Gosling dan Patrick Naughton.
Green Project sendiri merupakan sebuah penelitian yang bertujuan untuk
membuat suatu bahasa pemrograman yang nantinya akan digunakan dalam
chip-chip embedded untuk perangkat Intelligence Customer Electronic
seperti TV box. Bahasa yang diharapkan dari diadakannya penelitian
tersebut haruslah kecil dan multiplatform, ha! ini dikarenakan perangkat
tersebut tidak memiliki banyak memori dan diproduksi oleh perusahaan
perusahaan yang berbeda.
Dalam penelitiannya, Green Project mampu membuat prototype
semacam PDA (Personal Data Assistance) yang dapat berkomunikasi
Pada awalnya bahasa pemrograman yang tercipta dalam Green
Project diberi nama Oak, akan tetapi nama Oak sendiri sudah dipakai oleh
penelitian yang lain sehingga keluarlah sebuah nama yang disepakati oleh
tim peneliti Green Project. Nama Java diperoleh secara tidak sengaja, yaitu
ketika tim meminum kopi pada sebuah kedai kopi.
Karena pada awalnya Java dimaksudkan untuk dipasang pada
perangkat yang kecil maka Java memiliki beberapa karakteritik berukuran
kecil, efisien, dan portable untuk berbagai perangkat keras.
2.9.2 Tiga Teknologi yang Terdapat pada Java
1. J2SE (Java 2 ™ Standard Edition)
Tekologi Java yang ditujukan untuk aplikasi berbasis desktop.
2. J2ME (Java 2 TM Mobile Edition)
Teknologi Java yang ditujukan untuk aplikasi berbasis mobile (small
device).
3. J2EE (Java 2™ Enterprise Edition)
Teknologi Java yang ditujukan untuk aplikasi berbasis enterprise
(web, EJB, SOAP, JNDI, dll).
2.9.3 Java I/O (Input Output)
Pada umumnya, 110 (Input/Output) di Java dibagi ke dalam dua
bagian yaitu :
I . Byte-oriented 110
Yang termasuk ke dalam byte-oriented 110 dalam Java antara
lain byte, integer, float, dan double.
2. Text-oriented 110
Yang termasuk ke dalam text-oriented 110 dalam Java antara
lain karakter dan teks.
Java menyediakan banyak kelas dan method untuk
mengoperasikan masukan berupa byte input dan output stream.
2.9.4 Kennggulan Ilaha~a Pemrogran1an .Java
I. Java bersifat sederhana dan relatif mudah
Java mengadopsi sintaks bahasa yang terdapat pada bahasa
CIC++ dengan melakukan beberapa perbaikan seperti menghilangkan
pointer, mengurangi kompleksitas beberapa fitur, serta renambahan
beberapa fungsionalitas yang tidak terdapat pada CIC++. Hal inilah
yang menyebabkan Java menjadi sederhana dan relatif mudah.
2. Java berorientasi pada objek (Object Oriented)
Dalam memecahkan masalah, Java membagi program menjadi
objek-objek, kemudian memodelkan sifat dan tingkah laku masing
masing. Kemudian Java mengatur interaksi antar objek-objek
tersebut.
3. Java bersifat terdistribusi
Java mendukung model komputasi terdistribusi seperti
workstation client, e-mail server, database server, web server, proxy
server, dan sebagainya.
4. Java bersifat multiplatfonn
Java merupakan bahasa pemrograman yang tidak terikat dengan
platform manapun (Windows, Linux, Mac, dll).
5. Java bersifat mulithread
Java dapat mengerjakan beberapa proses dalam waktu yang
hampir bersamaan.
6. Java mendukung garbage collector
Java menyediakan sebuah fasilitas yang dapat menghapus secara
otomatis objek-objek yang sudah tidak dibutuhkan lagi.
2.10 Netbeans
Netbeans merupakan salah satu IDE (Integrated Development
Environment) Java yang memiliki banyak pengguna. IDE sendiri
merupakan suatu alat pembantu dalam pembuatan program komputer.
Netbeans dikenal sangat mudah digunakan dan dilengkapi dengan fasilitas
wizard, code completion, dan plug-in yang sangat memudahkan para
penggunanya. Netbeans dapat didownload secara geratis melalui situs
resmi www.netbeans.org.
2.10.1 Netbeans 7.2.1
Netbeans 7.2.1 mer-ipakan versi pembaruan dari Netbeans 7.2.
Netbeans 7.2 memberikan kinerja secara signifikan dalam meningkatkan
performa pembuatan program (code) dengan kemampuan analisa code
statis yang baru di Editor Java dan melakukan pemindaian (scanning)
terhadap proyek dengan cara yang lebih cerdas. Pada Netbeans 7.2
terdapat fitur utama seperti integrasi dengan Scene Builder untuk
visualisasi pembuatan proyek JavaFX, mendukung beberapa framework
PHP, memperbarui dukungan untuk Groovy, dan masih banyak lagi
dukungan untuk Java EE (ENterprise Edition), Maven, CIC++, dan
Platform Net beans. Netbeans 7 .2 tersedia dalam berbagai bahasa seperti
bahasa Inggris, Portugis, Brazil, Jepang, Rusia, dan Cina Sederhana.
Sebagai versi terbaru dari Netbeans 7.2, Netbeans 7.2. l dilengkapi
dengan tiga fitur utama berikut :
I. Mendukung SOK JavaME 3.2
2. Mendukung penuh terhadap SOK JavaFX 2.2.
3. Terintegrasi dengan patches terbaru.
Selain 3 fitur utama di atas, Netbeans 7.2. l dilengkapi dengan
beberapa kemampuan berikut :
I. Pemindaian terhadap project dapat dilakukan pada background,
sehingga tidak lagi terjadi pem-blocking-an fitur editor dan
navigasi.
2. Terdapat peningkatan kecepatan terhadap pemindaian project.
3. Terdapat peningkatan kinerja pada remote File System.
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Dalam melakukan pengumpulan data, peneliti menggunakan empat
metode yaitu :
I. Wawancara
Wawancara telah peneliti lakukan kepada tiga narasumber, dua
di antaranya adalah pakar keris dan seseorang lainnya adalah
pengamat budaya.
I) Wawancara pertama dilakukan kepada pakar keris yaitu
Bapak Victor Amrizal, M.Kom. Selain sebagai pakar keris,
Beliau adalah dosen pembimbing skripsi peneliti yang telah
memberikan ide untuk melakukan penelitian seputar pamor
keris. Ide tersebut kemudian peneliti kembangkan dan
sesuaikan ciengan bidang kcihnuan yang reneliti kuasai yaitu
Kohonen Neural Network sehingga didapatkanlah tema dan
judul penelitian yang dianggap paling tepat.
2) Wawancara kedua dilakukan kepada pakar keris lainnya yaitu
Mbah Jahid. Beliau adalah seorang ahli keris yang dalam
istilah Jawa disebut dengan "ahli malak keris''.
3) Wawancara terakhir peneliti lakukan kepada seorang ahli
budaya Jawa yaitu Bapak Darmaji, S.Pd. Dalam wawancara
tersebut, peneliti mendapatkan pengetahuan mengenai budaya
Jawa Kuno seperti pewayangan dan perkerisan serta korelasi
antara kedua budaya tersebut.
2. Studi Kepustakaan
Dari studi kepustakaan yang telah peneliti lakukan, berikut ini
hal-hal penting yang didapatkan :
a. Pengetahuan mengenai pola dan teknik-teknik dalam
melakukan pengenalan pola.
b. Pengetahuan tentang keris termasuk pamor keris.
c. Pengetahuan tentang ilmu kecerdasan buatan (artificial
intelligence)
d. Pengetahuan tentang artificial neural network Qaringan saraf
tiruan)
e. Pengetahuan tentang kohonen neural network (KNN)
f. Pengetahuan tentang pengolahan citra digital
g. Gambar beberapa po la pamor keris Jawa
h. Pengetahuan tentang ICONIX Process
3. Observasi
Wujud observasi yang dilakukan oleh peneliti yaitu dengan
mendatangi beberapa tempat yang di dalamnya terdapat beberapa
keris Jawa. Tempat pe11ama yang peneliti kunjungi adalah Museum
Nasional yang beralamatkan di JI. Medan Merdeka Barat No.12
Jakarta Pusat pada hari Kamis 27 Juni 2013 dan tempat kedua yang
Jikunjungi aJalah kediaman salah salll pemilik keris Jawa yaitu
Bapak Badrut Tamam pada hari Sen in tanggal 22 Juli 2013.
4. Kuesioner
Pengumpulan data yang terakhir dilakukan adalah dengan
menggunakan metode kuesioner. Kuesioner ditujukan kepada
masyarakat Indonesia dari berbagai kalangan (mahasiswa, pelajar,
pedagang, wiraswasta, serta beberapa ibu rumah tangga).
Tujuan dilakukan pengumpulan data dengan menyebarkan
kuesioner adalah untuk mengetahui seberapa dalam pengetahuan
mereka mengenai keris (Keris Jawa) serta berapa persen minat
mereka terhadap dibuatnya sebuah software pengenal pola pamor
keris Jawa. Dari data yang berhasil peneliti kumpulkan, 30 dari 35
partisipan kuesioner mengatakan tidak begitu mengetahui tentang
kebudayaan keris (keris Jawa) dan 34 dari 35 partisipan tersebut
sangat berminat terhadap pembuatan sebuah software yang dapat
mengenali pola pamor keris Jawa. Rata-rata alasan mereka adalah
agar lebih mengenal budaya keris dengan demikian kebudayaan keris
itu sendiri dapat lestari dan tertanam dalam jiwa nasionalisme mereka.
3.2 Metode Pengembangan Sistem
Sebagaimana yang telah dijelaskan dalam bab I (Pendahuluan)
bahwa dalam membuat software pengenal pola pamor keris Jawa ini
peneliti menggunakan metode ICONIX Process. Berikut ini tahap-tahap
pembuatan software yang dilakukan oleh peneliti berdasarkan tahap-tahap
dalam ICONIX Process :
3.2.1 Requirements Desfinition
Dalam requiremenls definition terdapat tiga tahap yaitu :
1) Functional Requirements Definition
Dalam tahap ini, peneliti merumuskan beberapa hal yang
harus dapat dipenuhi oleh software pengenal pola pamor keris Jawa.
Hal-hal tersebut merupakan kebutuhan fungsional dari sofiware yang
akan dibuat. Adapun bentuk perumusan tersebut berupa daftar (!isl)
kebutuhan fungsional sofiware dengan memberikan tanda (berupa
huruf cetak tebal berwarna merah) terhadap terhadap beberapa kata
kunci yang dianggap berpeluang 1nenjadi domain objec/. Untuk
memudahkan perumusan kebutuhan fungsional so/Mare pengenal
pola pamor keris Jawa yang akan dibuat, perlu digambarkan skema
proses pengenalan pola pamor keris Jawa dengan
mempertimbangkan proses-proses pengolahan citra digital serta
proses /raining (pembelajaran) dan recognizing (pengenalan) dengan
Kohonen Neural Network (KNN) yang akan diimplementasikan
dalam pembuatan sof/Ware.
2) Domain Modeling
Dalam tahap ini, beberapa kata kunci yang dicetak dengan
huruf tebal berwarna merah pada tahap sebelumnya, kemudian
dianalisa sedemikian rupa sehingga didapatkan beberapa kandidat
domain object hingga didapatkan domain object yang sesuai. Setelah
didapatkan domain object yang sesuai, kemudia dibuatlah domain
model yaitu dengan merelasikan masing-masing domain object yang
sating berhubungan.
3) Behavioral Requirements Definition
Langkah selanjutnya adalah mendefinisikan behavioral
requirements. Pendefinisian behavioral requirements dilakukan
dengan dua cara yaitu :
1. Membuat storyboard GUI
Storyboard GUI disesuaikan dengan functional
requirements yang telah didefinisikan sebelumnya. Dari
fimctional requirements tersebut, peneliti kemudian
merancang GUI untuk software pengenal pola pamor keris
Jawa yang akan dibangun nantinya.
2. Memodelkan Use Case
Cara kedua yang peneliti gunakan untuk
mendefinisikan behavioral requirements adalah dengan
memodelkan use case.
3.2.2 Analysis/Preliminary Design
Analysis/Preliminary Design (Analisa I perancangan awal)
diwujudkan dengan melakukan analisa kehandalan (robustness
analysis) yang kemudian didapatkan hasil berupa robustness diagram
berdasarkan masing-masing use case.
3.2.3 Detailed Design
Detailed design (perancangan rinci) dari pembuatan suatu
software ditunjukkan melalui pemodelan sequence diagram.
3.2.4 lmplementasi (Implementation)
Tahap implementasi dibagai menjadi dua tahap yaitu :
1) Coding
Setelab dilakukan berbagai proses, mulai dari
pendefinisian kebutuban software (requirements definition)
bingga detailed design, proses selanjutnya adalab
pengimplementasian basil dari proses-proses tersebut ke dalam
suatu bentuk software dengan menggunakan bahasa
pemrograman Java.
2) Testing
Pengujian dilakukan dengan melakukan pengecekan
kesesuaian antara basil running terhadap software pengenal pola
pamor keris Jawa dengan sequence diagram.
3.1 Kerangka Berfikir
Berikut ini kerangka berfikir peneliti dalam pelaksanaan penelitian kali
!Ill
?engumpuiae1 Data
Pengembangan S1S1ern (ICONIX Process)
\Vawancara
S:uct: Kepustakaan
Ooservas1
.t?eqwremenis
Dejmmon
Anofys1s / Prel1mmor1 Design
1mplementa11on
F1..mct1onol Fiequ:rements
Def1111t1on
Ooma:n Mode/mg
9eho1110ral .'~equirements
Defmmon
Pembuatan Robustness Dragram
Coding
Tesrmg
Gambar 11 Kerangka Berfikir
\'e'1gga'110a' So;en1a
Proses Softwo:e
Membuat
Storyboard GUI
Mernodelkan use Cose
BAB IV
HASIL DAN PEMBAHASAN
4.1 Requirements Definition
4.1.1 Functional Requirements Definition
Menindaklanjuti alur pendeteksian pola menlalui pendekatan
Artificial Neural Network pada gambar 3, berikut ini beberapa ha!
sebagai langkah penyesuaian dengan software pengenal pola pamor
keris Jawa yang akan dibuat pada penelitian ini :
hs:ra'<~'c"
<>~nin~<~ta-i
r.•u:uc':'a
Dowmomp~."9
C>:ra
Pr01...,du1 Pengenafan
. I~-'"~;;;;; ' "'"'"'''"'"' ',~--;;;~,----I~ / Pengena\ln /
'··---- -- ~---"--~"-
: " "' p_,~,-.mo.1"J" f
\
Garn bar 12 Alur Pendeteksian Pola Pamor Keris Jawa
Penjelasan :
• Proses akuisisi atau pengambilan citra dilakukan dengan
menggunakan kamera digitaL Dalam penelitian kali ini, peneliti
menggunakan kamera Nikon Coolpix 126 dengan 16J
Megapixels dan berkemampuan 5x zoom_
• Proses segmentasi dilakukan menggunakan software Adobe
Photoshop,
• Proses ekstraksi ciri dilakukan dengan mendapatkan tepi citra.
Adapun metode yang digunakan dalam pendeteksian tepi adalah
Canny Edge Detector.
• Proses peningkatan mutu citra dilakukan dengan mengubah citra
hasil deteksi tepi ke dalam bentuk negative (negative image).
• Adapun proses downsampling citra dilakukan dengan men
setting matriks citra ke dalam ukuran tertentu. Dalam penelitian
kali ini, peneliti menggunakan 4 bentuk matriks yang berbeda
dengan tujuan mendapatkan ukuran matriks yang ideal sehingga
darinya dapat didapatkan waktu training dan pengenalan pola
yang paling cepat.
• Proses labelisasi dilakukan dengan memberikan nama pola
masukan untuk pola yang akan disimpan.
• Proses penyimpanan dilakukan dengan menyimpan pola hasil
labelisasi ke dalam file penyimpanan.
• File penyimpanan dibuat da!am bentuk bilangan biner (1 atau 0)
dengan eksntensi *.<lat.
• Proses training dilakukan sesuai algoritma pembelajaran dalam
KNN (lihat gambar 5 : Alur Proses Belajar KNN)
• Proses pengenalan pola juga dilakukan sesuai prosedur dalam
KNN.
• Hasil pengenalan adalah berupa nama pola pamor keris Jawa.
Berikut ini functional requirements (kebutuhan-kebutuhan
fongsional sojiware) yang berhasil didefinisikan :
a. Software pengenal pola pamor keris Jawa merupakan sebuah
software berbasis desktop.
b. Software harus dapat melakukan proses pendeteksian terhadap
tepi dari suatu citra. Hal ini sangatlah perlu dilakukan karena
Berikut ini beberapa ha! yang harus dapat dipenuhi oleh
software dalam kaitannya dengan proses mendapatkan tepi citra
dengan metode Canny Edge Detector :
I. Software harus mampu meng-upload citra dari area (file)
tertentu dalam PC/Laptop di mana software tersebut terpasang.
2. Software harus mampu menampilkan citra yang terpilih dalam
tahap sebelumnya ke dalam area yang disediakan.
3. Software harus mampu melakukan pendeteksian tepi dari citra
yang ditampilkan.
c. Software harus dapat meningkatkan mutu suatu citra. Bentuk
peningkatan mutu citra tersebut adalah dengan melakukan
konversi citra ke bentuk negatif.
Berikut ini beberapa hal vang han1' dapat dilakukan o:eh
sojiwure dalam kaitannya dengan proses konversi citra ke
bentuk negatif:
I. Dari tepi citra yang berhasil dideteksi, sofiware hams mampu
mengubah cilia tersebut menjadi citra negatif.
2. Software harus mampu menyimpan citra negatif tersebut ke
dalam suatu area tertentu dalam PC/Laptop di mana software
tersebut terpasang.
d. Software harus dapat melakukan proses penambahan data
sample (data training set) yang baru dengan menyediakan
fungsi penambahan data baru.
Dalam melakukan penambahan data, berikut ini beberapa
ha! yang harus dapat dilakukan :
I. Software harus dapat meng-upload data dari file penyimpanan
ke suatu area list (JList). Dengan melakukan ha! ini. user daoat
mengetahui pola apa sajakah yang sudah tersimpan dalam file
penyimpanan.Hal lain yang ingin dicapai dengan fungsional ini
adalah user tidak perlu memasukkan/menyimpan data yang
sudah tersimpan difile penyimpanan.
2. Software harus dapat meng-hapus data dari file penyimpanan.
Tujuan tersedianya fungsional ini adalah, jika ditemukan data
yang sama atau data yang tidak sesuai, maka user dapat
menghapus data-data tersebut sehingga data yang terdapat
dalamji/e penyimpanan dapat dipastikan valid dan akurat.
3. Software harus dapat menampilkan pixel/matriks dari citra
yang tersimpan pada data sample/data training set. Hal ini
dilakukan untuk menunjukkan kepada user bahwa untuk nama
pola yang terdaftar pada list data memiliki bentuk seperti yang
terdapat pada panel matriks tersebut.
4. Software harus mampu meng-upload citra masukan ( citra yang
sduah didapatkan deteksi tepi dan sudah dalam bentuk citra
negatif).
5. Software harus mampu menampilkan citra masukan yang di
upload ke dalam suatu area yang disediakan.
6. Sebelum citra benar-benar disimpan ke dalamfile penyimpanan,
software harus menyediakan sebuah kolom pengisian nama
po la.
7. Setelah serangkaian proses-proses di atas (proses 1-6) selesai
dilakukan, software harus mampu benar-benar melakukan
peny1mpanan.
8. Software harus menyediakan sebuah fungsi untuk kembali ke
menu utama (tampilan awal ketika software pertama kali
dijalankan).
9. Software harus menyediakan sebuah fungsi untuk menuju ke
halaman "Olah Citra "-
10. Software barns menyediakan sebuah fungsi untuk menuju ke
halaman "Kcnali Pola".
e. Software harus dapat melakukan proses pengenalan pola dengan
menyediakan fungsi pcngcnalan pola. Pola yang dimaksud
adalah pola pamor kcris Jawa.
Untuk dapat mengenali pola, berikut ini beberapa hal yang
harus dapat dilakukan oleh software :
1. Software harus dapat me-load data dari file penyimpanan ke
suatu area list (JList). Tujuannya adalah agar user dapat
mengecck pola pamor apa yang ingin dikenali tanpa harus
melakukan serangkaian proses pengenalan pola yang disediakan
oleh software.
2. Software harus dapat menampilkan pixcl/matriks dari citrn
yang te ·si1npan pada · \Jata training set Hal ini
dilakukan untuk menunjukkan kepada user bahwa untuk nama
pola yang terdaftar pada list data memiliki bentuk sepcrti yang
terdapat pada panel matriks tersebut.
3. Software harus mampu meng-up/oad citra masukan (citra yang
sduah didapatkan deteksi tepi dan sudah dalam bentuk citra
negatit).
4. Software harus mampu menampilkan citra masukan yang di
upload ke dalam suatu area yang disediakan.
5. Software harus dapat melakukan proses pembelajarn (training)
jaringan KNN.
6. Software harus menginformasikan basil belajar "training"
melalui sebuah fungsi training yang dilakukan oleh Kohonen
Neural Network (KNN) dalam persentase total error.
7. Software harus dapat melakukan pengenalan pola terhadap citra
masukan.
8. Software hams menginformasikan terhadap user mengenai
incleks neuron yang mampu mengenali pola. Indeks tersebut
mengindikasikan neuron pemenenang.
9. Software harus menyediakan sebuah fungsi untuk menu3u ke
menu utama (tampilan awal ketika software pertama kali
dijalankan).
10. Software harus menyediakan sebuah fungsi untuk menuju ke
halaman "Olah Citra".
11. Software harus menyediakan sebuah fungsi untuk menuju ke
halaman "Tambah Data".
12. Software harus menyediakan fungsi untuk mengakhiri /keluar
dari program.
4.1.2 Domain Modeling
Has1l pendefimsian junclimwl r.oqw1·ei11e/U mernpakan sumber
utama dalam pembuatan domain model dengan cara memberikan
penanda (misalnya dengan memberi warna merah) untuk beberapa
kata benda yang kita anggap berpotensi menjadi domain object untuk
membuat domain model. Berikut ini kata benda yang dianggap
berpotensi menjadi domain object berdasarkan functional
requirements yang sudah di definisikan pada tahap sebelumnya :
Tabel 1 Kandidat Domain Model
Area List Halaman Kenali Pola
Citra Masukan Indeks Neuron
Citra Negatif Jendela Pengolahan Citra
Citra Tunggal Halaman Tambah Data
Citra yang Terpilih Kolom Pengisian Nama Pola
Data Sample Matriks Citra
Neuron Pemenang MenuUtama
Fungsi Penambahan Data
Baru Panel Matriks
Fungsi Pengenalan Pola Pola Pamor Keris Jawa
Fungsi Pengolahan Citra Presentase Total Error
Fungsi Tambahan Software Pengenal Pola Pamor Keris
Software Jawa
Fungsi Training Tepi Citra
Dari beberapa daftar kandidat domain object di atas, kemudian
dilakukan analisa untuk mendapatkan domain object yang tepat (untuk saat
ini) dan kemudian darinya dibentuklah domain model. Berikut ini analisa yang
telah peneliti iakukan :
Tabel 2 Analisa Kandidat Domain Object
I KandidRt Do1nain . No Keterangan
Object
1 r\rca l,ist Su a tu ten1pat yang digunakan untuk
menampilkan (me-load) data sample berupa
daftar nama pola pamor keris Jawa. Berupa
Glll, sehingga tidak dijadikan domain object.
2 Citra Masukan Citra yang sud ah memenuhi standar (sudah
didapatkan tepi citra dan sudah dikonversi ke
citra negatit)
3 Citra Negatif Citra tunggal yang sudah dikonversi menjadi
citra negative
4 Citra Tunggal Citra yang belum memenuhi standar sebagai
citra masukan. Sehingga perlu distandarkan
dengan cara didapatkan tepi citra dan dikonversi
ke citra negatif.
5 Citra yang Terpilih Bisa berupa citra masnkan bisa JUga masih
berupa citra tunggal.
6 Data Sample Data yang digunakan untuk proses training
7 File Penyimpanan Suatu tempat yang berisi data-data mengenai
pola paIUor keris yaitu berupa matriks citra dan
naJUa pola.
8 Fungsi Penambahan Sebuah fasilitas yang dapat melakukan
9
10
11
Data Barn
Fungsi
Pola
Fungsi
Citra
Fungsi
Software
penaJUbahan data barn ke file penyimpanan.
Pengenalan Sebuah fasilitas yang dapat mengenali pola citra
masukan.
Pengolahan Suatu fasilitas yang dapat melakukan
pengolahan terhadap citra.
Tambahan Berupa Fungsi Pengolah Citra.
~---·~-+~~~~~~~~~-+~~~~~~~~~~~~~~~~~~--j
12 Fungsi Training Fungsi pembelajaran yang digm1akan oleh KNN
13 Halaman Kenali Pola Scbuah user interface yang mengantarkan
user untuk dapat melakukan senrngkaian
proses dalarr:. rangkah pengenalan pola.
U:crupa C~l:J, sehingga ndak dapat d1jadikan
scbagai domain object. ~-~~;--~~~~~~~~~+-~~~~~--~~~~~~~~~~~~-;
1-1 llalaman Tambah Scbuah user interface yang mengantarkan
15
16
17
Data user untuk dapat melakukan serangkaian
proses rlalam rangkah penambahan data.
Berupa GUI, sehingga tidak dapat dijadikan
sebagai domain object.
lndeks Neuron Menyatakan sebuah neuron yang aktif ( dapat
mengenali pola).
.Jendela
Citra
Kolom
Pengolahan
1
Sebuah user interface yang mengantarkan
user untuk dapat melakulum serangkaian
proses dalam rangkah pcngolahan citra.
Berupa GUI, sehingga tidak dapat dijadikan
sebagai domabz object.
Nama Pola
Pengisian Suatu kolom untuk memberikan label
berupa nama terhadap citra yang akan
disimpan. Berupa GUI, sehingga tidak dapat
18 Matriks Citra
19 Menu (Jtama
20 Nama Pola
21 Neuron Pemenang
22 Panel Matriks
Hasil konversi citra ke dalarn bentuk biner ( 1,
0) dalarn bentuk matriks ukuran tertentu.
Sebuah user interface yang mengantarkan
user untuk ntemilih dua menu utama yang
disediakan olch software )'llitu menu
11 Tan1bah l)ata 11 clan "Menu Kcnali J>oJa".
Berupa Glll, sehingga tidal< dapat dijadikan
sebagai dom11in object.
Narna dari suatu po la yang tersimpan dalarn file
penyimpanan.
(Ambigu) Memiliki kesamaan arti dengan
indeks neuron.
Untuk menampilkan matriks citrn
dipcrlukan suatu tempat berupa panel yang
terdiri dari sejumlah kotak-kotak kecil.
sebagai do111ai11 object. l----t-----·--------·-1--------------------i
23 Pola Pamor Keris (Ambigu) Memiliki kesmmum makna dengan
.Ja,va nanta pola.
24 Presentase Total Error Angka yang mengindikasikan seberapa baik
25
26
KNN dalam melakukan pembelajaran
(training).
Software Pengenal Software yang sedang dibangun
Pola Parnor Keris
Jawa
Tepi Citra Hasil dari pendeteksian tepi citra.
*Huruf dengan warna merah tebal berarti tidak digunakan sebagai object
model.
Dari hasil analisa di atas, didapatkan beberapa object domain yang
akan dipakai dalam membuat domain model berikut ini :
Tabel 3 Domain Object
Citra Masukan Fungsi Pengolahan Citra
Citra Negatif lndeks Neuron
Citra Tunggal Fungsi Training
Citra Terpilih Matriks Citra
Data Sample Nama Pola
File Penyimpanan Total Error
Fungsi Penambahan Data Barn Tepi Citra
Fungsi Pengenalan Citra
Berikut ini domain model untuk software pengenal pola pamor keris Jawa
Training~t
Kohot1enlletwork
.. net
PanelKenaliPola
, ,
la por anU pdalelleural
SampleData
PanelOlahCitra
f-------- .. dsts
.. panelEntrylmage .. sample .. osts
Pane!Enlzylm<1ge Sample
.. ~mple
' .. panelEntr'1lms91:
aoelTambahOa
Garn bar 13Domain Model
PanellmagePrevit>w
FrameUta:-na
CitraUegatif
4.1.3 Behavioral Requirements Deji11itio11
4.1.3.1 Membuat Storyboard GUI
Storyboard GUI disesuaikan denganjimctional requirements yang
telah didefinisikan sebelumnya. Dari functional requirements tersebut,
peneliti kemudian merancang GUI untuk software pengenal pola pamor
keris Jawa yang akan dibangun nantinya.
Berikut ini hasil perancangan storyboard GUI :
a. Tam pi Ian awal saat program dijalankan (stroryboard I)
Olah Citra ---· -·-· ---·-··--·-··- - . --~--~------ ----- --)
Tambah Data i --------. 3 '~ ·-·---·------·---·------~----------~.)
' Kenali Pola
~---·- ·---····-------------- ----· j
6
t ' '
Proudly Present: Sofh1·are Pengen;il Pola Pmor Keris Jawa_By: l"swab Date & Time
Gambar 14 Storyboard I (Tampilan Awai Software)
Komponen-komponen yang terdapat pada storyboard I :
I. Label (JLable) yang berisikan gambar.
2. Tombol (JButton) "Olah C1tra". Tombol tersebut digunakan
untuk menampilkan halaman "Olah Citra" ..
3. Tombol (.!Button) "Tambah Data". Tombol tersebut digunakan
untuk menampilkan halaman "Tambah Data.
4. Tombol (JButton) "Kenali Pola". Tombol tersebut digunakan
untuk menampilkan halaman "Kenali Pola.
6. Label (JLable) yang menampilkan Tanggal dan Waktu.
b. Tampilan Ketika Tombol "Olah Citra" Di-klik (Storyboard2)
~ 1-Halaman: Olah Cilra
l t:pload Citra t--I Deteksi Tepl I~
I :-<egalifCitra f--. L Simpan Citra f--.
' ' - l l
- ~ r-j Beranda I I Tambab Data I I Kenal!Pola I
' 4
' '
Proudly Present: Software Ptnge~al PolaPamorKt'ris Jawa_~·: l'swah Date & Time '
i + IO 11
Gambar 15 Storyboard 2 (Halaman Olah Citra)
Komponen-komponen yang terdapat pada storyboard 2 :
I
I. (JLable) yang berisi informasi mengenai halaman yang sedang
ditampilkan yaitu halaman "Olah Citra".
2. Panel (JPanel) untuk menampilkan citra terpilih yang akan
dilakukan proses pengolahan citra.
3. Tombol (JButton) "Upload Citra". Tombol tersebut digunakan
untuk ng-upload citra tunggal.
4. fombol (JButton) "Deteksi Tepi". Tombol tersebut digunakan
untuk melakukan pendeteksian tepi dari sitra terpilih yang
tampil pada panel (JPanel) yang tersedia.
5. Tombol (JButton) "Negatif Citra". Tombol tersebut digunakan
untuk melakukan konversi citra ke bentuk negatif
6. Tombol (JButton) "Simpan". Tombol tersebut digunakan untuk
menyimpan citra hasil deteksi tepi dan yang sudah dalam
bemuk citra negatif ke direktori/file tertentu pada Laptop/PC.
7. Tombol (JButton) "Beranda". Tombol tersebut digunakan
untuk menampilkan halaman awal (beranda).
8. Tombol (JButton) "Tambah Data". Tombol tersebut digunakan
untuk menampilkan halaman "Tambah Data".
9. Tombol (JButton) "Kenali Pola". Tombol tersebut digunakan
untuk menampilkan halaman "Kenali Pola".
10. Label (JLable) sebagai watermark untuk software yang dibuat.
11. Label (JLable) yang menampilkan Tanggal dan Waktu
c. TP.mpilan tombol "Tambah Data" di-klik (storyboard 3)
Halaman:TambahData---. 1
l
Berl :Xama 8
L_ __ ·--~--·-·----·--_J
~ .- ~~--~~.~~;.i_:=}l-::~~~-J
4 _ - HF-:..+-1- - - 1-t---+-1-+-J 1
" ,-------------,
10 -H Beranda 1
Da1e & Timr ---1> 14
Gambar 16 Storyboard 3 (Halaman Tambah Data)
Komponen-komponen yang terdapat pada storyboard 3 :
1. Label (JLable) yang berisi informasi mengenai halaman yang
sedang ditampilkan yaitu halaman "Tambah Data".
2. List (JList) data sample yang tersimpan dalam file VO dengan
nama "pamor_l.dat". List tersebut hanya menampilkan nama
po la pamor keris Jawa.
3. Tombol "JButton" untuk menampilkan list data sample. Data
4. Tombol "JButton" untuk menghilangkan salah satu data
(nama pola) yang terpilih dari list data pada komponen 2.
5. Panel (JPanel) berbentuk grid dengan ukuran yang telah
ditentukan. Panel ini merepsesentasikan pixel/matriks citra
dari nama pola yang dipilih.
6. Panel (JPanel) yang digunakan untuk menampilkan citra
masukan.
7. Tombol (JButton) "Upload Citra" digunakan untuk
memasukkan citra masukan ke dalam panel yang disediakan
(komponen 6).
8. Tombol (JButton) "Beri Nama" digunakan untuk melakukan
naming (pemberian nama) untuk pola masukan yang terdapat
pada komponen 6.
9. Tombol (JButton) "Simpan" digunakan untuk meny1mpan
data dari citra masukan. Data tersebut berupa matriks/pixel
citra masukan setelah dilakukan downsampling serta nama
untuk citra input tersebut.
10. Tombol (JButton) "Beranda" untuk menuju halaman awal
(beranda) software (saat software pertama kali dijalankan).
11. Tombol (JButton) "Olah Citra" untuk menuju halaman "Olah
Citra".
12. Tombol (JButton) "Kenali Pola" untuk menuJU halaman
"Kenali Pola".
13. Label (JLable) sebagai watermark untuk software yang
dibuat.
14. Label (JLable) yang menampilkan Tanggal dan Waktu.
d. Tampilan ketika tomnol "Kenali Pola" dipilih (stmyboard 4)
Halaman: Kem1liPola -----+ 1 --- ----------- ----. I l"pload Citra 1-~ S , ____________ j
- - f-- -
.. . ~ . -- ~- --
I _ ,. r~-='==='=''='='='=~="----l------1
9 .._ """1 .... ·- -~~randa j L Olah_ Citra J
i Train l-r-- --f---I Kenali I \._·--··-
8
11 12
.-----t------, ,------1--t Tambab ~ata __ J j Keluar )
+ 6
+ 7
13 ,.__ -Proudly Present: Software Pengaial Pola PamorKeris Jawa_~ : l'swah [late & Time -I* 14
Gambar 17 Storyboard 4 (Halaman Kenali Pola)
Komponen-komponen vang terdapat pada storvhoud 3 di atas antara
lain:
L Label (JLable) yang berisi informasi mengenai halaman yang
sedang ditampilkan yaitu halaman "Kenali Pola".
2. List (JList) data sample yang tersimpan dalam file 1/0 dengan
nama "pamor_l.dat". List tersebut hanya menampilkan nama
pola pamor keris Jawa.
3. Tombol "JButton" untuk menampilkan list data sample/data
training set. Data tersebut ditampilkan dalam JList pada
komponen 2.
4. Panel (JPanel) berbentuk grid dengan ukuran yang telah
ditentukan. Panel ini merepsesentasikan pixel/matriks citra dari
salah satu nama pada daftar nama (JList) yang dipilih.
5. Tombol (JButton) "Upload Citra" digunakan untuk memasukkan
citra masukan ke dalam panel yang disediakan.
6. Tombol (JButton) "Train" untuk melatihjaringan KNN.
7. Tombol (JButton) "Kenali Pola" untuk mengenali pola pamor
dari citra masukan berdasarkan hasil belajar (training) KNN yang
telah dilakukan pada tahap 6.
8. Panel (JPanel) yang digunakan untuk menampung citra masukan.
9. Tombol (JButton) "Beranda" untuk menuju halaman awal
(beranda) software (saat software pertama kali dijalankan).
IO. Tombol (JButton) "Olah Citra" untuk menuju halaman "Olah
Citra".
11. Tombol (JButton) "Tambah Data" digunakan untuk menuJu
halaman "Tambah Data".
12. Tombol (JButton) "Keluar" untuk menutup/mengakhiri semua
proses yang ada pada software.
13. Label (JLable) sebagai watermark untuk software yang dibuat.
14. Label (JLable) yang menampilkan Tanggal dan Waktu.
4.1.3.2 Memodelkan Use Case
Berikut ini use case yang berhasil dimodelkan :
i
!.f ,_ I •
: .j I> 1£ I '
I •
I~ ,, 1-" •
OD !(
I I I I I I ,, ,. I~ I·~
Ok( /
Gambar 18 Use C ase
Tabel 4 Teks Use Case "Meng-klik Tombol Olah Citra"
Nama Use Case: "Meng-klik Tombol "Olah Citra"
Skenario Utama (Su1111y-Day Sce11ario)
Sistem menarnpilkan halaman utarna. Pada halaman utarna tersebut terdapat tiga
menu utarna yaitu menu "Ola11 Citra", "Tarnbah Data", dan "Kenali Pola". User
memilih menu "Olah Citra" dengan meng-klik tombol "Olah Citra". Sistem
menarnpilkan halarnan "Olal1 Citra".
Skenario Alternatif(Rai11y-Day Sce11ario)
User tidak memilih menu "Olah Citra" melainkan memilih menu "Tarnba11 Data"
dengan meng-klik tombol "Tambah Data". Sistem menampilkan halarnan "Tambah
Data". User juga tidak memilih menu "Tarnbal1 Data" melainkan memilih menu
"Kenali Pola" dengan meng-klik tombol "Kenali Pola". Sistem menampilkan
halarnan "Kenali Pola".
Tabel S Teks Use Case "Meng-upload Citra Tunggal"
Nama Use Case : "Meng-upload Citra Tunggal"
Skenario TJ tama (Sun11y-Day Sce11ario)
User meng-klik tombol "Upload Citra". Sistem memberikan pilhan kepada user
mengenai letak file citra yang in gin di-upload, ha! ini dipennudah dengan sebuah
fungsi untuk melakukan prtview terhadap citra yang akan dipilih. User memilih
file dengan meng-klik tombol "Ok" pada kotak dialog yang tarnpil. Sistem
menarnpilkan citra tersebut ke dalarn tempat (panel) yang disediakan dalam
software.
Skenario Alternatif (Rai11y-Day Sce11ario)
User batal memilih.fi/e citra dengan meng-klik tombol "Cancel" pada kotak dialog
yang tarnpil. Si stem menampilkan sebuah pesan (message) yang bertuliskan "Anda
batal meng-upload citra".
1
Tabel 6 Teks Use Case "Melakukan Deteksi Tepi"
Nama Use Case: "Melakukan Deteksi Tepi"
Skenario Utama (Sunny-Day Scenario):
User meng-klik tombol "Deteksi Tepi". Sistem menghaluskan gambar (filtering)
dari derau dengan menggunakan metode filter Gaussian. Kemudian sistem
mendapatkan kekuatan tepi (edge strength) dari citra. Setelah mendapatkan
kekuatan tepi citra, sistem menghitung arah tepi. Arah tepi tersebut kemudian
dihubungkan dengan arah yang lain dan dialkukan konversi arah sesuai dengan
aturan yang berlaku. Langkah selanjutnya yang dilakukan oleh sistem adalah
menghilangkan non-maksimum berdasarkan aturan tertentu. Prose' selanjutnya
yang dilakukan oleh sistem adalah melakukan proses Hysteresis (yaitu sebnah
proses menghilangkan garis putus-putus dari tepi citra yang didapatkan). Dari
serangkaian proses yang dilakukann oleh sistem di atas maka didapatkanlah tepi
citra yang berisi infonnasi-infomiasi penting dari suatu citra yang kemudian ..-1:~~··•_,;11."" ""'--!.- ~---- ... , •... , ,1,,1. J;., 1: .• L.- .• 1..1~·~ .... 1; •.. .... Tr~ •• - -1~"·•• .••.. 1:1.~, Utl<-lllljJ!ll"\.dll j)dUd dll-d _·•"'i:::- lLldll u;.)\...Ulclf\.<Ul lHll<llll ,,lljlH!U~. l .. :'.ll..I Udj_ldl !i!\...·lllldl
basil pendeteksian citra dengan metode Canny Edge Detect10n dari tepi citra yang I '
ditampilkan tersebut.
Skenario Alternatif(Rainy-Day Scenario):
Sangat kecil kemungkinannya jika sistem gaga! melakukan pendeteksian tepi citra.
Akan tetapi terdapat kemungkinan perbedaan mengenai waktu yang diperlukan
untuk melakukan pendeteksian tepi tergantung pada kemampuan kecepatan proses
suatu laptop/PC yang digunakan oleh user.
Tabel 7 Teks Use Case "Mengkonversi Citra ke Bentuk Negatir'
Nama Use Case: "Mengkonversi Citra ke Bentuk Negatif'
Skenario Utama (Sunny-Day Scenario):
User meng-klik tombol "Negatif' untuk mengubah suatu citra menjadi citra negatif.
Sistem mendapatkan panjang dan lebar citra. Kemudian sistem mendapatkan RGB
(Red, Green, Blue) dari citra tersebut. Dari kadar RGB yang telah didapatkan,
kemudian sistem melakukan operasi berikut :
alpha suatu citra
• r = 255 - getRed (value), merupakan operasi untul< mendapatkan nilai
Red yang barn.
• g = 255 - getGreen (value), merupakan operasi untuk mendapatkan nilei
Green yang barn.
• b = 255 - getB/ue (value), merupakan operasi untul< mendapatkan nilai
Blue yang baru.
Sistem kemudian menampilkan hasil konversi citra ke bentuk negatifke dalam area
yang telah disediakan. User dapat melihat hasil konversi dari area tersebut.
Skenario Alternatif (Rainy-Day Scenario):
Sangat kecil kemungkinannya jika sistem gaga! melakul<an konversi citra ke
"'"'" ''"' "'"'" -. '""' <crdop" k=~gki"M '"""""" m~s~• ""'"' I yang diperlukan untuk melakukan proses konversi tersebut tergantung pada
kemampuan kecepatan proses suatu laptop/PC yang digunakan oleh user.
Tabel 8 Teks Use Ca.;e "Menyimpan Citra ke PC/Laptop"
~-Use Case : "Menyimpan Citra ke PC/Laptop"
I Skenario Utama (Sunny-Day Scenario):
Setelah semua peroses pengolahan citra selesai dilakukan, user kemudia memilih
untuk menyimpan citra hasil pengolahan ( citra masukan) ke suatu area tertentu
( direktori/file) pada PC/Laptop yang digunakan dengan meng-klik tombol
"Simpan". Sistem memandu user mengenai letak (direktori/file) untuk menyimpan
citra masukan. User menentul<an area penyimpanan dengan mengisikan nama file
citra yang akan disimpan dan memilih folder/area penyimpanan kemndian meng
klik tombol "Ok". Sistem menyimpan citra masukan dengan nama yang clipilih ke
area yang dipilih oleh user
Skeoario Alternatif (Rainy-Day Scenario):
User membatalkan proses penyimpanan citra ke suatu area tertentu pada laptop/PC
dengan meng-klik tombol "Cancel". Sistem tidak melakukan penyimpanan.
Tabel 9 Teks Use Case "Meng-klik Tombol Tambah Data"
Nama Use Case: "Meng-klik Tombol Tambah Data"
Skenario Utama (Sunny-Day Scenario)
Sistem menampilkan halaman utama. Pada halaman utama tersebut terdapat tiga
menu utama yaitu menu 'Tambah Data", "Olah Citra", dan "Kenali Pola''. User
memilih menu "Tambah Data" dengan meng-klik tombol "Tambah Data". Sistem
menampilkan halaman "Tambah Data".
Skenario Alternatif (Rainy-Day Scenario)
User tidak memilih menu "Tambah Data" melainkan memilih menu "Olah Citra"
dengan meng-klik tombol "Olah Citra". Sistem menampilkan halaman "Olah
Citra". User juga tidak memilih menu "Olah Citra" melainkan memilih menu
"Kenali Pola" dengan meng-klik tombol "Kenali Pola". Sistem menampilkan
halaman "Kenali Pola".
Tabel 10 Teks Use Case "Meng-upload Data"
Nama Use Case: "Meng-upoad Data"
Skenario Utama (Sunny-Day Scenario):
User meng-upload data yang tersimpan pada file penyimpanan dengan meng-klik
tombol "Load". Sistem berhasil meng-upload data dengan menampilkan sederetan
nama pola pamor keris Jawa pada area yang disediakan dengan diikut:i munculnya
pesan "Data dari file penyimpanan 'pamor.dat' berhasil di-upload". User meng-klik
salah satu nama pola. Sistem menampilkan matriks citra berdasarkan nama tersebut
ke dalam suatu area yang terdiri dari grid (kotak kecil) berukuran tertentu.
Skenario Alternatif (Rainy-Day Scenario):
Sistem gaga! meng-upload data dari file penyimpanan sehingga akan keluar pesan 11Error".
Tabel 11 Teks Use Case "Menghapus Data"
Nama Use Case: "Menghapus Data"
Skenario U tama (Sunny-Day Scenario) :
User meng-klik salah satu nama pola pamor dari daftar yang ditampilkan. Sistem
menampilkan matriks citra dari nama yang terpilih. User meng-klik tombol
"Hapus". Sistem menghilangkan nama terebut dari daftar nama pola prunor yang
ditampilkan.
Skenario Alternatif(Rainy-Day Scenario):
User meng-klik tombol "Hapus" tanpa meng-klik salah satu nruna pola yang
tersedia. Sistem menampilkan pesan error "Pilih salah satu nama pola untuk
dihapus".
Tabel 12 Teks Use Case Meng-upload Citra Masi:kan
Nama Use Case: "Meng-upload Citra Masukan "
Skenario U tama (Sunny-Day Scenario)
User meng-upload citra masukan (citra yang sudah didapatkan deteksi tepinya dan
sudah dikonversi ke bentuk citra negatit) dengan meng-klik tombol "Load Cttra".
Sistem memberikan pilhan kepada user mengenai letak file citra yang ingin di
upload, ha! ini dipermudah dengan sebuah fungsi untuk melakukan preview
terhadap citra yang akan dipilih. User memilih file dengan meng-klik tombol "Ok"
pada kotak dialog yang tampil. Sistem menampilkan citra tersebut ke dalam tempat
(panel) yang disediakan dalam software.
Skenario Alternatif (Rainy-Day Scenario)
User batal memilihfl/e citra dengan meng-klik tombol "Cancel" pada kotak dialog
yang tampil. Sistem menampilkan sebuah pesan (message) yang bertuliskan "Anda I batal meng-upload citra".
Tabet 13 Teks Use Case "Melakukan Proses Downsmnpling Citra"
Nama Use Case: "Melakukan Proses Downsampling Citra"
Skenario Utama (Sunny-Day Scenario)
User meng-klik tombol "Beri Nama". Sistem melakukan proses cropping dengan
menentukan batas atas, kanan, kiri, dan bawah dari suatu citra. User dapat melihat
hasil dari proses cropping tersebut dengan melihat ada kotak persegi berwara
merah yang mengelilingi citra masukan. Sistem melakukan proses grabbing bit
piksel dari citra tersebut, dengan kata lain sistem mendapatkan matriks piksel dari
citra tersebut. Proses ini bersifat iteratif hingga jumlah matriks yang ditentukan
terpenuhi (misalnya width = 100 dan height = 100, maka grabbing matriks akan
terjadi selama 100 x 100 iterasi). Kemudian sistem menampilkan hasil grabbing
piksel tersebut dalam area yang telal1 disediakan. Area tersebut berupa kolom dan
baris yang membentuk n x 11 kotak (grid) kecil. User dapat melihat hasil
duwnsampling citra dari area yang tel ah disediakan tersebut.
' Skcnariu Alternatif (Rainy-Day Scenario)
User tidak meng-klik tombol "Beri Nama". Sistem tidak melakukan mekanisme
proses downsampling.
'l'abel 14 'feks Use l'ase "Menamai Citra"
Nama Use Case: "Menamai Citra"
Skenario Utama (Sunny-Day Scenario):
User meng-klik tombol "Beri Nama". Sistem menjalankan proses downsampling
citra serta menampilkan sebuah kotak dialog untuk mengisikan nama pola pamor.
User mengisikan sebuah nama (na.ma pola pamor keris Jawa) ke dalam kolom yang
disediakan dialnjutkan dengan meng-klik tombol "Ok" pada dialog tersebut. Sistem
menambahkan na.ma tersebnt ke dalam daftar nama pola. User dapat melihat nama
yang barn diisikan pada daftar nama yang ditampilkan kemudian user juga dapat
melihat representasi matriks dari citra yang barn saja.
Skenario Alternatif (Rainy-Day Scenario):
User meng-klik tombol "Cancel" pada dialog pengisian nama pola pamor. Sistem
I mengalami Runtime Error.
Tabel 15 Teks Use Case "Menyimpan Data Citra"
Nama Use Case : "Menyimpan Data Citra "
Skenario U tama (Sunny-Day Scenario) :
Us"r m"ng-klik tornbol "Simpan". Data yang s"bdwnnya ldah di-Jowmumpling
dan dinamai kemudian di simpan dalam file penyimpanan yang bernama
'pamor.dat'. Sistern berhasil menyimpan data baru tersebut kemudian rnenampilkan
pesan "Data berhasil disirnpan pada file penyirnpanan 'pamor.dat'. "
Skenario Alternatif(Rainy-Day Scenario):
Sistern gaga! menyirnpan data barn. Hal ini ditandai dengan munculnya pesan 11 Error11
•
Tabcl 16 Teks Use Case "Meng-klik Tombol Kenali Pola"
~a Use ~ase : "Meng-klik Tornbol Kenali Pela"
I Skenario Utama (Sunny-Day Scenario)
Sistem rnenampilkan halaman ntarna. Pada halaman utama tersebut terdapat tiga
menu utama yaitu menu "Kenali Pola", "Olah Citra", dan "Tambah Data". User
memilih menu "Kenali Pola" dengan meng-klik tombol "Kenali Pola". Sistem
menampilkan halaman "Kenali Pola".
Skenario Alternatif (Rainy-Day Scenario)
User tidak memilih menn "Kenali Pola" melainkan mernilih menu "Olah Citra"
dengan meng-klik tombol "Olah Citra". Sistem menampilkan halaman "Olah
Citra''. User juga tidak memilih menu "Olah Citra" melainkan memilih menu
"Tambah Data" dengan meng-klik tombol "Tambah Data". Sistem menampilkan
halaman "Tambah Data".
Tabet 17 Teks Use Case "Melakukan Proses Training KNN"
Nama Use Case : "Melakukan Proses Training KNN"
Skenario Utama (Sunny-Day Scenario):
User meng-klik tombol "Train". Sistem menghitung jumlah neuron input dan
jumlah neuron output. Setelah jumlah neuron input dan output ditentukan, sistem
kemudian melakukan konstruksi Neural Network yaitu dengan mengisikan jumlah
neuron input dan output. Kemudian sistem mengisikan nilai training set dengan
jumlah neuron input dan output. Konstruksi terhadap NN dan pengisian training
set telah terpenuhi. Proses selanjutnya yang dilakukan oleh sistem adalah
memnentukan bobot matriks dengan memanggil method "learn". Kemudian sistem
melakukan evaluasi terhadap matriks bobot tersebut untuk mendapatkan level error
terbaru yaitu dengan memanggil method "evaluateError". Ketika error di bawa11
nilai I 0% mcnandakan bahwa proses training tel ah selesai. Sistem menampilkru1
I status keberhasilan proses training dengan menampilkru1 sebuah pesan dalam kotak
i ,1:~1~ .... ~:._." D-.~~.,~ •-··": .• : ••. ~ •.• 1.-l ••• 1~-'"; A:: .• 1 .••• L,_ .. 11 I \,ll!UVC )dllU I 1u.::i1..::. llclll!lllC. lLl(Lil 01.-IL~dl UIJtlld!!!'.dll
Skenario Alternatif(Rainy-Day Scenario):
Sistem gaga! pada saat awal konstruksi NN sehingga proses training secara
keseluruhan pun gagal dijalankan. User akan melihat sebuah dialog pesan "Error".
Tabet 18 Teks Use Case "Melakukan Pengenalan Pola"
Nama Use Case : "Melakukan Pengenalan Pola"
Skenario Utama (Sunny-Day Scenario):
User meng-klik tombol "Kenali". Sistem melakukan proses downsampling
terhadap citra masukan yang ingin dikenali. Setelah dilakukm1 downsampling, pola
dari citra masukru1 kemudian ditarnpilkan pada KNN kemudian neuron pemenang
dipilih. Si stem berhasil mengenali pola citra masukan berdasarkan hasil dari proses
sebelumnya yaitn training. User dapat melihat narna pola yang berhasil dikenali
dari sebuall dialog pesan yang ditarnpilkan "Parnor tersebut adalah : (misalnya :
Beras Wutah)".
Skenario Alternatif (Rainv-Day Scenario):
User meng-klik tombol "Kenali" tanpa melakukan proses training sebelumnya
(dengan meng-klik tombol 'Train"). Sistem tidak dapat melakukan pengenalan
citra dan kemudian menampilkan pesan "Lakukan proses Training terlebih <lulu".
4.2 A11alysis/Prelimi11ary Design
Ana/ysi.1·1Preliminmy Design (Analisa I perancangan awal) diwujudkan
dengan melakukan analisa kehandalan (robustness analysis) yang kemudian
didapatkan hasil berupa robustness diagram berdasarkan masing-masing use case.
Berikut ini robustness diagram yang dihasilkan:
I. Robustness Diagarm Berdasarkan Use Case "Meng-klik Tombol Olah
Citra"
__ o Kalaman Olsh Citra
M~ng-dil 1cmbol ~Olah Citra"
~~'-"""" um ~ Haloman T•mbah Oat>
Meng-<li< Tomb¢1 "Ke!'!ali Pola"
Halainan Kenai! Pola
t,\enamp1l.:an H:ilam.Jn
Olah Citta
M&nampilkan Halliman Tambah Dsta
Me:nampilbn Halaman Kenali Pola
i;:, Ske-Nrio Utilm~ (Sunny· Day Sct>no1io) Sr:f"' ..,.~,.~,,.::: '·""
tf':!!c•::-;a ""''"'"" ... :l'l"O ;;at,, n--t,.. .. ·o-a" C:·a· 'Tarr-bal"' Dia· :ia" ·;:,,..af Pc-a· <;~..- "'t"Y"---"
'>'tr'.; '0-a" (<;•3 C~";i'"
mtrg-tJ.>; :crrl:-c-- ·o a" C-~1· 5'>~tm ,.,...,,..1rri:c,:.:a" t-.a.ama-: ·o~" C!•a' Sk~ri.:> Alternatif (Rainy-Day Scenario) uw :c::1;i;; ,.,.,,..,.._,_!- 'I"('""
·o.aM C~·a· m"~l "'·l" <nt'l':M~ n-tr-v ·rarr"t:a" Dat1• Otr-g:;ir. mi<,.;·i:'.•. tcmbol ·ramtiah Dau· 5'rtt-m mer.amp-.'.Ur. h.a!aman ·rambah Dita· Ustr }l.lgll t>dllO: mtmO•. mtr.u ·rambah Data· me:aor.~..a,.. mtmfrh n-l!r"J "Kt1•a1, Pc-~· :H1r;1r. mer.g.l;U; tomtxll "Ktl'JI· Po\a" S.·sttm mer.amp•ik:~r 1-.;!'.amar. ·Ker.a\: Po~a·
Gambar 19 Robustness Diagram 1 (Meng-klik Tombol Olah Citra)
2. Robustness Diagram Berdasarkan Use Case "Meng-uploadCitra Tuggal"
.·. ~···
SklDNl"k> U~ma (Sunny· DayScft'lario} Uu1 mimg·l:H: tomt·o1 ·up:Oid C'tta· S<nem mtmtai.Un pi'.1<.Jn hp::! l.iStf mil,.,gtna' :,;~;; !iit c<tt.1 Yl"9 mg;" d1-up!~ hJ! ir.i d1pc;<mud1h dtngar
~~Ci... M•mQCl·.· .. ".----.-.-.-,,,,,-Q_c, .. ubuJh Wn911 untul: 1 -mt~l:ul:ilin ptt"'t-.1· tfth1d1p C~•a y1n9 Jl:ln dtplkh. u~· mtm•ih f;~ dtr.gan m11n.g·Ut tcmt:ol ·m· pa::ia l::e:JI: d'1>:-g
""' cl \.. y;ing ump.t Smtm mtnJmpi;l:Jn ~~·J ~trltb .. t tt d11'..am ump.It iPl"t~ yu1g ais-e-dcal:an da!.im software Skenario Allttnatif (Rainy-Day kmorio) Uu• baUi mtl'l"-<i•h {:1t c~J
dtngin mt"S·i:'I: to'l"bc-' ·canct!" PlldJ l:::u~ d..a~ yang umpJ 5'1~tm mt"limpill:Jn Sf!bu1h
ptSU'I "'1<1'H"9t! Yl"9 bfttu\;$kin • ~ndJ bJUI meng•uploJd ccya·
Meng-lr.li1< Tombol ·canoe I~
I
• C1slc-;J Penn 'Anda
bal.31 meng-1>plosr:I citr11~
Gambar 20 Robustness Diagram 2 (Meng-upload Citra Tunggal)
3. Roln1stness Diagram Berda5arkan I''"' ('me "Mebkukan Detekoi Teri"
[ siwu.no u~ {Sl.mny.0<1y Sr maria) : U1t• "'"";·~'~:em to· 0 0.tHl- Ttc·· S~tt"' "''"ll"''"lU" Sl<'>'et• '~t'-"; .:1•. :!f-'l" :lt"SI" ""'";;""H-1" !'t't:~:I;; ·-~· GllmWl ~ • ..,, .. :i~" u:f"' ll"ff':!Jpl":U<I tfl:>il':.1<' :tp 'f:>,"<t
l~f";<"; :!I'· 't',t S.:1'.J" mt":!lp!•OJ";,H;,,i:J" tt~ C~•I ro":im mtf'S~~v";
&•1•- tip ~'l" :t~ lf~1e..1 tim~:i 11'
tl'""l>""lld"- <l11'91"· '''" ''"9 ''" :!J" :!-J •:.;\.J" ~O,,Vi"J> J•I" :fl-'I• :!t";)I" ltv'J" )!l"S br.i~" L•"SU" i<'l";~t";I ''"!l :F1C..;;Jn oit" Ht,.,,, J:U'.af' "''"ll"'"'"QUr. "C•'-!T'JU.mo.,,. P*':IJU'tl" :r-~'I" U'tf"tw :>te1H
11.l","l"fl ''"ii 04~"~'" e,.., i.1t1m J:!J'.J" mf;.,~"!;"" pi'OUI Hyitfftiis ~l~v H'P<>ll< f:"'Clfl mt"gM.tn~U11 91'" pvt,ll·PWNI di" Upi C<VI Yl"ll dd1p1:•.in) Dan :mngu;,n p•oin 11119 dl.ll<ibnn o'fl> 14tem O• 1t.n m1U !1.:l1p1tU"!a" ttP< citra :O"ll ta0.ii
;11fo""U·-... ~C<n'l4f> Ja"°".A'\9 QI~ l\ll:V ttfl
)l•~g \:t'ml,l(lc11• d:tlml)i.'"li" p1;111•n )o-1"9 tf',.I> dudi1~.11n dl\J!'f'- .a,l!'lh:-• Ua> d1p1~ mt1i1'r. 1'uO ;andr.t<.-wn '-':•1 d~ng1n metode Ctn!'") Edi:• Ot:.=n dJ" tti:< ''t'I y1r11 d!Ull'p0Un lf'nb,,t Slwwio AHtmiotif {Rainy-~ ScHIMio)• $1,.,gn l:ec> ~tm<l<"1jl;r-1nn-;11la nttm 91911 mt'.al:W<ll" !a"dftfioU,. !IP' C".!I Atl" tttllpi :tt1:l1ptt ttm<l<'ljj~-1" ~·~dun mtn;er..ai \\lltu yang d J:f~-~•.1~ urtul: mt\JbJUn ~"~f:tU·-ir
ttp,te•g1nt-wng Pldl ~.tm1mp·wo~ tt:tpr.I" P•Pt!'I IUUJ \Jp-,cp_-P( fl"i<
d•;wr1i'-1<" "*~ ""'
0 C11r1!.1nu~u1
7:-D b 0 Citr• ~•"Q S11d1h H•hn
Tomeol "l:tlt<i:.i Tep;· l.!en11~•lu11:1n Citra
Uu·r
6 0 0 0 ···-~b""
Mend•p•t<•n l<1"!111tan Keli-111t1n Tep!
r.p;
0 0 Totoi Cltnl
Me"il"<"""R"i Atmt. 1.!enghil•~'-""
·a~O~ Ar1111 Cwa
Gambar 21 Robustness Diagram 3 (Melakukan Deteksi Tepi)
4. Robustness Diagram Berdasarkan Use Case "Melakukan Konversi ke
Citra Negatit"
Slmwio UU!ruo (Sunny-Doy Su<1otio)' U!i"' mtr-g-1:,'I: 1om!;¢< "1-ltgnf" u!"l<.ll. mt,.,gul:i1' 1 .. 1tu c-t!i m1rfto1 c-t'l n~1:-• W.em mtrd1p1tl'if1 Pi".'-'"9 di" ~!:1• ::•1 Ktmvd'<I" 1·11tm mt,,d1p1:>:1" RGB :Rto Gru" S•.;t~ 01·. ct<J :t·nb;..-t 01• •.i:!i' ?.GB :.1,..g tt'.l" d<:llFlt~Jn l.tm.,o-1r 11tttr mt.Ji:.ul;J" CF-t'U l:~•J;.,t
mt'YFii:l" e~•u' -..-:ul; 'l't":!"a:•.i~
"~' J'pl"J Wit.; C-~i mH.;FJ\.in OptfU> ..,r_t.;I; l"r'ff':liFlt~Jn
,.,,;1. '1t::r;vg t:1•.., il = l05 • ;t:G•fr" :·,·~vt mt· .. FHi" CCt'H• ..>"l..>I'. mtf'Oi!>ll<.I" <'•t G•H" ~.1rg c1·., t " :;;s · ;tB:iJt .'v.::;vf_ mt'-.l>l'--1" <:F~H· ""l"i:. mt<'OiFllU" ,..,-1 f;,.,, ;1r5 c.1•.,
S--nt"' •.tm ... :!.J" mtr.imp;l:J" i-u •.cr.t·~
Cltli i:.f l:tn .. ~ rtg1tl kt 01·.1m 1•u il"9 ttl" d-ttd.JUn Ult' Olp: mtJJ•.1: r-u., ~.C"•t'i' dl~ 1'0 l.!-•HC;.,l S~lo Altttrutif (Ratey..[)..,- Sctnirio): 5.Jrg1: he( ~fm.,rgt.r.1"-"~' -' ll ; ntm g•gl mt~~u<.l" l:Cf'Vfc'I' C~'J l:t t.f"T.,<: ~"'J <"t;llt'
Ad" lt:iC- :t'CJCJ1 lt"'-'"91:"1" Pt't~U" mf"Qf~J -'.1i;'!..; J'l"Q 0 F-tc--\;l.Jf' w"lwk me!:ikul:l<" p•::1H ;_c;o-.e•r tt<ltl: .. : ~t·Ql":.,rg 1adl i:tmtmF_,Jr. <HfFJU" P•Olfl 1.,1:,; !:J~..op,'P( 1rg d')l""Jl:Jn e'•f> ~It'
~ ----:Q.-,-,.--,-.. ~,'",,Q.-,-;.-,,,--.-.-,i-,Q.,c, ..
O-o-E---6.-o Alph1
Alpha (Transparansi)
o-6 RG6
1-.leng<env*<Ji dlf1 t.lel'\Qi.iVdlllt RG6
Mtnd1pat111n L•b1t [WilllhJ Cil11
Konv~lt 6enM Nt111bl
Men1mp11Qn HaJil KoM~ Citrll <• &.n!u'
!1-.g11tif
Gambar 22 Robustness Diagram 4 (Melakukan Konversi ke Citra Negatif)
5. R.oh11s1ness Diagram Berdasarkan Use Case "Menyimpan Citra pada
PC/Laptop"
"' SkMMio Ulilm.1 (Sunny· OayXfflano): 5-ftt'a" ~,;--r,;J Pt'OIH
F-f"iJO'l"ar c~·a •tea OcJh;;.J" wlf' •.f.,.._,:;i mtm>i<'I "'":"'· ,.,..t":,-,.,.par c~a f>H, ;::-<r;e-4 .. l'" c:-;
mn;;i:::t•f •.t 1 .. .1: .. 1<u
:!-gura~-1,.. de,.;1~ rrtr9-i::OI: :cm!>:; ·s.,-,;::1r·
S~tm frf"'l":lu wl.f'
mtf'l9t!'\I< it'.li:. {d~tl:tei~.-f\it; um~!:
mt<'ly.mpJ" c~J1 mu.,1:a" Uu• mtrt,.:<.i:.l" 1·u iany.mpar.1n dt<'9Jn mtng1•l)r. <'a<ru f;:t c<tra y~ng a~.1n d:!'"<lPI" :::U" mtmWh 1o·-::1~-i<U pef\y.mPJ"l" i.Ul"ud-1<' mtr•g-l:ti: :orrb:' ·ct• W.em mf"Y-·"'Pi'"' c~·J muukl" de,,ga" nama Yl"9 d'pM> ~"' a•n Yi"9 d;pt<!\ O'<e1' ·.;a•
Skm.ario Alt~tif (Rainy·rhy 5(tmrio) i U!e< mtmt11a·i.J" i:•e1H p..er:,.-.mpar1" e-~·a i:! IUil~.; t•H lf":E-":,; FiOi
:ae~ei:.P< :t'"!l'" "''""il· ;;;t!::mce· ·c1~-:.-· Scntm :•OH rri ik,,t.ll~ Pf"'J'mpJr-J"
1'h!TU1Citr1
Mtny1mpan Citra l--£>
i=eiet-t y;rn>.1 OiFih!'! O@~ijllf! ~-1-Dma yD'"ll
Dipi!ih
Tembol Canool
Gambar 23 Robustness Diagram 5 (Menyimpan Citra pada PC/Laptop)
6. Robustness Diagram Berdasarkan Use Case "Meng-klik Tombol Tambah
Data"
~ Sk~rio Utatrui (SunnyDay Scenario) S.:swm !"f"•H'amp-'i;a,.. ha~man utama Paoa ra:ama<' ... uma t<i"Sfb"'t tt•::i.ai::at t·;J mfru -.ama ll't;.i mfru 'Tan"t=.tl' D.ita· ·c:an C-::ra· oar" ·Kera•, Pc-J· Ult' m,;m •. -h mtf'u ·ramtar. Da:a· oengar rr"trg.i:H: tcmbc ·Tamtah Dl:a· S1ntm mtr.ampc·.:af' l°'l'.il'l'Jf'
·ramCah Dau· Skemrio AlterNlif (Rainy-Day Scenotio) Ust• t•o1>: memt.t'I mer>u "TamOai" Data" mt:a-ri;a,.. m;;m,ih mtru ·o~h
C't·a· dl!f'lga,., mer.,g-;,:;,r. tomto' ·o.ar. C;t;a· S.•r..tm mt!"'amp-i<:.an ha!.iman ·0:11h C'!ra: UH•! , .. ga t,::1a1: ..,...,,,,,;J· .,..t,...i ·o·al"
(':•a" me.lof'f . .:ir m,;.mof"'.
m.;.r;; ·r:era!. Pc--a· dt,..gar rrtf'g-1:! >: tcmtc• ·;;,;,..ac Pc.a· S:sttm 'Y'fram;:-;.a~ "l 11..,..a,.. "i'.t"a- Pc a·
1~()
M&ng~ik Tombol "Tambah Data"
Q~ombol"Olahc;oa· -
A Halaman Olah Cilra
User~
Menampil\lln Halaman Tambah Data
r.1anampl!Qn Halaman Olah Cilra
Meog<l;kTombol~-E"-------·
Halaman Kariali Pela Manampi!Un Halaman Kftnali Pola
Gambar 24 Robustness Diagram 6 (Mcng-klik Tombol Tambah Data)
7. Robustness Diagram Berdasarkan Use Case "Meng-upload Data"
Skenario Utama (Sunny-Doy Scenario): L:te• ,,...,,..;·!JP:DX data ;;a"g te:s: mp a" ::aja f;;e i:;--Ef'~nmi:;a,..a,.. j;;r-ga" m;;!"',g-
1;0; tombot •tcad· 5-~tem ~rras~ meng-up\oad data d;;rgan me,..ampi11:an se-Oery.ar rama pc~a pamcr l:e1s Jawa pada area )'arg d:sed•al:an dengal'\ dvl:ut' muncuinya ~s.tn ·oata dan fiJ<; pel".y<mpar.an ·pamor dat' t;oErra>il d1-;;p1ca::1· Ui:e me,..g· ilk sa:ah utv nama pola Slltem mer'!ampi!l:an matni:s Cl"J'a t:--E'danii:an l"ama te,sebut r.e da:am suatu arr.a yang tt:td>r• dan g•f:t ,l;cak l;e::il; beul:uran t~rtJ:rtw
Sken.Jrio AlteiThltif (Rainy· Day Scenario): S'nem gaga: me!'lg·wp;cao data da•, f1;,;. c.,;.ny•mparan st:h:r:gga akan f:ehJiJr p;;san "Error·
Q~ A Tombol Load
User
·-3>-0~~·l•ad 0
MatriGCitra
File Petiylmpanan "pamct.dar
Dialog Pffan a.gal
Garn bar 25 Meng-upload Data
. D S~10 Ut..wui (SUlltl)'· Doy Sc~nario) ; us~ mtl"g·tH: u!)l'I uw r4m1 p.c-:, pamo• d.ar• dlfta' ~1rg d<'.1mpi:t1n S$ttm mtr.1mp•:Un mauJ:s c1tr1 dan r\;1m1 y.arg lt•pJ.ti Ustr me,..9· k.hl: tomto1 "H.apu1· ~·.tm mt,.,gh;:,ngl:.Jn r,,tm.l Utf!b-.it din dJfar nJma po:O. p1mor Y'"9 d,..1mpd:.1.., Skcnuio AHttnatif (Rainy.o.y S«fUrio) : UU• mtrg·til: tomtx>J "H1p-.. a· til'!pl mtng·kH: u~h sa: ... l'Jma po\J yang ttfStti~ Si:ittm merul'P~~.Jn pt-Un t'rror 'Ptl.h Ula." Utu l'!Jml J:;-0'.J urt;;~ d t>Jp-.s·
Q_. M<llhot~~·· -0 A -. Area' oatt.V Nam 01a Menarnpilkilii Oaft&t UHt Nama Pela
1---· MatrikJ Citta Menampllrcan Matriks
Citra Me:nghilangtan Nama
Pola dari Oartar
Gambar 26 Robustness Diagram 8 (Menghapus Data)
MenampilQn P(!-san EnO<
• Dialcg Pti3n E.nCf
9. Robustness Diagram Berdasarkan Use Case "Meng-upload Citra Masukan"
I Skl!n.irio Ut.lmil (Sonny· Doy Sc~nario) Ust• merg- ... p-oao :-·...'a masuta.-: ~c~·~ ya,.,g suoah d•:lap-a~kar. Ci!ttf·s; tt;:;,,.;iJ di" ;uoar. d.t:cr:vl!""l' •:e l::-tr!ul; C-'::'a r.i-gatef: dH';ar me~g·UO:. tcmb-::i' •tca,:i C:tra· S:r:tm memberan p£1"an t11catu uS.1' mergerai ·~tal: ,f:.t citra yarg r.9.n d;·u;~o;n_ ha!"'' d·t:ermud;ah dl!nga i:t•t;;al" fung~ uf'.tui: m!"<ib.1tan pe•'it!•Y urhadJp citra yang atan dip-<lih Uu-r memi!'h fi~ dengan meng-J.;H: tcml>ol ·01:· padil l:cul: diiJlog yal'g tampl S-Onem mer.amp'11:an Cl".ra ?ersebut la da!am tempit (par:g; y1n9 d:UO;,abn dalam sofr"~~e
Skenmo AH«mtif (Rainy.-CJay Scenario) U:~ ta~al memiG'h fife,,._,., dengan meng·l:lil: tombo! ·e;a,..cer· pada l:otal: dia!cg :,iarg tamp1I S-:1t11m ml!nampi1:an seb..iah peun f'T't!HO-,,~: yal'!g t:~!'Wfrll:aro ·:..,.oa bau: merg.uptcad ciir1·
l ~ ,-,-.-.-.---cM>e~mQC•iv<a~----M-e-1-a'ruka-Q~Civa cl \
Pan~I Pttnampun'J Citra
Me-ng·ldil Tcmbol "Cancel"
I Tampil
Dialog PHSn .. Anda bstal meng-uplosd
citra"
Garn bar 27 Robustness Diagram 9 (Meng-upload Citra Masukan)
L Skenario UUm. (Sunny-Do: Scrnario): U;er meng·kU:. tomoor ·s.mpan·_ Dau y1n9 seOil-h.imnya ttlah d>· o:i1~11sa.rnpling d.i11 d.l'Jmil
kemudoJn di limpari dJ:am fi'.t p-tny:mp1nan yang t:-t·rnama ·pamo1.dat" S>stem berhasil menyimpan d1u b1ru ?trubut temud-1r me11ampi\Un ~un ·or..1 bf.rhU>l d<S1mpan pi1d1 f<>f penyimp.inal'> ·pamo1 dat' ' Sken.lfio Altematif (Roiny~y Scmatio) : 5'sttm 9Jg1: mer-}·,mpan dau taru H.l! 1ni d:Ul'1di11 den;an mur.{:uin)il ptJJn "Error·
Mensmpilk.an Dialog pesan
/~
File Penyimpanan 'parn«.dar
o/""" G•o•• Dislcg Pe-san Gagal
Dialog Pe-san Berhasil
Gambar 30 Robustness Diagram 12 {Menyimpan Data Citra)
13. Robustness Diagram Berdasarkan Use Case "Meng-klik Tombol Kenali Pola"
c Skeruirio Ubma (Sunny· Day Scenario) Ss::en m<t,..amp,·.:a,.
r1.3'l'.l" ~urr1 ::c•;;:,c ... : til•dapat toga rrH•.; uU'l"i ya~.; menu "Ken3i; Po-l· ·o.ih c,-.:il· da" ·rarr.t:an Ona· U1E<' mtm,;.r. mt"" "l(p-ar, Po:J" dt..,-gar mf,.,g-kH; tombo' -..;,,..a,, Pe-!a· S:s~tm mframp,;;a,.. hai.arrln "Kfr.a'.l Pe-.a· Sk.nario Atttmatif (Roiny-Dety S<enorio) Use t'dak mtmi'.;h rr-frv "K;;,...ar; Pc:.i· mt-:a.r~:ar mfm<l,h mtriu ·o~i. C~a· dfn-gari mfl"g-t;:,;, tomtxll "Otah Ci:ra· Sstem mt,.,ampm:an ha!lman "Olah 0-..ra· Us~ J.iga t>:lak mtmlf:h mt,.,u "01ah C,tra• mt!aintl.n mtmfrh menu lambah Dau· dt";;ian mtng-1:'~1': tombo' 'iambah Da-:a· S'ntm mt!'!amp11tan ha'.aman "Tambah Dau·
~-E---0 / H•l•m'" K•"'" Pol• ? 'om~ol ·Koo•li Polo'
Q Meng..C.hl Tombol --Olah Citra.,
A ~ H•l•m•n Ol•M Ci••
Um ~
Menampi!Un HalafT'an KQnali ?ola
MenampilkAn Halaman Olah Citra
f,l,ng~li• Tombol 'Tomt~-E'---------·
Halaman Tambah Data MenampitUn Halarnan Tambah Data
Garn bar 31 Robustr.ess Daigram 13 (Meng-klik Tombol Kenali Pola)
14. Robustness Diagram Berdasarkan Use Case "Melakukan Proses Training
KNN"
4.3 Detailed Design
Detailed design (perancangan rinci) dari pembuatan suatu software
ditunjukkan melalui pemodelan sequence diagram.
Berikut ini sequence diagram untuk software pengenal pola pamor keris
Jawa berdasarkan robustness diagram:
I. Sequence Diagram Berdasarkan Robustness Diagram "Meng-klik Tombol
Olah Citra"
i::, SkenMio UUm.1 {51.mny-Oay Sc~rio)
Sosum mtf'JmpAoJr. ha~mJI'\ uUmJ P1d1 l'i'.l.fT!Jn .. um1 ttruthlt t~OIPJI 't>gi m•l'\u uum1 y1itu mt!"!u "O'ah Cttra· 'T1rrib1h Dau· :Un ·~tna~ Pota· Uit• mtmo>:n mtnu 'O"h C.111· dt"91'1 mtrg-bt: tomt-ci ·o~r. C-t•a· S.r:t"" mtr-amp.;k.!,.. ri-i'T'J'" 'Oah C"".ra· S~rio Altttn.afif (Rainy-Dai ScMario) uie· H:U•: <rt'"l"- ,. "'t" .. ·o.a .. Ct•J' '1"-f.I rHr "l"t<r-"" 'T'-t'",.
·ra,.,.ca;. Da~· ce~;a" "'t";· ' . ~:~:: -;~·:;" :';'.;
Si:t<r- n·t":;<rc • . .!" "ii-.!"'a" "TamCJi"_ 01~1· ..;it· .-.. ;::l :-Ji~ mtm<i" ,.,.,,..., 'TJ'l1tJI'> D.a':.l"
mt'.1.-!":l;J<' mt"l'.'-" r'l'f"'.; TtrJ Po'.a' :itr;a,. '1"t,..;-1;'l. t~rrt:i 'KtrJi- P:;.a' S~t'T'
mEr.Jmp,t.llr i"l-!'rJ"' ·;;:_,,.,,,
Po·.11·
-I I I I I I I
0 Ha!1mfribbb
gp I I I
isOlahCitt•lMW PanelOlahCitta{), chan{Jt'. jPan•l1) I
HJl!nWf r.mb!h • I I I I I I I I
Garn bar 34 Seq11ence Diagram I (Meng-klik Tombol Olah Citra)
tbli!f!W! KfM!! l!!jll
I I I I
' I I I
' ' I ...
2. Sequence Diagram Berdasarkan Robustness Diagram "Meng-upload Citra
Tunggal"
~ Sbn.ario Utmui (Sunny.Day S«norio) Uur mer.g.!;f;t tombol ·uploa-d CJtJa· W.tm mt-mlaritan po1h;an k:tp1d1 uitr mtngtnli \fut fi!t cit!• yang .l'\g:n d>-uploo.:1. ha\ im d~ud1h dt-1'\gln 1•bu1h ~Jng~ unt\.lli;; mtlakut.ln prtvitn ttrhldlP C.ltrl y1ng ak.11'1 d;pilih Uw mtm<llh fi'.e dtngan meng· tU:: tomt:>oi ·et:.· pad1 koUk dillOg yal'g umpil S<ntm m•l'ampi!l:.an C/tl'I ttfltbut i;e dallm tf<l'!PJt (pint~ yang diud>aktif' da!Jm !.Of't;\"OTt Slcfturio AllH!"lillif (Rainy·Oo: Scmario) Uur baUl mtmMi fiit citr1 dtngan m1,.,g-k:U1:: tomt;.ol ·ca,.,c.i· i»d• i:out d~log y1n9 umpi! S:sttm mtl'IJmp~~" Wbu1h peun :mtu~; yat"g tartutd;Qn • Af'dl biU'. "fltr:.g
uplo1d C<tfl0
·· .. ~
""' I I I I I
··;o TqmbOl "Uplo?jd
~ I I
.D Citi•: Trminjl
I I I I I
panelPreview() I I I I I I
0 Pint! PtflJmpuna
l<lf' I I I I I I I I I I I
Ol<O I
canoe:!{}
Gambar 35 Sequence Diagram 2 (Meng-upload Citra Tunggal)
Qb!oqP«un "Andabml
mfM:UP'pa4 citn" I I I I I I I I I I I I I
3. Sequence Diagram Berdasarkan Robustness Diagram "Melakukan Deteksi
Tepi"
0 Sk'"'""" \Jt>m> j~nny Oay \.:"'"""' -w-~·;., .,~~o~ -:;.,.,, '•~ ~.:···
.,-or;~i\.•U" 90"'0>' ·'·~+""i' :lJ'· :lt•Jv
::0•;1• ..-o•;;w••c•" .,...,~~• ·~•· ~ ~ ..... ~•· "'""' ;r-o•dapm-•• ... ~ ... ,.._,."_ .~ «'<•p>: .,,._ '"''
Sr.t-'->" ""*"""'<""'" '"'"'"" ~ '"'' tr.t"" ""''"0"'w"i I'•"- "C' :..•>h "" 't'Utw• "'"'"" '" O "·~"·;~•" Ot•;r ""')I"-; 'I-" 01" ,, .. ->ev<:Jf' ~N .. 'O' l'J"
'""''' "'";•" ...... :""" t..., ... ., l,J•;Ut•
"""·"~'· ,,,.., "''<·'-•" ,, .. ,. ~,.,.,,. '""'" "'~;·~·;<>• r-<:-·'1'1<:1,,, ..... tf'dlU'U" ••·''" •.r.-.~ :>rc1tt <1(0r.~1• ,,,..; <>'l~v<>• elt" f<'*"' .,,.~ .. ,,,,.,.~ .... ~ P-01*1 H}1Wttl< 0·-~ It~'"" p<'OtU "''"'>)">->•-gb• ;••~ l'<>':;..I· P,.":;..I d>•- "" <'O'I )-l"ll 0411'.-:<J'>: OJ~ ....-on1iU-.10 p•o•u )'l•'l o,..<~U,.,, <>¥ ~ "' r ... <r1<1 OOOPl!Q!'_,,.,. 'fP C':!O y1r.g t•·~· _,.,~,...•~·••'"'"'n Pf'"l-'"ll ;ir. rum. C<c• y1~ ,,,,.,,.~ .. ,. dq"'p.;a" P•01
••H Yl'lll ""*h '11.ttlod11 dJ~m ~'"'' \.)W dl!>ft "'fll--t! ,._.<l ~4t'leb.011 ci:t• ;:!1<>~:µi tnr.D<l1 ~ny td~• OitKt>O<> d1•. ttP' c<111 y1ng a.ump<qn wwb'1t. SD<urlo Altt<nutil {Rolloy-Dly S.:.....-lo)' S.."g"' '<e.::I Um1ongl:.,1nny1.<U i.'1".1m g1~al m1\a~uun po<'ao:.W.n ti~<"-'• l>:in :.UP• wd1pn tt"'u">!loNn Pl'l>t<!Un ,.,.I">) tr_.. ~•I::.> yang a-~'-'' ur.wk tnNWtl" po"-Or.1d'"" ltP' to•~<-?'~~"'" ~tn'1mpU111 tt-<:1p1a~ P'<>U11UI~ !1~~;-p( YI"~ a~u<'ltl"
o:i.h ~"'
""' ' ' ' ' '
0 0 Q !Ctku.,n!tpj
' I ' ' ' •<l-it"S<re"Q\!111 I
Gambar 36 Sequence Diagram 3 (Melakukan Deteksi Tepi)
4. Sequence Diagram Berdasarkan Robustness Diagram
Konversi ke Citra Negatit"
--,,, ----, u L; ""f"' &nf"'
"Melakukan
' S!wwio\Jbmll (SuMJ'-DO)'So:fflOtlo)' ' l.Jw mtl'-i)·~t lC"'00' "ti~•'"' """'l
~.>t!•" 1u1t.i <'tll <1'--,,.d•!'tfl r~n' !><s'.1m tr.f":llPr.'un Pll'.<l"'9 <II" ltbv <:!:'I 1 · rM!'•:l<ll' 13Um m<n:IJpl:Qn RG8 ;Ru Grur.. 1!.1,.1; ~I" c,t.1 \t'U~ 01•. U:11• RGS y1n91~.I\ a.:11p»1an hmu:1..1~ ~., • .,,, m•C£luUn c~H bl'-""-"l
"'*'41~1" l>Pf'>t< ""~.;l 1"'11':1lP!>:l"
,.,4; l'l'l\1 ••'1'• <~• n"-l'•Pllll' Of.f'U """"'' "'l"CICU<il'.
""'' Rt'1)l"'J h•~ ii, ZSS • if'G'Un (••::!;.r1: ""·•'•~Un cp•'>« u"t'.t m1n:11pi1>.o•" "~' G'u~
Y•"il bi"' C • 1!5 • ;-t:ilf;.rf t••O::;.-f~ n'•'~l>IU"
OpMI~ ~<'t".C. l'l'f"'llltTJ-..f;" ""' 5,;,tj
~·"ii b•·· ~- Ut1'ua"'" fl'tNmp<u" "'" ~cnt'V ,..,.. u e.,,., •• ,,.,..~tu :11\ofl" .... ''"ii ttl d.Ul!<ltll' l.lff! d1Pi1'!'tel"->\1'-.11' ~Cf'\'f-'1
d•n 1•0 a<Slb•• 5bnorio Alt~il (Rainy-0,.,. S<itn.Ol;o): S..rg11 <K' u"'""illof'IM'jl)U l<f:tm ;1g1 mt\ok~Un tc,,->mo '°'I lot ~l<'t:..>< <"' ro;;r-• "-Un Utf~ tf':llpil <1"'"-"ill.lN" ;\i'la:IUn mtn;ltf\1- >'1~1u ~·~-'«'\.tin UN<•< mt'.lt~•.>n P'C,., <c~'it"1- :0'1tew~ \f•~J..,w~>I
f!»J <t"'•"'-?~1~ <«wr.1r p•cut l~"w :ipicpd'C 11r>1 o~o<'I'-"" e+i- -.it·
,,,. ' ' ' '
0 0 0 Tpmb9f jH"Jtit
' PM!iPM !HrjgM) ltbarl'lff"!Cl!r1
' "'\" ' ' ' ' ' ' ' ' I
o•m ' ' ' o•t!l ' g~I!)
0 "I" ' ' ' ' ' ' ' ' ' ' ' '
gtll)
0 8'i" ' ' ' ' I I
' ' I ' ' ' ' ' '
11
0 I
' ' ' ' ' ' ' ' ' ' ' ' ' ' ~-· '
'r
Gambar 37 Sequence Diagram 4 (Melakukan Konversi ke Citra Negatit)
5. Sequence Diagram Berdasarkan Robustness Diagram "Menyimpan Citra
Pada PC/Laptop"
~ S~ Ul.>m<o (S...nny-Ooy Sar><Ui<>): S-<:f.>~ l~"l'wl •-t·~:~l
Pt,..;c·.>r.1r t~• !•!.--tU d"1~ ... u~ ,,_.. •~..,,.,::1.1 ""-~mo· '-'"t.it mtr;.mi:1r ::-t<J l"lli
i;t-,.;;-l1!'.1n \t~il mu.,<.J"; ~t suitu i!U :t"ttnt·u !d~tl.tc~,'f;~; p1d1 PC/li;:r:-::p }l"il d9un1Un et"ill" mt1';.i::.~ 1em~e1 '$"1'lp1n· S..':l:tm mtrr.1r.du lllf' "'·f"ilf"I' \t:1~ {d~tkl::!'\'~t) '"'t.ll: m-11:.-.y.mpa.-. e1t1J m11ul1n. Uu• mtr.tm:_,q,. J•u ?t";""'Plr-1" dt"g1n m•rg--1tu., r-1m1 fiit C'tl'J Yl"il 1Qn d,µr,p.f" di" mtm->1'
fo\dt•/l'H i:--1n:r.mi::1n1" l:tmud-tn mtn9.i:;~ !CtnOO'
·01:· W.tm mt<'<',:rmp1n C·':'~ mu .... un dt~I" Nml ~"'ii d!p<lto l:t l'H y1n11 d'pi\h o\eh
"W Sken.lrio AHWNtif (Rainy.Day Scl!Mrio)r Ulff mtmblU!Qn pro~n ptn)iimp1n1n &.>1 ~f i,;IW 110 Urtfntu p1dJ lli:>.cpJPC dt,...g1n mtng·l:l--" 1ombo: ·i:.ttet!' S>ntm tidik m1l,kuQ" ~"yimp1n1n
u~~· I I I I
0 Iombgi "SJmp.in~
I I
' -
n "-.~-
FoJd!r f'fil1ptop
I I
' ' d1cca(l I
•nt~r)
o• ~
' ' ' I
' I
' I
' I
' ' ' ' ' I I
<li•n ' I
~l&V~ I I I I
' I
' I
' I
' "i'
Gambar 38 Sequence Diagram 5 (Menyimpan Citra Pada PC/Laptop)
6. Sequence Diagram Berdasarkan Robustness Diagram "Meng-klik Tombol
Tambah Data"
c Skelurio UW'n41 (Sunny·Doy Sctttarlo) S.1!tm mEr1mpd~al'I l',a'.aman
"'t1ma Pada l-1~m1n 11tJMJ U!1tbu1 !t'dJPJ! t>ga men-. 1.1tam1 }a::u meru ·r1mt:1r Daa· ·eta I' ,,.._,a· din "Ker1L Po:.· Uu1 m•m•\h men" ''hmtah Dau· dtn9an mtf'9· Uk tomboi "Tamt:iah DJ!J" S..mm mer.ampr:un r1:.ama" "Tamtah Dau· Skmario Alttmatif (Rainy·DIJJ Scmorio) Ust-r :,-<111: memM't mer;; ·ramt:Jh Ona· me'1-rL11" memM• mtn<J "0'11h C::11· dengin mer9·UI: tomb-o: "(}.ah Cit<a" S'.S':tm mef'1mp,'l:I" h1l.lmJn ·o:an C;va· Use ,; .. ;1 t<dJI.: mem'1,i' men.; "0'.lt- C-":<"a" me:1f'lar mem<'I" n"'f".; ·~:e"J
Pc'.l' dtrg1n mt1"9-i:ii: tomPO' 'Keri!. Po:a· S1ttm mtrtJmptUu., i'.i'.l'Y'!Jn "l:tf'al Po:a·
""' I I I I I I
0 Hf!UnJ!D !tmb!h
~ I I I
I I iiA.ddData{new PanalT.1mb.1hD.1~). change, jPanel1)
I I
H1!1m1nQbh
£ifl
isRecogni::e{n&W PanelKtn.aliPolaO. cti1.1nge, jPa"-11)
Gambar 39 Sequence Diagram 6 (Meng-klik Tombol Tambah Data)
7. Sequence Diagram Berdasarkan Robustness Diagram "Meng-upload
l)ata 11
Skn>Mio UU0\41 (Sunny·Doy ~ Scmario): llli'' rt".f"it•J;.>.'":2 :Uta ,1"; :e·1..,..PI" Pilei f..f ptrytrpJrJ" Ct""itl" ,,.tr;.~.• ::::.,..!:::::· ·1.:::1:i· Siu..,.. tt•r1;
!'l'"t'";·~l'·CJ!l Cita Ci'"i;i" f't't"i.,..p;Qr- lt!lt•tur ,..,.,.,
p;:"i Pi""'C' ~t'·J !3·'i paO.i l'H
y1rg d~f-';l>li:J" di!r;a" :L•:"~
"'""''"'"Ii i:tU" "Da!l :Ji' "" i:t"~'·"'P''"i" ·p,,..:::• ::1: t-t"'il; d~;,p•CJ:l' LI•" rr-tr;· ~;;; n'J" u:" ,.,.,., p:::CJ Si':fm mtr1m~t:..1" mJtr.~..i; e-':-'J ~rdUJ•\;J" NmJ tf.rl•b;;: h d1\lim l~Jtu l'U yilrg :'1d1'd1n frid {~cut ~"'~ bt<'.Jl:v''" u.unru Skm.Hio A!WtUtif (Rainy·~ Scl!l1llrio): S~em ;:1;1' mt<'g·;;p;e1::! e1:1 di•• f,\t t~"-Y·mPl"il" H~•"991 al:J,._ kt\11• i::~u" ·e·•e,·
'""' I I I
0 T4lMd
I I
~h<O I -
0 fjlt Ptmim"M"
"PM!l!fmr I I I I
upload() _ I
0 • ma199 Ptt•n
lW!j'>ll I I I ' I I I I I I I I
berhiuil[j • ! I I ..,. I
~ mtMrnpilUn() I
I I
' I 0~•10 .
I .. I I
Gambar 40 Sequence Diagram 7 (Meng-upload Data)
0 Dflb.r "f" PM!
I I I I I I I I I I I I
u I I I I
u I I I
ldi\{)
0 liajrikp Citrf
I I I I I I I I I I I I I I I I I ...
u I I I
8. Sequence Diagram Berdasarkan Robustness Diagram "Menghapus Data"
i.:, S~ UUm.l (Sumry.Day ScMOrio): L:st• mtl'\g-ldl u:.tM ut.i runJ po'.1 pamor d1n d11't11 ]11"9 d<Ump1:1:1n S•ntm meramp~l:an mu•,i;1 an oa•, rama yang ttrpd• Ulf' mtr"g· i;-,1: tombct "H1pu1" S>ntm mtf'gl'!1:.al'gl:ar. rJml tt•fb"'t dan dJ~' narr.1 polJ pamc• yl"il CM.frr,p"l:JI'\ Skenatio Altunatit (Rainy-Day Sct-mrio): u~ merg-l:H:: tombol "l'lapus· urp1 mtrg-1:11: U!Jh Ut.i
l'JmJ pc:.a Jiang tf-'~.t Sintm meramp<'tJn peun trrcr ·p-,;,n ulah Ut~ nJmJ po'.1 .,,r.f".;I:
d·"lP'Jl.
-I I I I
~
0 D!fb! "f" Poff lblrikr Citr:t
I I
Am O!fbr Hitft11
f!j!.l I I I I I ! . I I I I I I
- I I
Gambar 41 Sequence Diagram 8 (Menghapus Data)
Tombgl HAA!it I I I I
- !
~ I I I
- I
OWt)g er Error
I I I I I I
' '\" I I I I I
remove{) I I
~ I I
.;r I
'
9. Sequence Diagram Berdasarkan Robustness Diagram "Meng-upload Citra
Masukan"
c:, Skenario Utama (Sunny-Day Scenario} t.:se merg-up~ad c1tr01 ma;ui:ar ;c.va ;,arg 5wda" d•dlpatl:i11'1 d<:te<;s. tep:nya dar sudah d:kOl'\';ttl• l:e Cent.ii: c't•a re-gatif; der.gan mer.g-kf,I: tc!"f'l:>ol 'Load Crtta· S~em memt-.t~;Y.an pilhan l:EPidil ;;Sc-~
merger.a1 ietak .fife c<tra ;iov·g •1'1ga·i d,..:.i;::i!oo3 hat 1r.1 d'1p1;rmudah der.gan !i;buah fur.gsi untu\;: mi!ltl:vl:an 1Ytvie;v ti;rhadap citra yang akan d1pilih Usa mt-mWh ffot dt-ngan mengY.IA: tombol "CIC pada l:ctak diaJo.g yang tampit S:stem mer..ampili:an citta t;:ri;ebut ke da\am tempat (pan.£<l} yang ditediatan daiam software Skenario Altttmtif (Rainy-Do, Scenario) User batal memi&h {i!e c<tP"a del"g<Jn meng·k:lik tombcl ·c.1ncE-l" pada kctak dialog yang tamptt S·nem menampiH:an sebwah tvsan (messo;-e: yar.g benw!tsckan ·;..nda bau1 me"'g· up~ad c>tia·
~ Use<
I I I I I I
-
0 0 T2!£!!m! .. L!ad Citra Mf!ukan
~ I I I I - I I
p.an~IPreviewO I
I I I I
filaChooser(). I
- -
0 Pa!!!I P!!!i!mQ!!ng
~
I I I I I I I I I
ok{) - I ·y canoe IQ
I
Gambar 42 Diagram 9 (Meng-upload Citra Masukan)
Oiffui'pff!n "And! batal
nje'ng.(Jptr" citR ..
I I I I
- .,.
10. Sequence Diagram Berdasarkan Robustness Diagram "Melakukan Proses
D Skttwio Ubma (Sumry-Doy ScMOrio) Uur m1n9-t:1:1<: tombol "Seri Nima· S:s<'.em 1. mt~l:utan prous O"oPP/."-9 d1n91n mtntiituOn blUS itll_ l:inin bf\ dan bl•\lli dar1 t'Jltu c,,a Uw d1p;n meMi;it hu11 aan preses ao;;;xng arubvt dtrg:;an m11'h1t ad.I kout ~1 b1rw.1r1 me1ah yar9 m1n911t~ng1 c1tr1 mnuk.ln 5'ntm mt-1Jb.1tJn prous grotJti.ng bit p1k;ul dao c:tr1 ttrwbut du191n kJU ll;in SJ;Sttm m1ndapnk.11n m.1trU p.kU-1 d1ri Clt"l ttrstbvt ProsH .1"!• bt-rs.fJt ite-r1ttf tH•991 .11.1mli;h matrlb y1r.9 dlt*"tul:an tt-r~rn.1h1 lm"lroya 1~~ctl'l " 100 dl1'1 i'ltf.ghr = 100 mal:.I ;rac.ti.ng matnts at.Jn ttl')ad• H·tam1 lOO x 100 r.;eru,; ~1mudt1n l:sttm mtl'IJmp~l:.an r.u~ v-C(,!Jing p,tuJ ttf'ltbut
d.ili;m a.111 yang te-\Jh d>U<hakJn Arta ttrstbut tarupl l:.o10m d;ar1 bal'll yJf"-9 m1mt1ntut n x n toul: (gn:i~ ktc~ UR<" dap;n m1~n1t h,as~ 00.v>'!scmp!irig c-:tra .1an .1•U ying tt'.ih d<Ud>ti:.Jn tfrst·b,,:
Skenario AltffJUltif (Rainy-Doy Scmotio) Us11 Wak: mtf'g·l:.~i: tcmbol ·ae.n Nama· S:ntm tidalo: me,latuUn mtb!"l<Smt prom do>1f1SDmpling
~ -I I I I I
Tombof _,,, N_ama
I I
' I . .
C;tA_ l!f'Ukan I I I I I
0 I I
aeppln;Q I I I I
grabbingMatribPixelO I . I
~
0 Aru MtMmpUk1n
l!nll 0own1rp11no
I
displayi} - LJ
Gambar 43 Sequence Diagram 10 (Melakukan Proses Downsampling Citra)
11. Sequence Diagram Berdasarkan Robustness Diagram "Menamai Citra"
Sktn.>no Ul.>m.> (5"nny-Day Sc'710ri<l):
D,
ust• mt"'>i·b'- :c""t~- ·se ~~'""'. S:·ste-"" mtr.-1•1,.;:.1~ P"Clfl d~M'l-a"'Pi,rg Cto°J lf"'".-1 mt,.Jmpika,. s-tt: ... 1h tout d-1'~ .,r:u1· mt"-;l<l '-1" "lml PC>! pam::x Uw mt'f'goJ.l.1.itb~Jh ,.,,.,,, ; ... ,,,,..,,pc~ parre l:t-''S j1>H'. l:t di..I"" l:Ci;~m Ji"" 0 Hd,11:11" d~'"Iu:l'.I" du•gJI" mt,..g·bl: icmbet ·o<:· p1d1 :1~¢9 !t•~t: :. S:·r..em mtn1mb1hQr. .-1m1 tt•iet:": l:t d1:am 'u'Ur .-.1m1 paa Ua• :Upat mtil-n liJmJ yarg baru drickln padJ di~.i' r.1m1 ~1rg d:tJmpd:1n Umudllln ua- ,...,91 diPl1 mffh.r. •tP,-UlflU$> matrib d1ti citra yJfl9 t:1ru u;a Skemrio AttKmtif {Roiny·l},Jy S~): Ult• mtr.9.1;;;,1: tombol '(Jncl-l· Pleil d•Jbg ~rg<San Nmll pea p1m0f Sit":tm mtng1~m> """!:im• fnrv
Um I I I
fO 0 W!l99 Pjoois!an Hamt PR/I_ PMnof
I I I
' I I
0 O!ft!r NfmJ Pola
~
Gambar 44 Sequence Diagram 11 (Menamai Citra)
10 f()
12. Sequence Diagram Berdasarkan Robustness Diagram "Menyimpan Data
Citra"
-:",{::··.·.'.:;> __ :·.~;'' 0 ..
0 0 0 -\~ 0 ·,·, /,.
SkenMio Ubnul (Swmy.-Oay r.. -uw I Iomtiot S1mo&n ut!rik:r2!! '_"1111 Dlftlr "r-cttra F!!I: E.!Di!maYa 12!11251 fnln Qi112!:1: etua
ScffMN'io) I I I ~ lk!tjl'll Sllj'I! Uni mtng-lcH; tombal I I 12ownimru1w : ·s.mp1n· Oita yang I I I I I ubWmny1 ttl:ah d,. I I I I I I I d:h•·nrompiing d.ln d'r-lml• 1 .. I I I I I I te-mudiln g, ~pin da~m f<• 0 0 I I I I I
I I Q I "'¢ I I P*fl}'l'TIPI"'" y1n11 ~am1
I I I I I ·i::1me1 dlt' S.OSUm bf!hltll
I I I •' I I m~yimp.1n dau ba<u uoub<..-t I I y 0 I I lc•mud<an mtr1mpi\Un ptHn I I I I I ·01u t~t>u? d:limp.in pldl f..'4 I I simp1t1Q
.. ~ I I
ptnyimp1n.1n 'pamiv dJf • I
~ I I
Sktft¥io AHNnatif (Ralny·fny I Whuil/) I I Sumrio}: I .. 11 I 5.:r:tm 91911 rnf"Y""PI" OIU I g.-g111ll) I batu 1-!11 '"' d.tand1• Otngan I ' .. 'I' muncu!nya .,.un ·un::r· I
I I I
Gambar 45 Sequence Diagram 12 (Menyimpan Data Citra)
13. Sequence Diagram Berdasarkan Robustness Diagram "Meng-klik
Tombol Kenali Pola"
D Skemrio Ul.lmill (Sunny·Day Scmori<J) Sr!f..,.. ..,..~,..i~c • l~ "3 3.,·~-
.. :;;,.,.,a PJoa r-a •~a., ... :~""a ~Nsebu~ t<-!::lJPI~ t>ga menu vUmJ y;t<t·.; m11ru 'Ken1h Po:a· ·o~n ,,._,.a· dan ·rambah Dau· U!il merrn:-h rneru "Ke-r1); P.o-!a· dH1f:!an me-ng·Ulc tomb?! "Kenah Po:.a· S:'5".em m11n1mpt:~..ar l'l.tlaman ·Ke-raf; Po:1· Sktnuio Alternatif (Rainy·DaJ Scenario) Ui;tr t4a1': m"!milih mtnu ·Kef'.I~ Per:.· me'.iirbr. mtrn<th mtr.u ·o:an C::ra· Ofr,gan mtr.g.~J:I: tombel ·O',ah C:tl'a· s·s::e-m menampill:.an nal.lman ·o.an Cva'. UsN /wga ticlalc mem•!.t1 m&r.u ·olJh Cttra• m&!fir.l:.an m1mi>ih mf-!'lu lamt»ih oau· df-!'lgan meng-kfJ:. tombol lambah Dau· S:nem menampi!kan hat.Iman 'Tambal'1 01u·_
U!er I I I I
0 I isRec:ogni:.elnew PaneJKerualiPola!). dlan.ge. jPa.nel1)
isClahCitra\na-w PanelOlahCitra(). change. jPanel1)
I I
£i\" I I I I I
isAddData{new Pane!TambahDatal). dlange.jPanel1)
Gambar 46 Sequence Diagram 13 (Meng-klik Tombol Kenali Pola)
14. Sequence Diagram Berdasarkan Robustness Diagram "Melakukan Proses
Training KNN"
1!11<n'~·''"'°"'""'·r,,,..~,_.,,
"'"'g~e;"g·""'"" ,...., .•• "fN'"'"·""'"h "•~'"" """'"' s.. ...... .'•"'"" ... _...,,," '"""' ~·" """'-' ~"-""'--'" ,.,...., l•"'~""" ... "'·'''" "'""""'"~ """'•· t< .. ~""" , ..... 3<";•- ,,.,,.~ ..... -·'"''"'" ,. .... "" f""' ··- ,,.,., •• ~,,,,, ... ~ ,.,.._,.,. "''"V «•" "·' ""'"''"9'"~'"Q'"·""'-'" ""'-'"' "P..' """ ao1;1>w~ ~~ .... b '""~'" "'' 01" P<"i"''" ...... ;.g,., "~" lt';i"•""'" ... IU'\,,,,,.,,>;O~QOCl<...U" O'I'> w .. .,,,n,.,,_,,._.,,.,,,. .. u,~Nt'"'"""' "'";'" "'"''"01 ... ,.,,,, .,..,,,. ~ • ..,.~ .. " ..... .,, "'"''•'v> "''"'' wr-oO>P mr.:U !>¢&<""'"'-' _,.._,
"''"""'"''- '""' ~,...,, ... ,. ... """9'" ... ,,..,,.;;, .,._..,.,. -..... ;..,,.,..,,,. •:.0-.u ~..,,. "'~'" ... l::>'> '''°N"~O<J• ~"-'' "'""' t'O""V 10• •• ,. ... s ........ "''"'"'P-"" """' "~-""'" "'"'" t••""Q ''"V'" "''"'"'""'" lfO.>" ~Olf" OU"' <o-".I< <>.>q;•"'. :><""'"'~"~'u~u~u •i.o··~._..,..
Sl<MorioAIWn>tlf (~O.,Su"ulo) 1
~"' g•~t' N~> '"' ''""'""""·" '-'1"~"'g;•~•":-'"'"V""'., ""'*"''•"•• ~-" ;•;• ., ....... ~ ... ,.__.. ,..~.~., "e~•~ ~•q uu· ·r-:·
~
' ' 0 0
"""l""'4 ' ' ' •9 '
~ ·~~ ' ' ' ' ' '
' ' u
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
0 0 0 0 0 ........... QB• !!Irma It! ""'-¥- ""'/'"" """""" ' ' ' ""I"'
' ' ' ' ' ' ' ' ' ' ' ' •c) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
u
Gambar 47 Sequence Diagram 14 (Melakukan Proses Training KNN)
• ....,,,,., ..,..
' ' ' ' ' ~
15. Sequence Diagram Berdasarkan Robustness Diagram "Melakukan
Pengenalan Pola"
S"""""°IJ1.am.tj!"""'t·DayL S<m~tio}:
-·~.,· :~··r .. -;"·"•-"•< ,,., ,,.. .... ..i- , .• ,.~ •";" " .....
S-f:t•" ""''-~'·'" ~~·•-::>"';:.-; ~-. "'" t~·• ~11.u• h,.,.~d '"' 0<>"'\7,-U•- POI
~!Hi'·•"'~""" "*'-'-0'" ~"'f'"l"f; <IC·\;, $-.no'<' t••~nl ,,,,.~,..,. ~-= • <<'> ...,.,~.._,..., c~·••u"'" ~ ... ,.. I>'""' •• ~ .. .,,.,.>"· "~"'"fi :.;,.. :1c.-:,,.o-'.•r. ,.,,,,., ~· p-~ e ..... .,, :•.••.>· <ll~Ub'~a., <1•¢.)1 ~"" )1"9 dtJmpiU,-, "Pomo• :t•HO.t 1!1'-'h :m.u·ny1 !W>l w..-.. r.;· Sbfurio At1~1if (R<lin)'·O..,. S<BY<i<>): uw .,,,,.~.;~.._ 1cn-t-:: ·~*·•··
'l~P• "'ul.-..ti• ~,., """'"'" Utt\.o"'-'">0 ::*r;I• 't"t•-;-~\~ ~"'~ -r •• ,,.,-; $1":"" t<I>~
<lll)r. m•'-''-"Un ~·~"•"" c.t-1 d1• ~•m~<14n
mtN..,.Pifb" PH'" ·uc~'-'" ,,,cu. T'°"""~ W'OtJ> d~•~-
""' ' 00
T<>mt->! "K~~H~: ~~~.!(:!!.~.'-.'!'."
' ' ' '
0 !:!~!£~~ C•ly Mrw~,an
' ' ' ' ' d<>wt'!~J..,;locj '
' ' : : :
0 !"HI ..,.. ' ' ' ' ' ' ' ' ' '
0 ' ' ' ' ' ' ' ' ' ' ' .,.iMi,,,.t<ct="(} '
' ' : :
0 ' ' ' ' ' ' ' ' ' ' ' ' ' '
y
' ' '
Garn bar 48 Sequence Diagram 15 (Mclakukan Pengenalan Pola)
4.4 Impleme11tatio11
4.4.1 Coding
• ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7
Setelah dilakukan berbagai proses, mulai dari pendefinisian
kebutuhan software (requirements definition) hingga detailed design,
tersebut ke dalam suatu bentuk software dengan menggunakan bahasa
pemrograman Java.
Berikut ini beberapa class diagram utama pembentuk software
pengenal pola pamor keris Jawa berdasarkan masing-masing proses yang
sudah dijelaskan dalam alur pendeteksian pola pamor keris Jawa (gambar
I I) :
a. Class Diagram Pembentuk Proses Ekstraksi Ciri
Proses Smoothing dengan metode Gaussian
I
TepiCitta
o:::·nttattNQ(mali:o--d ix.ole.air1
d»ta int HD edg•slma,-g& 8utferedfm39& GAUSSIAN CUT OFF fie.at : 0 OO~f ;re3d0nly} g.auuianK~ne!Radius float ga,usti:tnKotnitl\"itdth int neight int 1i1gMThutthold float lowThtHhold f10J11t
m~gn1tv-d'O 1nt {Di 1~tAGNITUCE LIMIT Host: 1000F {relldCnly} t..tAGNITlJOE t.1AX int • {int) !,11.AGNITllO . {r0>adOnly} l\tAGNJTUCE SCALE float .. 10()F {re.tdOnly) piai:e 1nt t<~vtoolm8';;e 8utfITTedlm3ge .~1:nn 1l't xCvnv float {lj; xGt11d1•nt .float !ill yConv float tB> yGtadient flo91 f!J)
fcl!c.v:1'"t 11"': 1r:t. 1t":ti ~·c1d
g3..;H1ar'.flc&t. flo3:.' fi.:-a:
.;;\'!:Eo~c-1/m:Jge:; Eh,tf<>r~<:llm:,ige
g<.:G3..,si.1a"•<~fre1P;;::1..,$:' flea! ;;(::G:i ... H1.a"FC"l~D i ,\1~:" 1~:
;;<:!:'""' tt" T '"'-.:;s" :! :; !! :3:
1'"'t.!..P.l1J.., .:-1c ,~;::.::~:•in:•;,:,-,..·,:-111.-:'0:! t-ccl;r:H',
1,,~•'."3'":.?'fi.:a! fl:--<i: f:"-a11 1~t
rc«•n.;;11!\tCC"!riH!.:, vCHl
pr;;o;;.$.S.' ·, \-';::IC
~~IJOLl.<"1•"'ar'le>?;i vciC
St-!C:: "'!r !ti!'~.;·eri·.~ !i:::..:-v :t--c-vtt:-3 r '1 ·.010
"'"':E cge;i ~.'l';'Q; s ',; ff<;,>,•<tOl'1~;lQ'[') VO! c ~.:tG3 ... Hl3"F e:-rr·e-:P"!H:l1V5-- llcot!} ~·c-ic
i<l':G3i..u1:1:-K~rnoh1i1d!h\lr!} void
W'!H1-ghTlltE-S.hcld)tl03!) •.'Cid
S.<!!Lo.vThtc-shold:nc--3ti v-e1{j
~e1Sou1celms-ge-!8:.:ffe-re-d!ma-g~) v'OiO
T4?p1C1ttll!/
H".ti::;~clOEd-;e-s.:/ ·.-010 ,,1'1l<tEC:·;jt-<1-:1n(~j v·c-id
--~~~~~~~~~~
Gambar 49 TepiCitra.java
Tabel 19 Penjelasan Class Diagram "TepiCitra.java"
PenaaaJan Code Formula Matematika private float gaussian(float x, float -x2 sigma) { return (float) e~ - - - - ,_ - .
I
sigma)); }
Menghitung Math.atan2(yGrad, xGrad) Dx(x,y)
Magnitude 0 = arctan(Dv( >')) x,}
Non-maksimum magnitude[ index]= gradMag >= Non-maksimum Supression
Hysteresis
Method createRGB
MAGNITUDE LIMIT? suppression bertujuan untuk MAGNITUDE MAX : (int) mencari titik tertinggi pada (MAGNITUDE SCALE* gradMa0 \ data besaran tepi if(data[offset] = 0 && y Jika gradient pada magnitude[ offset] >= high) { sebuah piksel di atas
nilai "high", piksel follow(x, y, offset, low); tersebut merupakan
} "edge piksel" y Jika di bawah nilai
offset++ "low", maka bukan merupakan "edge piksel"
y Jika berada di antara nilai "high" dan "low" maka tennasuk "edge
I piksel" jika dan hanya
I jika terhuhung dengan "edge piksel" secara _J laIIQSUllQ.
b. Class Diagram Pembentuk Proses Peningkatan Mutu Citra
CitraHegatif
~ o-eateRG81int. ir.t. int. Ir.ti int + getA.lph.slint/ ·int + getBlueHnt) _int + getGreen(ir.t) :int + getNegslivelmsge{BufferE:dlmage) Bufferedlmsge + getP.ed/int) int
Gambar 50 Citr•Negatif.java
Tabel 20 Penjelasan C1ass Diagram "CitraNegative.java"
Penin>:alan Code Keterangan int rgb =(alpha<< 24) y Method yang berfungsi untuk memberikan + (r << 16) + (g << 8) nilai baru terhadap RGB (Red, Green, Blue) +b; y alpha<< 24, maksudnya adalah : nilai bit
transoaransi dari citra masukan di!!eser ke kiri
PartttlTan.bahOata
ts!sl phax S«Hr>Q ~Bvnon
0~"1'1¢lll J:l.,.5ll ,,.,,,,g JSvl!CI"\
:,~rsp·i•:tl'I Jlh'3X s ... ,,.,Q .i8utto..,
OllllS Sllornple-Cllltlll
CCoVN5A~tPLE HEIGHT mt"' 100 {readCnlyj DO'NN5A"-tPLE 'i'1IDTH int• 100 {re3dOnly} r"l.tDi.11-Sampht J3V3X SlliM.g J81.1tton
JlSO•l2 JSv.a.x $,.,tr<-'d Jl.&t..el
Jl1>t2 jOl\IQIX S'"'l"'Q ..il1st JP.!trlf!ll ja.-&x s-..,1n9 .;Pani\'I
iPa,..el? 1av:u: s·.-.11"\Q .;Pano I
iScrollPal'l.fl:2 1avitx s·,.,11·i.~ JSocllPari.,. OQ-rl.:thPcls J:lwlll.>: s· ... irig JBuncn
los::C11:t j!l'.'3X •· • ..il'IQ .:BvltOf'I IO.)OS!'T\Pltt j3¥.ill J ... 1~ ..:e ... :o", olial'lC1ta Jll'i3X h'>'lr'IQ JBut:Ofl
p.1mc<tj~:t.1cdel 0.fl:fjn.iltl1stlS>jel ... nflw D•faul!List p3r<elE:itl)lma-;ie Pan•IEl"ltr11m.»g9
S.!l''l"IDlt $$rt1plt:
i1rr1pl.or J3vax s·,.,ll"\Q JButton
tJ:'l'lbJt" javax s·.-.H~'d JButton
t3:~1;..:-:, ~r-P.,;.rl':-~"'~0 J!hl ;t.\tf!'• &rt Act1Cr""Ev<:-M) vo d
="'~:>~o,,.:..c::1c"lP:~.-tc.~'l''{<O;J3va 1•\~ ev<-"'t Act1cnE~el'1ti void ::,€:c;,r .• 3-.;.,;::1::"Ff<rf:>'""€::'.:J3•.J 3.\t .,,,.er: ;...c:10'.)Ev.::~:l vcid
•i.:•::is::>~"l)lE"':~,i"c,:i;;:. .F:l'"..;il _p, ... _,;, ,,;:1;::
,;'.{·<:.=>3-elr,01"'Jl•P::!3 .F;i"'~) ~pg .. ..,!\ \CJC
•$C!;»•::,:·~'.P:'Jr(:i8l:i"'C1:1:> .F5'"<:l ~Pl.l!'~J'; v::•d.
1;.~clc.»:';"de .F.;."~tl P3"')1E"::"jl ... •·ti;JV. JP3f'V!j '•Cid
JL»~:v;i;;.,<:Cf'3r;(:c.Jl•3'< S.\1r·g €:Y&rt! L;~!Sttle-ct1c-nE,.<i!-nt) void
•<:>'";'l!•P:t:iA:t>::"'PQd:»..,..,{/'C;J3•~ ;1,,~ r1·i>'J"l: ActicrEv~r:-) vcid ::;.;CC•:a.:..d•c"P""rt::.,..~.::-dj3•3 a.\~ e,,,f:'f'.t ActiC·f'Ever.:} ,•tOi::l
l:::\::$;,.,...cJ<:;.,~1c."P¢•!:;,rme·:J'jJv-' ;:i.~~ ~'•fl"~: ActicnE'+''llr'lti void ci,1 .. C1.raA,,,.t•C·rPo:rf::rr;o:,:::J.l•3 a.~t .:·.<:-f't ActicnEver.t) VC{d
P;;rt-11,~.t,.:if',C:;i:~,'
,,.,..,;:a".:..ct1c-Perl:;-.r .... ,~0·11h;J 3·~~ •,h''?:": Actt·:·!'EV'l'.!t'!t) 'i'Old
:.1mt;i.r-Act1cnPt:d<::<~otOl.J3""' a ... ~ <:-..·"n? Act10.rEv-tf'lt) v¢id
Gambar 52 PanelTambahData.java
Tabel 22 Penjelasan Class Diagram "PanelTambahData.java"
Method Pen<><>alan Code Keterane.an tambahActionPerfonned I. pane!Entrylmage.down I. Pemanggilan method
Sample() downSample untuk 2. String pamor ~ melakukan downsampling
JOptionPane.showinpu citra !Dialog( 2. Menampilkan kolom "Please enter a Name pengisian nama pola pamor
ofPamor") untuk user 3. SampleData 3. Melakukan pengkopian
t:o<::1mn.1.,..n.,.+ ... = /,..1,.... ......... \ ..t,.. .... ,.. ~·,..-- .. _1,..t... ..J:
etData().clone() dikirimkan ke kelas 4. sampleData.setLetter(p SampleData sebagai
amor) parameter. 4. Melakukan pengisian dan
pengiriman parameter nama pamor
• Kelas "SampleData.java"
Comparable Cloneable
SampleOata
# grid .boolean \!Eii # psm0tN.am~ .String
+ clesrl) :void
+ doneO -Object • compsreTc-\Object) irit - getDats:irl. ir!i bo.clE:sn ... getHrdght(.\ ir'
- ge.n'lictrii !r.1 - Sa..,,~l~Da:a:S!n:"g tr~. irr•
tc-S:rirg;i Strirg
Gambar 53 SampleData.java
Tabel 23 Penjelasan Class Diagram "SampleData.java"
Method (Constructor) Pemrn:alan Code Keter&11gan SampleData(String 1. grid = new 1. Mengisikan nilai bit pamorName,int width,int booleanfwidth]fheight]; citra ke dalam variable height)
1
2. this.pamorName = grid pamorName 2. Mengisikan nama
I pamor berdasarkan parameterpamorName
e. Class Diagram Pembentuk Proses Penyimpanan
Sama halnya dengan prsoes lebalisasi, proses penyimpanan juga
dilakukan melalui kelas "Pane!TambahData.java". Berikut ini
penjelasannya :
Method
simpanAction
Performed
Tabet 24 Penjelasan Proses Penyimpanan
Penggalan Code Keterangan
1. os =new FileOutputStream( I. Membuat file penyimpanan
"./pamor_l.dat",false)
2. ps =new PrintStream(os)
3. for ( int I = O;
pamorListModeLsize()
i++) {
}
4. SampleData ds
I <
(SampleData)pamorListMo
deLelementAt(i)
5. for ( int y = 0 , y <
ds.gctl rcight J ; ) : ' ) {
dengan nama "pamor _ l.dat".
Dan file penyimpanan tersebut
dibuat hanya jika belum terdapat
file penyimpanan dengan nama
yang sama sebelumnya.
2. Membuat akses penyimpanan ke
file penyimpanan yang dibuat
3. Pengulangan dalam
menampilkan data (matriks
downsampling dan )
4. Menampilkan nama pola pamor
for ( int x = 0 , x < 5. Pengulangan proses pengiriman
ds.getWidth() ; x++ ) {
}
}
6. ps.print( ds.getData(x,y) ?
"1 11:
110")
7. ps.print(":"+ ds.getLetter())
data (bit downsampling citra) ke
dalam file penynnpanan
(pamor_ l.dat)
6. Pengiriman bit downsampling
citra ke file penyimpanan.
7. Pengiriman nama pola pamor ke
file penyimpanan.
f. Class Diaeram Pembentuk Proses Training
• Kelas "KohonenNetwork.java"
--Method normalizelnput
Winner
- halt C<>::lesn = fslse u lesrnr .. 1i::thc-d int = 1
KohonenHetwork
a le:3rnR.9tf:: dcutle- = 0 ~ ... cuti;:ut\Veights ::l::uClt: :::::: a cwner Lai:crsnUpds!e~-.je:,;rsl
a quitErrcr double:::. 0 1 a re:dudion double:::: 99
a retties int = 10000 ~ train TrainingSet
- cccy~Ve1-~hts:i-:chore,"l-.!er • .,-cr(. Kchcrer~~et.vcr'..:) ·void
e•,a! ... ateErrcr;:Cc·ut!e int. int\~. ~ouble\;. ccuo!efi!}. double!}/ void
.... r.crmalr:.elnpu!faoub!e(). double!]. double[:j void
- r:C-J'ff\311:.e'.'i€:1ght;do ... ble!:) vOiO - setTrsinirgSe-:!Train1rgSe:) voic
Gambar 54 KohonenNetwork.java
Tabel 25 Penjelasan Cltiss Diagram "KohonenNetwork.java"
Penggalan Code Keterangan nonnfac[O] = 1.0 I Math.sqrt ( 1 length ) VllPectorll
I. normalizelnput( input , I. Proses pertama adalah nonnfac , synth ) melakukan normalisasi input
2. biggest= -l.E30; 2. Inisialisasi nilai "biggest" 3. optr = outputWeights[i] (nilai terbesar) = -130
4. output[i] = dotProduct 3. Mengisikan nilai bobot output (input , optr ) * nonnfac[O] ke dalam variable "optr" + synth[OJ * 4. Menghitung nilai neuron optr[inputNeuronCount] ; output
5. output[i] = 0.5 * ( output[i] 5. Konversi nilai output kc + l .O) bentuk bipolar yaitu nilai -1
6. if ( output[i) >biggest) { menjadi 0 dan nilai I tetap I biggest= output[i] ; 6. Membandingkan nilai output win=i; dengan nilai biggest,
} kemudian setelah dibandingkan maka keluar pemenang (win = i)
I
I
• Kelas "Network.java"
tletworlc
q inputNecuronCount :int
• NEURON OFF :double = 0. 1 treadOnlrl . NEURON ON .double= 0.9 {readOnlt} # output :double HD # outputNeuronCount int # random Random= new Random{Syst. . # totalErret .double
- CotPrcducttdouble{i. doutle{J) :double
- getOutp;;tJ) double!) . leam(; .VOid
- rsnocmize'oVe.ights{dcuble[fU) void
- trial(doubl~[JJ void
- vectc'll'Length!doub!e[l) .double:
Garn bar 55 Network.java
1'abel 26 Penjehtr.an ('/ass JJiagrtun 11 Network.javan
Method Penggalan Code Formula Matematika I keterangan
vector Length for ( int i=O;i<v.length;i++ ) { n
rtn += v[i] * v[i]; I v[i]n } i=D
Di mana, n = v. len,qth
dotProduct while ( (k--)>O) { 0
rtn += vecl [v] * vec2[v]; I vecl[v] • ve~2[v) v++; k--
l randomize Weight weight[y][x] =temp* r
~ temp= (int)(3.464!01615 I (2. * Math.randomO ))
~ r =(double) random.nextlnt(Integer.MAX_ VAL UE) + (double) random.nextlnt(Integer.MAX_ VAL UE) - (double) random.nextlnt(Integer.MAX _VAL UE) - (double) random.nextlnt(Integer.MAX_ VAL UE)
PanelKf'naliPola
:.:<-~lEr-e-.f .tL:ti:'(tl"" "'<-,..,. .:L.:lt:<:l,'
Cil"oei 1a11a_. """"'~ .:e ... t:::~ O~H.!I S3'1'l\:lf.t8.Jt:s
j1n·1x :wing JPantl Runnable
()Q;'iNSAf,IPLE ._,ElG~T IM= 100 {t(l'.:idCnJ-r)
C>0,11NSAr,1PLE •'llDTi-1 1":" '00 {•e3004h} q;.:1: 1, .. .,:.: $'o\1r.-;i .:ei...::cr-: Jl3C~l3 J!h-3-" So'.i"g .:L3C-~I
Jla:: Jllv:t)( 1>\Jl"'-J .:Lil-:
iPa,.~ll J3vax ;.-.1r.9 .iP.a..,el
JP:J1"~13 Jlh'.3-' 1--.-.1,.-g ,.-F:tl"--t-\
1SaollPa,..,e: J<hax s-1t1!'!Q JScr::llPa..,e
!$.s-:Er-r:,. Jl:Jt:e1 "' "f"" .!L3:::<:1 l:.:IEr~c,. Jiha-. :;,\1"·d .,Lat-i'.tl
IC.:l~ Jl··l-• ~.»i"g v8.,:::" 1~3:!1"1>go j3v·:_n- ;:-,'.P'\'l JE.,;::;;~
c:vn:-fl11-H,l::·j<o/ ::(l-faultL11-tl.!::~~I = n(I'·,., C~f.:>ultl1st
p3r.E:JEntryl~139-£!: P.9riE:IEr.tr1lmage P-f(l'vl-::;.,1 j:l>t3X 1-·"*"'Q .:Bwt::i .. R'l'OC•J"i.::e Jlha-.-_ S·\1"'11 JS.,tt:,.. ~.:vr;:-!<:- S.'.J~1c1~
;:3~ J.!h<Ox ;.,.,,~;:;.-Ev::::"
$!ovtt i:h~•- ~.-.1"-;J ~8 ... :::,.
·--:::,-,·::-,,,.-:;
.i:::-,~, _:::;;-<:'T:_;n::;:i.-:~:;:; _;:"'-"°' .i:;;i"•di ,,c:o ;!._-:!::;.l:;~,:., _;:,;,·.;:-l ;:~~.::E-'.«.i'~;i;,;-•.:. _p,,. e-l VOlO
iL,;::·;~:-...iO::::-~.:i-;;<;,-: ;a •• ;,;.-,,-;; E-.12--: L1;:S>!'led1o"E"*r-,:) vcid
!:;::3:;.,~,:-f":.;,f:--"<:::: l"'""i ;1.~: (·,.;-: .:..:HCt'Ev'i'i~tj vcid
': ;'!:; ..,. ~ ;;<.:-,:. _:-:,: - ;: <-•!: ·~-<:-: J;); .1 _, ,; : I}~(''"": ,.1..ctl:;:::"' E'.i}"l) VOid
;n:;c'ie .. .rc-"!>- $:··--;:; F:1r-f:IV<t."a!!P:::1:1
;>"€!·. 1 : .. ~ct•c-P<:rl.:--•,,-,e-o'Java .:h\1 €-'>~r°'! Act101"\Evt:rt) void ><~o::-;;,...1::<.•A::t1·:::-Pt.-•f,~:-r··H~: .J.:i-," :t.-.t V'>"il:flt Ad1onEvii-nt) veld
i:s~:~:.e11:"P;.,-'1:r·"'t:-:::J:;~-3 3.~! ~...-~,.: Acuc-rEve-1'!!) -~·01d
;t:v: . .:..c:,:::-P!!-rk-l'~"J":::;ava ;h\~ <''«.~": Act1crEvt-:-t) vc1a :,3u·Ac1c"'P<:'f::<''"'~-::1'j3v3 3,\~ t;·,'2'"! AC!lC·r"E'it::nt} veld
up-:a:tt;1rt C:C;..~i<·- O:O;.,tl0) void
Garn bar 57 PanelKenaliPola
• Interface "LaporanUpdateNeural.java"
a) Kelas "FrameUtama.java" .
javax.swing.JFrame
FrameUtam.a
change jsvsx swing JPsnel jLabel1 javsx S'o'iing JLsbel jlabel2 javsx s-.ving.Jlsbel jlabel3 javax.s-.ving .JLaC-el jPanell javax swing JPane! jPanel2 jsvax.swing JPanel jPsnel3 javax_s·,.,.ing JPanel --.enaliPola jsvax S'•'fin9.J8utton lblTime javsx.swing_Jlabel tambahCata :javax s-... ·ing JSuttcn tsmbshOata 1 javax. swing .JS utton
. Fran:.eUtsma:)
1n1tCcmpc-rents{) liCICl
1sAdaDats{PanelT smbshOata. JPsnel. JPsnel) void isOlahCitra:PsnelOlahCitra, JPsnel. JPanel} ;void isRecogni:e{PanelKenaliPcla, JPane,I, JPanel) :void "er-aliPolaAdionPe-rformed!javs.a•••t.event.J..ctionEvent) :void . mair'.Strirgi'.) void
tsrntishCata 1 ActionPe~c<J"mec.ljsvs s,\t event ActionEve-nti void tambahDatsActic-rPerfc-rrr,edlJ8VS Zh\1 eve:-nt Actior,Eve:-nt) void
I :an-.i:it~3m:; .,.·::10
Ga1nbar 61 Fran1eUtan1a.java
b) Kelas "PanelAwal.java"
javax.swing.-JPanel
PanelAwal
j6.;tton1 ·jsvax s-• .,·ing JButtcn j8utton2 javsx swing JButton j8utt.:>n3 j9V3X.S\•oing JButton jlabel3 javsx.sv .. ing Jlsbel jPsnel1 : j SVSX.S-Ni ng .J pane I
. jPsnel2 javsx.swing.JPsnel
1nitComi:>0ne:-nts() VOid
1!>Add8tn{Psne-ITamb-shDat3. JPanel, JPanelj ·void isOlshCitra(PanelOlahCitra, JPanel. JPsne-1) void isRecc-c;nize-tPane:ll·<ena!iPola. JPa"lel, JP.anel) :veld JS utton 1 ActionPerfcrmedti ava S\'~1.event.ActionEve-nt) :v-oid j Button 2A cti cnP erfornied !j av a. a· ... 1 even tActi onEvent) :void 1Button 3ActionPerfcrmE:d-U3va a .. vt event.Action Event} :void 1-
+ PanelA\'>'311)
Gambar 62 PanelAwal.java
c) Kelas "PanelimagePreview.java"
4.4.2 Testing
Thread
ThreadJam
Garn bar 65 ThreadJam.java
4.4.2.1 Percobaan 1 (Matriks lOOxlOO)
A. Akuisisi Citra
Proses akuisisi dilakukan dengan kamera digital dengan
spesifikasi yang telah dijelaskan pada bab Ill.
Gambar 66 Pamor Benda Segadha (Bag.Tengah)
B. Segmentasi Citra
Segmentasi dilakukan dengan menggunakan software lain
yaitu Adobe Photoshop. Berikut ini hasil segmentasi citra untuk
pola pamor Benda Seghada di atas.
Garn bar 67 Citra Hasil Segmentasi
C. Ekstraksi Ciri
Proses ekstraksi ciri (mendapatkan deteksi tepi) dilakukan
dengan menjalankan software pola pamor keris Jawa. Berikut ini
Langkah-langkahnya :
a) Menjalankan sojiware Pengenal Pola Pamor Keris Jawa
Gambar 68 Tampilan Awai Software Pola Pengenal Pamor Keris Jawa
b) Klik tombol Olah Citra, maka akan tampil halaman "Olah
Citra" seperti berikut
II arnan:OI~ Clln
Gambar 69 Tampilan Halaman Olah Citra
c) Klik tombol Upload Citra, maka akan tampil gambar berikut
ll•bman :olah Cllu
co-.r<"• C..~•">Jf"C"*"'-"'" o. •-•~u .N h.~ S:iunC~n;Tc1'""'-"'H 1J. .,.,..,.~''"~
--1 __) 11, sn~i:u
ll>o><:.1! .. ·~•11 ~n~ 1·
.. >::<OJ•~·n~n;,
UtlllUn>P<o.<<I< 11;,;uen- J w.~:-~~~~: ~~·m:~: ~~:11.:••L ___ ~_:_~:u_:_::".,_ •
c== ---- --1 '"'•UW<><lf~,,.,,·~""'"'"1$ ..
Gambar 70 Pilihan File Citra
d) Pilih Citra yang sudah dilakukan segmentasi, maka akan muncul
tampilan berikut
Jama,,:O\ilhClln
~ ~·r1o~Mm.o - -
Garn bar 71 Tampilan Citra yang Sudah Tersegmentasi
e) Lakukan Ekstraksi Ciri dengan meng-klik Tombol Deteksi Tepi,
maka akan keluar tampilan berikut
H>tl>tm .. u ;Olah Cl tr~
Gambar 72 Gambar Setelah Dilakukan Ekstraksi Ciri (dengan Mendapatkan
Deteksi Tepi)
D. Melakukan Perhaikan Mutu Citra Pada Domain Spasial
Proses perbaikan mutu pada domain spasial suatu citra
dilakukan dengan mengkonversi citra ke bentuk negatif. Berikut ini
langkah-langkah dan hasilnya :
a) Meng-klik Tombol Negatif, maka akan tampil gambar berikut:
.....,:01>.bCltn
I pl..,~1 '"~
Gambar 73 Perbaikan Muh1 (Konversi Citra ke Bentuk Negatil)
b) Kemudian simpan citra tersebut pada file yang diinginkan dan jika
proses penyimpanan berhasil, maka akan keluar pesan "berhasil".
Gambar 74 Penyimpanan Basil Perbaikan Mutu Citra Telah Berhasil
• Gambar 76 Labelisasi
Kouk Oblog Pugl•Li.11 . ·11.ma Poi. Pamor Kub
G. Penyimpanan Citra ke File Penyimpanan (pamor_I.dat)
Proses penyimpanan file citra dilakukan dengan meng-klik
tombol "Simpan" pada halaman "Tambah Data" kemudian data citra
berupa matriks I OOx 100 disimpan oleh software ke dalam file
penyimpanan pamor _ l .dat
Proses penyimpanan file terhadap be berapa citra dilakukan
dengan cara yang sama dengan mengikuti tahapan-tahapan yang
telah dijelaskan di atas.
H. Proses Training
Proses training dilakukan pada "Halaman Kenali Pola". Berikut
ini langkah-langkahnya :
a) Load data yang tersimpan pada file "pamor_l.dat" dengan meng-klik
lombol "Load"
'"' ""
--Garn bar 77 Load Data
b) Upload citra yang ingin di-training dengan meng-klik tombol "Load
Citra"
Garn bar 78 Upload Citra yang Akan di-Training
c) Klik tombol 'Train" untuk melakukan training terhadap citra yang telah di-upload. Setelah di-klik tombol "Train", maka akan muncul status seperti pada gambar berikut :
•~f><'f>OUp<!>1e>;ov<>I
i'""lT<>.rmg)
Gambar 79 Laporan Hasil Training
I. Proses Pengenalan Pola Pamor Keris Jawa
Proses trakhir dan merupakan kunci dari sn/iware renger;al pnla
pamor keris Jawa adalah proses pengenalan pola. Proses tersebut
dilakukan dengan meng-klik tombol "Kenali Pola". Berikut ini hasil
dari pengenalan berdasarkan citra masukan yang telah di-load
HuU Pr11gr11 Ian brrnpa :>;a11i. Pola P~mor
.lf!!!fr
L•<1€not 00'.>l:ll~B
.. IEnot 00il2l~B
Slalo\ Lnpor•n
Gambar 80 Hasil Pengenalan
Gambar 81 Downsampling Matriks Citra SOxSO
F. La belisasi
Proses labelisasi pada percobaan 2 (Matriks 50x50) tidak
bcrbeda dengan proses labelisasi pada percobaan (Matriks
!OOx!OO)
G. Penyimpanan Citra pada File Penyimpanan (pamor_l.dat)
Proses penyimpanan citra pada percobaan 2 (Matriks 50x50)
tidak berbeda dengan proses penyimpanan citra pada percobaan I
(Matriks I OOx I 00 ).
H. Proses Training
Berikut ini hasil pengenalan pola pamor keris Jawa dengan
downsampling matriks 50x50 :
Tabel 28 Matriks Perbandingan Percobaan
No Jumlah Waktu Status Neural Network Waktu Ketepatan
Sample Penyimpanan Retry Last Error Best Error Pengenalan [a: b]
Citra [a: b] [a :b] [a: b] [a: b] [a: bl
I I 6dtk:6dtk 1 : 1 0.0940835: 0.0940835: 1 dtk : 1 98%: 98%
dtk
2 2 6dtk:6dtk 1 : 1 0.0936516: 0.0936516 : 1 dtk : 1 98%: 98%
dtk
3 3 6dtk:6dtk 1 : 1 0.0936912: 0.0936912 : 1 dtk : 1 98%: 98%
dtk
4 4 6dtk:6dtk I : 1 0.00 0.00 I dtk : 1 98%: 98%
~ I' I''"'''" dtk
I : 1 0.00 O.OC I dtk : 1 98%: 98%
dtk I
DAFTAR PUSTAKA
1-laryoguritno, Haryono. 2005. Keris Jml'a antara Mistik dan Nalar. PT.
Indonesia Kebanggaanku : Jakarta.
Heaton, Jeff. Introduction to Neural Network with Java, 11" ed Heaton Research,
Inc.
Hermawan, Arief. 2006. Jaringan Syaraf Tiruan Teori dan Aplikasinya. Penerbit
Andi : Y ogyakarta.
Hermawan, Benny. 2004. Menguasai Java 2 & Object Oriented Programming.
Penerbit Andi : Yogyakarta.
Hermawati, Fa jar Astuti. 2013. Pengolahan Citra Digital Konsep dan Teori.
Penerbit Andi : Yogyakarta.
Kadir, Abdul dan Adhi Susanto. 2013. Teori dan Aplikasi Pengolahan Citra.
Penerbit Andi : Yogyakarta.
Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Graha
Ilmu : Yogyakarta.
Kusumojati. 1997. Sistem Pengenalan Pola Retak Jalan dengan Jaringan Syaraf
Tiruan Propagasi Balik. Skripsi Tidak Dipublikasikan, Universitas
Indonesia.
Minartiningtyas, Brigida Arie. Pendekatan Pengenalan Pola. I halaman.
http://informatika.web.id/pendekatan-pengenalan-pola.htm diakses pada
03 Maret 2013, 22.00 WIB
Munir, Rinaldi. Pngolahan Citra Digital (Bab 15). 8 halaman.
http://informatika.stei.itb.ac.id/-rinaldi.munir/Buku/Pengolahan%20Citra
%20Digital/Bab- Diakses pada 03 Maret 2013, 20.00 WIB
15 Ron Kendhuru Sinebit
16 Ron Kendhuru Sungsang Winengku
17 Ron Kendhuru Sungsang
18 Ron Pakis Winengku
19 Ron Pakis
;/ l'p!,..dCUu
I
I
( 1111
IO) Pada halaman "Olah Citra" Saal proses simpan berhasil dilakukan '''N-•
H~lam•n ;Ol•h Cltr•
11) Tam pi Ian saat tombol "Tambah Data" di-klik
12) Pada halaman "Tambah Data" Saat meng-klik tombol "Load" dan
data gaga! di-load
H•l•mononml:»l>U•t~
13) Pada halaman "Tambah Data" Saat data berhasil di-load
:"o•: 16, :>OlJ 8:r:07P~I
16)Pada halaman "Tambah Data" Saat citra masukan di-load dengan
meng-kik tombol "Load Citra"
,;. •,Vi Com~f~1• G!fl~t10Jf111CM~1<1_t,.s ;_ 3_0'1>;0> ,t~
iitte~onzP~i•a.
'Mua1Sll»fo2008 VoSu•ISlu0.02010
It,, 3m~un1 ~n~
'- ap~11 rn; II. ;i.:_eius ... ~n~n~
It,, ~~· .,,.
11. '.l~'J ~no
E: 11i
.~--1
Open Cancel
Proudly :>~l: Skrlpsl L'~wah_lmpl•mmQsl J.:ohcm•n X•ur;o.J Xet><Urk untuk ll•ngtru.ll Pula Pamor KPris Ja""
17) Pada halaman "Tambah Data" Saat citra terpilih ditampilkan
-22) Pada halaman "Kenali Pola" : Saat dilakukan proses pengenalan
pola tanpa melakukan proses training
- 1"'''" J.:tlHlll'ol~
OK
-23) Pada halaman "Kenali Pola" : Saat dilakukan pengenalan pola
dengan melakukan training sebelumnya
}
\ I
LAMPIRAN 3 (Hasil Wawancara 1)
Narasumber 1 : Bapak Victor Amrizal, M.Kom
Keris merupakan kebudayaan Indonesia yang sudah sangat jarang
ditemukan pakarnya. Mutu suatu keris dapat dilihat dari pamor-nya. Pamor adalah
lukisan pola yang terukir di atas badan keris. Dengan pengetahuan masyarakat
Indonesia yang sangat kurang mengenai keris, sering kali terjadi kesalahan dalam
mengidentifikasi nama pola pamor keris. Oleh sebab itu sangat perlu untuk dibuat
sebuah soff\Vare yang dapat mengenali pola pamor keris. Untuk mempermudah
penelitian, spesifikasi jenis keris yang akan diidentifikasi perlu dilakukan. Karena
keris pada awal mula pembuatannya dilakukan di Jawa, maka jenis keris yang
perlu diangkat dalam penelitian hanyajenis keris Jawa saja.
1A1
LAMPIRAN 4 (Hasil Wawancara 2)
Narasumber: Mbah Jahid
Masing-masing nama pamor keris memiliki kegunaan tersendiri. Berikut
ini daftar nama pamor dan kagunaannya :
No Na1na Pa1nor Kegunaan
Blarak Sineret Untuk pertanian I
Sodo Kembar Untuk Peternakan 2
Data hasil wawancara dengan mbah Jahid sangatlah terbatas dikarenakan usia
keris yang sangat tua yang menyebabkan sulitnya diidentifikasi.
LAMPIRAN 5 (Hasil Wawancara 3)
Narasumber: Bapak Dannaji, S.Pd
Pamor keris merupakan simbol kewibawaan dari keris itu sendiri. Pada
bidang pewayangan, sering kali keris dijadikan sebagai symbol strata antar lakon
wayang. Pamor keris mermpunyai peranan yang sangat penting bagi keris itu
sendiri.
Sangat perlu dibuatkan sebuah alat (software) untuk mengidentifikasikan
nama dari pola pamor keris. Karena dari nama pamor dapat diketahui mutu atau
kegunaan dari keris itu sendiri.
LAMPIRAN 6 (Downsampling Citra Ukurau lOOxlOO)
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111110000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000001010000000000000110000000000000000000000000000000000000000
000000000000000000000001100000000000000010100000000000000011000000
000110000000000000000000000000000000000000000011000000011110000000
000000000010000000000000001100000000011110000000000000000000000000
000000000000111000000001110000000000000000001000000000000000011000
000001111111000000000000000000000000000000001111000000001111000000
000000000000100000000000000000110000000000011111100000000000000001
111000000011100000000001101100000000000000000010000000000000000001
100000000000011110000000000000000111111100001110000000001111100000
000000000000001000000000000000000110000000000000000000000000000000
000111111100011101100000011110000000000000000000100000000000000000
011000000000000000000000000000000000000000011000011111000000001100
000000000000000010000000000000000001000000000000000000000000000000
000000000000000000011111000000111100000000000000001000000000000000
011100000000000000000000000000011100000000000000000000011110000000
011000000000000000100000000000000111000000000000000000011000001111
110000000000000000000000101000000000100000000000000010000000000000
011110000000000000000001100000011111000000000000000000000010100000
000010000000000000001000000000000001110000000000000000000011110000
000000000000000000000000001110000000111000000000000000100000000000
000111000000000000000000000011110000000000000000000010000000010000
000111100000000000000010000000000000011110000000000000000000000000
000000000001110001111000000000000000111110000000000000001000000000
000001101100000000001100000000000000000000011111001111000000000000
001111110000000000000000100000000000000011111000000000011000000000
000000000001111110110100000000000001101100000000000000000010000000
000000000111100000000000010000000000000000000001111001111100000000
000111100000000000000000001000000000000001111110000000000000000000
000000000000000000000011111100000000001100000000000000000000100000
000000001110000000000000000000000001110000111111100000000000111100
000000010000000000000000000010000000000001100000000000000000000001
llllOllllllOOOOlllllllOllOOOOOllOOOOOOOOOllOOOOOOOOOOOOOOOOOOOIOOO
OOOOOOOOOIIOOOOOOOOOOOOOOOOOOOOOllllllllOOllllllllll 11011010000001
100000000010000000000000000000100000000000001000000000000000001010
101011011111100001110101101000000010000000001100000000000000000010
OOOOOOOOOOOOlOOOOOOOOOOOOOOOOOIOllllllllllllll!OlllllllllllOIOOOOO
001000000000110000000000000000001000000000000011100000000000000001
llllllllllllllllOOOOOOlllllllOOOOOOIIOOOOOOOOOllOOOOOOOOOOOOOOOOOO
I 00000000000000 I I 111000000000000001 1 111 1 11111111 I 111 I I I I I I I I I 00000
001100000000011000000000000000000010000000000000000111100000000000
000001III100001I1000001II1000000000110000')000011000000000000000000
001000000000000000011110000000000000000000000001111000000000000000
000000000000011100000000000000000000100000000000000000110000000111
110000000000000100110000000000000100000000000001100000000000000000
000010000000000000000011111000001111100000000000011001100000000000
110000000000011100000000000000000000001000000000000000000000110000
001101000000000000111011000000000010000000000001100000000000000000
000000100000000000000000000010000001100100000000000011101100000000
001100000000000111100000000000000000000010000000000000000001111000
000111110000000000001101110110000000011000000000000111100000000000
0000000010000000000000111111100000011:1100000001110101111111111111
000000000111000000011111000000000000000000100000000000011100000000
000000000000111111111100000001100100000000001110000000110111100000
000000000010000000000011000000000000000000000000000000011111111110
000000000000000111110000000011110000000000001000000000001000000000
000000000000000000000000000000000011000111000000000111110000000011
000000111110010000011111111011100111011000000011110000011000000000
100000000010000000110000001100101001010110110101111111100111100011
010100100000001111000111000000000010000000001100000011100000011010
ll010llll011111lll11110l llllllOOllOOllOllOOOOOOOlllOOOOIOOOOOOOOOO
00I0000000000110000011 I I 00000111 I I 011110 I 1 I 111 11111 11111 11 I 11 I 1111
100111011000000110100001000000000000100000000000111000011110000001
1 11 I I I I I 11 1 11 111 11111 I I 11 111 l l l l l l 0 l l l l l l l 00000011 I I I 0001 I 00000000
000010000000000000100000111001000011111111111101000000000001100001
111111110000000111111001100000000000001000000000111110000001110110
0000 l l I I I I 11 I 0 I l l 00000000000111 l 11 l 011 l l 000011 I 00 I I I 0 I I 0 I I 00000000
000000100000000011000000000111101111000000110000000000000111111100
000001110011100111000111100000000000000010000000000110000000001110
lllllOOOOOOOOOOOllllll 11111110000000111111111001110001111100000000
000000001000000000001100000000011111111000000000001000000011100010
001111001110001100011101110000000000000000100000000000011110000000
011001100000000000110000001100111001l10100100111100011III1I1000000
000000000010000000000000001100000000100000000000000001000000100011
000110010010010101111011111100000000000000001000000000000000110000
0001 IOOOOOOOOOOOOOOOOllllllllOOOOil!OOllOllOllOlOlllll000111110000
000000000000100000000000000110000000000000000000000000000000111110
000110011I1111I111111110000011100000000000000010000000000011110000
000000000000000000000000000011111111000000011111101111111110000011
110000000000001000000000111000000000000000000000000011111111111111
111111110000001111111111101111100111110000000000100001111110000000
OOOOOOOOOOOOOOOOllllllllllllllllllllllllllllllOOOOOOOllllllOllOlll
llllllllOOOOOOOOIOOOlllOOOOOOOOOOlllllOOOOOOOOOOlllllllOOOOlllllll
l l l 11 1 11 I I 1101111100000001111000001100I01111000000I001100000000001
110110000000001111101111000111111111111110001111111111100000011110
000000000001100000100100000011001110110000010011111001111111111111
11111111111100000!111111110000011000000000000011000010010000011011
111111111111111110001111110000000111111111111111111111001111111000
000000000000000111001011000011111111111111011111010010101011000000
OOOO!llllllllllllllllllllOOOlllllOOOOOOOOOOOOOOOOOOllOIOlOOOOOllll
1!0!1!0110010!!101 !01011111111110000000110001110111111111011100111
110000000000000000001010000000110111011101110101111111111111111111
Ol!OOO!lllllllllllll!llO!!lll!OOO!l!OOOOOOOOOOOOOOOOOOOOIOOOOOOll!
0 l l IO 11 111 l l 11 l l I l l I l l l l l l l l l l l l l l l l l l IOO ! ! 11110111 ! ! 110 l l 11101100
001110000000000000000000100000011101111011111111110111111111111111
llllll!llOOOOOOOl!ll!Olllllll!IOOOO!lllOOOOOOOOOOOOOOOOOOOIOOOOOOO
l l l l l l l I ! I l l ! I l l l 11 l 10 I l 0 l l l I l I l l l l I I l l l l l l l l I l l l l l l l l 0 l l l l l l l l 000
OO!ll!OOOOOOOOOOOOOOOO!l!OIOOOOOOO!!lllllllllllllllllllllOOOOOOOll
llllllllllllllllllllllllOll!OOOOOOllllOOOOOOOOOOIOOOOOOOl!IOIOllOO
OOO!lllllllllllll!Olllllll!OOOOOO!llllllll!OlllllllllllOOOOOOOOOll
l!IOOOOOOOOOOOO!!OOOOOOO!llOIOOllOOOOOO!llllllllllllllllllllllOOOO
00 l I l ! I l l l I l l 11 ! I l 11 l 1000000 l l l 111000000000000011 l 000000001100 l 00 l
l!OOOOOOOO!lllllllllllllOOO!lll!OOOOOO!llllll!OO!lllllllllllllllOO
000000000000011110000000111110100001111000000000111111011111100001
00001!11!!! IOOl!!OOOOO!lll!OO!!Ol!OOOOOOOOOO!ll!OOOOOOI! ll !!!!0010
OOOOOlll!ll!OOOOOOOOOOOOO!ll!OOOOOOOOOO!llllllllllllllllll!llOllll
!lOOOOOOOOl!!OOOOOO!llllllllOOOOIOOOOOOOOOOO!lllllOOOOOOOOOOOl!OOO
OOOOOOOl!llll!Ol!OOOOO!!OO!l!llOOIOOOOOOOOll!OOOOOOO!llllllOOOOOOO
!OOOOOOOOOOOOOOOl!!OOOOOOOOOOOOOOOOOOOOOO!lllllllllllllll!OO!lllOO
OIOOOOOOOO!ll!OOOOOO!lllOOOOOOOOOO!OOOOOOOOOOOOOOO!l!OOOOOOOOOOOOO
000000000000110000000111010000001101100000000111110000001111000000
001000000000000001100000000000000000000000000000000000000000000011
ll!Ollll!OOOOO!llllllOOOOOO!IOOOOOOOIOOOOOOOOOOOOOOIOOOOOOOOOOOOOO
000000000000000000000000000000001111111111110000000111111100001000
OOOO!OOOOOOOOOOOOOO!llllllllllllllllllllllllllllllllllllllllllllll
!llllllllllllllllllllllllllllllOOOOOOOIOIOOOOOOOOOOOOOOOOOOOOOOOOO
000000000000000000000000000000000000000000000000000111111111100000
000010101000000000000000000000000000000000000000000000000000000000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOIO:BendaSegadha
LAMPIRAN 7 (Downsampling Citra Ukuran SOxSO)
1111 I 1111111 I 1111 111111111111 1111 11 ! 111111 111 I I I I I 11 000000 I 0
000110000000000000000000010001110000000110000000110001111000000000
000000011100011000000000100000000110000111100000001111001100001110
000000001000000001100000000000000001111111110011100000000010000000
11000000000000011000000000!111001110000000100000011100000000110011
100000000000110000100000001000000110000000000111000000000010001100
111000000010000001110000010000000000111011100000011110000000100000
001110000110000000001111111000001110000000001000000111100000000011
001111000111100001000000000010000011000000000011111111111111001100
011000000000100000110000000011111111111111110011000110000000001000
000111000000111111111111111100110001100000000010000000111000000011
101110011000011000110000000000100000000111011110000011110000010000
01!1000000000010000000000100111000000111000001000001I1000000000010
00000 I I 1 I I 0 I I I I 00 I I 1 I I I 1111 00 I I I 1000 11 I 000000000 I 00000 I I 0000000000
111111111110000011110111110000001000011000000000110000000000111111
001110000110000010000110000000111100000000001111110001110011100000
100001000000001111001111111111111100001000111000001000011001100000
011101111111111110000100011110000010000111111111111101111110000000
001111001111000000100000011101111111111111110111111111011111000000
001000000001110111111111010111111110110111110000000010000000111100
I I 011111 111 I 111111111111111110000000I000001110000000 I I I 011 11 111111
111101110111111100001000011000110001111111111111111111110001111001
000010000100011001111100111111111111111110011110110000100001000110
011111111111111111101111100111011000001000011101110111111111111111
111111111001110100000010000111001111011111111000011111111011111111
000000100001100011111100100111111110011111111111100000001000001110
011111000001000111111101111011110000000010000000100011000000011111
011111111111111100000000100000111000000000000000111111111111111101
110000001011111000000000011111111111111101111111111111000011110001
111000111111011111111111111101111010111100110011111111111111111111
111111111111110110000001101100111111111111111111000111111111111111
000000001110011111111111111111111111111111111110111000000000100111
111111111111111111111011111111101110000000111100111111111111100111
111111111111011110000110001111100111111111111100111111111111111100
000111000111101111100111111101001111111111111110000111011111101000
001111000011000011111111101111000011000111100010000001110000000000
001000111001111100111110111000l0000001111111 1111111 l 111 111 11 111 l 11
1111111111100011000000000000000000000000000000000000011 llllOOOOl:B
endha Segadha
top related