Implementasi jaringan syaraf tiruan feedforward dan feature detection untuk verifikasi tanda tangan

(1)

1

1.1 Latar Belakang Masalah

Tanda tangan adalah hasil proses menulis seseorang yang bersifat khusus sebagai substansi simbolik. Banyak dari kita mungkin tidak membayangkan bahwa orang lain tidak akan menduplikasi tanda tangan kita karena sulit untuk diduplikasi atau tidak ada gunanya menduplikasi tanda tangan tersebut. Tetapi pada saat-saat tertentu kita mulai mewaspadai tanda tangan yang kita buat atau yang dibuat oleh orang lain, dengan tujuan agar kita dapat mengetahui keaslian dari tanda tangan, baik tanda tangan kita maupun milik orang lain. Hal tersebut mulai menjadi persoalan bagi kita bila suatu transaksi menjadi tidak syah karena terjadi pemalsuan tanda tangan. Dan tentunya dapat merugikan pihak-pihak yang bersangkutan, oleh karena itu diperlukan sebuah sistem yang dapat melakukan verifikasi keaslian tanda tangan.

Jaringan syaraf tiruan adalah sebuah model tiruan dari jaringan syaraf yang ada pada mahluk hidup seperti manusia, seperti halnya manusia yang bisa belajar bila di berikan pelatihan, maka jaringan syaraf tiruan ini dapat melakukan operasi dengan input tertentu dan memberikan output tertentu tergantung dari pelatihan yang diberikan padanya, dengan memanfaatkan jaringan syaraf tiruan maka tanda tangan dapat dilakukan analisis yang menghasilkan persentase kecocokan tanda tangan tersebut. Sedangkan feature detection adalah suatu proses yang menghasilkan tepi-tepi dari objek-objek citra, tepi-tepi ini akan menandai bagian detail citra.

Pada penelitian yang telah dilakukan oleh Hidayanto A., dkk. (2008) yang melakukan penelitian identifikasi tanda tangan menggunakan jaringan syaraf tiruan algortima backpropagation, tingkat akurasi keberhasilan algoritma backpropagation dalam mengidentifikasi tanda tangan adalah sebesar 95%. Algoritma backpropagation dapat mengenali citra tanda tangan dengan baik. Namun pada hasil penelitian tersebut menyarankan bahwa perlu dilakukan penelitian pengenalan tanda tangan dengan metode jaringan syaraf tiruan selain


(2)

backpropagation, untuk membandingkan tingkat keberhasilannya, agar diperoleh metode terbaik untuk identifikasi tanda tangan. Digunakannya algoritma learning vector quantization karena pada penelitian yang dilakukan oleh Wuryandari (2012) yang berjudul perbandingan metode jaringan syaraf tiruan backpropagation dan learning vector quantization pada Pengenalan Wajah menyatakan bahwa jaringan syaraf tiruan learning vector quantization lebih baik dari segi akurasi dan waktu dibandingkan denganbackrpopagation.

Pada penelitian Hidayanto A., dkk. (2008) juga menyarankan untuk dilakukan proses prapengolahan yang lebih kompleks pada citra tanda tangan sehingga diperoleh ciri citra tanda tangan yang lebih detail. Maka dari itu ditambahkan feature detection untuk mendapatkan ciri citra tanda tangan yang lebih detail. Metode feature detection yang digunakan adalah edge detection sobel, karena pada penelitian yang sudah dilakukan oleh Sugiantoro (2013) yang berjudul Perbandingan Metode Robert, Sobel, Prewitt dan Canny untuk Deteksi Tepi Objek pada Aplikasi Pengenalan Bentuk Bangun Datar Berbasis Citra Digital menyatakan bahwa metode Sobel memiliki tingkat akurasi yang paling tinggi.

Penelitian ini akan mengimplementasikan jaringan syaraf tiruan feedforward menggunakan algoritma learning vector quantization. Dengan ditambahkan metode edge detection sobel, diharapkan algoritma learning vector quantization dapat melakukan verifikasi tanda tangan, agar dapat memperoleh persentase dan waktu dari data pengujian.

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang dapat dirumuskan masalahnya adalah bagaimana mengimplementasikan jaringan syaraf tiruan feedforward dan feature detectionuntuk dapat melakukan verifikasi tanda tangan.


(3)

1.3 Maksud dan Tujuan

Berdasarkan permasalahan pada latar belakang maka maksud dari penulisan skripsi ini adalah implementasi jaringan syaraf tiruan feedforward dan feature detectionuntuk verifikasi tanda tangan.

Adapun tujuan yang ingin dicapai adalah untuk memperoleh persentase kecocokan dan waktu dari data pengujian yang menggunakan jaringan syaraf tiruanfeedforwarddanfeature detection.

1.4 Batasan Masalah

Dalam pembahasan dan permasalahan yang terjadi, diperlukan beberapa pembatasan masalah atau ruang lingkup kajian sehingga penyajian lebih terarah dan terkait satu sama lain.

Adapun batasan dari permasalahan ini adalah sebagai berikut : 1. Citra tanda tangan diambil dari hasilscan, dengan format jpg. 2. Data citra masukan akan diubah menjadi 32x32pixel.

3. Informasi yang ditampilkan pada aplikasi berupa persentase kecocokan, waktu pengujian, waktu pengolahan, dan nama target.

4. Kombinasi Parameter untuk pelatihan yang digunakan diambil dari hasil penelitian yang telah dilakukan oleh Wuryandari (2012).

5. Pemodelan sistem menggunakan pemrograman berorientasi objek dengan UML (unified modeling language).

6. Bahasa pemrograman yang digunakan adalah C#.

7. Metode feature detection yang digunakan adalah metode edge detection sobel.

8. Algoritma jaringan syaraf tiruan feedforward yang digunakan adalah algoritmalearning vector quantization.

1.5 Metodologi Penelitian

Metodologi penelitian yang digunakan adalah metode deskriptif yaitu suatu metode untuk membuat gambaran deskriptif mengenai fakta-fakta dan informasi dalam situasi atau kejadian di masa sekarang secara sistematis, faktual


(4)

dan akurat. Adapun tahap yang akan dilalui adalah metode pengumpulan data dan metode pembangunan perangkat lunak.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah Studi literatur. Tahap ini digunakan untuk mencari informasi yang berhubungan degan permasalahan yang ada mengenai metode jaringan syaraf tiruan feedforward dan feature detection pada buku-buku, jurnal, dan penelitian yang dapat membantu menyelesaikan penelitian ini.

1.5.2 Metode Pembangunan Perangkat Lunak

Dalam pembangunan sistem ini, digunakan metode pengembangan perangkat lunak dengan menggunakan metode Agile sebagai berikut :

Gambar 1.1 Metode Agile, XP Process (Pressman,2005)

Tahapan metode pengembangan perangkat lunak dengan menggunakan metode Agile sebagai berikut :

a. Planning

Melakukan pemodelan menggunakan pemrograman berorientasi objek dengan toolUnified Modeling Language(UML). Pemodelan yang dibuat adalah use case diagram, class diagram, activity diagram, sequence diagram.


(5)

b. Design

Prototype dibangun dengan membuat rancanganinterface serta mengatur class-class di konsepobject oriented.

c. Coding

Melakukan konversi rancangan sistem kedalam kode-kode bahasa pemrograman C#.

d. Testing

