Analisis Algoritma Learning Vector Quatization Untuk Mengenali Karakter Orang Berdasarkan Fitur Spasi Tulisan Tangan

(1)

1 BAB I PENDAHULUAN 1 Pendahuluan

1.1 Latar Belakang Masalah

Grafologi atau analisis tulisan tangan adalah metode ilmiah untuk mengidentifikasi, mengevaluasi dan pemahaman karakter seseorang melalui pola tulisan tangan. Untuk mendapatkan informasi seseorang dapat dianalisis melalui unsur-unsur grafis struktural tulisan tangan. Dari tulisan tangan tersebut dapat diidentifikasi kualitas, sifat, sikap sentimen atau postur yang tampak ditunjukkan dari tulisan tangan.

Dalam pengenalan tulisan tangan terdapat beberapa fitur yang ada pada tulisan seperti kemiringan tulisan, kecepatan penulisan, spasi tulisan dan sebagainya. Penelitian tugas akhir ini akan berfokus pada spasi didalam tulisan tangan sebagai bahan analisisnya karena dengan menggunakan fitur spasi pendeteksian terhadap tulisan akan lebih mudah dibandingkan dengan kemiringan tulisan yang harus menghitung derajat tulisan seseorang dan fitur kecepatan penulisan seseorang yang harus menghitung waktu tulis seseorang, sedangkan fitur spasi hanya perlu mendeteksi spasi atau dari tulisan seseorang. Spasi pada tulisan tangan dapat mencerminkan kenyamanan penulis dalam berinteraksi dengan orang lain dan kenyamanannya dengan sesuatu yang ditulisnya, apakah jujur, spontan atau ragu-ragu. Spasi tulisan dari penulis dapat dinilai dari ideal dan konsistennya spasi, antarkata lebar spasi, antarkata sempit dan berhimpitan spasi, antarkata lebar dan huruf berhimpitan, spasi bervariasi dan tidak jelas polanya dan spasi antarbaris sangat lebar. [1]

Untuk mengenali karakter orang berdasarkan fitur spasi tulisan tangan dapat digunakan metode klasifikasi salah satu contohnya adalah jaringan saraf tiruan. Jaringan saraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan disini digunakan karena jaringan saraf yang digunakan diimplimentasikan dengan menggunakan komputer yang mampu menyelesaikan


(2)

sejumlah proses perhitungan selama proses pembelajaran. Terdapat beberapa metode pembelajaran pada jaringan saraf tiruan seperti learning vector quantization dan backpropagation, metode ini membutuhkan data masukan dan keluaran yang digunakan untuk melatih jaringan hingga diperoleh bobot yang diinginkan. [2]

Dalam penelitian sebelumnya yang berjudul “Perbandingan Antara Metode Backpropagation Dan Learning vector quantization (LVQ) Pada Pengenalan Citra Barcode” [3], berdasarkan penelitian tersebut nilai akurasi metode learning vector quantization menghasilkan 94% lebih baik dibandingkan dengan metode backpropagation yang hanya menghasilkan 75,5%. Dengan kelebihan metode learning vector quantization, maka dalam penelitian ini metode yang digunakan adalah metode learning vector quantization yang digunakan untuk menganalisis tulisan tangan seseorang yang menghasilkan karakter orang dan menghasilkan akurasi dari penggunaan metode learning vector quantization tersebut.

1.2 Rumusan Masalah

Berdasarkan latar belakang permasalahan yang ada, maka rumusan masalah yang didapat dalam penelitian ini yaitu :

1. Bagaimana akurasi jaringan saraf tiruan learning vector quantization dalam menganalisis tulisan tangan seseorang?

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah menganalisis algoritma learning vector quantization pada aplikasi yang dapat mengetahui karakter seseorang berdasarkan fitur spasi tulisan tangan.

Sedangkan tujuan yang ingin dicapai dari penelitian ini adalah untuk mengetahui akurasi dari algoritma learning vector quantization terhadap analisis tulisan tangan

1.4 Batasan Masalah

Batasan masalah dalam pembangunan aplikasi ini adalah sebagai berikut: 1. Karakter yang tulis harus huruf kecil bukan kapital

2. Format citra .jpg dan .png


(3)

3

1.5 Metodologi Penelitian

Metode penelitian yang digunakan dalam penyusunan tugas akhir ini adalah metode analisis deskriptif yaitu satu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan, melalui tahapan sebagai berikut:

1. Pengumpulan data

Dalam tahapan ini pengumpulan data yang dilakukan adalah: a. Studi literatur

Pengumpulan materi dari sumber-sumber yang berkaitan dengan penelitian seperti, jaringan saraf tiruan, learning vector quantization dan pengolahan citra.

b. Wawancara

Melakukan proses tanya jawab kepada ahli pada bidang grafologi berkaitan dengan cara menganalisis tulisan tangan dengan menggunakan fitur spasi pada tulisan tangan.

2. Analisis Metode

Tahapan ini adalah tahap menganalisis algoritma learning vector quantization, bagaimana proses pembelajaran dan pengenalan dalam learning vector quantization.

3. Pembuatan Simulator

Pada tahapan ini algoritma learning vector quantization akan diterapkan pada simulasi yang digunakan untuk menganalisis tulisan tangan dan menilai akurasi dari penggunaan algoritma dalam menganalisis tulisan tangan.

4. Pengujian Simulator

Tahapan ini adalah menguji hasil dari proses pembuatan simulasi, apakah penerapan algoritma yang digunakan sudah sesuai dengan yang diinginkan, jika belum sesuai dengan yang diinginkan maka akan diulangi lagi proses pembuatan simulasi hingga pengujian simulasi dikatakan sesuai.


(4)

Berikut adalah flowchart dari tahapan penelitian yang digunakan:

Gambar 1.1 Flow Chart Tahapan Penelitian

Gambar 1.1 adalah flowchart tahapan-tahapan penelitian yang akan dilakukan, mulai dari pengumpulan data yang berkaitan dengan metode, kemudian menganalisis metode yang digunakan lalu diterapkan metodenya pada simulator dan mengujinya.

1.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dilakukan. Dalam menyajikan laporan skripsi ini digunakan sistematika penulisan sebagai berikut:

BAB I. PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan.

BAB II. LANDASAN TEORI

Bab ini menjelaskan konsep dasar dan teori-teori yang mendukung dan mendasari pelaksanaan tugas akhir yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis yaitu artificial intelligence, jaringan saraf tiruan, learning vector quantization, grafologi, image


(5)

5

processing dan alat-alat pemodelan (flowchart, diagram konteks, data flow diagram dan kamus data).

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan analisis dan perancangan sistem. Analisis yang dilakukan berupa analisis sistem, analisis penyelesaian masalah, analisis masukan, analisis kebutuhan nun fungsional dan analisis kebutuhan fungsional. Perancangan yang dilakukan berupa perancangan data, perancangan antarmuka, jaringan semantik dan perancangan prosedural.

BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi dari hasil analisis dan perancangan yang telah dibuat serta hasil pengujian perangkat lunak yaitu implementasi perangkat keras, implementasi perangkat lunak, implementasi antarmuka dan pengujian simulasi. BAB V. KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan berdasarkan tujuan yang ingin dicapai dalam penelitian skripsi ini dan saran-saran yang dapat diberikan untuk penggunaan dan pengembangan perangkat lunak lebih lanjut.


(6)

(7)

7 BAB II

TINJAUAN PUSTAKA 2 Tinjauan Pustaka

2.1 Jaringan Saraf Tiruan (JST)

Jaringan saraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan disini digunakan karena jaringan saraf yang digunakan diimplimentasikan dengan menggunakan komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. [2]

2.1.1 Jaringan Saraf Tiruan

Jaringan saraf tiruan merupakan suatu sistem pemrosesan informasi yang terdapat pada komputer yang mempunyai karakteristik menyerupai jaringan saraf biologi pada manusia. Jaringan saraf tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia yang didasarkan atas asumsi sebagai berikut:

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

penghubung

3. Setiap sambungan penghubung memiliki bobot yang bersesuaian. Bobot ini akan digunakan untuk menggandakan sinyal yang akan dikirim melaluinya 4. Setiap sel saraf akan menerapkan fungsi aktivasi terhadap sinyal hasil

penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal keluarannya.

Tabel 2.1 berikut adalah analogi jaringan saraf tiruan dan jaringan saraf biologi yang menjelaskan perbedaan dari masing-masing jaringan:

Tabel 2.1 Perbedaan Jaringan Saraf Tiruan dan Jaringan Saraf Biologi Jaringan Saraf Tiruan Jaringan Saraf Biologi

Node/masukan Badan Sel(Soma)

Masukan Dendrit

Keluaran Akson


(8)

Pada Gambar 2.1 berikut menjelaskan model arsitektur dari jaringan saraf tiruan:

Gambar 2.1 Model Arsitektur Jaringan Saraf Tiruan [4]

Jaringan saraf tiruan dapat belajar dari pengalaman, melakukan generalisasi atas contoh-contoh yang diperolehnya dan mengabstraksi karakteristik esensial masukan bahkan untuk data yang tidak relevan. Algoritma jaringan saraf tiruan beroperasi langsung dengan angka sehingga data yang bukan menggunakan angka harus diubah terlebih dahulu menjadi angka. Keluaran dari jaringan saraf tiruan tidak menghasilkan keluaran tertentu karena semua keluaran akan berdasarkan dari pengalaman selama proses pembelajaran. Pada proses pembelajaran kedalam jaringan saraf tiruan dimasukan pola-pola masukan dan keluaran lalu jaringan akan diajari untuk memberikan jawaban yang bisa diterima. Karakteristik dari jaringan saraf tiruan dapat ditentukan oleh:

1. Pola hubungan antar neuron (disebut dengan arsitektur jaringan)

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

3. Fungsi aktivasi 2.1.2 Arsitektur JST

Pada jaringan saraf tiruan, neuron-neuron akan dikumpulkan dalam sebuh lapisan yang disebut dengan lapisan neuron (neuron layers). Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan lainnya. Informasi yang didapatkan pada sebuah neuron akan disampaikan ke semua lapisan-lapisan yang


(9)

9

ada, mulai dari lapisan masukan sampai denga lapisan keluaran melalui lapisan tersembunyi (hidden layer). Pada jaringan saraf tiruan ini tiga lapisan bukanlah sebuah struktur umum karena beberapa jaringan saraf ada yang tida memiliki lapisan tersembunyi.

Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pula bobotnya. Umumnya neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan dan fungsi aktivasi yang sama juga. Bila sebuah neuron ingin dihubungkan dengan neuron-neuron lain maka setiap neuron pada lapisan tersebut juga harus dihubungkan dengan setiap neuron pada lapisan lain yang akan dihubungkan. Pada jaringan saraf tiruan terdapat tiga macam arsitektur, berikut adalah arsitektur-arsitektur pada jaringan saraf tiruan: [2]

1. Jaringan dengan lapisan tunggal (single layer net)

Jaringan ini hanya memiliki lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menirima masukan kemudian akan mengolahnya menjadi keluaran tanpa melewati lapisan tersembunyi. Pada Gambar 2.2 berikut menjelaskan cara kerja dari jaringan saraf tiruan dengan lapisan tunggal:

Gambar 2.2 Single Layer Net [2] 2. Jaringan dengan banyak lapisan (multilayer net)

