Bab ini berisi proses pengolahan data yang digunakan dalam penelitian, prosedur yang dilakukan dalam proses ekstraksi ciri dan proses jaringan syaraf tiruan, dan evaluasi nilai hasil pengenalan.
3. 1 Data
Data yang digunakan dalam pengenalan huruf untuk sandi kotak ini berjumlah 26 karakter. Data gambar sandi kotak diambil melalui internet, kemudian data dibuat tulis tangan menggunakan spidol dan pensil.
Gambar 3.1. 26 Motif Sandi Kotak I
Data sandi kotak dibuat dengan pensil dan spidol masing-masing sebanyak 26 karakter. Setiap motif sandi kotak ditulis sebanyak 3 kali menggunakan pensil dan 3 kali menggunakan spidol. Jumlah masing-masing data untuk pensil dan spidol adalah sebanyak 78, maka total data yang digunakan adalah 156 data.
Data dibuat dengan pensil dan spidol dengan tujuan membedakan ketebalan dari tiap motif.
19
Gambar 3.2. Contoh Motif Sandi Kotak menggunakan pensil dan spidol
3. 2 Spesifikasi Perangkat 3.2.1 Hardware
Spesifikasi hardware adalah sebagai berikut : a. Komputer/Laptop dengan spesifikasi
1) Processor Intel(R) Core(TM) i3-4030 CPU @ 1.90GHz 2) RAM 2.00 GB
3) System Type 64-bit 4) Windows 7 Ultimate b. Scanner Canon (Mp 230) 3.2.2 Software
Software yang digunakan dalam sistem ini adalah a. Microsoft Office
b. MATLAB R2017a. c. Gimp 2
20 3. 3 Prosedur Kerja
Dalam penelitian ini dilakukan beberapa proses kerja yaitu pengolahan data, preprocessing, ekstraksi ciri dan proses jaringan syaraf tiruan metode backpropagation. Proses diawali dengan pengolahan data, preprocessing data, mengambil ciri data sandi kotak, kemudian hasil ekstraksi ciri dimasukkan kedalam pelatihan arsitektur jaringan syaraf tiruan dengan parameter yang telah ditentukan. Dari hasil model jaringan tersebut sehingga diperoleh model jaringan yang menghasilkan tingkat keberhasilan terbaik. Pada data yang telah di ekstraksi ciri juga dilakukan pengujian data. Proses secara umum dapat dilakukan dari blog diagram berikut.
Data Preprocessing Ekstraksi Ciri
Backpropagation Output
Gambar 3.3. Blog Diagram Sistem 3.3.1. Data
Data dibuat dengan tulis tangan menggunakan pensil dan spidol. Motif sandi kotak ditulis sebanyak 3 kali untuk pulpen dan sebanyak 3 kali untuk spidol. Data dibuat menggunakan pulpen dan spidol untuk mendapatkan perbedaan ketebalan motif sandi kotak.
1. Pengolahan data
Pengolahan data dilakukan dalam beberapa tahap. Tahap-tahap tersebut antara lain :
a. Men-scan data
Men-scan data dilakukan untuk mengubah data dari tulisan tangan dijadikan data digital dan dimasukkan ke dalam laptop.
21
Pemotongan data gambar dilakukan dengan memotong gambar yang telah di scan perhalaman untuk diambil permotifnya dan dijadikan data digital yang lebih spesifik.
Gambar 3.4. Contoh gambar scan yang telah dipotong
Pada penelitian ini ukuran pemotongan gambar sebesar 140x140 permotifnya.
3.3.2. Preprocessing
Pada penelitian ini pemrosesan citra dilakukan dengan langkah-langkah berikut:
1. Resizing citra
Pada langkah ini dilakukan pengubahan gambar berbentuk persegi dengan ukuran 200x200. Hal ini dilakukan agar data yang dilakukan agar semua data gambar berukuran sama.
2. Komplemen citra
Pada langkah ini dilakukan pengambilan complement dari gambar, hal ini dilakukan untuk menemukan semua struktur yang kecil, sehingga nilai-nilai piksel struktur lebih tinggi daripada latar belakang.
22
Gambar 3.5. Perubahan gambar setelah dilakukan complement 3. Mengubah citra warna
Pada penelitian ini dilakukan pengubahan dari citra warna ke citra keabuan kemudian ke citra hitam putih. Pengubahan citra dari grayscale ke dalam bentuk biner dilakukan dengan nilai threshold yang ditentukan dengan menggunakan fungsi graythresh. Hasil dari proses pada tiap layernya akan menghasilkan biner dengan nilai 0 dan 1. 4. Penipisan citra
Penipisan citra dilakukan untuk mengubah ukuran citra menjadi lebih kecil karena hanya informasi penting saja yang diambil. Penipisan citra juga dapat mengurangi penggunaan memori, memudahkan analisis struktur sebuah obyek dan dapat digunakan untuk klasifikasi pada pengenalan pola.
23 3.3.3. Ekstraksi Ciri
Pada penelitian ini pengambilan ciri citra diambil menggunakan diagram yang menggambarkan distribusi frekuensi nilai intensitas warna dalam suatu citra yang biasa disebut histogram (Praveen Kumar, Shivangi Garg, Sandeep Tiwari, 2012). Dari histogram tersebut diambil nilai mean (rata-rata) dan nilai standar deviasi.
Pengambilan ciri juga dilakukan menggunakan algoritma intensitas karakter. Intensitas karakter digunakan untuk menghitung nilai piksel hitam pada sebuah citra. Pada proses ini dilakukan pembagian citra ke beberapa segmen yang lebih kecil, pembagian citra ini dimaksudkan untuk mempermudah dalam pencirian gambar. Pada penelitian ini citra dibagi menjadi 9 segmen. Intensitas karakter digunakan pada setiap segmen yang telah dibagi menjadi 9. Proses ektraksi ciri menggunakan inputan citra/gambar sandi kotak yang berjumlah 156 motif sandi. Dalam melakukan proses ekstraksi ciri dilakukan dengan beberapa tahap, yaitu: a. Mengambil ciri histogram kolom
b. Mengambil ciri histogram baris
c. Menghitung nilai mean dari histogram baris dan kolom
d. Menghitung nilai standar deviasi dari histogram baris dan kolom e. Membagi citra menjadi 9 segmen
f. Mencirikan citra pada tiap segmen menggunakan IOC (Intencity Of Character) untuk menghitung nilai piksel hitam (black)
24
Gambar 3.7. Contoh Citra dibagi menjadi 9 segmen
Output yang dihasilkan dari proses ekstraksi ciri adalah nilai dari mean dan standar deviasi. Untuk mendapatkan jaringan yang optimal terlebih dahulu kita mengetahui ekstraksi ciri yang optimal pula. Dalam penelitian ini dilakukan kombinasi ciri (feature) untuk dapat menghasilkan ekstraksi ciri yang menghasilkan tingkat keberhasilan tertinggi.
Berikut adalah langkah-langkah dalam ekstraksi ciri: 1. Fungsi Ambil Fitur
a) Mulai
b) Membaca citra gambar yang akan melakukan proses ekstraksi ciri
c) Mengambil nilai histogram kolom dengan menjumlah nilai-nilai pada matrik citra
d) Mengambil nilai histogram baris dengan menjumlah nilai pada setiap baris dari matrik citra
25
e) Menghitung nilai mean dan standar deviasi dari histogram kolom
f) Menghitung nilai mean dan standar deviasi dari histogram baris
g) Untuk mendapatkan ciri segmentasi 9, citra dibagi menjadi 9 bagian. Menghitung banyak garis dan kolom pada citra yang telah dibaca.
h) Membagi 3 baris matriks citra yang ada r3=rows/3. Membagi 3 kolom matriks citra yang ada c3=columns/3 i) Membuat citra baru yang bernama im1 dari baris 1 sampai
r3 dan dari kolom 1 sampai c3
j) Membuat citra baru bernama im2 dari baris 1 sampai r3 dari kolom c3+1 sampai 2xc3
k) Membuat citra baru bernama im3 dari baris 1 sampai r3 dan dari kolom 2xc3+1 sampai akhir dari kolom
l) Membuat citra baru bernama im4 dari baris r3+1 sampai 2xr3 dan kolom 1 sampai c3
m) Membuat citra baru bernama im5 dari baris r3+1 sampai 2xr3 dan dari kolom c3+1 sampai 2xc3
n) Membuat citra baru bernama im6 berukuran dari baris r3+1 sampai 2xr3 dan dari kolom 2xc3+1 sampai akhir dari kolom
o) Membuat citra baru bernama im7 dari baris 2xr3+1 sampai akhir baris dari baris dan kolom 1 sampai c3
p) Membuat citra baru bernama im8 dari baris 2xr3+1 sampai akhir dari baris dan dari kolom c3+1 sampai 2xc3
q) Membuat citra baru bernama im9 dari baris 2xr3+1 sampai akhir dari baris dan dari kolom 2xc3+1 sampai akhir dari kolom
r) Menyediakan keluaran berupa citra baru im1, im2, im3, im4, im5, im6, im7, im8, im9
26
s) Menghitung titik hitam yang ada pada setiap baris dan kolom dalam setiap segmen 1 sampai dengan segmen 9. t) Setelah didapatkan nilai titik hitam pada setiap segmen, lalu
menghitung nilai mean dan standar deviasi dari setiap segmen.
u) Selesai
2. Intencity Of Character a) Mulai
b) Mendapatkan jumlah kolom dan baris dari matriks citra c) Membuat counter dan di inisialisasi dengan angka 0
d) Untuk i=1 sampai kolom lakukan langkah e), jika sudah memenuhi kolom lakukan langkah g)
e) Untuk j=1 sampai baris lakukan langkah f) jika sudah memenuhi sampai baris lakukan langkah d)
f) Jika newimage(I,j) sama dengan 0 tambah nilai counter sebanyak 1
g) Selesai
3.3.4. Backpropagation
Mengambil data set ciri DataLatihSandiKotak menggunakan fungsi load dan menormalisasi data tersebut. Membuat target data dan dimasukkan ke variable t.
Untuk melakukan pelatihan alat yang telat dibuat, pertama-tama dibuat sebuah jaringan backpropagation. Pada penelitian ini ada 6 data untuk setiap motifnya dan ada 26 motif jadi total semua huruf ada 156 motif. Untuk data pelatihan digunakan 4 data untuk setiap motif. Karena ada 26 motif maka total data motif sandi kotak yang digunakan untuk pelatihan ada sebanyak 104 motif.
27
Target yang telah disiapkan sebanyak 26 target karena terdapat 26 motif sandi kotak yang berupa matriks.
Percobaan pelatihan dalam penelitian ini dilakukan sebanyak 6 kali, setiap percobaan dilakukan perubahan ciri yang dipakai untuk melihat peningkatan akurasinya saat pengujian.
Arsitektur yang digunakan dalam penelitian ini adalah arsitektur dengan satu hidden layer.
1. Arsitektur Jaringan Syaraf Tiruan 1 hidden layer
Contoh dengan menggunakan 6 ciri dengan inputan hasil ekstraksi ciri berjumlah 104, menggunakan 1 hidden layer dengan jumlah neuron pada hidden layer 1 sebanyak j, dan jumlah output sebanyak 26 berupa huruf latin. Motif sandi kotak berjumlah sebanyak 26, contoh motif dapat dilihat pada gambar dibawah:
Tabel 3.1. 26 motif sandi kotak
Ciri yang digunakan adalah sebagai berikut: 1. Nilai mean dari histogram baris
2. Nilai standar deviasi dari histogram baris 3. Nilai mean dari histogram kolom
28 4. Nilai standar deviasi dari histogram kolom
5. Nilai mean dari IOC (Intencity Of Character) Segmen 9
6. Nilai standar deviasi dari IOC (Intencity Of Character) Segmen 9 Tabel 3.2. Contoh target dan output
Target Output 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Gambar 3.8. Arsitektur 1 hidden layer 3.3.5. Analisis data
Menganalisa hasil uji dari alat yang telah dibuat. Alat yang telah dibuat dikatakan berhasil jika:
30
1. Ada tulisan tangan motif sandi kotak yang dapat terdeteksi dan dapat dikenali.
2. Presentase akurasi dari fungsi yang diterapkan lebih dari atau sama dengan 75% (75%)
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑏𝑎𝑛𝑦𝑎𝑘 𝑑𝑎𝑡𝑎 𝑏𝑒𝑛𝑎𝑟
𝑡𝑜𝑡𝑎𝑙 𝑑𝑎𝑡𝑎 x 100%
3. 4 Gambaran Umum Sistem
Rancangan sistem backpropagation pada penelitian ini meliputi data input yang merupakan data ciri dari sandi kotak yang dipakai. Untuk hidden layer hanya digunakan 1 hidden layer yang jumlah neuron bervariasi mulai dari 5,10… dilanjutkan dengan kelipatan 5 hingga 30. Keluarannya ada 26 karena target berupa matriks 26x1 yang akan dicocokkan pada target masing-masing motif. Rancangan ini sudah memenuhi rancangan sebuah jaringan backpropagation yang memiliki 3 komponen yaitu input, hidden layer, dan output.
Sistem yang dibangun akan dipakai untuk mengenali sandi kotak menggunakan metode backpropagation. Motif yang dapat dikenali adalah 26 motif sandi kotak.
Citra tulisan tangan sandi kotak di format .png. Citra yang akan dilakukan preprocessing awalnya berupa citra warna, dilakukan perubahan dari citra warna menjadi citra biner hitam putih. Setelah diubah menjadi citra biner maka dilakukan perubahan ukuran citra menjadi berukuran 200x200 piksel. Citra yang ukurannya telah berubah akan ditipiskan, kemudian citra yang telah ditipiskan tersebut disegmentasi menjadi 3x3 segmen. Setelah di segmentasi akan dilakukan ekstraksi ciri dimana setiap segmen dari sebuah citra akan diambil cirinya menggunakan algorutma intensitas karakter. Ciri yang digunakan juga diambil dari histogram, ciri yang diambil adalah mean dan standar deviasi dari histogram kolom, mean dan standar deviasi dari histogram baris.
Ciri yang telah didapatkan dari sebuah citra akan dimasukkan kedalam sistem jaringan syaraf tiruan.
31 3. 5 Rancangan Implementasi
Dalam penelitian ini dibuat beberapa script untuk mengolah citra, membagi citra dalam segmen, mengambil ciri standar deviasi dari histogram kolom dan histogram baris, mengambil ciri rata-rata dari histogram kolom dan histogram baris, mengambil ciri intensitas of character, mengambil data ciri, membuat target, membagi target, pola jaringan, testing dan akurasi.
3. 6 Model Desain
Pada penelitian ini dibuat sebuah rancangan user interface atau tampilan desktop sehingga pengguna akan lebih mudah melihat hasil dari jalannya program. Rancangan user interface dapat dilihat pada gambar. 1. Menu Utama
32 3. 7 Skenario Pengujian
Pengujian dilakukan dengan membagi data untuk training dan testing. Jumlah data yang digunakan 156 motif dimana pada tiap hurufnya terdapat 6 data motif sandi kotak. Pembagian dilakukan dengan menggunakan 4 motif data ciri pada setiap motifnya sebagai data training dan 2 motif data ciri pada setiap motifnya sebagai data testing. Jadi total data training sebanyak 104 motif dan data testing sebanyak 52 motif sandi kotak.
Percobaan akan dilakukan sebanyak 6 kali dengan menggunakan ciri 1 sampai ciri 6 berikut:
1. Kombinasi pertama menggunakan ciri 1
2. Kombinasi kedua menggunakan ciri 1 dan ciri 2
3. Kombinasi ketiga menggunakan ciri 1, ciri 2 dan ciri 3.
4. Kombinasi keempat menggunakan ciri 1, ciri 2, ciri 3, dan ciri 4. 5. Kombinasi kelima menggunakan ciri 1, ciri 2, ciri 3, ciri 4, dan ciri 5. 6. Kombinasi keenam menggunakan ciri 1, ciri 2, ciri 3, ciri 4, ciri 5, dan
ciri 6.
Pada saat akan melatih data telah disiapkan struktur jaringan menggunakan satu lapisan tersembunyi dengan jumlah unit neuron 5,10,… sampai dengan 30.
Setelah proses training selesai maka akan dilakukan proses testing dimana data testing akan dimasukkan menggunakan struktur jaringan yang sama dengan struktur jaringan trainingnya. Setelah itu akan dilihat apakah akurasi dari pengenalan data testing tersebut sudah memenuhi atau belum. Jika sudah ditemukan akurasi yang terbaik maka struktur jaringan yang terbaik dan kombinasi ciri terbaik akan digunakan untuk menguji data tunggal yang telah disiapkan.
33 BAB 4