Melakukan pengujian pada aplikasi yang telah selesai dibuat, untuk memastikan semua proses sudah dapat berjalan dan tampilan sesuai dengandesign.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Menguraikan tentang latar belakang, rumusan masalahan, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Menjelaskan tentang teori-teori mengenai tanda tangan, kecerdasan buatan, jaringan syaraf tiruan dan biologi, pengolahan citra, OOP (Object Oriented Programming), UML (Unified Modelling Language), visual studio dan bahasa pemrograman C# (C Sharp).

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Menjelaskan tentang analisis masalah, analisis sistem, analisis metode/algoritma, analisis kebutuhan non fungsional, analisis kebutuhan fungsional, perancangan antarmuka.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Menjelaskan tentang implementasi sistem dan pengujian sistem dari analisis dan perancangan yang telah dibuat.


(6)

BAB 5 KESIMPULAN DAN SARAN

Menjelaskan tentang kesimpulan dari hasil implementasi dan pengujian yang telah dibuat, serta saran-saran untuk pengembangan penelitian ini selanjutnya.


(7)

7

2.1 Definisi Tanda Tangan

Tanda tangan adalah hasil proses menulis seseorang yang bersifat khusus sebagai substansi simbolik. Tanda tangan merupakan salah satu bentuk yang digunakan untuk identifikasi seseorang.

Contoh-contoh tanda tangan setiap orang umumnya identik namun tidak sama. Artinya tanda tangan seseorang sering berubah-ubah setiap waktu. Perubahan ini menyangkut posisi, ukuran maupun faktor tekanan tanda tangan. Pada kenyataannya, perubahan-perubahan tersebut dipengaruhi oleh waktu, umur, kebiasaan dan keadaan mental tertentu (Abbas, 1994).

Gambar 2.1 Contoh Citra Tanda Tangan

2.2 Kecerdasan Buatan

Kecerdasan Buatan adalah salah satu cabang ilmu pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan yang rumit dengan cara yang lebih manusiawi. Hal Ini biasanya dilakukan dengan mengikuti karakteristik dan analogi berpikir dari kecerdasan/Inteligensia manusia, dan menerapkannya sebagai algoritma yang dikenal oleh komputer. Dengan suatu pendekatan yang kurang lebih fleksibel dan efisien dapat diambil tergantung dari keperluan, yang mempengaruhi bagaimana wujud dari perilaku kecerdasan buatan. AI biasanya dihubungkan dengan Ilmu Komputer, akan tetapi juga terkait erat dengan bidang lain seperti Matematika, Psikologi, Pengamatan, Biologi, Filosofi, dan yang lainnya. Kemampuan untuk mengkombinasikan pengetahuan


(8)

dari semua bidang ini pada akhirnya akan bermanfaat bagi kemajuan dalam upaya menciptakan suatu kecerdasan buatan (Suyanto, 2014).

Pengertian lain dari kecerdasan buatan adalah bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman yang diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namu bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian juga dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik. Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu AI akan mencoba untuk memberikan beberapa metoda untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi mesin pintar.

2.2.1 Keuntungan Kecerdasan Buatan

Keuntungan kecerdasan buatan antara lain :

1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang


(9)

pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak mengubahnya.

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan manusia dari satu orang ke orang lain butuh proses dan waktu lama. Disamping itu suatu keahlian tidak akan pernah bisa diduplikasi secara lengkap. Sedangkan jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebuat dapat ditransfer atau disalin dengan mudah dan cepat dari satu komputer ke komputer lain

3. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah dibanding dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan busatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami senantiasa berubah-ubah.

5. Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat komputer dapat didokumentasikan dengan mudah dengan melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami

7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami.

2.2.2 Penerapan Kecerdasan Buatan

Kecerdasan buatan banyak diterapkan pada berbagai bidang, misalnya pada bidang ilmu komputer (informatika), teknik elektro, kesehatan, manajemen dan lain sebagainya. Beberapa contoh penerapan kecerdasan buatan adalah sebagai berikut :


(10)

1. Pengenalan Pola

Pengenalan pola dilakukan untuk mengenali suatu objek tertentu, misalnya untuk keperluan absensi menggunakan sidik jari (finger recognition), pengenalan suara (voice recognition), pengenalan tanda tangan (signature recognition), atau pengenalan wajah (face recognition). Selain itu juga dapat digunakan sebagai mesin pencarian dengan gambar atau suara sebagai kata kuncinya dengan menggunakan pengenalan gambar (image recognition) dan pengenalan suara (speech recognition).

2. Sistem Pakar

Sistem pakar digunakan sebagai sarana untuk menyimpan pengetahuan para pakar, sehingga komputer dapat menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar. Misalnya analisis penyakit, kerusakan komputer, penasihat keuangan dan lain sebagainya.

3. Game Playing

Gamemerupakan fasilitas menarik yang terdapat dalam komputer. Game dalam komputer seperti catur, kartu dan lain sebagainya menggunakan kecerdasan buatan agar dapat bermain selayaknya manusia, memiliki strategi langkah selanjutnya, pengetahuan peraturan permainan dan dapat mengetahui pemenangnya.

4. Robotika dan Sistem Sensor

Salah satu contoh sistem sensor adalah pada mesin cuci yaitu menggunakan sensor optik, mengeluarkan cahaya ke air dan mengukur bagaimana cahaya tersebut sampai ke ujung lainnya. Makin kotor, maka sinar yang sampai makin redup. Sistem juga mampu menentukan jenis kotoran tersebut daki/minyak. Sistem juga bisa menentukan putaran yang tepat secara otomatis berdasarkan jenis dan banyaknya kotoran serta jumlah yang akan dicuci.

2.3 Jaringan Syaraf Tiruan dan Biologi

Jaringan syaraf merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada


(11)

otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Jaringan syaraf biologi merupakan jaringan syaraf yang terdapat pada manusia, sedangkan jaringan syaraf tiruan merupakan jaringan syaraf yang dibuat dan dijalankan pada komputer (Muis, 2006).

2.3.1 Jaringan Syaraf Biologi (JSB)

Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls atau sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 10 neuron dan 6. 10 sinapsis. Dengan jumlah yang begitu

banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ dengan kecepatan yang lebih tinggi dibandingkan komputer digital.

Gambar 2.2 Neuron

Komponen utama neuron dapat dikelompokan menjadi 3 bagian, yaitu : 1. Dendrit = bertugas menerima informasi = jalur masukan bagi soma. 2. Badan sel (soma) = tempat pengolahan informasi.

3. Akson = bertugas mengirimkan impuls-impuls sinyal ke sel syaraf lain = jalur keluaran bagi soma.


(12)

2.3.2 Jaringan Syaraf Tiruan (JST)

Jaringan syaraf tiruan adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistem sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari sistem pemrosesan informasi. Jaringan syaraf tiruan, seperti manusia, belajar dari suatu contoh. Jaringan syaraf tiruan dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi. Jaringan syaraf tiruan berkembang secara pesat pada beberapa tahun terakhir. Jaringan syaraf tiruan dikembangkan sebelum adanya komputer konvensial yang canggih dan terus berkembang walaupun pernah mengalami masa vakum selama beberapa tahun.

Jaringan syaraf tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia (human cognition) yang didasarkan atas asumsi sebagai berikut :

1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron. 2. Sinyal mengalir diantara sel saraf atau neuron melalui suatu sambungan

penghubung.

3. Setiap sambungan penghubung memiliki bobot yang bersesuaian. Bobot ini digunakan untuk menggandakan atau mengalikan sinyal yang dikirim melaluinya.

4. Setiap sel syaraf akan menerapkan fungsi aktivasi terhadap sinyal hasil penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal keluarannya.

Tabel 2.1 Analogi JST dan JSB

JST JSB

Node/masukan Badan sel (soma)

Masukan Dendrit

Keluaran Akson


(13)

Gambar 2.3 Model Struktur JST