Jaringan ini memiliki satu atau lebih lapisan yang terletak diantara lapisan masukan dan keluaran. Umumnya ada lapisan bobot-bobot yang terletak antara dua lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat


(10)

menyelesaikan masalah yang lebih kompleks daripada lapisan tunggal, tetapi dengan proses pembelajaran yang lebih rumit juga dibanding lapisan tunggal. Pada banyak kasus, pembelajaran pada jaringan denga banyak lapisan lebih sukses dalam menyelesaikan masalah. Pada Gambar 2.3 berikut menjelaskan cara kerja dari jaringan saraf tiruan dengan banyak lapisan:

Gambar 2.3 Multi Layer Net [2]

3. Jaringan dengan lapisan kompetitif (competitive layer net)

Pada jaringan ini neuron-neuron saling bersaing untuk mendapatkan hak menjadi neuron yang aktif. Pada Gambar 2.4 berikut menjelaskan cara kerja dari jaringan saraf tiruan dengan lapisan kompetitif:


(11)

11

Gambar 2.4 Competitive Layer Net [2] 2.1.3 Proses Pembelajaran Jaringan

Dalam otak manusia, informasi yang dilewatkan dari satu neuron ke neuron lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan tersebut diterima oleh suatu neuron, maka neuron akan membangkitkan keluaran ke semua neuron yang berhubungan dengannya sampai informasi tersebut sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika rangsangan yang diterima terlalu halus, maka keluaran yang dibangkitkan oleh neuron tersebut tidak akan direspon. Pada saat pembelajaran banyak perubahan yang cukup berarti pada bobot-bobot yang menghubungkan antar neuron. Apabila ada yang rangsangan yang pernah diterima maka neuron akan bereaksi cepat tetapi jika mendapatkan rangsangan baru neuron akan langsung beradaptasi untuk memberikan reaksi yang sesuai.

Jaringan saraf tiruan juga tersusun atas neuron-neuron dan dendrit. Tidak seperti model biologi, jaringan saraf tiruan memiliki struktur yang tidak dapat diubah, dibangun oleh sejumlah neuron dan memiliki nilai tertentu yang menunjukkan seberapa besar koneksi antara neuron (yang dikenal dengan nama bobot). Perubahan yang terjadi selama pembelajaran adalah perubahan nilai bobot. Nilai bobot akan bertambah, jika informasi yang diberikan oleh neuron tersampaikan, sedangkan bila informasi tidak tersampaikan maka nilai bobot yang menghubungkan kedua neuron akan dikurangi. Pada saat pembelajaran dilakukan pada masukan yang berbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yang cukup seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiap-tiap masukan telah berhubungan dengan keluaran yang diharapkan. [2]


(12)

Terdapat beberapa metode pembelajaran dalam jaringan saraf tiruan. Berikut adalah metode pembelajaran jaringan saraf tiruan: [2]

a. Pembelajaran terawasi (supervised learning)

Pada pembelajaran ini, semua data masukan dan data keluaran yang digunakan telah diketahui. Perbedaan antara keluaran-keluaran aktual dengan data keluaran yang diinginkan dan digunakan untuk mengoreksi bobot jaringan saraf tiruan agar jaringan saraf tiruan dapat menghasilkan jawaban sedekat/semirip mungkin dengan jawaban yang benar yang telah diketahui.

b. Pembelajaran tak terawasi (unsupervised learning)

Pada pembelajaran ini, jaringan saraf tidak memerlukan target keluaran. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan dalam proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai masukan yang diberikan. Tujuannya untuk mengelompokkan unit-unit yang hampir sama ke dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk pengelompokkan (klasifikasi) pola. 2.1.4 Pembelajaran Terawasi (Supervised Learning)

Metode pembelajaran ini disebut terawasi jika nilai keluaran yang diharapkan telah diketahui sebelumnya. Pada proses pembelajaran, satu pola masukan akan diberikan ke satu neuron dan akan dikirimkan ke seluruh lapisan masukan hingga mencapai lapisan keluaran. Lapisan keluaran ini akan membangkitkan pola keluaran yang akan dicocokkan dengan pola keluaran targetnya. Jika terjadi perbedaan antara pola keluaran dengan pola yang sudah dipelajari, maka akan muncul sebuah eror. Apabila nilai eror yang muncul masih sangat besar, ini mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. Berikut adalah beberapa metode yang termasuk dalam pembelajaran terawasi antara lain: [2]

1. Backpropagation

Metode pembelajaran ini merupakan termasuk arsitektur jaringan saraf tiruan multilayer feedforward networks. Secara umum, jaringan ini terdiri dari sejumlah unit neuron sebagai lapisan masukan, satu atau lebih lapisan simpul-simpul neuron lapisan tersembunyi dan sebuah lapisan simpul-simpul-simpul-simpul neuron


(13)

13

keluaran. Sinyal masukan yang masuk dipropagasikan mulai dari lapisan awal sampai akhir ke arah lapisan keluaran. Jenis jaringan ini merupakan hasil dari generalisasi arsitektur perceptron satu lapisan, jadi biasa disebut dengan multilayer perceptron (MLPs). Error back propagation merupakan algoritma MLPs yang menggunakan prinsip pembelajaran terawasi. Propagasi balik terjadi (ke arah lapisan masukan) setelah jaringan menghasilkan keluaran yang mengandung eror. Pada fase ini seluruh bobot sinapsis yang tidak memiliki aktivasi nol pada jaringan akan disesuaikan dengan mengkoreksi/memperkecil eror yang terjadi (error correction rule). Untuk pembelajaran jaringan, pasangan fase propagasi ke depan dan balik dilakukan secara berulang untuk satu set data latihan, kemudian diulangi sejumlah epoch (satu sesi lewatan untuk seluruh data latihan dalam sebuah proses pembelajaran jaringan) sampai eror yang terjadi mencapai batas kecil toleransi tertentu atau bernilai nol. Pada Gambar 2.5 berikut menjelaskan cara kerja dari jaringan saraf tiruan dengan menggunakan metode backpropagation:

Gambar 2.5 Metode Backpropagation [2] 2. Learning Vector Quantization

Learning vector quantization adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak


(14)

antara vektor-vektor input. Jika dua vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut ke dalam kelas yang sama. Berikut adalah langkah-langkah algoritma pembelaran dari metode learning vector quantization:

1. Tetapkan: a. Bobot (W)

b. Maksimum epoh (MaxEpoh)

c. Minimum eror yang diharapkan (eps) d. Learning rate (α)

2. Masukkan:

a. Input : x(m,n) b. Targetm : T(1,n) 3. Tetapkan kondisi awal

a. epoh =0 b. err =1

4. Kerjakan jika: (epoh < MaxEpoh) atau (α > eps) a. epoh = epoh +1

b. Kerjakan untuk i=1 sampai n

i. Tentukan j sedemikian hingga || x – wj || minimum (sebut sebagai Cj)

= √∑ � − � �

�=

...(2.1)

Persamaan 2.1 Pencarian Nilai Vektor ii. Perbaiki wj dengan ketentuan:

1. Jika T=Cj, maka:

� � = � � + �[ − � � ] ...(2.2)

Persamaan 2.2 Pengubahan Bobot Sesuai Target 2. Jika T≠Cj, maka:

� � = � � − �[ − � � ] ...(2.3)


(15)

15

c. Kurangi nilai α

� = � − � �� � �� � � ∗ � ...(2.4) Persamaan 2.4 Eror Minimum

2.2Pengolahan Citra Digital

Pengolahan citra digital adalah istilah umum untuk berbagai teknik yang keberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Setiap foto dengan bentuk citra digital dapat diolah menggunakan perangkat lunak tertentu. Foto adalah contoh gambar berdimensi dua yang dapat diolah dengan mudah. Prinsip-prinsip dasar dalam pengolahan citra: [5]

1. Peningkatan kecerahan dan kontras

Peningkatan kecerahan dan kontras adalah sebuah perbaikan dalam citra yang merubah citra yang memiliki nilai kecerahan dan nilai kontras kurang menjadi nilai kecerahan dan nilai kontras yang lebih baik.

2. Penghilang derau

Penghilang derau adalah proses penghilangan derau dari sebuah citra dengan keadaan distorsi atau memiliki derau.

3. Pencarian bentuk objek

Pencarian bentuk objek adalah proses untuk mengenali suatu objek dalam sebuah citra dengan menggunakan pendekatan-pendekatan tertentu untuk mendapatkan nilai dari objek tersebut.

Beberapa jenis operasi dari pengolahan citra adalah sebagai berikut: [6] 1. Modifikasi Kecemerlangan (Brightness Modifikasi)

Mengubah nilai keabuan atau warna dari gelap menjadi terang ataupun sebaliknya mengubah citra yang terlalu terang/pucat menjadi gelap.

2. Peningkatan Kontras (Contrast Enhancement)

Dengan meningkatkan kontras dari sebuah citra maka titik yang cenderung gelap menjadi lebih gelap dan yang cenderung terang menjadi lebih terang.

3. Negasi


(16)

4. Pengabuan (Grayscale)

Merupakan proses konversi citra dengan warna sebenarnya (true color) menjadi citra keabuan (grayscale). Pengubahan gambar ke dalam bentuk grayscale ini dilakukan dengan mengambil nilai pixel dari satu gambar masukan kemudian dihitung menggunakan persamaan sebagai berikut:

� � � � = + � + ...(2.5)

Persamaan 2.5 Rumus Grayscaling 5. Pengambangan (Thresholding)

Operasi ini digunakan untuk mengubah citra dengan format skala keabuan yang mempunyai nilai lebih dari dua menjadi citra biner yang hanya memiliki dua nilai yaitu 0 dan 1.

6. Pencerminan (Flipping)

Pencerminan merupakan proses menggambar citra ke bentuk kebalikan dari citra tersebut, seperti ketika orang sedang bercermin.

7. Rotasi (Rotating)

Rotasi adalah proses memutar koordinat citra sesuai dengan derajat yang ditentukan

8. Pemotongan (Cropping)

Memotong bagian yang diinginkan dari sebuah citra 9. Pengskalaan (Scaling)

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

Deteksi tepi adalah suatu proses yang menghasilkan tepi-tepi dari obyek dalam sebuah citra.

2.2.1 Deteksi Tepi (Edge Detection)

Deteksi tepi pada suatu citra adalah proses untuk memperoleh tepi objek. Deteksi tepi memanfaatkan perubahan nilai intensitas yang drastis pada batas dua area. Umumnya deteksi tepi menggunakan dua macam detektor, yaitu detektor baris (Hy) dan detektor kolom (Hx).


(17)

17

Deteksi tepi dibagi menjadi dua golongan. Golongan pertama yaitu disebut deteksi tepi orde pertama, yang bekerja dengan menggunakan turunan atau diferensial orde pertama. Yang termasuk ke dalam golongan ini adalah operator Roberts, Prewitt dan Sobel. Sedangkan golongan dua dinamakan orde kedua, yang menggunakan turunan orde kedua. Yang termasuk golongan orde kedua adalah Laplacian of Gaussian (LoG). Berikut adalah macam-macam operator dalam proses deteksi tepi antara lain: [5]

1. Metode Robert

