• Tidak ada hasil yang ditemukan

SKRIPSI PERANCANGAN SISTEM DIGITALISASI DAN PENGENALAN TULISAN MENGGUNAKAN PAPAN RESISTIF

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI PERANCANGAN SISTEM DIGITALISASI DAN PENGENALAN TULISAN MENGGUNAKAN PAPAN RESISTIF"

Copied!
84
0
0

Teks penuh

(1)

SKRIPSI

PERANCANGAN SISTEM DIGITALISASI DAN PENGENALAN TULISAN MENGGUNAKAN PAPAN RESISTIF

Diajukan untuk memenuhi persyaratan menyelesaikan pendidikan sarjana (S-1) pada

Departemen Teknik Elektro Sub Konsentrasi Teknik Komputer

Oleh

WILLIAM TANU WIJAYA NIM : 140402091

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

2018

(2)
(3)

ABSTRAK

Pesatnya perkembangan teknologi telah memungkinkan peneliti melakukan berbagai macam penelitian, terutama di bidang penyimpanan informasi. Saat ini, informasi dapat disimpan ke dalam bentuk digital dengan proses digitalisasi. Hal ini dilakukan untuk melestarikan arsip dokumen sehingga tidak mudah rusak atau hilang. Selain itu, telah dikembangkan juga penelitian mengenai pengenalan tulisan untuk mendeteksi suatu tulisan.

Dalam penelitian ini akan dibangun suatu perangkat yang dapat mendigitalisasi tulisan secara langsung dari penulisan yang dilakukan dan aplikasi Android untuk sistem pengenalan tulisannya. Perangkat yang dibangun adalah sebuah papan resistif, dimana tiap sentuhan pada papan tersebut akan menghasilkan koordinat titik sentuhan untuk dikirimkan ke aplikasi melalui bluetooth untuk membuat tulisan. Papan tersebut bekerja jika diberikan tekanan yang cukup. Oleh karena itu, selain menulis langsung pada papan resistifnya, juga dapat digunakan kertas yang diletakkan diatas papan tersebut untuk menghasilkan tulisan dalam bentuk tertulis dan digital secara bersamaan. Selanjutnya, hasil tulisan pada aplikasinya akan dilakukan pengenalan tulisan dengan menggunakan metode Naïve Bayes Classifier. Pada penelitian ini, huruf yang dapat dideteksi hanya berupa huruf kecil pisah.

Dari hasil pendeteksian huruf pada 104 huruf, didapat sebanyak 69 huruf yang terdeteksi benar dengan persentase keberhasilan sebesar 66,35%. Sedangkan dari hasil pendeteksian kata pada 20 kata dengan jumlah huruf sebanyak 106, didapat sebanyak 59 huruf yang terdeteksi benar dengan persentase keberhasilan sebesar 55,66%.

Kata kunci: digitalisasi, pengenalan tulisan, Android, bluetooth, Naïve Bayes Classifier.

(4)

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena atas berkat rahmat dan berkat-Nya Tugas Akhir ini dapat disusun dan diselesaikan.

Tugas Akhir ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan dalam menyelesaikan pendidikan Sarjana Strata Satu di Departemen Teknik Elektro, Universitas Sumatera Utara. Adapun judul Tugas Akhir ini adalah:

“PERANCANGAN SISTEM DIGITALISASI DAN PENGENALAN TULISAN MENGGUNAKAN PAPAN RESISTIF”

Tugas Akhir ini penulis persembahkan kepada orangtua yang teristimewa yaitu ayahanda Tan Tjin An, ibunda Tio Kui Hua dan Kevin Tanu Wijaya tersayang yang selalu memberikan semangat dan mendoakan penulis selama masa studi hingga menyelesaikan Tugas Akhir ini.

Selama masa kuliah hingga penyelesaian Tugas Akhir ini, penulis juga banyak mendapatkan dukungan maupun bantuan dari berbagai pihak. Untuk itu penulis ingin menyampaikan rasa terima kasih yang mendalam kepada:

1. Bapak Dr. Fahmi, S.T., M.Sc., IPM selaku Dosen Pembimbing Tugas Akhir yang telah banyak meluangkan waktu dan pikirannya untuk selalu memberikan bantuan, bimbingan, dan pengarahan kepada penulis selama perkuliahan hingga penyusunan Tugas Akhir ini.

2. Bapak Ir. Kasmir Tanjung, M.T. selaku Dosen Penguji Tugas Akhir yang telah memberikan banyak masukan demi perbaikan Tugas Akhir ini.

3. Bapak Emerson P. Sinulingga, S.T., M.Sc., Ph.D selaku Dosen Penguji Tugas Akhir yang telah memberikan banyak masukan demi perbaikan Tugas Akhir ini.

(5)

4. Bapak Ir. Syafruddin H.S., M.T., Ph.D selaku Dosen Wali penulis yang telah banyak memberikan bimbingan selama perkuliahan.

5. Seluruh Bapak dan Ibu dosen, khususnya kepada bapak Ir. T. Ahri Bahriun, M.Sc., bapak Ir. Pernantin Tarigan, M.Sc., bapak Soeharwinto, S.T., M.T., dan bapak Tigor Hamonangan Nasution, S.T., M.T., yang telah mendidik serta memberikan pengalaman hidup yang berharga selama masa perkuliahan kepada penulis.

6. Seluruh staf pegawai Departemen Teknik Elektro FT USU Kak Umi, Bu Fika, dan Bang Divo yang telah membantu penulis dalam pengurusan administrasi.

7. Abang Stif Agrath dan Abang Guardo yang telah memberi ilmunya dan banyak masukan kepada penulis, teman-teman satu sub-jurusan di Lab.

Komputer yang bersedia membagi ilmunya kepada penulis.

8. Albert selaku teman diskusi yang selalu memberikan dukungan dan motivasi kepada penulis.

9. M. Hendra Pranajaya dan Wemppy Wantri Putra sebagai teman satu perjuangan selama kuliah berlangsung hingga sampai saat ini dalam menyelesaikan tugas akhir.

10. Serta semua keluarga, kerabat, dan teman lainnya yang telah banyak membantu penulis dalam meyelesaikan studi yang tidak dapat disebutkan satu persatu.

Saran dan kritik dari pembaca sangat penulis harapkan untuk menyempurnakan dan mengembangkan kajian dalam bidang terkait Tugas Akhir ini. Akhir kata, penulis berharap semoga Tugas Akhir ini dapat bermanfaat bagi pembacanya.

Medan, 17 September 2018 Penulis,

William Tanu Wijaya 140402091

(6)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penelitian ... 3

1.4 Manfaat Penelitian ... 3

1.5 Batasan Masalah ... 3

1.6 Tahapan Penelitian ... 3

1.7 Sistematika Penulisan ... 4

BAB II DASAR TEORI ... 5

2.1 Layar Sentuh / Touchscreen ... 5

2.2 Pengolahan Citra ... 8

2.2.1 Grayscale ... 8

2.2.2 Binerisasi ... 9

2.2.3 Projection Profile ... 9

2.2.4 Cropping ... 10

2.2.5 Penskalaan (Scalling) ... 11

2.2.6 Ekstraksi Fitur ... 11

2.2 Machine Learning ... 11

2.3 Naïve Bayes Classifier (NBC) ... 12

2.5 Arduino ... 13

(7)

2.6 Bluetooth ... 13

2.7 LED (Light Emitting Diode) ... 14

2.8 Resistor ... 15

2.9 Saklar ... 16

2.10 Baterai ... 17

2.11 Android ... 17

BAB III METODE PENELITIAN... 19

3.1 Arsitektur ... 19

3.2 Bahan Peralatan ... 20

3.3 Proses Perancangan Sistem ... 20

3.4 Pengujian ... 27

BAB IV PENGUJIAN DAN ANALISIS ... 28

4.1 Pengujian Sistem Digitalisasi ... 28

4.2 Pengujian Sistem Pengenalan Tulisan ... 30

4.3 Analisis Keseluruhan ... 34

BAB V KESIMPULAN DAN SARAN ... 36

5.1 Kesimpulan ... 36

5.2 Saran ... 36

DAFTAR PUSTAKA ... 37

LAMPIRAN ... 39

(8)

DAFTAR GAMBAR

Gambar 2.1 Prinsip kerja layar sentuh resistif ... 6

Gambar 2.2 4-Wire Resistive Touch Screen 140mm x 182mm ... 6

Gambar 2.3 Pengaturan untuk pembacaan koordinat x dan y ... 7

Gambar 2.4 Citra grayscale ... 9

Gambar 2.5 Hasil binerisasi suatu citra... 9

Gambar 2.6 Hasil proyeksi secara horizontal dan vertikal ... 10

Gambar 2.7 Hasil cropping sebelum dan sesudah ... 10

Gambar 2.8 Hasil penskalaan diperkecil, normal, dan diperbesar ... 11