Jaringan syaraf tiruan dapat belajar dari pengalaman, melakukan generalisasi atas contoh-contoh yang diperolehnya dan mengabstraksi karakteristik esensial masukan bahkan untuk data yang tidak relevan. Algoritma untuk JST beroperasi secara langsung dengan angka sehingga data yang tidak numerik harus diubah menjadi data numerik. JST tidak diprogram untuk menghasilkan keluaran tertentu. Semua keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pada pengalamannya selama mengikuti proses pembelajaran. Pada dasarnya pembelajaran kedalam JST dimasukkan pola-pola masukan (dan keluaran) lalu jaringan akan diajari untuk memberikan jawaban yang bisa diterima. Pada dasarnya karakteristik JST ditentukan oleh :

1. Pola hubungan antar neuron (disebut arsitektur jaringan)

2. Metode penentuan bobot-bobot sambungan (disebut dengan pelatihan atau proses belajar jaringan)

3. Fungsi aktivasi

2.3.3 Arsitektur Jaringan Syaraf Tiruan

Pada jaringan syaraf tiruan, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan neuron. Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya. Informasi yang diberikan pada jaringan syaraf tiruan akan dirambatkan lapisan ke lapisan, mulai dari lapisan masukan sampai lapisan keluaran melalui lapisan tersembunyi.