Operator Roberts terdiri atas dua filter berukuran 2x2. Ukuran filter kecil membuat komputasi sangat cepat. Namun, kelebihan itu sekaligus menimbulkan kelemahan, yaitu sangat terpengaruh oleh derau. Selain itu, operator roberts memberikan tanggapan lemah terhadap tepi, kecuali jika tepi sangat tajam.

Gambar 2.6 berikut adalah operator dari Robert yang digunakan dalam proses deteksi tepi yang terdiri dari sepasang kernel berukuran 2 x 2:

Gambar 2.6 Metode Robert

Bentuk operator Roberts ditunjukan pada gambar 2.13. Misalkan, f adalah citra yang akan dikenal operator Roberts. Maka, nilai operator roberts pada (y, x) didefinisikan sebagai

, = √ Z − + − ...(2.6)

Persamaan 2.6 Rumus Metode Robert

Dalam hal ini, Z1 =f(y, x), Z2 =f(y, x+1), Z3 =f(y+1, x), Z4 =f(y+1, x+1). 2. Metode Prewitt

Operator ini ditemukan oleh Prewitt pada tahun 1966. Bentuknya terlihat di Gambar 2.14. Untuk mempercepat komputasi, bagian bernilai nol tidak perlu diproses. Oleh karena itu, perhitungan dengan operator Prewitt ditulis menjadi sebagai berikut:


(18)

r y, x = √

(

(− f y − , x −f y − , x − + f y, x −− f y, x + + f y − , x −− f y + , x + ) + ( f y + , x −− f y − , x − + f y + , x + f y + , x +− f y − , x − f y − , x + )

)

...(2.7)

Persamaan 2.7 Rumus Metode Prewitt

Gambar 2.7 berikut adalah operator dari Prewitt yang digunakan dalam proses deteksi tepi yang terdiri dari sepasang kernel berukuran 3 x 3:

Gambar 2.7 Metode Prewitt 3. Metode Sobel

Operator Sobel ini lebih sensitif terhadap tepi diagonal daripada tepi vertikal dan horizontal. Hal ini berbeda dengan operator Prewitt yang lebih sensitif terhadap tepi vertikal dan horizontal. Gambar 2.8 berikut adalah operator dari Prewitt yang digunakan dalam proses deteksi tepi yang terdiri dari sepasang kernel berukuran 3 x 3:

Gambar 2.8 Metode Sobel 2.2.2 Penskalaan

Penskalaan adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil ukuran citra masukan sesuai dengan variabel penskalaan citranya. Ukuran baru hasil penskalaan didapat melalui perkalian antara


(19)

19

ukuran citra masukan dengan variabel masukan. Proses penskalaan dapat dilakukan dengan rumus: [7]

� = ��

...(2.8) = � �

Persamaan 2.8 Rumus Penskalaan

Dimana (Pi, Li) adalah ukuran citra masukan, (Po, Lo) adalah ukuran citra keluaran dan (Sp, Si) adalah variabel penskalaan yang diinginkan.

2.2.3 Segementasi Citra

Segmentasi merupakan teknik untuk mengelompokkan citra menjadi beberapa wilayah (region) berdasarkan kriteria tertentu, dengan kata lain merupakan proses pembagian citra ke dalam wilayah yang memiliki kesamaan fitur antara lain grayscale, texture, color atau motion. [7]

Berdasarkan pengertiannya, segmentasi memiliki tujuan menemukan karakteristik khusus yang dimiliki satu citra. Oleh karena itu, segmentasi diperlukan dalam pengenalan pola dimana bila proses segmentasi baik maka kualitas pengenalan polanya juga akan semakin baik.

Secara umum, ada beberapa pendekatan yang banyak digunakan dalam proses segmentasi antara lain:

1. Teknik threshold yaitu pengelompokkan citra sesuai dengan distribusi properti pixel penyusun citra.

2. Teknik region-based yaitu pengelompokkan citra ke dalam wilayah-wilayah tertentu secara langsung berdasarkan persamaan karakteristik satu area citranya.

3. Teknik Edge-based yaitu pengelompokkan citra ke dalam wilayah berbeda yang terpisahkan karena adanya perbedaan perubahan warna tepi dan dasar citra yang mendadak.

Pendekatan pertama dan kedua merupakan contoh kategori pemisahan image berdasarkan kemiripan area citra, sedangkan pendekatan ketiga merupakan salah satu contoh pemisahan daerah berdasarkan perubahan intensitas yang cepat terhadap satu daerah. Performansi citra segmentasi dapat dilakukan secara


(20)

kuantitatif dan kualitatif. Penilaian secara kuantitatif dilihat dari segi performansi yang dihasilkan melalui perhitungan yang dilakukan dengan menghitung nilai koefisien variansi dari hasil segmentasi. Sedangkan, untuk pernilaian kualitatif ditinjau dari segi pengamatan mata manusia (Mean Opinion Score/MOS).

2.3Grafologi

Grafologi merupakan ilmu tulisan tangan yang dihasilkan oleh pikiran atau kerja otak, berdasarkan hal tersebuh banyak ahli grafologi yang menyebut tulisan tangan dengan “tulisan otak”. Para ahli menyebutkan bahwa grafologi merupakan sebuah ilmu empiris yang dapat dibuktikan berdasarkan fenomena dalam satu populasi dan ada kuantifikasi hasil atau ada hasil dari uji statistik yang bisa dipertanggungjawabkan.

Grafologi berasal dari kata graphos yang berarti coretan dan logos adalah ilmu. Berdasarkan pengertian tersebut dapat dikatakan bahwa grafologi merupakan sebuah cabang ilmu yang mempelajari sebuah coretan tangan. Tulisan tangan disini bukan selalu huruf saja yang dapat dianalisis, namun sebuah coretan-coretan tangan juga dapat memiliki arti tersendiri. Grafologi juga dikatakan sebagai seni membaca tulisan tangan, karena tulisan setiap orang memiliki ciri-ciri yang khusus. [1] 2.3.1 Manfaat Mempelajari Grafologi

Setelah mengetahui bahwa tulisan tangan yang dihasilkan seseorang sangat unik dan individual, maka kita akan mengetahui manfaat dari mempelajari grafologi antara lain: [1]

1. Mengetahui lifetrap

Lifetrap adalah jebakan kehidupan yang terdapat pada seseorang. Dengan menggunakan grafologi lifetrap seseorang dapat diketahui.

2. Mengetahui karakter orang lain

Mengetahui dan memahami karakter dari seseorang sangat dibutuhkan karena membantu untuk berinteraksi dengan orang lain. Bagaimana seseorang memberikan respon yang diberikan oleh lawan bicara, jika seseorang salah memberikan respon maka akan mengakibatkan konflik dengan lawan bicara.


(21)

21

3. Membantu kemampuan dalam berkomunikasi

Sebagian orang yang memiliki kekurangan berkomunikasi secara langsung, dengan membuat coretan berupa tulisan sangat membantu mereka untuk melatih kemahiran mereka berkomunikasi.

4. Identifikasi

Dengan berbedanya tulisan tangan setiap orang maka tulisan tangan dapat mengidentifikasi siapa pemilik tulisan tangan sebenarnya. Dengan memerhatikan beberapa aspek dari tulisan tersebut maka dapat diidentifikasi siapa pemilik tulisan tersebut.

5. Sarana intropeksi diri

Setelah mengetahui rahasia dibalik tulisan tangan, seseorang akan menemukan potensi yang sebenarnya dimiliki oleh dirinya. Dapat juga melihat kelemahan-kelemahan yang dimiliki dengan begitu orang tersebut bisa memperbaiki diri dengan mudah.

6. Meningkatkan keahlian

Dengan mengetahui potensi yang terdapat dalam diri seseorang, maka orang tersebut dapat langsung meningkatkan potensi yang terdapat pada dirinya.

7. Mengungkap kasus kejahatan

Banyak kasus-kasus yang dipecahkan dari menganalisis tulisan tangan. 2.3.2 Keterbatasan Grafologi

Sama dengan metode-metode pengukuran karakter, grafologi juga memiliki keterbatasan. Berikut adalah keterbatasan yang dimiliki oleh grafologi: [1]

1. Tidak bisa mengungkap fisik pribadi seseorang 2. Tidak bisa mengungkap usia dari seseorang 3. Tidak dapat mengetahui jenis kelamin seseorang 4. Tidak dapat meramalkan masa depan seseorang 2.3.3 Dasar Penentuan Analisis Tulisan Tangan

Terdapat beberapa dasar yang penentuan analisis tulisan tangan, berikut adalah dasar-dasar dalam penentuan analisis tulisan tangan: [1]

1. Margin tulisan


(22)

2. Spasi atau jarak antar huruf

Dalam ilmu tata tulis, spasi merupakan salah satu jenis pemisah kata. Spasi adalah daerah kosong yang memang sengaja diadakan sebagai pemberi spasi dan pemisah, baik pemisah huruf, kata, angka atau tanda baca. Tidak ada angka atau spasi resmi yang dapat dijadikan patokan pasti atau resmi dalam spasi ini. Secara garis besar, spasi merupakan cerminan nyaman atau tidaknya seseorang (penulis) terhadap orang lain. Spasi atau jarak dalam tulisan terdapat tiga bagian, yaitu:

a. Jarak antar kata

Untuk spasi atau jarak antar kata pada tulisan adalah satu huruf. Jika spasi antar kata kurang dari 1 huruf “m” maka spasi tersebut kecil yang berarti orang tersebut memiliki karakter orang yang memiliki sifat sosial yang tinggi. Sedangkan jika spasi antar hurufnya lebih dari satu huruf “m” maka dikatakan lebar yang berarti orang tersebut merupakan orang yang individualis.

b. Jarak antar huruf

Untuk spasi atau jarak huruf pada tulisan biasanya antara 1-2mm. Jadi jika spasi tulisan antar huruf seseorang kurang dari 1mm akan dikatakan kecil yang berarti orang tersebut memiliki karakter orang yang membutuhkan perhatian dan dorongan dari orang lain, sedangkan lebih dari 2 mm akan dikatakan besar yang berarti orang tersebut memiliki karakter penuh akan kehati-hatian terhadap seseorang.

c. Jarak antar baris

Untuk spasi antar baris spasinya hampir sama dengan spasi antar kata dan antar huruf. Untuk spasi baris yang kecil mengindikasikan bahwa orang tersebut merupakan orang yang senang terlibat langsung dengan suatu hal, sedangkan spasi yang lebar mengindikasikan bahwa orang tersebut merupakan orang yang senang bekerja dibalik layar.

3. Garis dasar tulisan

Garis dasar atau baseline adalah garis imajiner dari setiap tulisan. Dalam ilmu grofologi, garis dasar diperumpamakan sebagai garis dasar untuk mencapai cita-cita.


(23)

23

4. Ukuran tulisan

Ukuran tulisan lebih menjelaskan mengenai sejauh mana dia memandang dirinya sendiri dan membayangkan bagaimana dia seharusnya dipandang oleh lingkungan sosialnya.

5. Tekanan tulisan

Tekanan tulisan pada seseorang berhubungan dengan emosi seseorang yang menulis.

6. Zona penulisan 7. Kemiringan tulisan

Kemiringan tulisan seseorang berhubungan dengan sifat dan kecenderungan tindakan yang dilakukannya.

8. Jenis penulisan