Gambar 2.9 Hasil pengambilan ciri pixel dan matriks ... 11

Gambar 2.10 Arduino Nano ... 13

Gambar 2.11 Bluetooth HC-05 ... 14

Gambar 2.12 Simbol dan bentuk LED ... 14

Gambar 2.13 Simbol dan bentuk resistor ... 16

Gambar 2.14 Cara pembacaan nilai resistansi pada suatu resistor... 16

Gambar 2.15 Simbol dan bentuk saklar SPST ... 17

Gambar 2.16 Simbol dan bentuk baterai 9V jenis primer ... 17

Gambar 2.17 Tampilan Android Studio ... 18

Gambar 3.1 Diagram blok sistem digitalisasi tulisan... 19

Gambar 3.2 Diagram blok sistem pengenalan tulisan ... 19

Gambar 3.3 Desain casing secara menyeluruh ... 20

Gambar 3.4 Casing yang telah digabung menjadi satu ... 21

Gambar 3.5 Wiring diagram perangkat keras ... 22

Gambar 3.6 Hasil pengkabelan semua perangkat ... 23

Gambar 3.7 Hasil akhir sebuah papan resistif ... 23

Gambar 3.8 Tampilan canvas pada aplikasi TextReg ... 24

(9)

Gambar 3.9 Tampilan pengaturan pada aplikasi TextReg ... 24

Gambar 3.10 Tampilan pemilihan suatu perangkat ... 25

Gambar 4.1 Papan resistif saat keadaan ON dan tidak terhubung ... 28

Gambar 4.2 Tampilan dengan munculnya pesan awal... 28

Gambar 4.3 Tampilan telah berhasil terhubung ... 29

Gambar 4.4 Papan resistif saat keadaan ON dan telah terhubung... 29

Gambar 4.5 Hasil penulisan pada suatu kertas... 29

Gambar 4.6 Hasil penulisan pada aplikasi TextReg ... 30

Gambar 4.7 Hasil pengenalan tulisan... 30

(10)

DAFTAR TABEL

Tabel 2.1 Tegangan jatuh tiap warna LED ... 15

Tabel 3.1 Data training dari 26 huruf kecil... 26

Tabel 4.1 Hasil pengujian pendeteksian huruf dengan perantara kertas ... 31

Tabel 4.2 Hasil pengujian pendeteksian huruf tanpa perantara kertas ... 32

Tabel 4.3 Hasil pengujian pendeteksian kata dengan perantara kertas ... 32

Tabel 4.4 Hasil pengujian pendeteksian kata tanpa perantara kertas ... 33

(11)

BAB I PENDAHULUAN 1.1 Latar Belakang

Pada saat ini, teknologi digital yang semakin canggih ini telah dapat membuat perubahan besar dalam metode penyimpanan informasi, dimana sekarang informasi dapat disimpan ke dalam bentuk digital. Bahkan, telah adanya perangkat yang dapat menerima dan mengenali tulisan tangan.

Digitalisasi adalah proses pengubahan berbagai informasi ke dalam bentuk digital sehingga lebih mudah untuk disimpan, dikelola, dan didistribusikan.

Hampir semua informasi dapat didigitalisasikan dan digunakan untuk kepentingan tertentu. Salah satu fungsi dari digitalisasi adalah untuk pelestarian arsip dokumen sehingga tidak mudah rusak atau hilang.

Pengenalan tulisan adalah kemampuan untuk menafsirkan tulisan tangan yang dapat dimengerti dari sumber seperti dokumen kertas, layar sentuh, dan perangkat lainnya. Sistem pengenalan tulisan menggunakan proses segmentasi untuk memisahkan tiap karakter agar dapat dideteksi satu per satu dan menemukan karakter yang paling cocok. Sistem pengenalan tulisan membutuhkan pembelajaran yang cukup agar dapat diterapkan.

Dari beberapa penelitian yang telah dilakukan, terdapat penelitian yang menggunakan layar resistif untuk menyeimbangkan sebuah bola besi diatasnya agar tidak jatuh. Layar tersebut hanya menerima inputan berupa tekanan, dimana akan diolah menjadi koordinat untuk menentukan lokasi bola tersebut. Saat bola tersebut sedang berada diujung layar, sebuah motor servo akan memiringkan layar resistif untuk menggerakkan bola ke titik seimbang [1].

Selain itu, ada juga penelitian yang berkaitan dengan pengenalan tulisan, dimana penelitian ini melakukan pengenalan berupa huruf alphabet tulisan tangan.

Aplikasi yang digunakan untuk pengenalan huruf tersebut adalah Matlab, dimana terdapat proses pembelajaran dari berbagai sampel huruf dan proses pengenalan untuk deteksi huruf tulisan. Metode pengenalan tulisan yang digunakan adalah

(12)

Naïve Bayes Classifier, dimana metode ini memprediksi peluang suatu huruf terdeteksi benar [2].

Selain penelitian mengenai layar resistif, adapun teknologi layar sentuh lainnya, yaitu layar kapasitif dan infrared. Layar kapasitif hanya bekerja dengan menggunakan jari atau stylus khusus yang memiliki konduktivitas, dimana tiap sentuhan pada layar tersebut akan menyebabkan perubahan medan elektrik untuk menentukan lokasi sentuhannya. Sedangkan layar infrared menggunakan infrared LED dan photodetector yang berhadapan satu sama lain pada tiap ujung layar, dimana tiap sentuhan akan menghalangi sinar infrared yang dipancarkan ke photodetector, sehingga dapat ditentukan lokasi sentuhannya. Layar ini dapat mendeteksi inputan apapun, baik dengan jari, pen maupun stylus [3].

Dengan melihat beberapa penelitian yang telah dilakukan, muncul suatu ide untuk merancang suatu perangkat yang dapat menyimpan tulisan, baik secara tertulis maupun digital, yang ditambah dengan sistem pengenalan tulisan. Layar yang akan digunakan adalah layar resistif karena layar kapasitif rentan terhadap penyimpangan konduktivitas. Ini artinya ada kemungkinan terjadinya ketidakstabilan perubahan medan elektrik yang diakibatkan oleh komponen tertentu untuk perangkat yang akan dirancang. Sedangkan layar infrared yang dapat berintegrasi dengan Arduino untuk perancangan skala kecil belum tersedia.

Koordinat yang didapat dari sentuhan pada layar resistif langsung dikirim ke aplikasi Android sehingga saat penulisan pada suatu kertas di layar resistif, juga akan tertulis pada aplikasinya secara bersamaan. Selain itu, pada aplikasi yang akan dirancang memiliki fitur pengenalan tulisan untuk mendeteksi suatu tulisan.

Dengan latar belakang tersebut, maka perlu dilakukan sebuah penelitian dengan judul “Perancangan Sistem Digitalisasi dan Pengenalan Tulisan Menggunakan Papan Resistif”.

1.2 Rumusan Masalah

Adapun rumusan masalah dari penelitian ini adalah sebagai berikut:

1. Bagaimana merancang sistem digitalisasi menggunakan papan resistif?

2. Bagaimana merancang sistem pengenalan tulisan pada aplikasi Android?

(13)

3. Optimasi apa yang perlu dilakukan untuk meningkatkan keakuratan dalam mengenal tulisan?

1.3 Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk menghasilkan suatu sistem digitalisasi dan pengenalan tulisan menggunakan papan resistif.

1.4 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah untuk memudahkan masyarakat dalam menyimpan tulisan secara digital.

1.5 Batasan Masalah

Agar isi dan pembahasan penelitian ini menjadi terarah, maka perlu dibuat batasan masalah yang akan dibahas. Adapun batasan masalah dari penelitian ini adalah sebagai berikut:

1. Perangkat yang digunakan untuk mengolah tulisan yang akan dikirim ke aplikasi Android adalah Resistive Touch Screen

2. Parameter yang digunakan adalah tekanan dan pixel

3. Sistem komunikasi yang digunakan untuk menghubungkan antara Arduino dengan Android adalah bluetooth

4. Ukuran bidang daerah penulisan sesuai dengan ukuran bidang layar resistif 5. Pengenalan tulisan hanya dapat mendeteksi huruf kecil pisah

1.6 Tahapan Penelitian

Untuk dapat menyelesaikan Tugas Akhir ini, maka perlu diterapkan beberapa metode penelitian, diantaranya adalah sebagai berikut:

1. Studi Literatur

Tahap ini dilakukan dengan mengumpulkan beberapa penelitian dan jurnal yang berhubungan dengan pengenalan tulisan, layar resistif, Arduino, Android, bluetooth, dan sebagainya.

2. Analisis Sistem

Tahap ini dilakukan dengan menentukan kebutuhan apa saja yang akan digunakan untuk membangun sistem. Secara garis besar, sistem tersebut terdiri

(14)

dari perangkat keras, perangkat lunak, sistem komunikasi, dan pengenalan tulisan.

3. Perancangan Sistem