(14)

Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pola bobotnya. Umumnya neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang sama sehingga pada setiap lapisan yang sama neuron akan memiliki fungsi aktivasi yang sama. Bila neuron-neuron pada suatu lapisan (misal lapisan tersembunyi) akan dihubungkan dengan neuron-neuron lapisan lain (misal lapisan keluaran) maka setiap neuron pada lapisan tersebut (lapisan tersembunyi juga harus dihubungkan dengan setiap neuron pada lapisan lainnya (lapisan keluaran). Terdapat 3 macam arsitektur jaringan syaraf tiruan, yaitu :

1. Jaringan Dengan Lapisan Tunggal (Single Layer Net)

Jaringan ini hanya memiliki 1 lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima masukan kemudian secara langsung akan mengolahnya menjadi keluaran tanpa harus melalui lapisan tersembunyi. Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. Semua unit masukan akan dihubungkan dengan setiap unit keluaran, seperti terlihat pada Gambar 2.4.


(15)

2. Jaringan Dengan Banyak Lapisan (Multilayer Net)

Jaringan ini memiliki 1 atau lebih lapisan yang terletak diantara lapisan masukan dan lapisan keluaran. Umumnya ada lapisan bobot-bobot yang terletak antara 2 lapisan yang bersebelahan. Jaringan dengan banyak jaringan lapisan dapat dilihat pada Gambar 2.5.

Gambar 2.5 Jaringan Dengan Banyak Lapisan

3. Jaringan Dengan Lapisan Kompetitif (Competitive Layer Net)

Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif. Umumnya berhubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur. Gambar 2.6 Menunjukan salah satu contoh arsitektur jaringan dengan lapisan kompetitif.


(16)

Gambar 2.6 Jaringan Dengan Lapisan Kompetitif

Berdasarkan dari arsitektur (pola koneksi) jaringan syaraf tiruan dapat dibagi kedalam dua kategori :

2.3.3.1 Strukturfeedforward

Sebuah jaringan yang sederhana mempunyai struktur feedforward dimana signal bergerak dari input kemudian melewati lapisan tersembunyi dan akhirnya mencapai unit output (memiliki struktur perilaku yang stabil).

Tipe jaringan feedforward mempunyai sel syaraf yang tersusun dari beberapa lapisan. Lapisan input bukan merupakan sel syaraf. Lapisan ini hanya memberi pelayanan dengan mengenalkan suatu nilai dari suatu variabel. Lapisan tersembunyi dan lapian output sel syaraf terhubung satu sama lain dengan lapisan sebelumnya. Kemungkinan yang timbul adalah adanya hubungan dengan beberapa unit dari lapisan sebelumnya atau terhubung semuanya (lebih baik).

Metode-metode yang termasuk kedalam strukturfeedforwardantara lain :

a. Hebb Rule

Hebb rule adalah metode pembelajaran yang paling sederhana. Pada metode ini pembelajaran dilakukan dengan secara memperbaiki nilai bobot sedemikian rupa sehingga jika ada 2 neuron yang terhubung, dan keduanya pada kondisi “hidup” pada saat yang sama, maka bobot antara keduanya dinaikkan.


(17)

Gambar 2.7 Jaringan Hebb Rule b. Perceptron

Jaringan jenis ini hanya terdiri dari layer masukan dan layer keluaran saja. Data masukan yang masuk melalui vektor masukan akan langsung diproses dan kemudian ditentukan target keluaran dari hasil pengolahan.

Gambar 2.8 Jaringan Perceptron c. Backpropagation

Salah satu arsitektur jaringan syaraf tiruan yang sangat populer adalah multilayer feedforward networks. Jaringan backpropagation terdiri dari sejumlah unit neuron sebagai lapisan masukan, satu atau lebih lapisan simpul-simpul neuron komputasi keluaran. Sinyal masukan di propagasikan ke arah depan (arah lapisan keluaran), lapisan demi lapisan.


(18)

Gambar 2.9 JaringanBackpropagation d. Learning Vector Quantization(LVQ)

LVQ merupakan jaringan syaraf tiruan dengan tipe arsitektur jaringan lapis tunggal umpan-maju (Single Layer Feedforward) yang terdiri atas unit masukan dan unit keluaran. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor masukan. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor masukan. Jika 2 vektor masukan mendekati sama, maka lapisan kompetitif akan meletakan kedua vektor masukan tersebut kedalam kelas yang sama.


(19)

Pada Gambar 2.10 memperlihatkan bahwa yang bertindak sebagai dendrit atau data masukan adalah x1-x6, yang bertindak sebagai sinapsis atau bobot adalah W, sedangkan soma atau badan sel dari jaringan ini adalah perhitungan | − | . Dan yang bertindak sebagai akson atau data keluaran adalah Y. berikut ini algoritma pembelajaran metode LVQ : Langkah 0 : Inisialisasi vektor referensi dan learning rate (α).

Langkah 1 : selama kondisi berhenti bernilai salah kerjakan langkah 2 dan 3. (kondisi berhenti jika perulangan mencapai maksimal perulangan dan perubahan rasio lebih kecil dari minimal eror).

Langkah 2 : untuk masing-masing pelatihan vektor masukan, kerjakan : a. Temukan J sehingga‖ − ‖ bernilai minimum.

= ∑ ( − )² (1)

b. Perbaikan Wj dengan : i. Jika T = Cj maka

( ) = + [ − ( )] (2)

ii. Jika T≠ Cj maka

( ) = − [ − ( )] (3)

Langkah 3 : kurangilearning rate

= ∗ (4)

Langkah 4 : tes kondisi berhenti. Keterangan rumus :

T : Target

J : Jumlah selisih data dan bobot C : Kelas selisih bobot terkecil

W : Bobot

α : Rasio pembelajaran


(20)

2.3.3.2 Strukturrecurrent(feedback)

Jika suatu jaringan berulang (mempunyai koneksi kembali dari output ke input) akan menimbulkan ketidakstabilan dan akan menghasilkan dinamika yang sangat kompleks. Jaringan yang berulang sangat menarik untuk diteliti dalam jaringan syaraf tiruan, namun sejauh ini struktur feedforward sangat berguna untuk memecahkan masalah.

Metode-metode yang termasuk kedalam strukturfeedbackantara lain :

a. Jaringan Kohonen

Jaringan kohonen pertama kali diperkenalkan oleh Prof. Teuvo Kohonen pada tahun 1982. Pada jaringan ini, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan masukan nilai tertentu dalam suatu kelompok yang dikenal dengan istilah pengelompokkan (cluster). Selama proses penyusunan diri, cluster yang memiliki vektor bobot paling cocok dengan pola masukan (memiliki jarak yang paling dekat) akan terpilih sebagai pemenang beserta neuron-neuron tetangganya akan memperbaiki bobotnya.

Gambar 2.11 Jaringan Kohonen b. Jaringan Hopfield

Pada tahun 1982, John Hopfield dari California Institute of Technology merancang sebuah jaringan saraf tiruan yang kemudian dikenal dengan nama jaringan hopfield. Dalam jaringan hopfield, semua neuron saling berhubungan penuh. Neuron yang satu mengeluarkan output dan


(21)

kemudian menjadi input bagi semua neuron yang lain. Proses pengiriman dan penerimaan sinyal antar neuron ini secara feedbacktertutup dan terus menerus sampai dicapai kondisi stabil.

Gambar 2.12 Jaringan Hopfield

2.4 Pengolahan Citra

Pengolahan citra merupakan suatu proses pengolahan data dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran berbentuk citra. Istilah pengolahan citra digital umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu (Ahmad, 2005).

Citra merupakan istilah lain dari gambar yang merupakan komponen multimedia yang memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu kaya akan informasi. Citra digital adalah citra hasil digitalisasi citra kontinu (analog). Tujuan dibuatnya citra digital adalah agar citra tersebut dapat diolah menggunakan komputer atau piranti digital dan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (komputer). Teknik-teknik


(22)

pengolahan citra mentransformasikan citra menjadi citra lain yang mempunyai kualitas lebih baik.

Beberapa jenis operasi pengolahan citra adalah sebagai berikut : 1. Modifikasi Kecermelangan (Brightness Modification)

Mengubah nilai keabuan/warna dari gelap menuju terang atau sebaliknya emngubah citra yang terlalu cemerlang/terang menajdi gelap.

2. Peningkatan Kontras (Contrast Enchancement)

Dengan peningkatan kontras maka titik yang cenderung gelap menjadi lebih gelap dan yang cenderung terang menjadi lebih terang.

3. Negasi

Operasi untuk mendapatkan citra negatif (negative image) 4. Pengabuan (Grayscale)

Grayscale merupakan proses untuk mengubah warna gambar menjadi kabu-abuan. Proses grayscale dilakukan dengan mengubah nilai RGB setiap pixel gambar menjadi 1 nilai yang sama. Sehingga setiap pixel memiliki nilai yang sama untuk ketiga unsur warnanya. Salah satu prosentase yang digunakan dalam fungsiimage processing toolboxadalah 29,9% dari warna merah (Red), 58,7% dari warna hijau (Green), dan 11,4% dari warna biru (Blue).

Rumus untuk menghitunggrayscale:

= 0.3 ∗ + 0.59 ∗ + 0.11 ∗ (5)

5. Thresholding

Operasi ini digunakan untuk mengubah citra menjadi memiliki 2 buah nilai yaitu 255 dan 0. Tentukan ambang batas nilai RGB. Dalam hal ini diambil batas 128. Baca setiap pixel gambar, jika nilai rata-rata RGBnya lebih besar dari 128, maka matriks pada kordinat yang sama dengan pixel yang sedang dibaca diisi dengan nilai 255, dan jika nilainya lebih kecil atau sama dengan 128, matriksnya diisi dengan 0.

6. Ekstraksi Ciri

operasi ini mengubah citra menjadi nilai biner yang memiliki 2 buah nilai yaitu 1 dan 0. Tentukan ambang batas nilai RGB. Dalam hal ini diambil


(23)

batas 128. Baca setiap pixel gambar, jika nilai rata-rata RGBnya lebih besar dari 128, maka matriks pada kordinat yang sama dengan pixel yang sedang dibaca diisi dengan nilai 1, dan jika nilainya lebih kecil atau sama dengan 128, matriksnya diisi dengan 0.

7. Pencerminan (Flippng)

Pencerminan merupakan proses menggambar citra ke bentuk kebalikannya seperti ketika sedang bercermin.

8. Rotasi (Rotating)

Rotasi yaitu proses memutar koordinat citra sesuai derajat yang ditentukannya.

9. Pemotongan (Cropping)

Memotong saru bagian dari citra sesuai kebutuhan. 10. Pengskalaan (Scaling)

Mengubah ukuran citra menjadi lebih besar atau lebih kecil. 11. Deteksi Tepi (Edge Detection)

Deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari objek-objek citra.

2.4.1 Deteksi Tepi

Tepi adalah perubahan nilai intensitas derajat keabuan yang mendadak (besar) dalam jarak yang sangat singkat. Perbedaan intensitas inilah yang memperlihatkan rincian pada gambar. Tepi dapat diorientasikan dengan suatu arah, dan arah ini berbeda-beda, tergantung pada perubahan intensitas. Deteksi tepi merupakan langkah pertama untuk melingkupi informasi didalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Suatu titik (x,y) dikatakan sebgai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya.

Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari objek citra, tujuannya adalah :


(24)

b. Untuk memeperbaiki detail dari citra yang kabur, yang terjadi karenaerror atau adanya efek dari proses akuisisi citra.

c. Serta untuk mengubah citra 2D menjadi bentuk kurva

Gambar 2.13 Deteksi Tepi

Macam-macam metode untuk deteksi tepi antara lain :

1. Metode Robert

Metode pendeteksian tepi dengan mencari perbedaan (differensial) pada arah horisontal dan perbedaan pada arah vertikal, dengan ditambahkan proses konversi biner setelah dilakukan perbedaan. Agar mendapatkan tepi-tepi yang lebih baik, maka konversi biner dilakukan dengan meratakan distribusi warna hitam dan putih atau dengan kata lain objek gambar ayang akan digunakan untuk metode ini sebaiknya adalah gambar hitam putih. Kelebihan operator ini yaitu cepat dan mudah untuk menghitung pengukuran gradien 2-D spasial pada gambar. Pixel nilai di setiap titik di keluaran mutlak mewakili besarnya estimasi gardien spasial citra masukan pada saat itu. Operator robert terdiri


(25)

dari sepasang kernel 2x2 konvolusi. Satu kernel yang lain hanya diputar oleh 90̊.

Gambar 2.14 Matriks Metode Robert 2. Metode Prewitt

Metode ini adalah pengembangan metode robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF. Sehingga tepi-tepi yang dihasilkan lebih banyak dari metode robert. Filter HPF menciptakan sebuah gambar dimana tepi (perubahan tajam nilai tingkat keabuan) yang akan ditampilkan. Hanya dilter dengan ukuran 3x3 yang dapat digunakan dengan filter ini. Filter ini menggunakan dua template 3x3 untuk menghitung nilai prewitt.

Gambar 2.15 Matriks Deteksi Prewitt

3. Deteksi Tepi Sobel

Metode ini juga merupakan pengembangan metode robert. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi sehingga tepi-tepi yang dihasilkan lebih


(26)

banyak dibanding metode sebelumnya. Operator sobel terdiri dari sepasang kernel 3x3 konvolusi seperti yang ditunjukan pada Gambar 2.16. satu kernel yang lain hanya diputar oleh 90̊. Deteksi tepi sobel adalah salah satu deteksi tepi yang menghindari adanya perhitungan gradien dititik interpolasi. Operator ini menggunakan kernel ukuran 3x3 piksel untuk perhitungan gradien sehingga perkiraan gradien berada tepat ditengah jendela.

Gambar 2.16 Matriks Deteksi Sobel

Kernel ini dirancang untuk merespon secara maksimal untuk tepi berjalan secara vertikal dan horizontal relatif terhadap grid pixel, satu kernel untuk masing-masing dua orientasi tegak lurus. Kernel dapat diterapkan secara terpisah dengan citra masukan, untuk menghasilkan pengukuran yang terpisah dari komponen gradien disetiap orientasi (menyebut Gx dan Gy). Perhitungan pada deteksi tepi ini, semua pixel dihitung kecuali pixel yang berada pada tepi gambar. Hal ini dilakukan karena didalam perhitungan nilai tepi sebuah pixel, harus menggunakan nilai pixel dari pixel-pixel disekitar pixel yang sedang dihitung, sedangkan pixel pada tepi gambar tidak memiliki beberapa pixel disekitarnya yang dibutuhkan dalam perhitungan.

Langkah perhitungan sobel adalah sebagai berikut :

a. Lakukan perhitungan pada pixel yang akan dihitung sisi x dan y nya. Masing-masing x dan y dimulai dari -1 hingga 1. Perulangan pada sisi


(27)

x diwakili oleh variabel wi dan pada sumbu y diwakili oleh variabel hw. Pada setiap perulangan dilakukan perhitungan :

C = (p( j + wi,i + hw).R*0.3 + p( j + wi,i + hw).G*0.59 + p( j + wi,I + hw).B*0.11 ) (6)

+ = ( + 1, + 1) ∗ (7)

+ = ( + 1, + 1) ∗ (8)

b. Jika ² + ² lebih besar dari 255, maka nilai RGB pixel pada titik yang sedang dihitung diubah menjadi 255, sedangkan jika hasilnya lebih kecil atau sama dengan dari 255 maka nilai RGB pixel yang sedang dihitung sesuai nilai hasil akhir xbaru dan ybaru.

c. Langkah a. dan b. diulang terhadap semua pixel kecuali pixel tepi gambar.

Gambar 2.17 Keluaran Hasil Metode Robert, Sobel , Prewitt

2.5 OOP (Object Oriented Programming)

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek (Nugroho, 2005)

Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat


(28)

mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam (aplikasi bisnis, real-time, utility, dan sebagainya) dengan platformyang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.

Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut :

a. Meningkatkan produktivitas

Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).