Jenis penulisan seseorang terdapat dua jenis penulisan yaitu cetak dan bersambung, dan dalam grafologi akan berhubungan dengan interaksi sosial. 9. Kecepatan penulisan

Kecepatan seseorang dalam menulis dapat memberikan gambaran mengenai potensi kecerdasan dan kecepatan berpikir seseorang. Kecepatan penulisan seseorang juga berhubungan erat dengan kecepatan bertindak dan spontanitas seseorang.

10. Bentuk huruf awal dan akhir

Bentuk huruf awal dan akhir tulisan dapat dijadikan gambaran bagi kita untuk melihat karakter dan sifat penulisnya.

2.4Konversi Jarak

Konversi jarak yang dilakukan dalam hal ini adalah merubah ukuran mm menjadi ukuran pixel, dimana dalam perhitungan 1 mm = 3.779527559. Gambar 2.9 berikut adalah gambar dari beberapa hasil konversi jarak: [8]


(24)

Gambar 2.9 Konversi Jarak 2.5Alat-alat Pemodelan Sistem

Pemodelan sistem dapat berarti menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang sudah ada. Berikut adalah pemodelan yang sering digunakan dalam membangun sebuah sistem:

2.5.1 Flowchart

Flowchart adalah bagan (chart) yang menunjukan hasil (flow) didalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi.

2.5.2 Diagram Konteks

Diagram konteks adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level tertinggi dari data flow diagram yang menggambarkan seluruh masuk ke sistem atau keluar dari sistem. Ia akan memberi gambaran tentang keseluruhan sistem. Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks hanya ada satu proses dan tidak boleh ada store dalam diagram konteks. [9]

2.5.3 Data Flow Diagram (DFD)

Diagram yang menggambarkan proses dari data flow diagram. Data flow diagram atau yang sering disebut DFD memberikan pandangan secara menyeluruh


(25)

25

mengenai sistem yang ditangani, menunjukan fungsi-fungsi utama atau proses yang ada, aliran data, external entity. DFD adalah diagram yang menguraikan proses apa yang ada dalam diagram konteks. [10]

2.5.4 Kamus Data

Kamus data berfungsi membantu pelaku sistem untuk mengartikan aplikasi secara detail dan mengorganisasi semua elemen data yang digunakan dalam sistem secara persis sehingga pemakai dan penganalisa sistem memounyai dasar pengertian yang sama tentang masukan, keluaran, penyimpanan dan proses. Kamus data sering disebut juga dengan sistem data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Atribut yang berfungsi sebagai key juga dibedakan dengan yang bukan key dengan menggarisbawahi atribut tersebut. [10]

2.6Pengujian

Pengujian adalah suatu proses mengevaluasi suatu sistem atau komponen dengan maksud untuk menemukan apakah itu memenuhi persyaratan yang ditentukan atau tidak. Kegiatan ini menghasilkan persyaratan yang sebenarnya, dan perbedaan antara hasil mereka. Dengan kata lain pengujian ialah mengeksekusi sistem untuk mengidentifikasi kesenjangan, kesalahan atau persyaratan yang hilang bertentangan dengan keinginan atau persyaratan yang sebenarnya. Menurut ANSI / IEEE 1059 standar, Pengujian dapat didefinisikan sebagai "Suatu proses menganalisis item perangkat lunak untuk mendeteksi perbedaan antara kondisi yang ada dan diperlukan (yaitu cacat / kesalahan / bug) dan mengevaluasi fitur item perangkat lunak".

2.6.1 Black Box

Pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input yang dipilih dan kondisi eksekusi. Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. [11] Tujuan Black Box adalah menemukan:

1. Fungsi yang tidak benar atau hilang 2. Kesalahan interface


(26)

3. Error pada struktur data atau akses database external 4. Error pada kinerja

5. Error pada saat inisialisasi dan terminasi 6. Kesensitifan sistem terhadap nilai input tertentu 7. Batasan dari suatu data

2.6.2 Pengujian Akurasi

Akurasi merupakan seberapa dekat suatu angka hasil pengukuran terhadap angka sebenarnya (true value atau reference value). Tingkat akurasi diperoleh dengan perhitungan sesuai dengan persamaan berikut : [12]

��� � � � � ℎ� � � = ∑ �� �� �� � � � �∑ � �� � � � � × % ...(2.9)

Persamaan 2.9 Rumus Akurasi

2.7Matlab

MATLAB (matrix laboratory) adalah suatu perangkat lunak yang memampukan pengguna untuk melakukan komputasi matematika, menganalisis data, mengembangkan algoritma, melakukan simulasi dan pemodelan dan menghasilkan tampilan grafik dan antarmuka grafika. [13]


(27)

27 BAB III

ANALISIS DAN PERANCANGAN SISTEM 3 Analisis Sistem

3.1 Analisis Sistem

Analisis sistem merupakan proses penguraian suatu sistem informasi ke dalam komponen-komponen yang lebih sederhana yang bertujuan untuk mengidentifikasi serta mengevaluasi masalah-masalah dan hambatan-hambatan yang mungkin terjadi serta kebutuhan-kebutuhan yang diharapkan menjadi acuan yang dapat mengarah kepada solusi yang terbaik. Pada analisis sistem akan dijelaskan beberapa macam analisis yang berhubungan dengan aplikasi yang akan dibangun seperti analisis masalah, analisis penggunaan, analisis metode yang digunakan, analisis kebutuhan fungsional dan non fungsional.

3.1.1 Analisis Masalah

Berdasarkan dari identifikasi masalah yang sudah didapat, maka akan dijabarkan secara lebih terperinci tentang masalah yang ditemukan dalam penelitian ini. Berikut adalah masalah yang ditemukan:

1. Dengan penggunaan metode learning vector quantization dalam penelitian ini bagaimana metode ini dapat mengenali karakter seseorang berdasarkan citra tulisan tangan.

2. Akurasi dari metode learning vector quantization lebih baik dibandingkan metode backpropagation dalam penelitian pengenalan pola citra pada barcode [3], dalam penelitian ini masalah yang diangkat adalah pengenalan pola tulisan tangan dengan menggunakan metode learning vector quantization dengan tujuan mengecek bagaimana akurasi metode learning vector quantization dalam penelitian ini.

3.1.2 Analisis Aplikasi

Aplikasi pengenalan tulisan tangan adalah aplikasi simulasi dari tulisan tangan yang menghasilkan karakter orang berdasarkan fitur tulisan tangan. Aplikasi ini bekerja dengan cara menganalisis citra tulisan tangan dari hasil scanning.


(28)

Aplikasi simulasi ini mengimplementasikan metode learning vector quantization, citra dari tulisan tangan tersebut akan dilatih dan juga diuji, dan kemudian akan menghasilkan karakter dari orang yang tulisan tangannya sudah dianalisis sebagai hasil akhirnya.

3.2Analisis Penyelesaian Masalah

Dalam menyelesaikan permasalah ini, maka aplikasi simulasi ini dibangun. Aplikasi ini bekerja dengan cara memasukan citra dari hasil scanning yang akan diolah dan menghasilkan karakter orang berdasarkan dari analisis tulisan tangan yang terdapat dalam aplikasi.

3.2.1 Analisis Data Masukan

Data masukan yang dibutuhkan untuk aplikasi ini adalah sebuah citra. Citra dapat berupa hasil dari scanning. Citra yang digunakan untuk aplikasi ini berformat ‘.jpg’atau juga ‘.png’. Citra yang dijadikan data masukan ini akan dibagi menjadi beberapa kelas berdasarkan hasil analisis yang dilakukan oleh aplikasi. Tabel 3.1 berikut adalah kelas-kelas yang tersedia untuk data citra masukan, data citra masukan akan dianalisis dan dimasukan ke dalam kelas yang tersedia: [1]

Tabel 3.1 Kelas Data Masukan

Kelas Fitur Singkatan Karakter

1

Antar Baris : Lebar Antar Kata : Lebar Antar Huruf : Lebar

LLL

Karakter dari orang ini adalah seseorang yang senang berada dibalik layar, merupakan seseorang yang individualis dan penuh kehati-hatian dalam bersosial

2

Antar Baris : Lebar Antar Kata : Lebar Antar Huruf : Kecil

LLK

Karakter dari orang ini adalah seseorang yang senang berada dibalik layar, merupakan seseorang yang individualis tetapi terbuka dalam bersosial

3 Antar Baris : Lebar Antar Kata : Kecil Antar Huruf : Lebar

LKL

Karakter dari orang ini adalah seseorang yang senang berada dibalik layar, kemudian orang yang


(29)

29

memiliki jiwa sosial tinggi tetapi penuh kehati-hatian dalam bersosial 4

Antar Baris : Lebar Antar Kata : Kecil Antar Huruf : Kecil

LKK

Karakter dari orang ini adalah seseorang yang senang berada dibalik layar tetapi mudah bersosial dan juga terbuka dalam bersosial

5

Antar Baris : Kecil Antar Kata : Lebar Antar Huruf : Lebar

KLL

Karakter dari orang ini adalah seseorang yang senang terlibat langsung dalam pekerjaan, merupakan seseorang yang individualis tetapi terbuka dalam bersosial

6

Antar Baris : Kecil Antar Kata : Lebar Antar Huruf : Kecil

KLK

Karakter dari orang ini adalah seseorang yang senang terlibat langsung dalam pekerjaan tetapi merupakan seseorang yang individualis dan tertutup dalam bersosial

7

Antar Baris : Kecil Antar Kata : Kecil Antar Huruf : Lebar

KKL

Karakter dari orang ini adalah seseorang yang senang terlibat langsung dalam pekerjaan dan mudah dalam bersosial tetapi seseorang yang tertutup

8

Antar Baris : Kecil Antar Kata : Kecil Antar Huruf : Kecil

KKK

Karakter dari orang ini adalah seseorang yang senang terlibat langsung dalam pekerjaan mudah bersosial dan terbuka dalam bersosial


(30)

3.2.2 Analisis Proses

Secara umum aplikasi memiliki beberapa proses dalam melakukan analisis terhadap citra yang dimasukkan kedalam aplikasi. Setiap proses memiliki peran masing-masing untuk dapat mengenali citra yang dimasukkan. Gambar 3.1 dapat dilihat pada gambar berikut:

Gambar 3.1 Proses-proses Pada Simulator

Gambar 3.1 adalah proses-proses yang terjadi pada simulator yang dibuat, terdapat dua proses utama yaitu proses image processing dan proses learning vector quantization yang terdiri dari proses pembelajaran dan pengenalan kemudian menghasilkan hasil analisis.

Gambar 3.2 berikut adalah rencana berjalannya aplikasi mulai dari memasukkan citra hingga proses pengenalan dan menampilkan hasil analisisnya:


(31)

31

Gambar 3.2 Flowchart Rencana Aplikasi 3.2.2.1Input citra

Proses pengambilan citra yang digunakan sebagai masukan pada sistem yang dibangun adalah citra dari tulisan tangan seseorang yang sudah di scan atau di foto yang berformat .jpg atau .png. Gambar 3.3 adalah flowchart dari input citra, proses ini menjelaskan cara memasukkan citra hingga citra dapat tampil pada simulator:


(32)

Gambar 3.3 Flowchart Proses Input Citra

