BAB 1 PENDAHULUAN
1.1
Latar Belakang Pada era teknologi masa kini, komputer memiliki peran yang cukup besar dalam membantu mempermudah pekerjaan manusia. Fitur-fitur yang terdapat didalam komputer seperti fitur komputasi, penyimpanan data, pemrosesan gambar, video maupun suara serta masih banyak fitur-fitur lainnya dapat mendukung pekerjaan manusia. Selain itu, penggunaan komputer kini cukup umum digunakan untuk mempermudah proses bisnis sehari-hari. Dalam setiap proses bisnis memerlukan data-data yang akan diproses lebih lanjut. Data yang ada biasanya berupa data hardcopy yang akan diubah menjadi bentuk softcopy agar dapat diproses lebih lanjut lagi. Tetapi terkadang karena adanya human error dalam memasukkan data, timbul kesalahan dalam proses ini. Seperti yang diberitakan pada Kompas.com (2011), ada kesalahan input data yang dilakukan oleh petugas registrasi Seleksi Nasional Masuk Perguruan Tinggi Negeri (SNMPTN) di Universitas Hasanuddin, Makassar. Kesalahan yang terjadi adalah ada peserta yang terdaftar sebagai peserta tuna netra tetapi sebenarnya peserta tersebut bukan seorang tuna netra. Pada berita Detik.com (2009), disebutkan bahwa Indonesia pernah menerapkan teknologi Intelligent Character Recognition (ICR) pada Pemilu 2009 untuk memindai rekapitulasi perhitungan suara. Akan tetapi, sistem teknologi yang digunakan masih memiliki kelemahan dalam hal pembacaan tulisan, dimana angka “7” teridentifikasi sebagai angka “1”, angka 6 teridentifikasi sebagai angka “0”, dan sebagainya. Kelemahan pada teknologi tersebut menyebabkan data yang dihasilkan menjadi tidak valid. Hal seperti inilah yang ingin dihindari ketika sedang memasukkan data. Contoh diatas merupakan contoh dari proses bisnis yang terjadi didalam perusahaan maupun organisasi. Pada sebagian besar perusahaan dan organisasi, selalu ada kebutuhan untuk memasukkan data, baik untuk memasukkan data karyawan, kalkulasi laporan bulanan, dan berbagai kebutuhan lainnya. Dokumen yang perlu diproses di dalam perusahaan tidaklah sedikit bahkan bisa mencapai ratusan dokumen yang perlu diperiksa dan diproses kembali. 1
2 Pekerjaan ini dapat memakan waktu yang lama dan tidak efisien dilakukan karena kerap kali dapat terjadi human error sehingga kemudian dilakukan penelitian bagaimana komputer dapat mengenali bentuk tulisan. Penelitian yang sudah dilakukan oleh Dolinsky dan Takagi (2009), handwriting recognition ini dapat dicapai dengan menggunakan metode Canonical Correlation Analysis (CCA), Multiple Linear Regression Analysis, Feedforward Neural Networks (FFNNs) dan Recurrent Neural Networks (RNNs). Selain penelitian yang dilakukan oleh Dolinsky dan Takagi, dilakukan pula penelitian oleh Lu, Li, dan Tan (2008) yaitu pembacaan tulisan yang dapat dilakukan dengan menggunakan word shape coding, yaitu mengenali huruf berdasarkan dari bentuk yang dibaca. Anupama, Rupa, dan Reddy (2013) juga melakukan penelitian mengenai pembacaan image document, yaitu Telugu image document dengan menggunakan multiple histogram projection. Telugu adalah bahasa yang paling populer digunakan di India Selatan. Untuk dapat dibaca, harus dilakukan preprocessing image sebelum masuk ke tahapan segmentasi. Preprocessing image
yang
akan
dilakukan
adalah
binarization,
noise
reduction,
normalization, dan skew correction. Kemudian, akan dilanjutkan kembali ke tahapan segmentasi; line segmentation, word segmentation, dan character segmentation. Metode-metode diatas adalah metode yang dikembangkan berdasarkan salah satu cabang ilmu teknik informatika, yaitu artificial intelligence (AI). Menurut Russel dan Norvig (2010:2), AI secara umum memiliki pengertian sebagai berikut: sistem yang mampu berpikir seperti manusia, sistem yang dapat bertindak seperti manusia, sistem yang mampu berpikir secara rasional, dan sistem yang mampu bertindak rasional. Pada bidang AI ini seperti yang disebutkan sebelumnya, untuk mengenali bentuk tulisan digunakan dasar ilmu neural network, yaitu sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Menurut Fausett (1994:3-19), jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi. Dengan menggunakan pendekatan dengan ilmu neural network ini, diharapkan pembacaan dapat dilakukan dengan lebih akurat dan lebih baik.
3 Akan tetapi penelitian yang dilakukan hanyalah sejauh bagaimana menganalisa tulisan manusia dengan cara yang lebih efektif, belum sampai untuk menyimpan datanya. Dari metode-metode yang sudah dipaparkan tersebut, berarti bukanlah hal yang mustahil untuk komputer mengenali bentuk tulisan tangan manusia. Sebuah
website
penyedia
analisis
data
professional
yaitu
Netmarketshare.com, mengemukakan bahwa operating system (OS) yang paling banyak digunakan di pasar dunia adalah Windows OS. Terhitung sampai Januari 2014, sebesar 90,72% dari total keseluruhan pasar dunia adalah pengguna Windows OS. Walaupun jumlah penggunanya sedikit berkurang sejak Maret 2013 dari 91,89% pengguna, tetapi tetap saja 90% lebih pasar dunia menggunakan Windows OS sebagai OS pada komputer.
Gambar 1.1 Data Jumlah Pengguna OS Di Seluruh Dunia (Sumber: http://www.netmarketshare.com/) Maka daripada itu akan dikembangkan sebuah aplikasi yang dapat mengenali tulisan dan hasil pengenalan tulisan tersebut dapat disimpan didalam database. Aplikasi ini akan dikembangkan pada sistem operasi Windows.
1.2
Rumusan Masalah Rumusan masalah yang dapat ditarik dari latar belakang tersebut ialah: 1. Bagaimana mengembangkan aplikasi yang dapat mengenali bentuk tulisan handwriting dan machine print? 2. Bagaimana mengembangkan aplikasi yang dapat membantu pengguna untuk mengurangi kesalahan pada saat memasukkan data?
4 3. Bagaimana mengembangkan aplikasi yang dapat menyimpan data yang telah dimasukkan oleh pengguna ke dalam database? 4. Bagaimana mengembangkan aplikasi yang dapat mengubah data yang telah dimasukkan ke dalam database ke dalam bentuk PDF, Excel, maupun Notepad?
1.3
Ruang Lingkup Ruang lingkup yang akan dibahas adalah: 1. Pengembangan
aplikasi
ini
dibuat
dengan
menerapkan
algoritma
backpropagation dengan teknik neural network untuk bentuk tulisan handwriting dan menggunakan library tesseract. 2. Text recognition yang dimaksud dalam pengembangan aplikasi ini adalah handwriting dan machine print. 3. Jenis huruf yang dapat dikenali oleh aplikasi ini adalah huruf latin. 4. Pengembangan aplikasi ini menggunakan sistem operasi Windows. 5. Extention file dari image yang akan dikenali dalam bentuk .jpg atau .png. 6. Tidak terdapat noise (gangguan) pada file image yang akan dikenali, seperti posisi image yang miring, blur, dan image yang terlalu gelap. 7. Jenis tulisan harus merupakan huruf cetak, jenis huruf harus sejenis (huruf besar atau huruf kecil), dan harus ada jarak spasi antar huruf serta antar baris. 8. Background image harus berwarna putih.
1.4
Tujuan dan Manfaat Tujuan dan manfaat yang diharapkan pada aplikasi ini adalah:
1.4.1 Tujuan Berikut ini adalah tujuan dari pengembangan aplikasi ini: 1. Mengembangkan aplikasi yang dapat mengenali bentuk tulisan handwriting dengan menggunakan teknik neural network dengan algortima backpropagation dan bentuk tulisan machine print dengan menggunakan library tesseract. 2. Mengembangkan aplikasi yang dapat mengurangi kesalahan dalam memasukkan data dan memasukkan data tersebut kedalam database.
5 3. Mengembangkan aplikasi yang dapat memproses data yang telah dimasukkan kedalam database menjadi bentuk PDF, Excel, atau Notepad. 4. Mengembangkan aplikasi yang dapat memproses data dari bentuk Excel untuk dapat dimasukkan kedalam database.
1.4.2 Manfaat Berikut ini adalah manfaat dari pengembangan aplikasi ini: 1. Dengan
teknik
neural
network
menggunakan
algoritma
backpropagation aplikasi ini dapat mengenali bentuk tulisan handwriting dan menggunakan library tesseract untuk mengenali bentuk tulisan machine print. 2. Dengan adanya pengecekan redundansi data aplikasi ini dapat membantu pengguna untuk mengurangi kesalahan pada saat memasukkan data. 3. Dengan fitur save to database maka pengguna akan dapat memasukkan data ke dalam database. 4. Dengan adanya fitur export data maka pengguna akan dapat mengonversikan data yang telah tersimpan didalam database menjadi bentuk PDF, Excel, maupun Notepad. 5. Dengan adanya fitur import data maka pengguna akan dapat mengonversikan data-data yang ada dalam bentuk Excel untuk dapat dimasukkan kedalam database, sehingga proses pemasukkan data kedalam database menjadi lebih mudah.
1.5
Metodologi Penelitian Dalam mengembangkan aplikasi ini, digunakan dua metode penelitian, yaitu metode pengumpulan data dan metode perancangan.
1.5.1 Metode Pengumpulan Data Dalam metode pengumpulan data ini, dilakukan beberapa tahapan, yaitu:
6 1. Studi Literatur Mencari
referensi-referensi
terkait
dengan
aplikasi
yang
dikembangkan baik buku teori, maupun jurnal internasional yang mendukung pengembangan aplikasi. 2. Kuesioner Menyebarkan kuesioner untuk mengumpulkan data mengenai kebutuhan user melalui social media maupun secara langsung dan untuk melakukan evaluasi terhadap aplikasi yang dikembangkan 3. Analisis Aplikasi Sejenis Melakukan analisis aplikasi sejenis untuk melakukan perbandingan dengan aplikasi yang dikembangkan. 4. Wawancara Melakukan wawancara kepada narasumber yang merupakan ahli pada bidang fokus pengembangan aplikasi.
1.5.2 Metode Pengembangan Untuk metode pengembangan aplikasi, metode yang digunakan adalah agile method. Menurut Sommerville (2011:58-59), agile method merupakan metode yang efektif karena dengan menggunakan metode ini, user dilibatkan secara langsung dalam pengembangan aplikasi, proses pengembangan lebih cepat dan metode ini cocok untuk pengembangan aplikasi yang berukuran kecil hingga menengah seperti yang akan dikembangkan. Dari sekian banyak agile methods yang ada, untuk pengembangan aplikasi ini akan menggunakan metode extreme programming (XP) dengan tahapan sebagai berikut:
1. Planning Pada tahapan ini, akan dikumpulkan requirements yang dibutuhkan untuk membuat aplikasi. Dengan membuat user stories yang mendeskripsikan mengenai output, fitur, dan fungsi apa saja yang akan dibuat pada aplikasi ini. User stories ini akan disusun berdasarkan skala prioritas oleh user dan yang skala prioritasnya tinggi akan dikerjakan lebih dahulu. Stories ini dapat ditambahkan selama proses pengembangan aplikasi.
7 2. Design Pada tahapan ini, perancangan desain mengikuti prinsip KIS (Keep It Simple). Desain yang sederhana lebih efektif daripada yang kompleks.
Selain
itu,
desain
menyediakan
panduan
untuk
implementasi aplikasi yang sedang dikembangkan. Ketika membuat desain story, bisa dilakukan spike solution yaitu prototype desain langsung diimplementasikan dan dievaluasi.
3. Coding Pada tahapan ini ketika stories dan desain sudah selesai, dilakukan tes terlebih dahulu setiap story yang termasuk di dalam skala prioritas yang tinggi. Jika sudah lolos tahap pengujian maka akan dibuat kode untuk story tersebut. Kode yang dibuat akan langsung ditinjau ulang untuk memastikan kualitas dan meminimalisir error. Diharapkan programmer bekerja secara berpasangan agar dapat saling memeriksa hasil pekerjaan masing-masing. Pada tahapan ini dilakukan juga refactoring yaitu programmer diharapkan selalu melakukan refactor pada kode secara terus menerus sehingga kode tetap sederhana dan mudah untuk dipelihara.
4. Testing Pada tahapan testing, unit test yang telat dibuat sebelumnya di cek lagi untuk memastikan kualitas dan kebutuhan yang sudah ditentukan pada bagian planning sudah tercapai sepenuhnya.
1.6
Sistematika Penulisan Bab 1 – Pendahuluan Berisi sub-sub bagian dari latar belakang, ruang lingkup, tujuan dan manfaat, metode penelitian dan sistematika penulisan. Bab 2 – Tinjauan Pustaka Bab ini berisi landasan teori yang digunakan dalam pembuatan aplikasi ini beserta perbandingan aplikasi yang dikembangkan dengan teknologi yang sudah ada sekarang serta keunggulan aplikasi yang dikembangkan ini.
8 Bab 3 – Metodologi Penjelasan lebih lanjut mengenai cara untuk mengembangkan aplikasi dengan mencari solusi dari masalah yang telah dikemukan pada Bab 1 dan perancangan aplikasi selanjutnya Bab 4 – Hasil dan Pembahasan Bab ini berisi tentang hasil dari aplikasi yang telah dibuat yang diuji dengan menggunakan parameter tertentu. Bab 5 – Simpulan dan Saran Bab ini berisi kesimpulan yang bisa ditarik dari bab sebelumnya dan saran untuk pengembangan lebih lanjut dari aplikasi ini.