b. Kecepatan pengembangan

Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.

c. Kemudahan pemeliharaan

Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering diubah-ubah.

d. Adanya konsistensi

Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.

e. Meningkatkan kualitas perangkat lunak

Karena adanya pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengambangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.


(29)

2.5.1 Konsep Dasar Berorientasi Objek

Berikut adalah konsep dasar Permrograman Berorientasi Objek : a. Objek (Object)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur,status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi(status) dan mempunyai operasi yang dapat diterapkan atau dapat berpengaruh pada status objeknya.

b. Kelas (class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dalam kelas tersebut .

c. Pembungkusan (Encapsulation)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

d. Pewarisan (Inheritance) dan Generalisasi/Spesialisasi

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dirinya .

e. Metode

Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural .

f. Polimorfisme

Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

2.6 UML (Unified Modeling Language)

Model ini digunakan oleh para pengembang professional untuk berkomunikasi tentang proyek mereka kepada pembuat aplikasi mereka atau untuk pengembang aplikasi yang lain. UML telah menjadi bagian penting dari pengembangan perangkat lunak sejak diperkenalkan pada tahun 1997. UML telah


(30)

berkembang selama bertahun-tahun. Sebuah keuntungan penting dari UML adalah konsistensi dan bagian dari konsistensi tersebut adalah penerapan model umum elemen-elemen di diagram yang berbeda. UML yang digunakkan adalah UML 2.3 yang terdiri dari 13 macam diagram yang dikelompokan pada 3 kategori (Widodo, 2011), yaitu :

A. Structure Diagram

Yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.

Diagram-diagram yang termasuk kedalam tipe ini adalah sebagai berikut :

1. Class Diagram

Diagram kelas menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut attribut dan metode atau operasi.

2. Object Diagram

Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem.

3. Component Diagram

Diagram komponen dibuat untuk menunjukan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem.

4. Composite Structure Diagram

Composite structure diagram baru mulai ada pada UML versi 2.0. Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime).

5. Package Diagram

Package diagram menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakanpackage diagram.


(31)

6. Deployment Diagram

Deployment menunjukan konfigurasi komponen dalam proses eksekusi aplikasi.

B. Behavior Diagram

Yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

Diagram-diagram yang termasuk kedalam tipe ini adalah sebagai berikut : 1. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.

2. Activity Diagram

Activity diagram menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya sepertiuse caseatau interaksi. 3. State Machine Diagram

State machine diagram digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem atau objek.

C. Interactions Diagram

Yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi antar subsistem pada suatu sistem.

Diagram-diagram yang termasuk kedalam tipe ini adalah sebagai berikut : 1. Sequence Diagram

Sequence diagram menggambarkan perilaku pada sebuah use case scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara objek juga interaksi antara objek, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

2. Communication Diagram

Communication Diagrammenggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan


(32)

informasi yang diperoleh dari diagram kelas, diagram sekuen, dan diagram use case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.

3. Timing Diagram

Timing diagram merupakan diagram yang fokus pada penggambaran terkait batasan waktu.

4. Interaction overview diagram

Interaction overview diagram mirip dengan diagram aktivitas yang berfungsi untuk menggambarkan sekumpulan urutan aktivitas, diagram ini adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram interaksi.

2.7 Visual Studio

Microsoft visual studio merupakan sebuah perangkat lunak (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, atau komponen aplikasinya, dalam bentuk console, aplikasi wondows, atau aplikasi web. Visual studio mencakup compiler, SDK, Intergrated Development Environment (IDE) dan dokumentasinya (umumnya berupa MSDN Library), compileryang dimasukkan ke dalam paket visual studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual FoxPro, dan Visual CourceSafe.

Microsoft visual studio dapat digunakan untuk mengembangkan aplikasi native code (dalam bentuk bahasa mesin yang berjalan di atas wondows) atau managed code (dalam bentuk Microsoft Intermediete Language diatas .NET Framework). Selain itu visual studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan diatas .NET Compact Framework).

2.8 Bahasa Pemrograman C# (C Sharp)

C# (tanda ‘#’ dibaca “Sharp”) merupakan bahasa pemograman baru yang diciptakan Microsoft secara khusus sebagai salah satu bahasa pemrograman dalam


(33)

teknologi .Net sebagai bahasa baru, C# tidak berevolusi dari bahasa C# versi bukan teknologi .Net. dengan demikian C# dapat memaksimalkan kemampuannya tanpa khawatir dengan masalah kompatibilitas dengan versi-versi sebelumnya. Keharusan sebuah perangkat lunak untuk tetap dapat kompatibel dengan versi-versi sebelumnya sebagaimana yang terjadi pada Visual Basic (VB) maupun C++ biasanya menghambat optimalitas kemampuan dari perangkat lunak tersebut (Hartanto, 2008).

Sejak diluncurkan pada tahun 2000, C# dengan cepat merebut hati progammer C++ bahkan VB. Dengan tata cara penulisan yang mirip C++ dan interface mirip VB 6.0 menurut wikipedia, sebuah ensiklopedia gratis di internet pengguna C# .Net pada saat ini sudah melebihi pengguna VB.Net. sementara itu jumlah pengguna bahasa pemrograman lain masih berada dibawah jumlah pengguna VB .Net. masih menurut wikipedia, jumlah buku C# yang terjual pun berada dikisaran 2 hingga 3 kali lebih banyak dari jumlah buku VB yang terjual.