Gambar 3.4 berikut merupakan citra masukan yang akan digunakan pada proses input citra.

Gambar 3.4 Citra Gambar Masukan 3.2.2.2Proses Image Preprocessing

Pada proses ini terdapat beberapa beberapa proses pengolahan citra yang dibutuhkan pada simulasi yang akan dibangun mulai dari scaling, grayscaling, edge detection, thresholding, segmentasi, normalisasi dan ekstraksi ciri. Gambar 3.5


(33)

33

berikut adalah langkah-langkah yang dilakukan pada proses image processing mulai dari proses pertama hingga menghasilkan citra hasil dari proses image processing:

Gambar 3.5 Flowchart Proses Image Preprocessing 3.2.2.2.1Cropping

Cropping atau pemotongan citra dilakukan untuk mendapatkan citra yang digunakan sebagai data masukan. Gambar 3.6 berikut adalah flowchart dari proses pemotongan citra untuk mendapatkan potongan citra yang akan digunakan dalam sistem:

Gambar 3.6 Flowchart Proses Pemotongan Citra

Dari citra awal yang terdapat beberapa baris kalimat yang digunakan hanya 2/3 kalimat dari total baris yang ada, kalimat yang digunakan bukan pada awal kalimat karena tulisannya masih kontrol dan tulisan masih belum merupakan proyeksi dari penulis dan bukan kalimat terakhir yang digunakan karena tulisan


(34)

tersebut penulis sudah kelelahan menulis tulisannya. Gambar 3.7 berikut adalah citra hasil pemotongan dari citra masukan:

Gambar 3.7 Citra Hasil Pemotongan 3.2.2.2.2Grayscale

Proses image processing adalah pengolahan citra yang normal (RGB) menjadi citra grayscale. Gambar 3.8 berikut adalah flowchart dari proses perubahan citra masukan menjadi citra dengan nilai grayscale:

Gambar 3.8 Flowchart Proses Grayscale

Pengubahan gambar ke dalam bentuk grayscale ini dilakukan dengan mengambil nilai pixel dari satu gambar masukan kemudian dihitung menggunakan Persamaan 2.5.


(35)

35

Berikut adalah alur kerja dari proses grayscale:

a. Citra dipisahkan berdasarkan warnanya yaitu Red, Green atau Blue.

b. Warna-warna yang sudah dipisahkan akan langsung diubah menjadi warna grayscale/keabuan.

c. Setelah proses selesai maka setiap pixel yang diubah menjadi grayscale/keabuan disusun menjadi ukuran pixel yang sudah ditentukan.

Gambar 3.9 berikut adalah citra hasil proses grayscaling dari citra masukan yang sudah melalui proses pemotongan:

Gambar 3.9 Citra Hasil Proses Grayscale 3.2.2.2.3Edge Detection

Gambar 3.10 berikut adalah flowchart dari sebuah citra masukan yang diproses untuk mendapatkan citra hasil edge detection.


(36)

Pada proses ini citra yang digunakan adalah citra berwarna grayscale. Proses edge detection ini dijalankan dengan menggunakan prewitt, metode prewitt menggunakan dua matriks berukuran 3x3 yaitu matriks Gx dan Gy. Kedua matriks tersebut digunakan untuk menghitung perbedaan warna pada pixel yang sedang dihitung dengan pixel disekitarnya secara horizontal dan vertikal. Matriks Gx digunakan untuk menghitung secara horizontal dan matriks Gy secara matriks vertikal. Gambar 3.11 berikut adalah matriks Gx dan Gy berukuran 3x3 pada metode Prewitt yang digunakan dalam proses deteksi tepi:

Gambar 3.11 Matriks Metode Prewitt

Gambar 3.12 berikut adalah citra hasil edge detection dengan menggunakan metode prewitt:

Gambar 3.12 Citra Hasil Edge Detection 3.2.2.2.4Thresholding

Thresholding merupakan proses untuk merepsentasikan gambar digital hasil edge detection ke dalam bentuk matriks dengan isi 0 atau 1. Nilai 0 dan 1 didapat dari merubah nilai intensitas threshold yang sudah ditentukan. Apabila nilai pixel berada di atas sebuah nilai intensitas maka akan diubah menjadi 0 (putih) yang berarti pixel tersebut merupakan background, sedangkan jika nilai intensitas berada di bawah batas nilai yang ditentukan maka pixel tersebut akan diubah menjadi berwarna hitam yang berarti dianggap sebuah karakter. Gambar 3.13 berikut adalah flowchart dari proses mendapatkan citra hasil thresholding dari sebuah citra masukan:


(37)

37

Gambar 3.13 Flowchart Proses Thresholding

Citra masukan yang hasil edge detection akan dilakukan proses threshold yang, kemudian akan diubah ke dalam sebuah matriks yang berukuran sesuai dengan ukuran pixel citra masukan. Selanjutnya akan dilakukan perubahan ke dalam vektor matriks biner yang hanya bernilai 0 dan 1 pada setiap pixelnya. Gambar 3.14 berikut adalah hasil dari proses thresholding:

Gambar 3.14 Citra Hasil Thresholding 3.2.2.2.5Normalisasi

Normalisasi adalah proses penyeragaman ukuran citra menjadi ukuran yang sama. Gambar 3.15 berikut adalah flowchart dari proses normalisasi sebuah citra dalam sistem:


(38)

Gambar 3.15 Flowchart Proses Normalisasi

Karena data yang dihasilkan dari proses segmentasi dapat berbeda-beda dimensinya. Oleh karena itu, untuk mendapatkan data yang seragam, akurat dan konsisten dari setiap sampel, data citra hasil segmentasi akan dinormalisasikan menjadi citra gambar dengan ukuran 250 x 100 pixel. Gambar 3.16 berikut adalah hasil dari proses normalisasi citra masukan:

Gambar 3.16 Hasil Proses Normalisasi 3.2.2.2.6Segmentasi

Segmentasi merupakan salah satu proses yang sangat penting dalam pengenalan karakter. Karena dalam proses ini simulasi memisahkan setiap fitur spasi antar kata, antar huruf dan juga antar baris. Gambar 3.17 berikut adalah citra masukan setelah proses image processing lain yang akan digunakan untuk proses segmentasi:


(39)

39

Gambar 3.17 Citra Proses Segmentasi

Dalam proses segmentasi, terdapat beberapa proses segmentasi, yaitu sebagai berikut: [14]

a. Segmentasi Baris (Line Segmentation)

Proses yang dilakukan pada tahap segmentasi baris ini adalah dengan memetakan keseluruhan pixel citra yang berisi rangkaian karakter pada sumbu-y. Gambar 3.18 berikut adalah flowchart dari proses segmentasi baris untuk mendapatkan jarak setiap baris:

Gambar 3.18 Flowchart Segmentasi Baris

Hal ini dilakukan dengan cara mendeteksi pixel bernilai 0 dan 1 setiap baris kemudian dilakukan penjumlahan setiap pixel 0 dan 1 pada setiap barisnya, setelah mendapatkan baris yang memiliki pixel 1 dan maka akan dilakukan pencarian pixel


(40)

0 yang berada diantara pixel 1 kemudian akan dijumlahkan nilai pixel 0 yang terdeteksi jika pixel 0 pada baris ≤20 maka jaraknya “KECIL” dan jika lebih adalah “LEBAR”.

Gambar 3.19 berikut adalah grafik dari sebaran nilai pixel 0. Sumbu y menunjukkan baris yang terdapat pada citra masukan, sedangkan sumbu x menunjukkan jumlah pixel 0 pada setiap baris dari total pixel berukuran 250 x 100 pixel.

Gambar 3.19 Sebaran Pixel Perbaris b. Segmentasi Kata (Word Segmentation)

Data citra masukan akan dipetakan seluruhnya pada sumbu-x dan dilakukan pendeteksian pixel 0 dan 1. Seperti pada tahap segmentasi baris, tetapi untuk mendapatkan kata setiap baris akan dilihat jumlah nilai pixel 0. Gambar 3.20 adalah flowchart dari proses segmentasi kata untuk mendapatkan jarak setiap kata:


(41)

41

Gambar 3.20 Flowchart Segmentasi Kata

Untuk mendapatkan kata dalam satu baris akan dilakukan pengecekan jumlah pixel 0, jika sebaran nilai pixel 0 diantara pixel 1 ≤ 12, maka itu dikatakan sebagai kata. Kemudian jika nilai pixel 0 ≤ 10 maka jaraknya “KECIL” dan jika lebih adalah “LEBAR”. Gambar 3.21 grafik dari sebaran nilai pixel 0. Sumbu x menunjukkan kolom yang terdapat pada citra masukan, sedangkan sumbu y menunjukkan jumlah pixel 0 pada setiap kolom dari total pixel berukuran 250 x 100 pixel.


(42)

c. Segmentasi Huruf

Proses segmentasi huruf adalah proses untuk mendapatkan jarak pada fitur spasi antar huruf. Gambar 3.22 berikut adalah flowchart dari proses segmentasi huruf untuk mendapatkan jarak setiap huruf:

Gambar 3.22 Flowchart Segmentasi Huruf

Proses segmentasi yang dilakukan sama dengan segmentasi kata, tetapi yang berbeda adalah nilai pixel 0 ≤ 6. Kemudian jika nilai pixel 0 ≤ 6 maka jaraknya “KECIL” dan jika lebih adalah “LEBAR”. Hasil dari proses ini adalah mendapatkan jarak antar huruf.

3.2.2.3Proses Pembelajaran Learning Vector Quantization

Analisis metode yang dilakukan dalam penelitian adalah meneliti bagaimana kerja dari metode learning vector quantization pada simulasi yang akan dibangun. Berikut adalah gambar flowchart dari proses pembelajaran learning vector quantization:


(43)

43

Gambar 3.23 Flowchart Proses Pembelajaran Learning Vector Quantization Gambar 3.23 adalah proses pembelajaran metode learning vector quantization dimana citra masukan akan dijadikan bobot kemudian akan dihitung menggunakan Persamaan 2.1 dan mencari jarak terkecil dari vektor masukan, kemudian jarak terkecil bobotnya akan diubah.


(44)

Berikut adalah langkah-langkah yang dilakukan dalam proses pembelajaran learning vector quantization:

1. Setiap kelas diambil salah satu array vektornya dan dijadikan sebagai inisialisasi bobot (w). Sedangkan array lainnya menjadi data masukan (x). Tabel 3.2 berikut adalah data citra masukan dari setiap kelas yang akan digunakan pada proses learning vector quantization, matriks dari data citra masukan terdapat pada Lampiran D:

Tabel 3.2 Data Citra Masukan

Kelas Citra

Kelas 1 w1

Kelas 2 w2

Kelas 3 w3

Kelas 4 w4


(45)

45

Kelas 6 w6

Kelas 7 w7

Kelas 8 w8

Kelas 1 x1

2. Tentukan nilai maksimum perulangan, eror minimum, rasio pembelajaran dan pengurangan rasio. Berikut nilai awal yang digunakan sebagai berikut:

α (learning rate/rasio pembelajaran) = 0.1

Pengurangan rasio = 0.04

Eror minimum = 0.002

MaxEpoh (Maksimum Perulangan) = 100

3. Perhitungan nomor 4 sampai nomor 6 dilakukan selama perulangan masih lebih kecil dari maksimum perulangan atau rasio pembelajaran masih lebih besar dari eror minimum.