Tahap ini dilakukan dengan merancang perangkat baik dari segi hardware maupun software.

4. Pengujian Sistem

Tahap ini dilakukan untuk menguji sistem yang telah dirancang apakah telah bekerja atau tidak.

5. Evaluasi

Tahap ini dilakukan dengan menganalisis hasil dari pengujian data yang diperoleh dari sistem dan memperbaikinya jika hasil yang diharapkan tidak sesuai dengan yang diinginkan.

1.7 Sistematika Penulisan

Penelitian ini disusun berdasarkan sistematika penulisan sebagai berikut:

BAB I PENDAHULUAN

Bab ini merupakan pendahuluan yang berisi tentang latar belakang masalah, tujuan dan manfaat penulisan, batasan masalah, metode penulisan, dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini membahas sekilas mengenai beberapa teori tentang pengenalan tulisan, layar resistif, Arduino, Android, bluetooth, dan sebagainya.

BAB III METODE PENELITIAN

Bab ini membahas tentang perancangan sistem yang dimulai dari diagram blok, casing, perangkat keras, perangkat lunak, sistem komunikasi, dan pengenalan tulisan dari segi antarmuka dan pemrograman.

BAB IV PUNGUJIAN DAN ANALISIS

Bab ini membahas tentang pengujian dan analisis terhadap sistem yang telah dirancang.

BAB V KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan dan saran-saran yang mungkin terhadap sistem yang telah dirancang untuk pengembangan lebih lanjut.

(15)

BAB II DASAR TEORI 2.1 Layar Sentuh / Touchscreen

Layar sentuh adalah tampilan visual elektronik yang dapat mendeteksi lokasi sentuhan pada area tampilan. Istilah umumnya mengacu pada sentuhan tampilan dari perangkat dengan jari atau tangan. Layar sentuh juga bisa merasakan benda pasif lainnya, seperti stylus. Dengan kata lain, layar sentuh adalah monitor, berdasarkan teknologi LCD (Liquid Crystal Display) atau CRT (Cathode Ray Tube) yang menerima masukan pada layar langsung. Kemampuan untuk memberi masukan pada layar difasilitasi oleh perangkat internal (touch overlay dan controller) yang menghubungkan koordinat x dan y ke komputer.

Layar sentuh memiliki dua atribut utama. Pertama, memungkinkan seseorang untuk berinteraksi langsung dengan apa yang ditampilkan, bukan secara tidak langsung dengan kursor yang dikendalikan oleh mouse atau touchpad. Kedua, memungkinkan seseorang melakukannya tanpa memerlukan perangkat perantara yang perlu dipegang di tangan.

Jenis layar sentuh yang digunakan dalam penelitian ini adalah jenis resistif.

Layar sentuh ini terdiri dari lapisan atas yang fleksibel dan lapisan bawah yang kaku, dimana kedua lapisan terpisahkan oleh titik isolasi. Penekanan lapisan atas akan menciptakan kontak listrik terhadap lapisan bawah, sehingga menghasilkan penutup saklar di sirkuit. Koordinat x dan y dapat ditentukan sesuai dengan daerah penekanan lapisan atas. Koordinat tersebut kemudian diteruskan ke sistem kendali untuk diproses.

Layar sentuh ini mendukung baik dengan menggunakan jari, sarung tangan maupun stylus dan lebih murah dibandingkan yang lain, tetapi mudah rusak jika menggunakan benda tajam saat penekanan layar. Selain itu, layar tersebut sensitif terhadap tekanan, tidak mendukung multi-touch, dan hanya menawarkan 75%

kejernihan pada pengguna [3]. Secara garis besar, prinsip kerjanya dapat dilihat pada Gambar 2.1.

(16)

Gambar 2.1 Prinsip kerja layar sentuh resistif [4]

Layar sentuh resistif yang digunakan berukuran 140mm x 182mm dengan kabel plat yang berisi 4 pin, yaitu X1, X2, Y1, dan Y2. Layar tersebut dapat terintegrasi dengan Arduino. Keempat pin tersebut digunakan untuk menentukan titik koordinat x dan y. Layar sentuh tersebut dapat dilihat pada Gambar 2.2.

Gambar 2.2 4-Wire Resistive Touch Screen ST-08004 140mm x 182mm Untuk membaca koordinat daerah sentuhan, pertama kali yang dibaca adalah koordinat x dan diikuti dengan koordinat y. Titik awal (0,0) berada di bagian ujung kiri atas. Untuk membaca nilai dari layar resistif, maka digunakan Arduino untuk mengolahnya. Untuk membaca koordinat x, pin X1 diatur HIGH (+5V atau +3,3V) dan pin X2 diatur LOW (GND), dimana akan menghasilkan tegangan

(17)

sesuai dengan posisi sentuhan di sumbu x pada pin Y2. Agar tegangan tersebut dapat digunakan untuk menentukan koordinat x, pin Y1 diatur dalam keadaan impedansi rendah dan pin Y2 dilakukan proses ADC. Sebelumnya, semua pin harus dihubungkan ke pin analog pada Arduino. Nilai hasil ADC tersebut merupakan koordinat x yang ingin dicari. Semakin jauh titik sentuhan dari titik awal, semakin besar nilai hasil ADC yang dihasilkan. Rumus perhitungan nilai analog yang diterima dari layar resistif dan nilai hasil ADC [5] dapat dilihat pada persamaan 2.1 dan 2.2.

………(2.1)

……….…...(2.2)

Dimana: NA = nilai analog yang dibaca oleh Arduino NADC = nilai hasil ADC

Nres = nilai resolusi layar resistif

Vin = tegangan yang dihasilkan dari sentuhan pada layar resistif (V) Vref = tegangan yang diberikan dari Arduino (V)

Setelah pembacaan koordinat x telah selesai, selanjutnya dilakukan pembacaan koordinat y, dimana pin Y1 diatur HIGH, pin Y2 diatur LOW, pin X1 dilakukan proses ADC, dan pin X2 diatur dalam keadaan impedansi rendah,.

Setelah itu, prosedur yang tersisa sama seperti pada pembacaan koordinat x [5]

[6]. Pengaturan untuk pembacaan koordinat x dan y dapat dilihat pada Gambar 2.3.

Gambar 2.3 Pengaturan untuk pembacaan koordinat (a) x dan (b) y [5]

(18)

Salah satu pengaplikasian layar sentuh resistif adalah untuk proses digitalisasi, dimana nilai koordinat yang dihasilkan dapat digunakan untuk membuat suatu tulisan digital pada komputer atau smartphone. Tulisan digital yang dibentuk merupakan citra yang bersifat raster yang nantinya dapat dilakukan pengolahan citra untuk proses selanjutnya.

2.2 Pengolahan Citra

Citra adalah sebuah gambar dua dimensi dengan fungsi intensitas cahaya f(x,y), dimana x adalah posisi baris dan y adalah posisi kolom. Pada umumnya, citra berbentuk persegi panjang dan dapat direpresentasikan sebagai suatu matriks dengan ukuran WxH [2]. Rumus fungsi intensitas cahaya dapat dilihat pada persamaan 2.3.

………...…... (2.3) Dimana: f = intensitas cahaya pada titik (x,y)

W = panjang sebuah citra (pixel) H = lebar sebuah citra (pixel)

Jadi, pengolahan citra adalah suatu pemrosesan citra menjadi citra lain dengan menggunakan teknik tertentu. Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah dimergerti oleh manusia atau mesin. Selain itu, informasi dari proses pengolahan citra dapat digunakan untuk proses selanjutnya.

2.2.1 Grayscale

Grayscale adalah suatu bentuk citra digital yang hanya memiliki satu nilai karnal pada tiap pixel. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas keabuannya, dimana nilai 0 menunjukkan warna hitam dan semakin tinggi nilainya, semakin besar warna keabuan hingga mendekati warna putih yang nilainya adalah 255. Citra grayscale memiliki 8 bit, sehingga jumlah warnanya adalah 28 = 256 dan tingkat intensitas keabuannya berada pada jangkauan 0 – 255 [2]. Untuk mengubah citra berwarna menjadi citra grayscale, maka digunakan rumus dalam persamaan 2.4 dan contoh citra grayscale dapat dilihat pada Gambar 2.4.

(19)

………..…...…… (2.4) Dimana: R = tingkat intensitas karnal merah

G = tingkat intensitas karnal hijau B = tingkat intensitas karnal biru

Gambar 2.4 Citra grayscale 2.2.2 Binerisasi

Operasi binerisasi adalah proses mengubah citra grayscale pada tiap pixel menjadi citra biner, yang hanya terdiri dari warna hitam dan putih. Ini dapat dilakukan dengan menentukan ambang batas bawah untuk diubah menjadi warna hitam dan ambang batas atas untuk diubah menjadi warna putih. Misalnya, jika suatu pixel memiliki nilai grayscale sebesar 70 dan ditentukan ambang batas bawah dengan range 0 – 127, maka nilai tersebut akan diubah menjadi 0 yang merupakan warna hitam [7]. Hasil binerisasi suatu citra dapat dilihat pada Gambar 2.5.