Dari informasi ini dapat disimpulkan bahwa C# merupakan bahasa pemrogrman baru yang sedang berkembang dan dapat diterima dengan baik oleh kebanyakan progammer dan kalangan industri. Di Microsoft sendiri, C# merupakan bahasa pemrograman yang digunakan untuk membuat perangkat lunak yang berteknologi .Net dengan demikian dapat diperkirakan bahwa C# akan menjadi bahasa pemrograman yang akan banyak digunakan di masa-masa mendatang.


(34)

(35)

81

4.1 Implementasi Sistem

Implementasi sistem menjelaskan pengimplementasian dari sistem yang telah dibuat. Implementasi yang dijelaskan berupa implementasi perangkat keras, implementasi perangkat lunak, implementasiclassdan implementasi antarmuka.

4.1.1 Implementasi Perangkat Keras

Implementasi perangkat keras menjelaskan perangkat keras yang digunakan untuk mengimplementasikan sistem yang telah dibuat. Berikut ini merupakan perangkat keras yang digunakan dalam implementasi sistem ini :

1. Processor : Intel Core i5 @ 2.40 GHz

2. Memory : 4GB

3. VGA : ATI Radeon 1GB

4. Harddisk : 250GB 5. Monitor : 13 inch 6. Mouse dan keyboard

4.1.2 Implementasi Perangkat Lunak

Implementasi perangkat lunak menjelaskan perangkat lunak yang digunakan dalam implementai sistem ini. Perangkat lunak yang digunakan adalah sistem operasi windows 7.

4.1.3 ImplementasiClass

Implementasi class merupakan implementasi dari analisis kelas yang ada pada class diagram. Deskripsi implementasi class pada sistem yang dibangun dapat dilihat pada tabel 4.1.

Tabel 4.1 Implementasi Class

No Nama Class Nama File

1 Matrix Matrix.cs

2 Sobel Sobel.cs

3 Img_pros Img_pros.cs

4 Lvq Lvq.cs

5 Simpan_load Simpan_load.cs


(36)

4.1.4 Implementasi Antarmuka

Implementasi antarmuka menjelaskan dan menggambarkan proses dari setiap antarmuka yang ada dalam sistem ini.

1. Pengolahan Citra

Pengolahan citra merupakan proses untuk menambahkan file gambar dan melakukan proses pengolahan citra. Tampilan awal pengolahan citra dapat dilihat pada Gambar 4.1. Kemudian pada tampilan data yang telah diinputkan dan diproses dengan pengolahan citra dapat dilihat pada Gambar 4.2.


(37)

Gambar 4.2 Tampilan Hasil Pengolahan Citra

2. Pelatihan

Pelatihan merupakan proses untuk melakukan pelatihan terhadap data-data yang sudah diinputkan melalui proses pengolahan citra. Tampilan awal pelatihan terlihat pada Gambar 4.3. Untuk melakukan proses pelatihan terlebih dahulu isi parameter yang digunakan kemudian klik tombol latih maka tampilan hasil seperti pada Gambar 4.4.


(38)

Gambar 4.4 Tampilan Hasil Pelatihan

3. Pengujian

Pengujian merupakan proses untuk menguji gambar tanda tangan yang telah melalui proses pelatihan. Tampilan awal pengujian dilihat pada Gambar 4.5. Kemudian memasukan data yang akan diuji terlihat pada Gambar 4.6. Kemudian menekan tombol uji dan hasilnya terlihat pada Gambar 4.7.


(39)

Gambar 4.6 Tampilan Input File Pengujian


(40)

4.2 Pengujian Sistem

Pengujian sistem ini terdiri dari 2 jenis pengujian, yaitu pengujian black boxdan pengujian algoritma.

4.2.1 PengujianBlack Box

Pengujianblack boxdigunkaan untuk menguji fungsional dari sistem yang dibuat.

4.2.1.1 Rencana Pengujian

Berikut ini merupakan rencana pengujian black box yang akan dijalankan pada sistem ini.

Tabel 4.2 Rencana Pengujian

Komponen yang di uji Macam-macam uji Jenis pengujian Pengolahan Citra Proses pengolahan citra Black box

Proses simpan Pelatihan

Proses pelatihan

Black box Proses simpan ke .txt

Proses ambil data

Pengujian Proses pengujian Black box

4.2.1.2 Pengujian

Pengujian untuk menguji fungsional perangkat lunak yang sudah dibangun dengan menggunakan metodeblack boxberdasarkan tabel rencana pengujian yang sudah dibuat.


(41)

1. Menggunakan Data Yang Benar

Pada tabel 4.3 adalah hasil pengujian dengan menggunakan data uji yang benar.

Tabel 4.3 Hasil Pengujian Menggunakan Data Yang Benar

No Kasus/Uji Skenario Uji Hasil Yang Diharapkan Hasil Pengamatan Hasil Pengujian 1 Pengolahan Citra Menekan tombol pengolahan citra setelah file diinputkan Melakukan proses pengolahan citra, lalu muncul pesan

pengolahan citra selesai Sesuai dengan hasil yang diharapkan [X] Diterima [ ] Ditolak

Menekan Tombol Simpan setelah mengisi banyak kelas, kelas target

dan nama target

Data pengolahan citra berhasil disimpan dan muncul pesan data

telah tersimpan

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

2 Pelatihan Menekan tombol latih setelah mengisi lengkap parameter Melakukan proses pelatihan dan tampil bobot hasil pelatihan

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak Menekan tombol simpan ke.txt setelah data-data pelatihan sudah lengkap Menyimpan data-data hasil pelatihan

dan muncul pesan data telah disimpan

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

Menekan tombol ambil data dan memsaukan file .txt

Data .txt hasil dari pelatihan lalu tampil

di form dan muncul pesan ambil data

berhasil

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

3 Pengujian

Menekan tombol uji setelah

meng-inputkan file pengujian

Melakukan proses pengujian dan tampil

hasil pengujian

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak


(42)

2. Menggunakan Data Yang Salah

Pada Tabel 4.4 adalah hasil pengujian menggunakan data uji yang salah.

Tabel 4.4 Hasil Pengujian Menggunakan Data Yang Salah

No Kasus/Uji Skenario Uji Hasil Yang Diharapkan Hasil Pengamatan Hasil Pengujian 1 Pengolahan Citra Menekan tombol pengolahan citra sebelum file diinputkan pengolahan citra tidak bisa dan muncul pesan file belum diinputkan

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

Menekan Tombol Simpan dan banyak

kelas, kelas target dan nama target

belum diisi

Data pengolahan citra tidak dapat disimpan dan muncul pesan nama dan kelas harus diisi

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

2 Pelatihan Menekan tombol latih sebelum mengisi lengkap parameter Proses pelatihan tidak dapat dilakukan dan muncul pesan lengkapi parameter sebelum melakukan pelatihan Sesuai dengan hasil yang diharapkan [X] Diterima [ ] Ditolak

Menekan tombol simpan ke.txt sebelum data-data pelatihan sudah lengkap Tidak dapat menyimpan data-data hasil pelatihan

dan muncul pesan data pelatihan belum

lengkap

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

Menekan tombol ambil data dan tidak

memasukan file .txt

File tidak dapat ditampilkan di form,

karena harus memasukan file .txt

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

3 Pengujian

Menekan tombol uji sebelum meng-inputkan file pengujian Proses pengujian tidak dapat dilakukan dan muncul pesan file belum diinputkan

Sesuai dengan hasil yang diharapkan

[X] Diterima [ ] Ditolak

4.2.2 Pengujian Algoritma

Pengujian Algoritma merupakan pengujian terhadap hasil verifikasi tanda tangan dengan menggunakan algoritmalearning vector quantization.