4. Untuk setiap data masukan (x) dihitung terhadang setiap data (w) dengan menggunakan Persamaan 2.1 berikut :

j = [1, 2]

n = 25000 (didapat dari ukuran pixel citra masukan 250 x 100 pixel) sehingga persamaan menjadi:


(46)

� = √ ∑ � − � 5

�= Perulangan = 1

Data ke-1 (x1) Jarak pada : a. Bobot ke-1 (w1)

� = √ − + ⋯ + − + − = .

b. Bobot ke-2 (w2)

� = √ − + ⋯ + − + − = .

c. Bobot ke-3 (w3)

� = √ − + ⋯ + − + − = .

d. Bobot ke-4 (w4)

� = √ − + ⋯ + − + − = .

e. Bobot ke-5 (w5)

� = √ − + ⋯ + − + − = .

f. Bobot ke-6 (w6)

� = √ − + ⋯ + − + − = .

g. Bobot ke-7 (w7)

� = √ − + ⋯ + − + − = .

h. Bobot ke-8 (w8)

� = √ − + ⋯ + − + − = .

5. Dilihat jarak (C) terkecil yang diperoleh pada perhitungan terhadap x1. Kemudian diperiksa apakah target x1 sesuai dengan kelas bobot dengan jarak terkecil. Hasil dari perhitungan di atas menunjukan bahwa jarak terkecil ada pada bobot ke-7. Target x1 adalah kelas 1 sedangkan kelas bobot ke-7 adalah kelas 7, hal ini berarti target tidak sesuai dengan hasil perhitungan.

6. Dilakukan perhitungan perubahan terhadap bobot dengan jarak terkecil yaitu bobot ke-7, jika kelas target sesuai dengan bobot maka persamaan yang


(47)

47

digunakan Persamaan 2.2 sedangkan jika kelas target tidak sesuai dengan bobot maka persamaan yang digunakan adalah Persamaan 2.3 Dalam contoh perhitungan ini, hasil dari perhitungan menunjukan bahwa kelas target jarak terkecil tidak sesuai dengan kelas bobot, sehingga perhitungannya adalah sebagai berikut:

w2.1 = 0 – 0.05 * (0-0) = 0 w2.2 = 0 – 0.05 * (0-0) = 0 w2.3 = 1 – 0.05 * (0-1) = 0

...

w2.24999 = 1 – 0.05 * (1-1) = 0 w2.25000 = 0 – 0.05 * (0-0) = 0

Setelah itu hasil perhitungan bobot pada iterasi awal akan ditemukan.

7. Langkah nomor 4 sampai dengan nomor 7 dikerjakan terhadap semua masukan (x1 dan x2), setelah selesai dilakukan perhitungan rubah nilai rasio dengan menggunakan Persamaan 2.4 berikut:

� = . − . ∗ . = .

8. Perhitungan diulang hingga perulangan maksimum dan mendapatkan nilai bobot akhir dan mendapatkan bobot akhir dan dilakukan pembaruan bobot. Hingga iterasi terakhir hasil bobot yang berubah hanya bobot w2, w3 dan w7, hasil perhitungan bobot pada iterasi terakhir terdapat pada Lampiran E. 3.2.2.4Proses Pengenalan Metode Learning Vector Quantization

Proses pengenalan dengan metode learning vector quantization menggunakan rumus yang sama dengan perhitungan bobot pada proses pembelajaran.

Berikut langkah-langkah pengenalan:

1. Data test dihitung terhadang setiap data bobot (w) dengan Persamaan 2.1: j = [1, 2]


(48)

� = √ ∑ � − � � 5

�= Jarak pada:

a. Bobot ke1 (w1)

� = √ − + ⋯ + + + + = .

b. Bobot ke2 (w2)

� = √ − + ⋯ + + + + = .

c. Bobot ke3 (w3)

� = √ − + ⋯ + + + + = .

d. Bobot ke4 (w4)

� = √ − + ⋯ + + + + = .

e. Bobot ke5 (w5)

� = √ − + ⋯ + + + + = .

f. Bobot ke6 (w6)

� = √ − + ⋯ + + + + = .

g. Bobot ke7 (w7)

� = √ − + ⋯ + + + + = .

h. Bobot ke8 (w8)

� = √ − + ⋯ + + + + = .

2. Dilihat dari nilai (C) terkecil yang diperoleh pada perhitungan terhadap data test . Kelas bobot yang memiliki jarak terkecil menjadi hasil dari proses pengenalan ini. Dalam perhitungan di atas untuk fitur spasi antar kata menghasilkan jarak terkecil ada pada bobot ke-2 (w2) dan w2 merupakan kelas 2 (LLK), sehingga hasil dari data test adalah “Karakter dari orang ini adalah seseorang yang senang berada dibalik layar, merupakan seseorang yang individualis tetapi terbuka dalam bersosial”.


(49)

49

Gambar 3.24 berikut adalah flowchart dari proses pengenalan algoritma learning vector quantization dalam mengenali data citra masukan:

Gambar 3.24 Flowchart Proses Pengenalan Learning Vector Quantization 3.3Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional berisi tentang kebutuhan-kebutuhan pendukung yang diperlukan saat pembangunan aplikasi. Berikut adalah kebutuhan-kebutuhan yang dibutuhkan:

3.3.1 Analisis Kebutuhan Perangkat Keras

Pada aplikasi simulasi yang akan dibangun diperlukan perangkat keras untuk membantu pembangunan aplikasi. Adapun perangkat keras yang dibutuhkan adalah:


(50)

1. Processor : Intel Dual Core 2.0 Ghz 2. Memory : RAM DDR3 1 GB

3. VGA : 512 GB

4. Harddisk : 120 GB 5. Monitor : 14 inch 6. Scanner

7. Mouse 8. Keyboard

3.3.2 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak merupakan kebutuhan yang penting dalam pembangunan aplikasi ini, karena perangkat lunak digunakan sebagai sarana pembangunan aplikasi sampai aplikasi selesai dibangun. Perangkat lunak yang dibutuhkan dalam pembangunan aplikasi ini adalah sebagai berikut:

1. Sistem operasi : Microsoft Windows 7 2. Matlab

3.3.3 Analisis Pengguna

Untuk menjalankan aplikasi yang dibangun dibutuhkan spesifikasi dari pengguna agar dapat menjalankan fungsi-fungsi yang terdapat pada aplikasi. Hanya terdapat jenis pengguna yang dibutuhkan yaitu penguji. Adapun pengguna yang dibutuhkan untuk menjalankan aplikasi adalah sebagai berikut:

1. Bisa mengoperasikan komputer 2. Bisa menggunakan Matlab 3.4Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional dilakukan untuk memberikan gambaran aliran data yang ada pada aplikasi yang dibangun yang meliputi diagram konteks, data flow diagram (DFD) dan spesifikasi proses.

3.4.1 Diagram Konteks

Diagram konteks (Context Diagram) merupakan gambaran umum dari keseluruhan suatu sistem. Gambar 3.25 berikut adalah diagram konteks yang merupakan gambaran umum dari sistem pengenalan karakter tulisan tangan:


(51)

51

Gambar 3.25 Diagram Konteks

Diagram konteks pada aplikasi ini memiliki satu entitas luar, yaitu:

1. Penguji (pengguna) adalah orang yang menggunakan aplikasi, yang memiliki hak akses penuh dalam menggunakan fungsi pada aplikasi.

3.4.2 Data Flow Diagram Level 1 Sistem Pengenalan Karakter Tulisan Tangan

Data flow diagram level 1 merupakan hasil penurunan dari diagram konteks sistem pengenalan karakter tulisan tangan. Gambar 3.26 berikut menggambarkan aliran data pada level 1 pada sistem yang memiliki tiga proses utama:


(52)

3.4.3 Spesifikasi Proses

Untuk menjelaskan lebih lanjut tentang proses-proses yang ada didalam data flow diagram dibuatlah spesifikasi proses. Adapun spesifikasi proses dari sistem pengenalan karakter tulisan tangan dapat dilihat pada Tabel 3.3 dibawah ini:

Tabel 3.3 Spesifikasi Proses

No Proses Keterangan

1 No. Proses 1

Nama Proses Inisialisasi

Source Penguji (Pengguna), Citra Input Data citra, Potongan Citra

Output Info data citra, Info Potongan Citra, Bobot Destination Pengguna

Logika Proses 1. Pengguna mengambil citra tulisan tangan dari penyimpanan citra

2. Sistem menampilkan citra

3. Pengguna melakukan pemotongan citra 4. Sistem menampilkan hasil pemotongan citra 5. Sistem merubah data citra hasil pemotongan

menjadi bobot

6. Sistem menyimpan bobot

2 No. Proses 2

Nama Proses Pembelajaran

Source Penguji (Pengguna), Citra

Input Data citra, Potongan Citra, Parameter Masukan, Jarak Antar Baris, Jarak Antar Kata, Jarak Antar Huruf, Bobot

Output Info citra, Info Potongan Citra, Info Parameter Masukan, Info Jarak Antar Baris, Info Jarak Antar Kata, Info Jarak Antar Huruf, Bobot Baru


(53)

53

Logika Proses 1.Pengguna mengambil citra tulisan tangan dari penyimpanan citra

2.Sistem menampilkan citra

3.Pengguna melakukan pemotongan citra 4.Sistem menampilkan hasil potongan citra

5.Pengguna memasukkan jarak antar baris, jarak antar kata dan jarak antar huruf

6.Pengguna memasukkan parameter masukan (learning rate, pengurangan rasio, eror minimum dan maksimum epoch)

7.Bobot hasil inisialisasi dijadikan bobot masukan 8.Bobot baru dihasilkan dari proses pembelajaran

3 No. Proses 3

Nama Proses Pengenalan

Source Penguji (Pengguna), Citra

Input Data citra, Potongan Citra, Bobot Baru

Output Info pengenalan, Info citra, Info Potongan Citra Destination Penguji (Pengguna)

Logika Proses 1. Pengguna mengambil citra tulisan tangan dari penyimpanan citra

2. Sistem menampilkan citra

3.Pengguna melakukan pemotongan citra 4.Sistem menampilkan hasil pemotongan citra 5.Bobot baru digunakan dalam proses pengenalan 6. Sistem akan menampilkan karakter orang

3.5Perancangan Sistem

Perancangan sistem dimulai setelah tahap analisis terhadap sistem selesai dilakukan. Perancangan sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah kedalam satu kesatuan yang utuh dan berfungsi.


(54)

3.5.1 Perancangan Struktur Menu

Perancangan struktur menu dan submenu yang berfungsi untuk memudahkan pengguna di dalam menggunakan sistem. Gambar 3.27 menjelaskan struktur menu dari simulator yang akan dibuat, dimana beranda, inisialisasi, pembelajaran dan pengenalan memiliki tingkatan level yang sama, berikut ini adalah gambar dari struktur menu yang digunakan:

Gambar 3.27 Struktur Menu Aplikasi Pengenalan Karakter Tulisan Tangan 3.5.2 Perancangan Antarmuka

Spesifikasi antarmuka merupakan suatu bentuk tampilan dari aplikasi yang akan dibangun untuk kebutuhan interface dengan pengguna. Spesifikasi antarmuka terdiri dari perancangan tampilan menu, tampilan form, keluaran dan jaringan semantik.