Gambar 2.5 Hasil binerisasi suatu citra 2.2.3 Projection Profile

Projection profile adalah suatu teknik yang digunakan untuk memisahkan karakter untuk tiap baris dan kolom dengan akurat. Teknik ini terdiri atas dua bagian, yaitu horizontal untuk baris dan vertikal untuk kolom. Cara kerjanya adalah menjumlahkan seberapa banyak pixel hitam yang ada dalam seluruh baris per kolom untuk proyeksi horizontal dan menjumlahkan seberapa banyak pixel hitam yang ada dalam seluruh kolom per baris untuk proyeksi vertikal, dimana setiap pixel telah diubah dalam bentuk biner 0 dan 1. Pemisah antar karakter adalah adanya gelombang dalam bentuk lembah yang merupakan spasi putih.

(20)

Metode ini baik digunakan untuk karakter pisah [2]. Rumus jumlah pixel hitam seluruh baris per kolom dan jumlah pixel hitam seluruh kolom per baris dapat dilihat pada persamaan 2.5 dan 2.6.

………..…………..…………..… (2.5)

………..……..……...… (2.6)

Dimana: Xi = jumlah pixel hitam seluruh baris untuk kolom ke i Yi = jumlah pixel hitam seluruh kolom untuk baris ke i H = lebar suatu citra (pixel)

W = panjang suatu citra (pixel) P = nilai pixel pada titik (x,y)

Jumlah pixel hitam dari rumus persamaan 2.5 dan 2.6 dapat diproyeksikan menjadi grafik yang menjelaskan ada atau tidaknya suatu pixel hitam pada tiap baris dan kolom. Grafik hasil proyeksi horizontal dan vertikal dapat dilihat pada Gambar 2.6.

Gambar 2.6 Hasil proyeksi (a) secara horizontal dan (b) secara vertikal 2.2.4 Cropping

Operasi cropping adalah proses memotong suatu bagian citra pada koordinat tertentu sehingga didapat citra yang diharapkan. Ini dapat dilakukan dengan menentukan titik awal (x1, y1) dan titik akhir (x2, y2) sebagai batas citra yang akan di-crop, dimana koordinat titik tersebut berada di pojok kiri atas dan pojok kanan bawah [2]. Hasil cropping dapat dilihat pada Gambar 2.7.

(a) (b)

Gambar 2.7 Hasil cropping (a) sebelum dan (b) sesudah

(21)

2.2.5 Penskalaan (Scalling)

Operasi penskalaan adalah proses memperkecil atau memperbesar citra sesuai dengan faktor skala yang diinginkan [2]. Operasi ini mengubah dimensi suatu citra, dimana pixel utama dan pixel disekitarnya digabung menjadi satu pixel sehingga citra tersebut menjadi kecil. Sedangkan untuk memperbesar citra, nilai pixel disekitar pixel utama disamakan dengan pixel itu sendiri. Hasil penskalaan dapat dilihat pada Gambar 2.8.

(a) (b) (c)

Gambar 2.8 Hasil penskalaan (a) diperkecil, (b) normal, dan (c) diperbesar 2.2.6 Ekstraksi Fitur

Ekstraksi fitur pada pengenalan tulisan adalah proses pengambilan ciri suatu citra yang menggambarkan karakteristik citra tersebut, dimana nilai yang didapat digunakan untuk proses selanjutnya [8]. Ciri yang digunakan untuk melakukan pengenalan tulisan adalah bentuk. Ciri tersebut berupa banyaknya titik-titik dengan intensitas warna tertentu pada tiap pixel, sehingga menyerupai suatu bentuk. Ciri tersebut dapat disimpan ke dalam bentuk matriks, seperti pada Gambar 2.9.

(a) (b)

Gambar 2.9 Hasil pengambilan ciri (a) pixel dan (b) matriks 2.3 Machine Learning

Machine learning adalah salah satu bidang kecerdasan buatan yang berfokus pada metode tertentu untuk memprediksi masa depan dan memperoleh ilmu pengetahuan dengan pembelajaran yang cukup. Pembelajaran dilakukan dengan

(22)

memberikan beberapa sampel, yang biasanya disebut dengan data training, pada suatu sistem. Dari sampel tersebut, sistem akan mempelajarinya terlebih dahulu yang nantinya dapat digunakan untuk membandingkan suatu input / data testing dengan data training yang ada [9]. Perbandingan ini akan menghasilkan suatu output sesuai dengan metode yang digunakan.

2.4 Naïve Bayes Classifier (NBC)

Naïve Bayes Classifier adalah suatu teknik klasifikasi yang didasarkan pada teorema Bayes dengan menggunakan probabilitas dan statistik. Teknik ini memprediksi peluang suatu objek terdeteksi benar sesuai dengan data training yang telah diberikan [2]. Sebelumnya, perlu dihitung jumlah data training yang ada pada tiap kelas. Setelah itu, dicari nilai rata-rata tiap pixel dengan menggunakan nilai-nilai tiap pixel dari data training yang ada pada tiap kelas, dimana nilai rata-rata tiap pixel dari tiap kelas akan dibandingkan satu per satu dengan nilai tiap pixel dari data testing. Tingkat peluang tertinggi dari perbandingan tersebut yang menjadi acuan bahwa suatu objek terdeteksi benar dengan kelas tertentu. Tingkat peluang yang didapat bergantung pada posisi tiap pixel pada tiap data training dan data testing yang memiliki kesamaan warna.

Pada pengenalan tulisan, nilai yang dibandingkan berupa nilai intensitas rata- rata pada tiap pixel, dimana ukuran pixel data training dan data testing harus sama. Sebelumnya, kedua nilai tersebut perlu diolah menjadi nilai biner 0 dan 1 agar pendeteksiannya lebih akurat. Rumus perhitungan nilai intensitas rata-rata tiap kelas dari data training yang ada dan peluang terdeteksi benar suatu objek untuk tiap kelas dapat dilihat pada persamaan 2.7 dan 2.8 [10].

………. (2.7)

………...………….. (2.8) Dimana: PC = nilai peluang terdeteksi benar untuk kelas C

RC,i = nilai intensitas rata-rata untuk kelas C dan pixel ke i Si = nilai intensitas untuk pixel ke i dari data testing

XC,i,j = nilai intensitas untuk kelas C, pixel ke i, dan data training

(23)

ke j

M = jumlah data training tiap kelas N = jumlah pixel yang dibandingkan

C = pengelompokkan huruf a-z 2.5 Arduino

Arduino adalah pengendali mikro single-board yang bersifat open source, yang dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Software yang digunakan untuk melakukan pemrograman pada Arduino adalah Arduino IDE. Perangkat Arduino yang akan digunakan adalah Arduino Nano, karena perangkat tersebut berukuran kecil dan harganya lebih murah dibandingkan dengan perangkat Arduino lainnya. Bentuk Arduino Nano dapat dilihat pada Gambar 2.10.

Gambar 2.10 Arduino Nano 2.6 Bluetooth

Bluetooth adalah suatu media untuk jaringan tanpa kabel, dimana dapat digunakan untuk melakukan pertukaran informasi di antara beberapa perangkat apabila dihubungkan. Bluetooth beroperasi dalam pita frekuensi 2,4 GHz dan menyediakan layanan komunikasi data dan suara secara realtime dengan jarak terbatas.

Karena Arduino tidak memiliki built-in bluetooth, maka perlu digunakan modul untuk menghubungkan antara perangkat Arduino dengan smartphone, yaitu modul bluetooth HC-05. Tegangan maksimum yang dapat diterima modul tersebut adalah 3.3V dan jika lebih dari itu, modul tersebut akan terbakar dan rusak. Modul tersebut mudah digunakan karena dapat diintegrasikan dengan Arduino dan harganya terjangkau. Bentuk modul tersebut dapat dilihat pada Gambar 2.11.

(24)

Gambar 2.11 Bluetooth HC-05 2.7 LED (Light Emitting Diode)

LED adalah salah satu komponen aktif yang terbuat dari bahan semi konduktor yang dapat mengeluarkan cahaya saat diberi arus listrik. LED memiliki dua kaki, dimana kaki yang panjang adalah anoda dan kaki yang pendek adalah katoda. LED akan menyala jika arus listrik mengalir dari sisi anoda ke katoda dan jika sebaliknya, maka LED tersebut tidak akan menyala. Simbol dan bentuk LED dapat dilihat pada Gambar 2.12.

Gambar 2.12 Simbol dan bentuk LED

Tiap warna LED memiliki tegangan jatuh masing-masing yang merupakan tegangan kerja untuk menghidupkan LED tersebut. Nilai tegangan jatuh perlu diketahui karena jika tegangan yang diberikan tidak mencapai ataupun berada di antara range tertentu, tegangan tersebut tidak akan kuat untuk menghidupkan LED tertentu. Nilai tegangan jatuh dapat dilihat pada Tabel 2.1.