4.2.2.1 Rencana Pengujian

Pengujian dilakukan terhdap 2 data, yaitu data tanda tangan yang melalui proses pelatihan dan data tanda tangan yang tidak melalui proses pelatihan. Tabel 4.5 adalah tabel kombinasi parameter yang digunakan untuk proses pelatihan yang


(43)

diambil dari hasil penelitian Wuryandari (2012). Tabel 4.6 merupakan data tanda tangan yang akan melaui proses pelatihan. Tabel 4.7 merupakan data tanda tangan yang tidak melalui proses pelatihan.

Tabel 4.5 Kombinasi Parameter Pelatihan

Maksimal Perulangan

Rasio Pembelajaran

Error Minimum

Pengurangan Rasio

10 0,1 0,1 0,1

Tabel 4.6 Data Tanda Tangan Pelatihan

No Nama Gambar Tanda Tangan No Nama Gambar Tanda Tangan

1 Faisal 6 Segi

2 Izzy 7 Sidik

3 Kiki 8 Tajir

4 Rivan 9 Tyo


(44)

Tabel 4.7 Data Tanda Tangan Yang Diuji

No Nama Gambar Tanda

Tangan No Nama Gambar Tanda Tangan

1 Faisal 6 Segi

2 Izzy 7 Sidik

3 Kiki 8 Tajir

4 Rivan 9 Tyo

5 Ryan 10 Ucup

4.2.2.2 Pengujian

Berikut ini merupakan hasil pengujian tanda tangan dengan menggunakan algoritma learning vector quantization dengan menguji data tanda tangan yang melalui proses pelatihan dan tidak melalui proses pelatihan sesuai rencana pengujian. Pengujian dilakukan untuk mengetahui keakurasian dalam mengenali pola-pola yang telah dilatihkannya. Jika jaringan syaraf tiruan dapat mengenali masing-masing citra secara sempurna, maka jaringan syaraf tiruan berfungsi secara baik ( Dillak, R. Y., dkk, 2013).


(45)

Tabel 4.9 Hasil Pengujian Data Tanda Tangan

No Nama Waktu

Pengolahan

Waktu Pengujian

Waktu Total (detik)

Persentase Kecocokan

(%)

Kesimpulan

1 Faisal 0,0109242 0,0065485 0,0174727 83 % Cocok

2 Izzy 0,0278325 0.0090435 0,036876 83 % Cocok

3 Kiki 0,0137563 0,0066563 0,0204126 83 % Cocok

4 Rivan 0,010529 0,0064608 0,0169898 86 % Cocok

5 Ryan 0,0104503 0,0066277 0,017078 82 % Cocok

6 Segi 0,0146006 0,0065284 0,021129 82 % Cocok

7 Sidik 0,0237977 0,00646 0,0302577 85 % Cocok

8 Tajir 0,0143115 0,0065913 0,0209028 82 % Cocok

9 Tyo 0,0134868 0,0071234 0,0206102 83 % Cocok

10 Ucup 0,0161935 0,006679 0,0228725 81 % Cocok

Seluruh

Data =

0,02246013

4.2.2.3 Kesimpulan Pengujian

Dari hasil pengujian yang telah dilakukan dapat diambil kesimpulan yaitu rata-rata tingkat persentase kecocokan tanda tangan adalah sebesar 83% dengan


(46)

(47)

93

5.1 Kesimpulan

Setelah dilakukan pengujian data citra tanda tangan terhadap data hasil pelatihan maka dapat diambil kesimpulan bahwa rata-rata persentase kecocokan tanda tangan adalah sebesar 83% dan rata-rata waktu total adalah 0,02246013 detik.

5.2 Saran

Dari hasil penelitian, analisis, perancangan, pembuatan hingga pengujian, adapun saran yang akan diberikan yaitu gunakan citra masukan yang akan dihitung terhadap bobot adalah citra yang sama, karena mempengaruhi hasil dari nilai bobotnya.


(48)

(49)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RYAN HAMZAH FADHILAH

10110474

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2015


(50)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 4

1.5.2 Metode Pembangunan Perangkat Lunak ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Definisi Tanda Tangan ... 7

2.2 Kecerdasan Buatan ... 7

2.2.1 Keuntungan Kecerdasan Buatan ... 8

2.2.2 Penerapan Kecerdasan Buatan ... 9

2.3 Jaringan Syaraf Tiruan dan Biologi ... 10

2.3.1 Jaringan Syaraf Biologi ... 11

2.3.2 Jaringan Syaraf Tiruan ... 12

2.3.3 Arsitektur Jaringan Syaraf Tiruan ... 13

2.3.3.1 Struktur Feedforward ... 16

2.3.3.2 Struktur Reccurent (feedback) ... 20


(51)

vi

2.4.1 Deteksi Tepi ... 23

2.5 OOP (Object Oriented Programming) ... 27

2.5.1 Konsep Dasar Beroientasi Objek ... .29

2.6 UML (Unified Modeling Language) ... 29

2.7 Visual Studio ... 32

2.8 Bahasa Pemrograman C# ( C Sharp) ... 32

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 35

3.1 Analisis Masalah ... 35

3.2 Analisis Sistem ... 36

3.3 Analisis Metode/Algoritma ... 39

3.3.1 Grayscale ... 40

3.3.2 Edge Detection Sobel ... 43

3.3.3 Threshold ... 47

3.3.4 Ekstraksi Ciri ... 49

3.3.5 Pelatihan Learning Vector Quantization ... 51

3.3.6 Pengujian Learning Vector Quantization ... 59

3.4 Analisis Kebutuhan Non Fungsional ... 62

3.4.1 Kebutuhan Perangkat Keras ... 62

3.4.2 Kebutuhan Perangkat Lunak ... 63

3.4.3 Kebutuhan User ... 63

3.5 Analisis Kebutuhan Fungsional ... 63

3.5.1 Use Case Diagram ... 64

3.5.2 Skenario Diagram ... 64

3.5.3 Activity Diagram ... 67

3.5.4 Sequence Diagram ... 70

3.5.5 Class Diagram ... 72

3.6 Perancangan Antar Muka ... 72

3.6.1 Perancangan Form Menu ... 72

3.6.2 Perancangan Form ... 73

3.6.2.1 Rancangan Form Pengolahan Citra ... 73


(52)

vii

3.6.2.3 Rancangan Form Pengujian ... 74

3.6.3 Perancangan Pesan ... 74

3.6.4 Jaringan Semantik ... 79

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 81

4.1 Implementasi Sistem ... 81

4.1.1 Implementasi Perangkat Keras ... 81

4.1.2 Implementasi Perangkat Lunak ... 81

4.1.3 Implementasi Class ... 81

4.1.4 Implementasi Antar Muka ... 81

4.2 Pengujian Sistem ... 86

4.2.1 Pengujian Black Box ... 86

4.2.1.1 Rencana Pengujian ... 86

4.2.1.2 Pengujian ... 86

4.2.2 Pengujian Algoritma ... 88

4.2.2.1 Rencana Pengujian ... 88

4.2.2.2 Pengujian ... 90

4.2.2.3 Kesimpulan Pengujian ... 91

BAB 5 KESIMPULAN DAN SARAN ... 93

5.1 Kesimpulan ... 93

5.2 Saran ... 93


(53)

95 Science, RMIT.

2. Ahmad, U., 2005. Pengolahan Citra Digital dan Teknik Pemrogramannya. Yogyakarta : Graha Ilmu.

3. Dillak, R. Y., Bintiri, M. G., Harjoko, A., 2013. Sistem Deteksi Penyakit Menggunakan Jaringan Syaraf Tiruan. Yogyakarta : Graha Ilmu.