3.5.2.1Perancangan Antarmuka Menu Halaman Utama

Pada menu halaman utama terdapat combo box dan juga terdapat langkah-langkah penggunaan aplikasi. Gambar 3.28 berikut adalah perancangan antarmuka menu halaman utama pada saat sistem dijalankan pertama kali:


(55)

55

Gambar 3.28 Perancangan Antarmuka Menu Tampilan Utama 3.5.2.2Perancangan Antarmuka Menu Inisialisasi Bobot

Pada menu halaman inisialisasi terdapat combo box, tombol pilih citra yang digunakan untuk memasukan citra ke dalam aplikasi dan tombol simpan digunakan untuk menyimpan citra sebagai bobot awal dalam aplikasi. Gambar 3.29 berikut adalah perancangan antarmuka menu inisialisasi bobot sistem dimana pada menu ini pengguna harus memasukkan data citra untuk menjadikannya bobot awal:

Gambar 3.29 Perancangan Antarmuka Menu Inisialisasi Bobot 3.5.2.3Perancangan Antarmuka Menu Pembelajaran

Pada menu halaman inisialisasi terdapat combo box, tombol pilih citra yang digunakan untuk memasukan citra ke dalam aplikasi, tombol latih digunakan untuk melatih citra yang digunakan dalam aplikasi, text edit pada grup parameter berfungsi untuk memasukkan nilai parameter-parameter yang digunakan pada


(56)

analisis dan radiobutton digunakan untuk memilih jarak pada setiap fitur. Gambar 3.30 berikut adalah perancangan antarmuka menu pembelajaran sistem dimana menu ini berfungsi untuk melakukan proses pembelajaran terhadap data citra masukan:

Gambar 3.30 Perancangan Antarmuka Menu Pembelajaran 3.5.2.4Perancangan Antarmuka Menu Pengujian

Pada menu halaman inisialisasi terdapat combo box, tombol pilih citra yang digunakan untuk memasukan citra ke dalam aplikasi dan tombol uji digunakan untuk menguji citra yang digunakan dan menampilkan karakter orang dari tulisan yang sudah dianalisis. Gambar 3.31 berikut adalah perancangan antarmuka menu pelatihan sistem yang berfungsi untuk melakukan pengujian terhadap data citra masukan dan menghasilkan karakter orang setelah dianalisis:


(57)

57

3.5.2.5Perancangan Pesan

Pada Tabel 3.4 berikut adalah perancangan pesan yang terdapat pada simulator, hanya ada pesan yang akan tampil yaitu “Tolong Pilih Citra” dan “Data Berhasil Disimpan” seperti berikut:

Tabel 3.4 Perancangan Pesan

Kode Pesan Pesan No.Form

M01 Tolong Pilih Citra T02, T03, T04

M02 Data Berhasil Disimpan T02

Berikut adalah gambar perancangan pesan M01 yang dibuat:

Gambar 3.32 Perancangan Pesan Tolong Pilih Citra Berikut adalah gambar perancangan pesan M02 yang dibuat:

Gambar 3.33 Perancangan Pesan Data Berhasil Disimpan 3.5.2.6Jaringan Semantik

Jaringan semantik adalah gambaran yang menunjukkan hubungan antar objek yang terdapat pada sistem. Gambar 3.34 berikut adalah jaringan semantik yang menjelaskan hubungan dari setiap menu yang terdapat pada; sistem pengenalan karakter melalui tulisan tangan orang:


(58)

(59)

59 BAB IV

IMPLEMENTASI DAN PERANCANGAN SISTEM 4 Implementasi dan Perancangan Sistem

4.1 Implementasi

Tahap implementasi sistem merupakan tahap penciptaan perangkat lunak/aplikasi, tahap kelanjutan dari kegiatan perancangan sistem. Tahap ini merupakan penerjemahan perancangan berdasarkan hasil analisis dalam bahasa yang dapat dimengerti oleh mesin serta penerapan perangkat lunak pada keadaan yang sesungguhnya.

4.1.1 Implementasi Perangkat Keras

Perangkat keras (hardware) yang digunakan dalam sistem adalah sebagai berikut:

1. Processor : Intel Core i5-4210u 2,7 GHz 2. Memory : RAM DDR 3 4 GB

3. Harddisk : 1 TB

4. VGA : NVIDIA GeForce 840m

5. Monitor 14” dengan resolusi 1366 x 768 6. Keyboard

7. Mouse 8. Scanner

4.1.2 Implementasi Perangkat Lunak

Perangkat lunak (software) yang digunakan dalam sistem adalah sebagai berikut:

1. Sistem Operasi : Microsoft Windows 8.1 2. Pemrograman : MATLAB R2014b 4.1.3 Implementasi Antarmuka

Implementasi antarmuka adalah hasil dari perancangan antarmuka yang sudah diimplementasikan pada sistem.

4.1.3.1Tampilan Menu Beranda

Menu beranda pada simulator merupakan tampilan awal yang muncul pada saat pertama kali menjalankan simulator. Pada menu ini terdapat petunjuk-petunjuk


(60)

dari penggunaan simulator dan terdapat Combo Box untuk menuju menu yanglainnya. Gambar 4.1 berikut adalah tampilan menu dari menu halaman utama saat pertama kali sistem dijalankan:

Gambar 4.1 Tampilan Menu Beranda 4.1.3.2Tampilan Menu Inisialisasi

Pada menu ini terdapat tombol pilih citra yang berfungsi untuk memilih citra pada direktori penyimpanan dan terdapat area yang berguna untuk menampilkan gambar yang sudah dipilih. Pada menu ini juga setelah memilih citra pengguna akan melakukan proses pemotongan citra dan menyimpan citra sebagai bobot awal. Gambar 4.2 berikut adalah tampilan dari menu inisialisasi yang berfungsi menjadikan data citra masukan menjadi bobot awal:


(61)

61

Gambar 4.2 Tampilan Menu Inisialisasi 4.1.3.3Tampilan Menu Pembelajaran

Menu pembelajaran adalah menu untuk melakukan pembelajaran terhadap citra masukan dan menyimpannya sebagai bobot baru. Sama seperti menu inisialisasi pada menu ini juga terdapat menu tombol pilih citra yang digunakan untuk memilih citra yang akan digunakan dan pengguna melakukan pemotongan citra. Parameter-parameter yang tersedia pada menu harus dimasukan nilai yang digunakan untuk proses pembelajaran dan terdapat jarak-jarak yang harus dipilih oleh pengguna sesuai dengan citra yang dipilih. Gambar 4.3 berikut adalah tampilan dari menu pembelajaran yang berfungsi untuk melakukan proses pembelajaran dari data citra masukan:


(62)

4.1.3.4Tampilan Menu Pengenalan

Menu pengenalan ini berguna untuk pengujian dari citra masukan dan menampilkan karakter dari tulisan tangan tersebut. Seperti menu inisialisasi dan pembelajaran, pada menu ini juga terdapat pilih citra dan melakukan pemotongan citra untuk mengambil citra sebagai citra uji. Gambar 4.4 berikut adalah tampilan menu dari menu pengenalan yang berfungsi untuk pengujian data citra masukan dan menghasilkan karakter orang dari hasil analisis:

Gambar 4.4 Tampilan Menu Pengenalan 4.2 Pengujian Sistem

Pengujian sistem merupakan hal terpenting yang bertujuan untuk menemukan kesalahan–kesalahan atau kekurangan–kekurangan pada sistem yang diuji. Pengujian bermaksud untuk mengetahui sistem yang telah dibangun atau dibuat apakah sudah memenuhi kriteria yang sesuai dengan tujuan perancangan. 4.2.1 Pengujian Black Box

Pengujian Black Box digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Tabel 4.1 berikut adalah rencana pengujian Black Box yang akan dilakukan pada simulator:


(63)

63

Tabel 4.1 Rencana Pengujian Black Box

No Kelas Uji Butir Uji Jenis Pengujian

1 Citra Menampilkan citra yang sudah dipilih di area yang sudah ditentukan

Black Box

Melakukan pemotongan citra 2 Simpan Melakukan proses penyimpanan

bobot yang disimpan dalam direktori penyimpanan

Black Box

3 Latih Memasukkan parameter-parameter yang dibutuhkan dalam analisis

Black Box

Melakukan proses pembelajaran terhadap data masukan

4 Uji Melakukan proses pengujian

terhadap data masukan dan menampilkan karakter orang

Black Box

4.2.1.1Kasus dan Hasil Pengujian Black Box

Berdasarkan rencana pengujian, maka dapat dilakukan pengujian Black Box pada simulator pengenalan karakter tulisan tangan. Tabel 4.2 berikut ini adalah pengujian pemilihan citra yang dilakukan pada simulator:

Tabel 4.2 Pengujian Pilih Citra Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Coba.jpg Citra dapat

ditampilkan ke dalam area yang tersedia

Citra dapat dilihat pada area yang tersedia

[ √ ] Diterima [ ] Ditolak


(64)

null Sistem tidak menampilkan citra pada area yang tersedia

Citra tidak terlihat pada area yang tersedia dan menampilkan pesan eror

[ √ ] Diterima [ ] Ditolak

Tabel 4.3 berikut ini adalah pengujian proses pemotongan sebuah citra masukan yang dilakukan pada simulator:

Tabel 4.3 Pengujian Proses Pemotongan Citra Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Coba.jpg Citra terpotong

sesuai dengan koordinat yang dipilih

Pemotongan citra sesuai dengan koordinat yang dipilih

[ √ ] Diterima [ ] Ditolak

Kasus dan Hasil Uji (Data Salah)

null Tidak dapat

memotong citra

Tidak ada citra yang terpotong

[ √ ] Diterima [ ] Ditolak

Tabel 4.4 berikut ini adalah pengujian proses penyimpanan data bobot dari data masukan yang dilakukan pada simulator:

Tabel 4.4 Pengujian Menyimpan Data Bobot Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Coba.jpg Citra yang

dimasukkan dapat disimpan menjadi bobot

Citra tersimpan sebagai bobot

[ √ ] Diterima [ ] Ditolak


(65)

65

null Tidak terdapat

bobot yang

tersimpan

Bobot tidak ada yang tersimpan

[ √ ] Diterima [ ] Ditolak

Tabel 4.5 berikut ini adalah pengujian memasukkan parameter yang digunakan pada simulator:

Tabel 4.5 Pengujian Nilai Parameter Masukan Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan - Learning rate =

0.05

- Pengurangan rasio = 0.1

- Eror minimum = 0.01

- Maksimum epoch = 100

Semua parameter yang dimasukkan dapat digunakan dalam proses pembelajaran

Parameter yang dimasukkan dapat digunakan dalam proses

pembelajaran

[ √ ] Diterima [ ] Ditolak

Kasus dan Hasil Uji (Data Salah) - Learning rate =

null

- Pengurangan rasio = null - Eror minimum =

null

- Maksimum epoch = null

Perhitungan tidak dapat dilakukan dan sistem akan eror

Terdapat eror dalam perhitungan

[ √ ] Diterima [ ] Ditolak


(66)

Tabel 4.6 berikut ini adalah pengujian proses pembelajaran yang dilakukan pada simulator:

Tabel 4.6 Pengujian Proses Pembelajaran Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