(25)

Tabel 2.1 Tegangan jatuh tiap warna LED [11]

Warna LED Tegangan Jatuh Infra merah 1.6 V

Merah 1.8 – 2.1 V

Jingga 2.2 V

Kuning 2.4 V

Hijau 2.6 V

Biru 3.0 – 3.5 V

Putih 3.0 – 3.6 V Ultraviolet 3.5 V

Selain itu, perlu diketahui bahwa semakin tinggi arus yang mengalir pada LED, maka semakin terang cahaya yang dihasilkan. Besarnya arus yang diperbolehkan untuk mengalir adalah 10 – 20 mA dan jika lebih dari 20 mA, maka LED akan terbakar dan rusak. Untuk mencegah hal itu terjadi, maka diperlukan resistor dengan nilai tahanan tertentu untuk menghambat arus. Untuk menentukan nilai tahanan yang diperlukan, dapat digunakan rumus pada persamaan 2.9.

……….……….… (2.9)

Dimana: R = nilai resistansi (Ω) VS = tegangan input (V) VL = tegangan LED (V) I = arus maju LED (A) 2.8 Resistor

Resistor adalah salah satu komponen pasif yang berfungsi untuk menghambat arus yang masuk. Resistor mempunyai nilai resistansi tertentu yang dapat menghasilkan tegangan listrik di antara kedua pin jika diberi arus listrik. Nilai resistansinya dapat digunakan untuk menentukan tegangan dan arus, yang dapat dilihat pada persamaan 2.10 dan 2.11.

………....…….. (2.10)

………...………...….…… (2.11)

Dimana: V = tegangan listrik (V) I = arus listrik (A)

(26)

R = nilai resistansi (Ω)

Untuk mengetahui nilai resistansi pada suatu resistor, dapat dilakukan dengan menggunakan Ohmmeter atau secara manual, yaitu dengan membaca gelang- gelang resistor. Gelang tersebut memiliki banyak jenis warna dengan nilai yang berbeda-beda. Simbol dan bentuk umum resistor beserta cara pembacaan nilai resistansi dapat dilihat pada Gambar 2.13 dan Gambar 2.14.

Gambar 2.13 Simbol dan bentuk resistor

Gambar 2.14 Cara pembacaan nilai resistansi pada suatu resistor [12]

2.9 Saklar

Saklar (atau disebut switch) adalah suatu perangkat yang berfungsi sebagai alat penyambung atau pemutus aliran listrik. Saklar memiliki beberapa macam jenis dan saklar yang digunakan adalah saklar SPST (single pole, single throw) jenis toggle, dimana saklar tersebut hanya memiliki dua terminal, yaitu satu masukan dan satu keluaran, seperti yang terlihat pada Gambar 2.15.

(27)

Gambar 2.15 Simbol dan bentuk saklar SPST 2.10 Baterai

Baterai adalah suatu komponen yang terdiri dari dua atau lebih sel elektrokimia yang mengubah energi kimia yang tersimpan menjadi energi listrik.

Baterai memiliki dua jenis, yaitu baterai primer (sekali pakai) dan baterai sekunder (rechargeable / dapat diisi ulang). Baterai yang digunakan adalah baterai 9V jenis primer karena lebih murah dan aman, yang dapat dilihat pada Gambar 2.16.

Gambar 2.16 Simbol dan bentuk baterai 9V jenis primer 2.11 Android

Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti smartphone [13]. Antarmuka pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan sentuh yang serupa dengan tindakan nyata, seperti menggeser, mengetuk, dan mencubit untuk memanipulasi objek pada layar, serta papan ketik virtual untuk menulis teks. Software yang digunakan untuk membuat aplikasi Android adalah Android Studio, dengan tampilan yang dapat dilihat pada Gambar 2.17.

(28)

Gambar 2.17 Tampilan Android Studio

(29)

BAB III

METODE PENELITIAN 3.1 Arsitektur

Arsitektur umum dari sistem yang akan dibangun dapat dilihat pada Gambar 3.1.

Gambar 3.1 Diagram blok sistem digitalisasi tulisan

Adapun juga diagram blok dari sistem pengenalan tulisan dapat dilihat pada Gambar 3.2.

Gambar 3.2 Diagram blok sistem pengenalan tulisan [2]

Tahap Testing Tahap Training

Vertical Projection

Cropping Horizontal Projection

Binarization Citra tulisan

tangan

Scalling

Feature Extraction Naive Bayes

Classifier Sample citra

karakter tulisan tangan

Binarization

Horizontal Projection Cropping

Scalling Feature

Extraction

Database

Tulisan digital Bluetooth

Android

Touch Screen Arduino

(30)

3.2 Bahan Peralatan

Adapun bahan dan peralatan yang digunakan untuk melakukan penelitian ini adalah PC / Laptop, 4-Wire Resistive Touch Screen, Arduino Nano, kabel USB, modul bluetooth HC-05, baterai 9V beserta socket-nya, saklar, beberapa resistor, dua LED cahaya, casing, dan smartphone dengan OS Android dan fitur bluetooth.

Software yang digunakan dalam penelitian ini adalah SketchUp, fritzing, Arduino IDE, dan Android Studio.

3.3 Proses Perancangan Sistem

Adapun langkah-langkah terhadap sistem yang akan dirancang, diantaranya adalah:

1. Perancangan casing

Pada tahap ini, akan dirancang casing untuk perangkat kerasnya dan software yang digunakan adalah SketchUp, dimana hasil akhirnya dicetak untuk mempermudah penempahan dan perakitan casing tersebut. Ukuran layar resistifnya adalah 140mm x 182mm, sehingga perlu dirancang casing yang dapat ditempati oleh layar tersebut seperti pada Gambar 3.3.

Gambar 3.3 Desain casing secara menyeluruh

(31)

Dari gambar tersebut, terdapat 3 bagian yang ditempa. Pada gambar pertama merupakan kotak yang digunakan sebagai tempat untuk berbagai perangkat, selain layar resistif, yang terhubung satu sama lain, seperti Arduino, modul bluetooth, dan sebagainya.

Pada gambar kedua merupakan papan penyangga yang digunakan untuk menyokong layar resistif yang terletak diatas papan tersebut sehingga saat diberikan tekanan tertentu, layar tersebut tidak mudah pecah atau rusak karena terbuat dari kaca.

Pada gambar ketiga merupakan penutup kotak sekaligus penutup bagian ujung layar resistif. Tiap ujung layar yang berukuran 8.5mm dari luar bukan merupakan daerah penulisan, sehingga penutup digunakan untuk menutupi bagian ujung layar tersebut. Casing yang telah ditempa dan digabung dari beberapa bagian dapat dilihat pada Gambar 3.4.

Gambar 3.4 Casing yang telah digabung menjadi satu 2. Perancangan perangkat keras

Pada tahap ini, akan dirancang perangkat keras yang mampu mengolah tulisan untuk dikirim ke aplikasi Android. Wiring diagram dari perangkat keras yang telah dirancang dengan menggunakan software fritzing dapat dilihat pada Gambar 3.5.

(32)

Gambar 3.5 Wiring diagram perangkat keras

Dari gambar diatas, dapat dilihat adanya baterai 9V, dimana sisi positifnya terhubung dengan pin Vin dan sisi negatifnya terhubung dengan pin GND dari Arduino Nano. Untuk menghidupkan dan mematikan Arduino Nano yang disuplai tegangannya oleh baterai, dipasang saklar yang hanya memiliki tombol OFF dan ON diantara kedua tersebut.

Selain itu, dapat dilihat adanya modul bluetooth HC-05 yang digunakan untuk mengirim data dari Arduino ke aplikasi Android. Untuk mengetahui apakah belum atau sudah terhubungnya satu sama lain, dapat diindikasikan dengan LED merah dan hijau. Jika hanya LED merah yang hidup, maka menandakan belum terhubung. Dan jika hanya LED hijau yang hidup, maka menandakan telah terhubung. Resistor 220Ω digunakan untuk menghambat arus yang mengalir melewati kedua LED tersebut.

Selanjutnya, dapat dilihat adanya layar resistif yang terhubung dengan Arduino Nano. Setiap penekanan pada layar tersebut menghasilkan nilai tegangan tertentu. Nilai tegangan yang didapat dari layar tersebut akan dikirim ke Arduino tersebut untuk diolah menjadi koordinat x dan y agar dapat dibaca pada aplikasi Android nya. Tiap konektor memiliki cabang ke resistor 1kΩ yang berguna untuk menstabilkan nilai tegangan yang masuk karena tanpa resistor, nilai tegangan menjadi mengambang dan sulit untuk diolah.

(33)

Hasil pengkabelan semua perangkat dapat dilihat pada Gambar 3.6.

Gambar 3.6 Hasil pengkabelan semua perangkat