4. Hartanto, B., 2008. Memahami Visual C#.Net Secara Mudah. Pertama penyunt. Yogyakarta: Andi.

5. Hidayanto, A., Isnanto, R. R., Buana, D. K. W., 2008. Identifikasi Tanda-Tangan Menggunakan Jaringan Syaraf Tiruan Perambatan-Balik (Backpropagation). Jurnal Teknologi, Volume 1 nomor 2. Universitas Diponegoro, Semarang.

6. Muis, S., 2006. Jaringan Saraf Tiruan. Yogyakarta : Graha Ilmu.

7. Nugroho, A., 2005. Pemodelan Berorientasi Objek. Bandung : Informatika. 8. Pressman, R. S., 2005. Software Engineering: A Practitioner's Approach,

Sixth Edition. New York: McGraw-Hill.

9. Sugiantoro, D. W., 2013. Perbandingan Metode Robert, Sobel, Prewitt dan Canny untuk Deteksi Tepi Objek pada Aplikasi Pengenalan Bentuk Bangun Datar Berbasis Citra Digital. Jurnal Informatika. UPN “Veteran” Jawa Timur.

10. Suyanto, 2014. Artificial Intelligence Searching, Reasoning, Planning, Learning. Revisi Kedua. Bandung : Informatika.

11. Widodo, P. P., 2011. Menggunakan UML. Bandung : Informatika.

12. Wuryandari, M. D., 2012. Perbandingan Meotde Jaringan Syaraf Tiruan Backpropagation dan Learning Vector Quantization pada Pengenalan Wajah. Jurnal Komputer dan Informatika. Edisi I Volume 1.


(54)

iii

Segala puji dan syukur penulis panjatkan kepada Allah SWT yang telah memberikan kelancaran, kemudahan dan kesehatan sehingga skripsi yang berjudul “Implementasi Jaringan Syaraf Tiruan Feedforward Dan Feature

Detection Untuk Verifikasi Tanda Tangan” dapat diselesaikan dengan baik tanpa

hambatan.

Mahakuasa Allah SWT yang telah mengirim anugrah dengan orang-orang yang dapat menemani, membimbing dan mendukung penyelesaian skripsi ini dengan cara yang sangat luar biasa. Untuk itu, penulis ingin menyampaikan rasa terimakasih yang sebesar-besarnya kepada :

1. Kedua Orang Tua yang telah memberikan pendidikan, pemahaman, kekuatan, doa dan pengertian dengan cara yang sangat luar biasa.

2. Kakak, adik-adik, dan seluruh keluarga besar tercinta yang selalu mendukung dan mendoakan yang tidak henti-hentinya.

3. Bapak Galih Hermawan, S.Kom., M.T selaku dosen pembimbing yang telah banyak memberikan masukan dan saran kepada penulis sejak sidang proposal sampai dengan selesainya penulisan skripsi ini.

4. Bapak Eko Budi Setiawan, S.Kom., M.T selaku dosen penguji 1 yang telah memberikan masukan dan saran dalam penyusunan penelitian skripsi ini. 5. Ibu Nelly Indriani Widiastuti., S.Si., S.T selaku dosen penguji 2 yang telah

memberikan masukan dan saran dalam penyusunan penelitian skripsi ini. 6. Ibu Utami Dewi Widianti, S.Kom., M.Kom selaku dosen wali.

7. Teman-teman di kelas IF-11 angakatan 2010, terimakasih telah menjadi teman seperjuangan yang terbaik.

8. Teman-teman IPA 2 yang namanya tidak bisa disebutkan satu persatu, terimakasih telah memberikan kekeluargaan dalam sebuah pertemanan. 9. Serta semua pihak yang membantu penulis baik langsung maupupun tidak


(55)

iv

Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis menyadari masih banyak sekali kelemahan dan kekurangan, untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa pula penulis memohon maaf apabila dalam penulisan laporan skripsi ini, penulis telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang disengaja maupun yang tidak disengaja. Semoga karya ilmiah ini bermanfaat dan dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang ingin meneliti hal yang serupa.

Wassalamualaikum Wr. Wb.

Bandung, 20 Februaru 2015 Penulis


(56)

(57)

TTL : Bandung, 21 September 1992

Alamat : Jl. Paledang no. 15 RT 10 / RW 18 Karawang Barat NO. Handphone : 085717890961

Email : [email protected]

RIWAYAT PENDIDIKAN

1998-2004 : SDN Karawang Kulon V

2004-2007 : SMPN 8 Karawang

2007-2010 : SMAN 1 Karawang


(58)

(59)

(1)

iii

KATA PENGANTAR

Assalamualaikum Wr. Wb

Segala puji dan syukur penulis panjatkan kepada Allah SWT yang telah memberikan kelancaran, kemudahan dan kesehatan sehingga skripsi yang

berjudul “Implementasi Jaringan Syaraf Tiruan Feedforward Dan Feature Detection Untuk Verifikasi Tanda Tangan” dapat diselesaikan dengan baik tanpa hambatan.

Mahakuasa Allah SWT yang telah mengirim anugrah dengan orang-orang yang dapat menemani, membimbing dan mendukung penyelesaian skripsi ini dengan cara yang sangat luar biasa. Untuk itu, penulis ingin menyampaikan rasa terimakasih yang sebesar-besarnya kepada :

1. Kedua Orang Tua yang telah memberikan pendidikan, pemahaman, kekuatan, doa dan pengertian dengan cara yang sangat luar biasa.

2. Kakak, adik-adik, dan seluruh keluarga besar tercinta yang selalu mendukung dan mendoakan yang tidak henti-hentinya.

3. Bapak Galih Hermawan, S.Kom., M.T selaku dosen pembimbing yang telah banyak memberikan masukan dan saran kepada penulis sejak sidang proposal sampai dengan selesainya penulisan skripsi ini.

4. Bapak Eko Budi Setiawan, S.Kom., M.T selaku dosen penguji 1 yang telah memberikan masukan dan saran dalam penyusunan penelitian skripsi ini. 5. Ibu Nelly Indriani Widiastuti., S.Si., S.T selaku dosen penguji 2 yang telah

memberikan masukan dan saran dalam penyusunan penelitian skripsi ini. 6. Ibu Utami Dewi Widianti, S.Kom., M.Kom selaku dosen wali.

7. Teman-teman di kelas IF-11 angakatan 2010, terimakasih telah menjadi teman seperjuangan yang terbaik.

8. Teman-teman IPA 2 yang namanya tidak bisa disebutkan satu persatu, terimakasih telah memberikan kekeluargaan dalam sebuah pertemanan. 9. Serta semua pihak yang membantu penulis baik langsung maupupun tidak


(2)

iv

Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis menyadari masih banyak sekali kelemahan dan kekurangan, untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa pula penulis memohon maaf apabila dalam penulisan laporan skripsi ini, penulis telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang disengaja maupun yang tidak disengaja. Semoga karya ilmiah ini bermanfaat dan dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang ingin meneliti hal yang serupa.

Wassalamualaikum Wr. Wb.

Bandung, 20 Februaru 2015 Penulis


(3)

(4)

RIWAYAT HIDUP

Nama : Ryan Hamzah Fadhilah

TTL : Bandung, 21 September 1992

Alamat : Jl. Paledang no. 15 RT 10 / RW 18 Karawang Barat NO. Handphone : 085717890961

Email : [email protected]

RIWAYAT PENDIDIKAN

1998-2004 : SDN Karawang Kulon V 2004-2007 : SMPN 8 Karawang 2007-2010 : SMAN 1 Karawang


(5)

(6)