1.jpg Citra dapat

digunakan sebagai data pembelajaran

Citra berhasil menjadi data pembelajaran

[ √ ] Diterima [ ] Ditolak

Kasus dan Hasil Uji (Data Salah)

null Proses

pembelajaran tidak dapat dilakukan

Tidak dapat memproses

pembelajaran

[ √ ] Diterima [ ] Ditolak

Tabel 4.7 berikut ini adalah pengujian proses pengenalan yang dilakukan pada simulator:

Tabel 4.7 Pengujian Proses Pengenalan Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

2.jpg Citra yang

dimasukkan dapat dianalisis dan menghasilkan karakter seseorang

Citra berhasil dianalisis dan menghasilkan karakter seseorang

[ √ ] Diterima [ ] Ditolak

Kasus dan Hasil Uji (Data Salah) null Karakter

seseorang hasil analisis tidak tampil

Karakter

seseorang tidak tampil dalam area yang tersedia

[ √ ] Diterima [ ] Ditolak


(67)

67

4.2.1.2Kesimpulan Hasil Pengujian Black Box

Hasil dari pengujian fungsionalitas yang telah dilakukan menunjukan bahwa simulator yang dibangun sudah cukup memenuhi persyaratan secara fungsional, karena semua pengujian yang dilakukan menghasilkan hasil yang sesuai harapan. Akan tetapi pada prosesnya masih memungkinkan terjadi kesalahan yang lain sehingga membutuhkan proses evaluasi untuk lebih mengetahui kekurangan yang lainnya.

4.2.2 Pengujian Akurasi

Pada pengujian akurasi akan dihitung akurasi dari simulator yang digunakan untuk menguji tulisan tangan dengan parameter masukan yang berbeda-beda. Berikut adalah hasil pengujian yang dilakukan dengan menggunakan 20 data citra uji, citra data uji terdapat pada Lampiran F:

4.2.2.1Hasil Pengujian Akurasi 1

Pengujian akurasi 1 dilakukan dengan menggunakan kombinasi parameter masukan sebagai berikut:

a. Learning Rate (α) : 0.05 b. Pengurangan rasio : 0.1 c. Error Minimum : 0.01 d. Maksimum Epoh : 100

Hasil dari pengujian akurasi 1 dengan menggunakan parameter masukan learning rate = 0.05, pengurangan rasio = 0.1, eror minimum = 0.01 dan maksimum epoh = 100 dapat dilihat pada Tabel 4.8:

Tabel 4.8 Hasil Pengujian Akurasi 1

No Nama Data Hasil

Simulator

Hasil

Sebenarnya Hasil

1 U1LLL.png KKK LLL Tidak Cocok

2 U1LLK.png KKK LLK Tidak Cocok

3 U1LKK.png KKK LKK Tidak Cocok

4 U1KLL.png KKK KLL Tidak Cocok


(68)

6 U1KKL.png KKK KKL Tidak Cocok

7 U1KKK.png KKK KKK Cocok

8 U2LLK.png KKK LLK Tidak Cocok

9 U2LKK.png KKK LKK Tidak Cocok

10 U2KLL.png KKK KLL Tidak Cocok

11 U2KLK.png KKK KLK Tidak Cocok

12 U2KKL.png KKK KKL Tidak Cocok

13 U2KKK.png KKK KKK Cocok

14 U3LLK.png KKK LLK Tidak Cocok

15 U3LKK.png KKK LKK Tidak Cocok

16 U3KLL.png KKK KLL Tidak Cocok

17 U3KKL.png KKK KKL Tidak Cocok

18 U3KKK.png KKK KKK Cocok

19 U4LKK.png KKK LKK Tidak Cocok

20 U4KLL.png KKK KLL Tidak Cocok

Berikut adalah akurasi yang dihasilkan dari proses pengujian akurasi 1 menggunakan Persamaan 2.9:

��� � � = × % = % 4.2.2.2Hasil Pengujian Akurasi 2

Pengujian akurasi 2 dilakukan dengan menggunakan kombinasi parameter masukan sebagai berikut:

a. Learning Rate (α) : 0.0017 b. Pengurangan rasio : 0.01 c. Error Minimum : 0.001 d. Maksimum Epoh : 100

Hasil dari pengujian akurasi 2 dengan menggunakan parameter masukan learning rate = 0.0017, pengurangan rasio = 0.01, eror minimum = 0.001 dan maksimum epoh = 100 dapat dilihat pada Tabel 4.9:


(69)

69

Tabel 4.9 Hasil Pengujian Akurasi 2

No Nama Data Hasil

Simulator

Hasil

Sebenarnya Hasil

1 U1LLL.png LLL LLL Cocok

2 U1LLK.png LLL LLK Tidak Cocok

3 U1LKK.png LKK LKK Cocok

4 U1KLL.png LLL KLL Tidak Cocok

5 U1KLK.png LLL KLK Tidak Cocok

6 U1KKL.png LLL KKL Tidak Cocok

7 U1KKK.png LLL KKK Tidak Cocok

8 U2LLK.png LLL LLK Tidak Cocok

9 U2LKK.png LLL LKK Tidak Cocok

10 U2KLL.png LLL KLL Tidak Cocok

11 U2KLK.png LLL KLK Tidak Cocok

12 U2KKL.png LLL KKL Tidak Cocok

13 U2KKK.png LLL KKK Tidak Cocok

14 U3LLK.png LLL LLK Tidak Cocok

15 U3LKK.png LLL LKK Tidak Cocok

16 U3KLL.png LLL KLL Tidak Cocok

17 U3KKL.png LLL KKL Tidak Cocok

18 U3KKK.png LLL KKK Tidak Cocok

19 U4LKK.png LLL LKK Tidak Cocok

20 U4KLL.png KLL KLL Cocok

Berikut adalah akurasi yang dihasilkan dari proses pengujian akurasi 2 menggunakan Persamaan 2.9:

��� � � = × % = % 4.2.2.3Hasil Pengujian Akurasi 3

Pengujian akurasi 3 dilakukan dengan menggunakan kombinasi parameter masukan sebagai berikut:


(70)

a. Learning Rate (α) : 0.1 b. Pengurangan rasio : 0.04 c. Error Minimum : 0.002 d. Maksimum Epoh : 100

Hasil dari pengujian akurasi 3 dengan menggunakan parameter masukan learning rate = 0.1, pengurangan rasio = 0.04, eror minimum = 0.002 dan maksimum epoh = 100 dapat dilihat pada Tabel 4.10:

Tabel 4.10 Hasil Pengujian Akurasi 3

No Nama Data Hasil

Simulator

Hasil

Sebenarnya Hasil

1 U1LLL.png LLL LLL Cocok

2 U1LLK.png LLL LLK Tidak Cocok

3 U1LKK.png LLL LKK Tidak Cocok

4 U1KLL.png LLL KLL Tidak Cocok

5 U1KLK.png LLL KLK Tidak Cocok

6 U1KKL.png LLL KKL Tidak Cocok

7 U1KKK.png LLL KKK Tidak Cocok

8 U2LLK.png LLL LLK Tidak Cocok

9 U2LKK.png LLL LKK Tidak Cocok

10 U2KLL.png LLL KLL Tidak Cocok

11 U2KLK.png LLL KLK Tidak Cocok

12 U2KKL.png LLL KKL Tidak Cocok

13 U2KKK.png LLL KKK Tidak Cocok

14 U3LLK.png LLL LLK Tidak Cocok

15 U3LKK.png LLL LKK Tidak Cocok

16 U3KLL.png LLL KLL Tidak Cocok

17 U3KKL.png LLL KKL Tidak Cocok

18 U3KKK.png LLL KKK Tidak Cocok

19 U4LKK.png LLL LKK Tidak Cocok


(1)

78

[14] J. Hendry, “USING PROFILE PROJECTION TO SEGMENT CHARACTER IN IMAGE (MATLAB),” EE&IT UGM, pp. 1-7, 2011. [15] A. Kristanto, Jaringan Syaraf Tiruan (Konsep Dasar, Algoritma dan

Aplikasinya), Yogyakarta: Gava Media, 2004.

[16] T. Sutojo, E. Mulyanto dan V. Suhartono, “Kecerdasan Buatan,” Jakarta, Andi Offset, 2010.


(2)

iii

KATA PENGANTAR

Assalamu’alaikum Warahmatullahi Wabarakatuh.

Alhamdulillah, Puja, Puji serta syukur penulis panjatkan kepada ALLAH SWT yang telah menganugrahkan kesehatan dan ketenangan kepada penulis, sehingga dapat melakukan penelitian yang berjudul “ANALISIS ALGORITMA LEARNING VECTOR QUANTIZATION UNTUK MENGENALI KARAKTER ORANG BERDASARKAN FITUR SPASI TULISAN TANGAN” dan selesai tepat waktu. Yang mana judul penelitian tersebut merupakan persyaratan utama untuk memenuhi syarat kelulusan program pendidikan Strata 1 Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Penulis menyadari sepenuhnya bahwa dalam pelaksanaan penelitian ini masih sangat jauh dari kata sempurna. Hal ini dikarenakan keterbatasan pengetahuan dan pengalaman yang dimiliki penulis.

Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dukungan dari berbagai pihak. Untuk itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Allah SWT atas rahmat, berkah, dan izin-Nya penulis bisa menyelesaikan penulisan skripsi ini.

2. Nabi Muhammad SAW, yang menjadi figur teladan bagi penulis untuk tetap sabar dan berserah diri kepada Allah atas permasalahan yang dihadapi.

3. Orang tua serta keluarga yang memberikan dukungan, baik secara moril maupun matearil, khususnya doa yang tiada henti.

4. Ibu Kania Evita Dewi, S.Pd., M.Si., selaku dosen wali IF-9 2011 selama penulis menempuh pendidikan di Unikom

5. Ibu Nelly Indriani W, S.Si., M.T., selaku pembimbing, yang telah membimbing penulis dengan sabar dalam menyelesaikan skripsi.

6. Ibu Ednawati Rainarli, S.Si., M.Si. selaku penguji seminar yang telah banyak memberikan arahan saat revisi seminar.


(3)

iv

7. Bapak Syibly Avivy A. Mulachela, M.Psi.,CMHA selaku narasumber yang sudah banyak membantu penulis dalam proses pembuatan skripsi.

8. Teman-teman bimbingan skripsi ibu Nelly Indriani W, S.Si., M.T., yang sudah berbagi informasi dan ilmunya selama proses pembuatan skripsi ini.

9.

Teman-teman IF-9 2011 yang sudah memberikan semangat dan dukungan, serta semua pihak yang membantu dalam menyelesaikan sekripsi ini yang tidak dapat penulis sebutkan satu per satu, terima kasih banyak atas semua dukungan dan bantuan hingga skripsi ini dapat terselesaikan dengan baik.

Penulis sangat menyadari dalam penulisan skripsi ini masih banyak kekurangan, untuk itu penulis mohon saran dan kritik yang membangun agar kedepannya menjadi lebih baik lagi. Penulis juga berharap agar skripsi ini dapat bermanfaat bagi semua pihak khususnya bagi penulis dan umumnya bagi pembaca.

Wassalaamu’alaikum Warahmatullahi Wabarakatuh.

Bandung, Juli 2015


(4)

(5)

(6)