Kabel flat berwarna coklat keemasan dari gambar diatas merupakan kabel dari layar resistif, dimana layar tersebut diletakkan diatas papan penyangga yang berada diatas semua perangkat yang telah dihubungkan. Layar tersebut selanjutnya diletakkan sebuah kertas diatasnya sebagai media penulisan dan diikuti dengan penutup kotak diatas kertas tersebut. Hasil akhirnya dapat dilihat pada Gambar 3.7.

Gambar 3.7 Hasil akhir sebuah papan resistif 3. Perancangan perangkat lunak

Pada tahap ini, akan dirancang antarmuka aplikasi Android untuk menampilkan tulisan yang dikirim oleh perangkat keras. Software yang digunakan dalam pembuatan aplikasi TextReg adalah Android Studio. Aplikasi yang telah dirancang dapat dilihat pada Gambar 3.8 untuk tampilan canvas.

(34)

Gambar 3.8 Tampilan canvas pada aplikasi TextReg

Tombol clear berguna untuk menghapus semua tulisan yang ada di canvas tersebut. Tombol convert berguna untuk mengubah hasil tulisan pada canvas menjadi tulisan dengan font Times New Roman dari hasil pendeteksiannya menggunakan sistem pengenalan tulisan. Tombol save berguna untuk menyimpan hasil tulisan, baik sebelum maupun setelah dilakukan pengenalan tulisannya, pada canvas ke memori smartphone agar dapat diakses nantinya.

Tombol load berguna untuk mengambil gambar dari memori smartphone untuk ditampilkan di canvas tersebut. Tombol settings berguna untuk berpindah ke tampilan pengaturan seperti pada Gambar 3.9.

Gambar 3.9 Tampilan pengaturan pada aplikasi TextReg

Tempat penyimpanan gambar atau citra berada di folder TextReg dalam memori internal dari smartphone. Selanjutnya, terdapat tombol toggle di

Toolbar Clear

Convert Save

Load Settings

Canvas

(35)

bagian “Enable Bluetooth”, dimana jika diklik ON, user akan diminta apakah ingin menghidupkan bluetooth secara langsung atau tidak. Selain itu, ada checkbox di bagian “Auto Connect”, dimana jika dicek hidup, setiap user berada di tampilan canvas akan diminta apakah ingin menghubungkan aplikasi Android dengan Arduino yang alamat bluetooth nya telah ditentukan dari bagian “Paired Device” atau tidak. Dan jika user ingin memberikan kritik atau saran untuk mengembangkan aplikasi ini, user dapat menekan bagian “Send Feedback”.

4. Perancangan sistem komunikasi

Pada tahap ini, akan dirancang fitur yang memungkinkan sistem komunikasi antara Arduino dengan aplikasi Android [14]. Dari Gambar 3.9 sebelumnya, jika tombol toggle di bagian “Enable Bluetooth” diklik, user akan diperbolehkan mengklik bagian “Paired Device” dan setelah diklik, user akan menuju ke tampilan pemilihan perangkat yang ingin dihubungkan seperti pada Gambar 3.10.

Gambar 3.10 Tampilan pemilihan suatu perangkat

Dari gambar diatas, dapat dilihat adanya suatu modul bluetooth HC-05 dengan alamat yang tertera dibawahnya. Dalam menghubungkan antara Arduino dan Android, alamat tersebut yang diperlukan. Modul tersebut muncul di daftar tersebut setelah dilakukan pairing dengan smartphone itu sendiri.

(36)

5. Perancangan sistem pengenalan tulisan

Pada tahap ini, dilakukan pembelajaran dari beberapa data training yang ada untuk pengenalan tulisannya. Data training yang diberikan berupa 26 huruf kecil, yaitu a – z, dimana tiap huruf memiliki 16 sampel. Data training dapat dihasilkan dengan meminta 16 orang untuk menuliskan 26 huruf kecil versi mereka masing-masing di sebuah kertas. Setelah itu, kertas tersebut di- scan dan disimpan dalam bentuk .jpg untuk diolah menjadi suatu citra dengan ukuran pixel 50x50 yang terpisah dari berbagai sampel yang ada, dimana nanti akan dirata-ratakan tiap pixelnya untuk tiap huruf kecil dengan 16 sampel yang ada. Pengenalan tulisan dilakukan dengan membandingkan tiap pixel dari data training yang telah dirata-ratakan sebelumnya untuk tiap huruf dengan data testing yang dihasilkan dari penulisan pada aplikasi TextReg.

Sampel huruf yang digunakan sebagai data training dapat dilihat pada Tabel 3.1.

Tabel 3.1 Data training dari 26 huruf kecil

Huruf Sampel huruf yang di-training

a b c d e f g h i j k l

(37)

m n o p q r s t u v w x y z

3.4 Pengujian

Pengujian sistem dilakukan dengan terlebih dahulu menghubungkan Arduino dengan aplikasi Android. Setelah terhubung, penulisan dapat dilakukan dengan dua cara. Pertama, menulis pada sehelai kertas sebagai perantara yang diselipkan dalam papan resistif dengan pensil atau pen, yang berguna untuk menghasilkan tulisan baik dalam bentuk tertulis maupun digital secara bersamaan. Kedua, menulis langsung pada papan resistif itu sendiri, tetapi dengan stylus karena pensil atau pen dapat merusak layar resistif. Apa yang ditulis pada papan tersebut akan juga tertulis pada aplikasinya. Selanjutnya, hasil penulisannya dilakukan pengenalan tulisan dengan menekan tombol convert pada aplikasinya. Hasil akhirnya akan muncul suatu tulisan dalam font Times New Roman sesuai dengan apa yang terdeteksi.

(38)

BAB IV

PENGUJIAN DAN ANALISIS 4.1 Pengujian Sistem Digitalisasi

Pengujian sistem digitalisasi diawali dengan menghidupkan papan resistifnya dengan menekan tombol ON. LED merah yang hidup menandakan belum terhubung dengan aplikasi Android nya seperti pada Gambar 4.1.

Gambar 4.1 Papan resistif saat keadaan ON dan tidak terhubung

Selanjutnya, user dapat membuka aplikasi TextReg yang telah dipasang pada smartphone Android dan yang pertama kali keluar adalah tampilan seperti pada Gambar 4.2.

Gambar 4.2 Tampilan dengan munculnya pesan awal

Pesan tersebut muncul jika bagian “Auto Connect” pada tampilan pengaturan telah dicentang sebelumnya. Karena masih hanya satu papan resistif yang ingin dihubungkan, alamat bluetooth nya yang tertera di pesan tersebut telah ditentukan dalam aplikasi Android nya di bagian “Paired Device”. Jika ditekan “YES”, maka aplikasi tersebut akan mencari perangkat dengan alamat tersebut dan menghubungkannya. Jika berhasil, pada aplikasinya akan memunculkan pesan singkat telah berhasil seperti pada Gambar 4.3 dan ditandai dengan hidupnya LED hijau seperti pada Gambar 4.4.

(39)

Gambar 4.3 Tampilan telah berhasil terhubung

Gambar 4.4 Papan resistif saat keadaan ON dan telah terhubung

Setelah sudah terhubung, papan resistifnya siap menerima inputan dari penulisan yang dilakukan, baik dengan maupun tanpa perantara kertas. Hasil penulisan pada suatu kertas dapat dilihat pada Gambar 4.5 dan hasil penulisan pada aplikasinya dilihat pada Gambar 4.6.

Gambar 4.5 Hasil penulisan pada suatu kertas

(40)

Gambar 4.6 Hasil penulisan pada aplikasi TextReg 4.2 Pengujian Sistem Pengenalan Tulisan

Pengujian sistem pengenalan tulisan dapat dilakukan jika penulisan telah dilakukan pada aplikasinya. Dengan menekan tombol convert, tulisan yang terdapat pada Gambar 4.6 sebelumnya akan dilakukan pengenalan tulisan dan dikonversikan ke tulisan baru dengan font Times New Roman. Dengan data training yang telah diberikan sebelumnya pada aplikasinya, hasil pengenalan tulisannya dapat dilihat pada Gambar 4.7.

Gambar 4.7 Hasil pengenalan tulisan

Pada sistem pengenalan tulisan, dilakukan dua macam pengujian, yaitu pengujian untuk deteksi huruf dan pengujian untuk deteksi kata. Kedua pengujian tersebut dilakukan dua kali, yaitu dengan dan tanpa perantara kertas. Hasil pengujian pendeteksian huruf dengan perantara kertas pada 52 huruf dapat dilihat pada Tabel 4.1.

(41)

Tabel 4.1 Hasil pengujian pendeteksian huruf dengan perantara kertas Tulisan asli

di kertas

Citra huruf di aplikasi

Huruf

terdeteksi Jumlah huruf yang benar

I II I II I II

u a 1

b d 1

c c 2

j d 1

t q 0

f t 1

y j 0

h h 2

i i 2

j j 2

k k 2

x j 0

m x 1

n n 2

c o 1

z y 0

y q 1

p r 1

s s 2

t t 2

u h 1

v v 2

w w 2

x q 1

y y 2

z v 1

Total huruf terdeteksi benar 33

Hasil pengujian pendeteksian huruf tanpa perantara kertas dengan huruf-huruf yang sama pada tabel sebelumnya dapat dilihat pada Tabel 4.2.

(42)

Tabel 4.2 Hasil pengujian pendeteksian huruf tanpa perantara kertas Huruf yang

diuji

Citra huruf di aplikasi

Huruf

terdeteksi Jumlah huruf yang benar

I II I II

a a o 1

b k b 1

c c c 2

d d j 1

e t c 0

f f f 2

g y g 1

h h h 2

i i i 2

j j j 2

k f f 0

l j z 0

m m m 2

n n n 2

o j o 1

p p p 2

q q q 2

r r r 2

s f s 1

t t t 2

u u w 1

v v v 2

w w w 2

x j x 1

y f y 1

z z t 1

Total huruf terdeteksi benar 36

Hasil pengujian pendeteksian kata dengan perantara kertas pada 10 kata yang terdiri dari 53 huruf secara keseluruhan dapat dilihat pada Tabel 4.3.

Tabel 4.3 Hasil pengujian pendeteksian kata dengan perantara kertas Tulisan asli di

kertas

Citra kata di aplikasi

Kata terdeteksi

Jumlah huruf yang

benar

cobm 3

wlttu 3

altugq 3

(43)

jick 2

mchumox 3

cgcllg 3

iapop 2

oxtru 3

luql 2

haxh 2

Total huruf terdeteksi benar 26

Hasil pengujian pendeteksian kata tanpa perantara kertas dengan kata-kata yang sama pada tabel sebelumnya dapat dilihat pada Tabel 4.4.

Tabel 4.4 Hasil pengujian pendeteksian kata tanpa perantara kertas Kata yang

diuji

Citra kata di aplikasi

Kata terdeteksi

Jumlah huruf yang benar

coba cobu 3

waktu wgkty 3

astaga astujc 2

jeruk jqruk 4

minuman mjyumat 4

cacing cacxnj 4

laper laffr 3

extra tytra 3

lurus jurus 4

hantu babtu 3

Total huruf terdeteksi benar 33

(44)

4.3 Analisis Keseluruhan

Dari pengujian digitalisasi tulisan yang telah dilakukan, didapat 104 huruf dan 20 kata yang ditampilkan satu per satu pada aplikasi Android saat penulisan tiap huruf dan kata pada papan resistif, baik dengan maupun tanpa menggunakan perantara kertas.

Dari pengujian pengenalan tulisan yang telah dilakukan, didapat hasil pendeteksian huruf dan kata dengan menggunakan data training sebanyak 26 huruf dengan 16 sampel tiap huruf. Pengenalan tulisan dilakukan dengan membandingkan tiap pixel antara data training dan data testing dengan ukuran pixel 50x50.

Dari hasil pendeteksian huruf yang telah dilakukan pada 104 huruf, didapat sebanyak 69 huruf yang terdeteksi benar dengan persentase keberhasilan sebesar 66,35%.

Dari hasil pendeteksian kata yang telah dilakukan pada 20 kata dengan jumlah huruf sebanyak 106, didapat sebanyak 59 huruf yang terdeteksi benar dengan persentase keberhasilan sebesar 55,66%.

Berdasarkan hasil analisis yang didapat, dapat diketahui bahwa tulisan pada aplikasi tidak persis sama dengan tulisan aslinya. Hal ini terjadi diakibatkan oleh layar resistif itu sendiri karena sulit untuk dilakukan kalibrasi. Selain itu, juga diakibatkan kurangnya kestabilan tegangan yang diterima oleh aplikasi dari papan resistif yang akan diolah menjadi koordinat x dan y. Papan resistif menerima inputan berupa tekanan yang diubah menjadi tegangan sebelum dikirim ke Arduino. Karena tangan manusia sulit untuk memberikan tekanan yang tetap, maka nilai tegangan yang dihasilkan tidak stabil. Di sisi pengenalan tulisan, keakuratan dalam pendeteksian huruf dan kata masih kurang. Hal ini dipengaruhi oleh kurangnya data training untuk proses pembelajaran sistem agar dapat mengenali huruf dengan baik.

Jadi, perancangan sistem digitalisasi terdiri dari 4 tahap, yaitu merancang casing, perangkat keras, perangkat lunak, dan sistem komunikasi. Perancangan

(45)

casing dan perangkat keras akan membentuk sebuah papan resistif, sedangkan perancangan perangkat lunak dan sistem komunikasi akan membentuk aplikasi TextReg. Dalam merancang sistem pengenalan tulisan, digunakan beberapa proses pengolahan citra serta metode Naïve Bayes Classifier untuk mendeteksi tulisan.

Agar keakuratan dalam mendeteksi tulisan dengan benar lebih besar, maka optimasi yang perlu dilakukan adalah dengan menambahkan data training yang mengacu pada posisi tiap pixel.

(46)

BAB V

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Dari penelitian yang telah dilakukan, dapat disimpulkan bahwa tulisan hasil digitalisasi pada aplikasi TextReg lebih jelek dibandingkan dengan tulisan aslinya. Hal ini diakibatkan tegangan yang dihasilkan dari tekanan saat penulisan tidak stabil. Selain itu, keberhasilan terdeteksinya suatu huruf atau kata dalam pengenalan tulisan bergantung pada data training yang ada. Dari hasil pengenalan tulisan dengan dan tanpa perantara kertas, jumlah huruf yang terdeteksi benar tanpa perantara kertas lebih besar daripada dengan perantara kertas, baik dalam pendeteksian huruf maupun kata. Sistem pengenalan tulisan yang dirancang hanya dapat mendeteksi huruf kecil pisah.

5.2 Saran

Dari penelitian yang telah dilakukan, didapat saran untuk pengembangan selanjutnya. Salah satunya adalah perlu dilakukan pembelajaran lebih lanjut dengan menambahkan data training untuk tiap huruf yang mengacu pada posisi pixel. Hal ini dilakukan untuk meningkatkan keakuratan dalam mengenali tulisan dengan benar. Selain itu, perlu digunakan sebuah controller untuk menstabilkan tegangan yang dihasilkan dari tekanan saat penulisan dan mengolahnya langsung menjadi koordinat x dan y agar proses pengenalan tulisan lebih akurat dan cepat.

Untuk sistem pengenalan tulisan, sebaiknya lebih dikembangkan, terutama dalam pendeteksian huruf besar dan angka.

(47)

DAFTAR PUSTAKA

[1] Mujadin, Anwar dan Ashari Pratama, Aulia. 2017. High Precession Resistive Touch Screen Driver Circuitry for Ball on Plate Balancing Systems. Jakarta Selatan: University of Al Azhar Indonesia

[2] Morwati. 2014. Pengenalan Citra Huruf Alphabet Tulisan Tangan Menggunakan Metode Naïve Bayes Classifier. Malang: Universitas Islam Negeri Maulana Malik Ibrahim

[3] Ratana Bhalla, Mudit dan Vardhan Bhalla, Anand. 2010. Comparative Study of Various Touchscreen Technologies

[4] Siegel, Eric. 2011. Resistive Multiple Touch Screen Controllers: The Best of Both Worlds. https://www.ecnmag.com/blog/2011/09/resistive-multiple- touch-screen-controllers-best-both-worlds (diakses pada tanggal 5 Maret 2018)

[5] Mehta, Dhaval. 2011. Interfacing Touch Screen with Microcontroller.

http://mehtadhaval.blogspot.com/2011/04/touch-screen-interfacing- with.html (diakses pada tanggal 12 Juli 2018)

[6] Manoj Thakur, Komal. 4-Wire Touch Screen Interfacing with Arduino.

http://www.instructables.com/id/4-Wire-Touch-Screen-Interfacing-with- Arduino (diakses pada tanggal 5 Maret 2018)

[7] Kusumanto, RD dan Novi Tompunu, Alan. 2011. Pengolahan Citra Digital untuk Mendeteksi Obyek Menggunakan Pengolahan Warna Model Normalisasi RGB. Palembang: Politeknik Negeri Sriwijaya

[8] Satria, Dony dan Mushthofa. 2013. Perbandingan Metode Ekstraksi Ciri Histogram dan PCA untuk Mendeteksi Stoma pada Citra Penampang Daun Freycinetia

[9] Wira Gotama Putra, Jan. 2017. Pengenalan Konsep Pembelajaran Mesin.

Jepang: Tokyo

[10] Aboura, Khalid. 2016. A Naïve Bayes Classifier for Character Recognition. Arab Saudi: Imam Abdulrahman Bin Faisal University [11] Alakadarnya, Puguh. 2011. LED (Light Emiting Dioda). https://rasapas.

wordpress.com/2011/03/04/8/ (diakses pada tanggal 8 Maret 2018)

(48)

[12] Mrmak, Nebojsa. dkk. 2012. Resistor Color Code.

http://www.resistorguide .com/resistor-color-code/ (diakses pada tanggal 8 Maret 2018)

[13] DiMarzio, J. F. 2017. Beginning Android Programming with Android Studio

[14] Wirsing, Brian. 2014. Sending and Receiving Data via Bluetooth with an Android Device

(49)

LAMPIRAN Source Code

TouchDraw.ino

#define A0 X1

#define A1 X2

#define A2 Y1

#define A3 Y2

#define Xresolution 768

#define Yresolution 1024 char led = 0;

int R = 6;

int G = 7;

int X, Y, Xc, Yc;

void setup(){

Serial.begin(9600);

Serial.setTimeout(50);

pinMode(R, OUTPUT);

pinMode(G, OUTPUT);

digitalWrite(R, HIGH);

digitalWrite(G, LOW);}

void loop(){

readXY();

sendBT();

if(Serial.available() > 0){

led = Serial.read();

if(led == '1'){

digitalWrite(R, LOW);

digitalWrite(G, HIGH);

}else if(led == '0'){

digitalWrite(R, HIGH);

digitalWrite(G, LOW);}}}

void readXY(){

(50)

for(int i = 0; i< 10;i++){

pinMode(Y1, INPUT);

pinMode(Y2, INPUT);

digitalWrite(Y2, LOW);

pinMode(X1, OUTPUT);

digitalWrite(X1, HIGH);

pinMode(X2, OUTPUT);

digitalWrite(X2, LOW);

X = X + ((analogRead(Y1))/(1024/Xresolution));

pinMode(X1, INPUT);

pinMode(X2, INPUT);

digitalWrite(X2, LOW);

pinMode(Y1, OUTPUT);

digitalWrite(Y1, HIGH);

pinMode(Y2, OUTPUT);

digitalWrite(Y2, LOW);

Y = Y + ((analogRead(X1))/(1024/Yresolution));}

X = X/10;

Y = Y/10;}

void sendBT(){

if((X <= Xc+3 & X >= Xc-3) & (Y <= Yc+3 & Y >= Yc-3)){

X = Xc;

Y = Yc;}

if(X > 300){

X = 300;}

if(Y > 360){

Y = 360;}

Serial.print('#');

Serial.print(X);

Serial.print('+');

Serial.print(Y);

Serial.print('~');

(51)

Serial.println();

Xc = X;

Yc = Y;

X = 0;

Y = 0;}

Interface.java

package com.example.android.textreg;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothSocket;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.SharedPreferences;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.Uri;

import android.os.AsyncTask;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.support.v7.widget.Toolbar;

import android.view.View;

import android.widget.Toast;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.UUID;

(52)

public class Interface extends AppCompatActivity{

private CanvasView customCanvas;

private SharedPreferences mPreferences;

private String sharedPrefFile = "com.example.android.textreg";

ArrayList<ArrayList<Double>> dataArray = new ArrayList<>();

int mWidth;

int mHeight;

int bX = 0;

int bY = 0;

int xLine, yLine;

private final static int MESSAGE_READ = 2;

private Handler mHandler;

public ConnectedThread mConnectedThread;

private StringBuilder recDataString = new StringBuilder();

String address = null;

boolean autoState, backState;

private ProgressDialog progress;

BluetoothAdapter bluetoothAdapter = null;

BluetoothSocket btSocket = null;

private boolean isBtConnected = false;

static final UUID myUUID = UUID.fromString("00001101-0000-1000-8000- 00805F9B34FB");

@Override

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_interface);

customCanvas = (CanvasView) findViewById(R.id.signature_canvas);

Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);

setSupportActionBar(toolbar);

mWidth = mHeight = 0;

mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);

bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

(53)

address = getIntent().getStringExtra("EXTRA_ADDRESS");

autoState = getIntent().getBooleanExtra("AUTOSTATE", autoState);

backState = getIntent().getBooleanExtra("BACK", backState);

if(!backState){

address = mPreferences.getString("ADDRESS", address);

autoState = mPreferences.getBoolean("AUTO", autoState);}

if(savedInstanceState != null){

mWidth = savedInstanceState.getInt("width");

mHeight = savedInstanceState.getInt("height");

Toast.makeText(this, "Failed to load the image", Toast.LENGTH_SHORT).show();

Bitmap bitmap = savedInstanceState.getParcelable("bitmap");

if(bitmap != null){

customCanvas.addBitmap(bitmap);}}

if(autoState){

if(address != null){

AlertDialog.Builder alert = new AlertDialog.Builder(this);

alert.setTitle("Auto connect");

alert.setMessage("Connect to " + address + " directly?");

alert

.setPositiveButton("Yes", new DialogInterface.OnClickListener(){

@Override

public void onClick(DialogInterface dialog, int which){

if(bluetoothAdapter.isEnabled()){

new ConnectBT().execute();

}else{

Toast.makeText(Interface.this, "Bluetooth is Off", Toast.LENGTH_SHORT).show();}}})

.setNegativeButton("No", new DialogInterface.OnClickListener(){

@Override

public void onClick(DialogInterface dialog, int which){}});

(54)

alert.show();}}

mHandler = new Handler(){

public void handleMessage(android.os.Message msg){

String readMessage = (String) msg.obj;

recDataString.append(readMessage);

if(recDataString.charAt(0) == '#') { xLine = recDataString.indexOf("+");

yLine = recDataString.indexOf("~");

if (xLine > 0 & yLine > 0) {

bX = Integer.parseInt(recDataString.substring(1, xLine));

bY = Integer.parseInt(recDataString.substring(xLine + 1, yLine));

customCanvas.sendXY(bX, bY);

bX = bY = 0;

recDataString.delete(0, recDataString.length());}

}else{

recDataString.delete(0, recDataString.length());}}};}

private class ConnectBT extends AsyncTask<Void, Void, Void>{

private boolean ConnectSuccess = true;

@Override

protected void onPreExecute(){

progress = ProgressDialog.show(Interface.this, "Connecting...", "Please wait...");}

@Override

protected Void doInBackground(Void... params){

try{

if(btSocket == null || !isBtConnected){

BluetoothDevice device =

bluetoothAdapter.getRemoteDevice(address);

btSocket = device.createInsecureRfcommSocketToServiceRecord (myUUID);

BluetoothAdapter.getDefaultAdapter().cancelDiscovery();

btSocket.connect();}

(55)

}catch(IOException e){

ConnectSuccess = false;}

return null;}

@Override

protected void onPostExecute(Void result){

super.onPostExecute(result);

if(!ConnectSuccess){

Toast.makeText(Interface.this, "Connection failed. Please try again", Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(Interface.this, "Connected", Toast.LENGTH_SHORT).show();

isBtConnected = true;

try{

btSocket.getOutputStream().write("1".toString().getBytes());

}catch (IOException e){

Toast.makeText(Interface.this, "LED is still OFF. Something went wrong", Toast.LENGTH_SHORT).show();}

mConnectedThread = new ConnectedThread(btSocket);

mConnectedThread.start();}

progress.dismiss();}}

public void clear(View v){

customCanvas.clear();

Toast.makeText(this, "The image is cleared", Toast.LENGTH_SHORT).show();}

public void convert(View v){

AlertDialog.Builder alert = new AlertDialog.Builder(this);

alert.setTitle("Convert?");

alert.setMessage("Please save before as our previous data will be lost.");

alert

.setPositiveButton("Continue", new

Referensi

Dokumen terkait

pada Jurusan Kimia Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Andalas..

Jika Anda merasa bahwa jawaban yang Anda berikan salah dan Anda ingin mengganti dengan jawaban yang lain, maka Anda dapat langsung mencoret dengan memberikan

Tahap pertama dari teknik Hashing adalah penelusuran pada data untuk melakukan perhitungan support count dari setiap kandidat k–itemset dan pada saat yang sama

Instrument pengumpulan data dalam penelitian ini terdiri dari lembar observasi untuk mengukur aktivitas guru dan siswa saat menerapkan pembelajaran Matematika dengan model

Kompetensi Dasar Pembelajaran Materi Kegiatan Pembelajaran kontradiksi, dan induksi  matematis  Menyelesaikan masalah  yang berkaitan dengan  induksi matematika

Pihak pertama berjanji akan mewujudkan target kinerja yang seharusnya sesuai lampiran perjanjian ini, dalam rangka mencapai target kinerja jangka menengah seperti yang telah

X dengan menggunakan metode Work Load Analysis (WLA) dapat disimpulkan bahwa beban kerja karyawan pada bagian Visual 97.40% dengan jumlah karyawan yang optimal adalah 5

• Bahan kajian Bahan kajian disesuaikan disesuaikan dengan tingkat dengan tingkat perkembangan peserta didik. perkembangan peserta