RANCANG BANGUN PENGENALAN AKSARA BALI CETAK DENGAN METODE TEMPLATE MATCHING DAN LIBRARY OPENCV PADA ANDROID.
RANCANG BANGUN PENGENALAN AKSARA BALI CETAK DENGAN METODE TEMPLATE MATCHING DAN LIBRARY
OPENCV PADA ANDROID
TUGAS AKHIR
Diajukan Guna Memenuhi Sebagian Persyaratan Dalam Rangka Menyelesaikan Pendidikan Sarjana Strata Satu (S1) Program Studi Teknologi Informasi
AYU PRATIWI PRADNYAWATI NIM. 1204505070
JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA
JIMBARAN – BALI 2016
(2)
ii
RANCANG BANGUN PENGENALAN AKSARA BALI CETAK DENGAN METODE TEMPLATE MATCHING DAN LIBRARY
OPENCV PADA ANDROID
TUGAS AKHIR
Diajukan Guna Memenuhi Sebagian Persyaratan Dalam Rangka Menyelesaikan Pendidikan Sarjana Strata Satu (S1) Program Studi Teknologi Informasi
AYU PRATIWI PRADNYAWATI NIM. 1204505070
JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA
JIMBARAN – BALI 2016
(3)
iii PERNYATAAN
Dengan ini saya menyatakan bahwa dalam skripsi (Tugas Akhir) ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu perguruan tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Bukit Jimbaran, Juli 2016
(4)
(5)
(6)
vi ABSTRAK
Aksara Bali merupakan Kebudayaan Bali. Budaya bangsa yang patut untuk dilestarikan, diperlukan suatu sistem pengenalan Aksara Bali yang dapat digunakan sebagai media pengenalan dan pembelajaran. Pengenalan Aksara Bali dapat dikembangkan menggunakan media Teknologi Smartphone, Teknik-teknik pengolahan citra digital dapat berfungsi untuk mengembangkan suatu Teknologi Aksara Bali berbasis Smartphone dengan membutuhkan fungsi-fungsi Library OpenCV dalam Metode Template Matching dan Metode Envelope. Metode tersebut dipilih karena dapat mengetahui pola-pola Aksara Bali yang mudah untuk dikenali dan dibandingkan. Metode Envelope bertujuan untuk proses Ekstraksi Ciri, Metode Template Matching bertujuan untuk pencocokan yang dihitung melalui perhitungan jarak menggukan Metode Euclidean Distance. Aplikasi pengenalan Aksara Bali bertujuan untuk dapat membaca dan mengenali karakter suatu citra Aksara Bali. Berdasarkan hasil analisa aplikasi diperoleh tingkat keberhasilan pengenalan Aksara Bali Cetak dengan persentase 99,36%. Kata Kunci: Aksara Bali, Metode Template Matching, Metode Envelope.
(7)
vii ABSTRACT
Balinese script is the Balinese Culture. Cultural nation that deserves to be preserved, we need a Balinese-recognition system that can be used as a medium of recognition and learning. The recognition for Balinese term can be developed using Smartphone media technology, techniques of digital image processing can be used to develop Smartphone technology for Balinese script, it also requires OpenCV Library functions in the Template Matching Method and Method of Envelope. This method was selected because it can determine the patterns of Balinese became more easier to recognize and comparison. The Envelope Method having goals to process Feature Extraction, The Template Matching Method having goals to match that calculated by the distance calculation method using Euclidean Distance. Balinese script recognition application having goals to be able read and recognize the character based on picture of the Balinese script. Based on the analysis of applications obtained recognition success rate Balinese Print with a percentage of 99.36%.
(8)
vi
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadapan Ida Sang Hyang Widhi Wasa/Tuhan Yang Maha Esa, karena atas Asung Kerta Wara Nugraha-Nya, akhirnya penulis dapat menyelesaikan laporan Tugas Akhir ini. Laporan Tugas Akhir yang berjudul “Rancang Bangun Pengenalan Aksara Bali Cetak dengan Metode Tamplate Matching dan Library OpenCV Pada Android” ini disusun sebagai syarat guna untuk memenuhi sebagian persyaratan menyelesaikan Program Sarjana S-1 pada Jurusan Teknologi Informasi Universitas Udayana.
Dalam penyusunan laporan Tugas Akhir ini, penulis mendapatkan petunjuk dan bimbingan dari berbagai pihak. Sehubungan dengan hal tersebut pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada:
1. Bapak Prof. Ir. Ngakan Putu Gede Suardana, MT.,Ph.D sebagai Dekan Fakultas Teknik Universitas Udayana.
2. Bapak Dr.Eng I Putu Agung Bayupati, S.T., M.T selaku Ketua Jurusan Teknologi Informasi Fakultas Teknik Universitas Udayana.
3. Bapak Prof. Dr. I Ketut Gede Darma Putra, S.Kom.,M.T. selaku dosen pembimbing I yang telah banyak meluangkan waktu memberikan dorongan, bimbingan, tuntunan dan kesabaran selama penyusunan laporan Tugas Akhir ini.
4. Ibu Ni Kadek Ayu Wirdiani, S.T., M.T. selaku dosen pembimbing II yang telah banyak meluangkan waktu memberikan dorongan, bimbingan, tuntunan dan kesabaran selama penyusunan laporan Tugas Akhir ini. 5. Segenap dosen pengajar dan pegawai di jurusan Teknologi Informasi
Fakultas Teknik Universitas Udayana.
6. Kepada orangtua, Ibu Ni Made Megawati, S.Si, Bapak Serda I Nyoman Sukra, Kakak Ayu Ade Mediyani, Amd,KL, Adik Ayu Widi Resty Rinjani, serta kerabat yang senantiasa memberikan dukungan semangat sehingga membantu penyusunan laporan ini.
7. I Made Jaya Swastika S.TI, sebagai pendamping dan pemberi semangat didalam penyelesaian penelitian, dan terus memberikan motivasi untuk
(9)
vii
tetap semangat dan berjuang didalam perkuliahan di Jurusan Teknologi Informasi.
8. Rekan-rekan seperjuangan mahasiswa Teknologi Informasi angkatan 2012 Yunita, Mauren, Indah, Dayu, Utami dan temen-temen yang lain, karena telah memberikan sumbangan ide, pemikiran dan pengetahuan sehingga membantu dalam penyusunan laporan tugas akhir.
Penulis menyadari bahwa laporan ini jauh dari sempurna baik dalam materi maupun penulisan. Kritik dan saran yang bersifat membangun dari semua pihak sangat diharapkan. Akhir kata, semoga laporan ini dapat memberikan manfaat bagi semua pihak sesuai dengan yang diharapkan.
Blahkiuh, Juni 2016
(10)
viii DAFTAR ISI
HALAMAN JUDUL ... ii
PERNYATAAN ... iii
ABSTRAK ... iv
ABSTRACT ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiv
DAFTAR RUMUS ... xv
KODE PROGRAM ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Tujuan Penelitian ... 3
1.4 Manfaat Penelitian ... 3
1.5 Batasan Masalah ... 4
1.6 Sistematika Penulisan ... 4
BAB II TINJAUAN PUSTAKA ... 6
2.1 State Of The Art ... 6
2.2 Aksara Bali ... 8
2.3 Citra Digital ... 13
2.3.1 Citra Biner ... 13
2.4 Pengolahan Citra Digital ... 14
2.4.1 Akuisisi Citra ... 15
2.4.2 Preprocessing ... 16
2.4.2.1 Grayscale ... 16
2.4.2.2 Biner ... 16
2.4.3 Segmentasi ... 17
2.4.3.1 Metode Projection Profile ... 17
(11)
ix
2.4.5 Pencocokan ... 19
2.4.5.1 Metode Template Matching ... 19
2.4.5.1 Metode Euclidean Distance ... 20
2.5 OpenCV ... 20
2.5.1 OpenCV pada Android ... 21
BAB III METODE DAN PERANCANGAN SISTEM ... 22
3.1 Tempat dan Waktu Penelitian ... 22
3.2 Data ... 22
3.2.1 Sumber Data ... 22
3.2.2 Jenis Data... 22
3.2.2.1 Data Primer ... 22
3.2.2.2 Data Sekunder ... 23
3.3 Populasi dan Sample ... 23
3.3.1 Populasi ... 23
3.4 Materi dan Alur Penelitian ... 24
3.4.1 Materi ... 24
3.4.2 Alat Penelitian ... 24
3.4.3 Alur Penelitian ... 25
3.5 Perancangan Sistem ... 26
3.5.1 Gambaran Umum Sistem ... 26
3.5.1.1 Gambaran Umum Proses Pendaftaran ... 26
3.5.1.2 Gambaran Umum Pengenalan ... 27
3.5.2 Akuisisi Citra ... 28
3.5.3 Preprocessing ... 29
3.5.4 Segmentasi ... 29
3.5.5 Resize ... 30
3.5.6 Ekstraksi Fitur ... 30
3.5.6.1 Metode Simpul (Envelope) ... 30
3.5.7 Pencocokan ... 32
3.6 Data Flow Diagram (DFD) ... 33
(12)
x
3.6.2 DFD Level 0 ... 35
3.6.3 DFD Level 1 (Pendaftaran) ... 35
3.6.4 DFD Level 1 (Pengenalan) ... 37
3.7 Algoritma Pemrograman ... 38
3.7.1 Diagram Alir (Flowchart) ... 38
3.7.1.1 Flowchart Pendaftaran ... 38
3.8 Rancangan Database ... 41
BAB IV PENGUJIAN DAN ANALISIS SISTEM ... 45
4.1 Analisis Umum Aplikasi ... 45
4.1.1 Analisis Aplikasi Pendaftaran ... 45
4.1.2 Analisis Umum Aplikasi Pengenalan ... 46
4.2 Pengujian Sistem ... 48
4.2.1 Pengujian Interface Aplikasi ... 49
4.2.1.1 Tampilan Splash Screen ... 49
4.2.1.2 Tampilan Halaman Utama... 50
4.2.1.3 Tampilan Menu Ambil Foto ... 51
4.2.1.4 Tampilan Halaman Preprocessing ... 51
4.2.1.5 Tampilan Halaman Segmentasi ... 52
4.2.1.6 Tampilan Halaman Resize ... 53
4.2.1.7 Tampilan Hasil ... 55
4.2.1.8 Tampilan Tambah Data ... 56
4.2.1.9 Tampilan Pemilihan Akuisisi Citra Tambah Data . 57 4.2.1.10 Tampilan Crop Tambah Data ... 58
4.2.1.11 Tampilan Pengisian Gambar Aksara, Nama Aksara dan Deskripsi Aksara ... 59
4.2.1.12 Tampilan Hasil Tambah Data ... 60
4.2.1.13 Tampilan Halaman About ... 61
4.2.1.14 Tampilan Validasi Menu Exit ... 61
4.3 Skenario Pengujian... 62
4.4 Analisis Sistem ... 62
(13)
xi
4.4.2 Analisi FAR (False Acceptance Rate) ... 64
4.4.3 Kelebihan dan Kelemahan Aplikasi ... 65
BAB V Simpulan ... 67
5.1 Simpulan ... 67
5.2 Saran ... 68
DAFTAR PUSTAKA ... 69
(14)
xii DAFTAR GAMBAR
Gambar 2.1 Citra Awal ... 18
Gambar 2.2 Grafik dari Projection Profile ... 18
Gambar 3.1 Pendaftaran Aksara Bali ... 26
Gambar 3.2 Pengenalan Aksara Bali ... 27
Gambar 3.3 ProseS Konversi Citra Original ke Citra Binary ... 29
Gambar 3.4 Proses Segmentasi Projection Profile ... 29
Gambar 3.5 Contoh Citra Hasil Resize ... 30
Gambar 3.6 Contoh Perhitungan Metode Simpul (Top Bottoms) ... 31
Gambar 3.7 Contoh Perhitungan Metode Simpul (Left Right) ... 31
Gambar 3.8 Hasi Pengabungan TopBootoms (kiri) dan LeftRight (kanan) . 32 Gambar 3.9 Diagram Konteks Aplikasi Pengenalan Aksara Bali ... 33
Gambar 3.10 Hierarchy chart Pengenalan Aksara Bali Berbasis Android 34 Gambar 3.11 DFD Level 0 ... 35
Gambar 3.12 DFD Level 1 Pendaftaran ... 36
Gambar 3.13 DFD Level 1 Pengenalan ... 37
Gambar 3.14 Flowchart Pendaftaran ... 39
Gambar 3.15 Flowchart Pengenalan ... 40
Gambar 4.1 Analisis Umum Aplikasi Pendaftaran ... 46
Gambar 4.2 Analisis Umum Aplikasi Pengenalan ... 47
Gambar 4.3. Tampilan Splash Screen ... 49
Gambar 4.4 Tampilan Menu Utama... 50
Gambar 4.5 Tampilan Menu Ambil Foto ... 51
Gambar 4.6 Tahap Biner ... 52
Gambar 4.7 Tampilan Tahap Segmentasi ... 53
Gambar 4.8 Tampilan Halaman Perkarkter Segmentasi ... 54
Gambar 4.9 Tampilan Halaman Hasil ... 55
Gambar 4.10 Tampilan Tambah Data, Masuk ke Halaman Tambah data (Kiri) dan Proses Tambah Data (Kanan) ... 56
Gambar 4.11 Tampilan Pemilihan Akuisisi Citra Tambah Data ... 57
(15)
xiii
Gambar 4.13 Tampilan Pengisian Gambar Aksara, Nama Aksara dan
Deskripsi Aksra ... 59
Gambar 4.14 Tampilan Hasil Tambah Data ... 60
Gambar 4.15 Halaman Menu About... 61
(16)
xiv DAFTAR TABEL
Tabel 2.1 Aksara Wianjana ... 10
Tabel 2.2 Sandangan Suara ... 11
Tabel 2.3 Pengangge Tengenan ... 12
Tabel 3.1 Sample Aksara Wianjana ... 23
Tabel 3.2 Tabel Aksara ... 41
Tabel 4.1 Data Uji Aksara Bali ... 63
(17)
xv DAFTAR RUMUS
Rumus 2.1 Perhitungan Grayscale ... 16
Rumus 2.2 Persamaan Template ... 20
Rumus 2.3 Perhitungan Euclidean Distance ... 20
Rumus 2.4 Perhitungan Nilai Matriks ... 20
Rumus 2.5 Nilai Euclidean Distance ... 20
Rumus 4.1 Perhitungan Rata-rata Kesusksesan ... 62
(18)
xvi KODE PROGRAM
(19)
1 BAB I PENDAHULUAN
Bab Pendahuluan ini diuraikan mengenai latar belakang, rumusan masalah yang akan dibahas, tujuan penelitian, manfaat penelitian, batasan masalah dalam pembuatan sistem untuk mempersempit ruang lingkup pembahasan, serta sistematika penulisan yang digunakan dalam pembuatan Laporan.
1.1 Latar Belakang
Aksara Bali merupakan mahkota dalam Kebudayaan Bali. Aksara secara etimogis berasal dari bahasa Sanskerta yaitu akar kata a 'tidak' dan ksara 'termusnahkan'. Aksara adalah sesuatu yang tidak termusnahkan/kekal/langgeng, sebagai sesuatu yang kekal, karena peranan aksara dalam mendokumentasikan dan mengabadikan suatu peristiwa komunikasi dalam bentuk tulis. Aksara yang ditatah di atas batu hingga ditulis di atas daun lontar dan lempeng tembaga, kesuraman dan kejayaan masa lalu dapat di jamah kembali dengan bukti-bukti literal (Guna Yasa, 2012).
Salah satu budaya bangsa yang patut untuk dilestarikan, maka diperlukan suatu sistem pengenalan Aksara Bali yang dapat digunakan sebagai media pengenalan dan pembelajaran Aksara Bali bagi pihak-pihak yang membutuhkan. Sistem pengenalan pola merupakan peniruan kemampuan panca indera yang dimiliki manusia khususnya penglihatan dan pendengaran. Meniru indera penglihatan manusia, komputer harus mempunyai suatu mekanisme standar dan logis dalam mengenali pola yang ada pada suatu citra yang sedang diproses.
Motivasi untuk mencoba suatu konsep sederhana untuk mengenali pola dari suatu citra sehingga dapat diidentifikasi dengan baik. Penelitian pengenalan Aksara Bali dapat dilakukan dengan memanfaatkan pengolahan citra digital. Pengolahan citra digital merupakan proses untuk meningkatkan kualitas suatu citra dan menyiapkannnya untuk dilakukan ekstrasi fitur. Fitur digunakan untuk melakukan pencocokan terhadap citra yang ingin diuji. Pengolahan citra digital memiliki banyak metode yang dapat digunakan untuk proses ekstrasi fitur. Hal ini
(20)
2
bergantung pada objek yang ingin digunakan dan kecepatan proses yang diperlukan. Proses yang digunakan dalam penelitian ini yaitu akuisisi citra, preprocessing, segmentasi citra, pengenalan dan hasil keputusan pengenalan.
Penelitian untuk pengenalan Aksara Bali ini sudah pernah ada yang melakukan tetapi dengan Metode Kurva dibuat dengan berbasiskan desktop (Computer atau PC) yang dilakukan oleh I Gusti Agung Bagus Ananta Putra (Ananta Putra, 2014) selain itu juga ada yang menggunakan pola khusus yang dibentuk dari Pola Busur Terlokalisasi untuk melakukan ekstrasi citra Aksara Bali yang dilakukan oleh Ni Kadek Ayu Wirdiani (Ayu Wirdi, 2011), juga ada yang menggunakan Metode Modified Direction Feature (MDF) dan Learning Vector Quantization (LVQ) (Agung BW dkk, 2009), Aplikasi Pembelajaran Pengenal Aksara Bali Menggunakan Metode Template Matching yang memperoleh hasil keakuratan sistem admin 95,45% dan sistem user sebesar 86,25% (Sulatri Dewi dkk, 2014) dan Segmentasi Citra Aksara Bali Pada Lontar Menggunakan Metode CIELAB dan Projection Profile. Penelitian yang dibuat menggunakan foto dengan Metode Template Matching dan berbasis Android yang menggunakan Library OpenCV belum pernah ada yang melakukan. Berdasarkan hal tersebut maka pada penelitian ini dipergunakan foto Aksara Bali menggunakan Metode Template Matching dan Library OpenCV untuk pengenalan Aksara Bali.
Penelitian mengenai pengenalan Aksara Bali telah banyak yang menjadikan penelitian Tugas Akhir maupun Thesis tetapi untuk berbasis mobile atau Android belum pernah ada yang menjadikan penelitian Tugas Akhir maupun Thesis, maka dari itu penelitian Aksara Bali ini menggunakan platform Android dimana agar pengguna dapat menggunakan aplikasi ini dengan mudah karena sifat dari platform Android yang portable. Cara kerja aplikasi ini nantinya dengan User menginputkan citra Aksra dari buku Aksara Bali.
(21)
3
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan beberapa permasalahan yang dibahas dalam penelitian ini sebagai berikut:
1. Bagaimana cara mengenali Aksara Bali berdasarkan dengan Metode Templete Matching dengan ekstraksi fitur menggunakan Metode Envelope. 2. Bagaimana keakuratan pengenalan Aksara Bali menggunakan dengan
Metode Templete Matching denagan ekstraksi fitur menggunakan Metode Envelope.
1.3 Tujuan Penelitian
Tujuan yang ingin dicapai dari penelitian pengenalan Aksara Bali ini adalah sebagai berikut:
1. Membuat aplikasi untuk mengenali citra Aksara Bali berbasis Android dengan menggunakan Metode Templete Matching dengan ekstraksi fitur menggunakan Metode envelope.
2. Mengetahui keakuratan pengenalan citra Aksara Bali berdasarkan dengan menggunakan Metode Templete Matching dengan ekstraksi fitur menggunakan Metode envelope.
1.4 Manfaat Penelitian
Manfaat dari hasil penelitian ini diharapkan dapat digunakan untuk sebagian besar masyarakat umum sebagai.
1. Bahan acuan dan pemahaman mengenai pengenalan Aksara Bali.
2. Masyarakat secara umum agar dapat menggunakan aplikasi pengenalan Aksara Bali ini untuk lebih mengenal Aksara Bali berdasarkan karakter huruf Aksara Bali.
(22)
4
1.5 Batasan Masalah
Melihat luasnya permasalahan, maka dalam laporan ini dibuat beberapa asumsi dengan tujuan agar pembahasan menjadi lebih terarah serta untuk menyederhanakan dan membatasi permasalahan. Adapun batasan masalah dari penelitian ini adalah sebagai berikut:
1. Input data pada aplikasi ini berupa citra Aksara Bali dengan latar belakang solid (seperti putih), hal ini dilakukan untuk memudahkan dalam pemisahan citra Aksara Bali dengan latar belakangnya.
2. Aplikasi yang dirancang hanya sampai penggolangan perkarakter Aksara Bali. Aplikasi pengenalan Aksara Bali menggunakan citra input berupa Aksara Bali cetak. .
3. Aksara Bali yang digunakan sebagai sample yaitu bagian Aksara Wianjana yang terdiri dari 18 huruf.
4. Pengambilan gambar Aksara hanya dapat dilakukan dengan satu posisi.
1.6 Sistematika Penulisan
Sistematika penulisan yang digunakan dalam penulisan ini adalah sebagai berikut:
BAB I : PENDAHULUAN
Berisikan latar belakang mengenai masalah, rumusan masalah, tujuan, manfaat, dan batasan masalah, serta sistematika penulisan.
BAB II : TINJAUAN PUSTAKA
Berisikan tentang teori-teori penunjang dalam pembuatan aplikasi pengenalan Aksara Bali, meliputi teori dasar pengolahan citra, pengenalan pola dan metode pencocokan.
BAB III : PERANCANGAN SISTEM
Berisikan tentang rancangan aplikasi, gambaran umum, sumber data, metode analisis, bahasa pemrograman dalam pembuatan aplikasi pengenalan Aksara Bali.
(23)
5
BAB IV : PENGUJIAN ANALISA SISTEM
Berisikan tentang pembahasan hasil pengujian tampilan dan analisa terhadap keakuratan aplikasi pengenalan Aksara Bali.
BAB V : PENUTUP
Berisikan tentang simpulan yang menjawab permasalahan yang telah dirumusakan dan berisikan saran-saran untuk pengembangan penelitian lebih lanjut.
(24)
6 BAB II
TINJAUAN PUSTAKA
Bab Tinjauan Pustaka ini dipaparkan teori penunjang yang menjadi dasar dalam analisis hasil. Teori penunjang yang disertai antara lain teori tentang Aksara Bali, karakteristik Aksara Bali, pengolahan citra digital, ekstrasi fitur, dan pengenalan pola.
2.1 State Of The Art
Penelitian mengenai pengenalan Aksara Bali telah dilakukan melalui beberapa penelitian pengolahan citra digital tetapi dari penelitian-penelitian tersebut, dilakukan pada lingkungan aplikasi desktop, sehingga masih sedikit penelitian dengan pengenalan Aksara Bali ini yang berada pada lingkungan mobile. Beberapa referensi yang bisa dijadikan acuan untuk menjelaskan tentang penelitian tersebut adalah sebagai berikut:
1. Penelitian Tjokorda Agung BW, I Gede Rudy Hermanto, Retno Novi D ang menggunakan Metode MDF dan LVQ untuk pengenalan huruf Bali (Agung BW dkk, 2009). Penelitian ini menghasilkan akurasi tertinggi sebesar 88,89%. Tingkat akurasi pada sistem pengenalan ini dipengaruhi oleh ukuran normalisasi, jumlah transisi, dan pembagian wilayah. Konfigurasi parameter MDF yang menghasilkan akurasi terbaik adalah: ukuran normalisasi 100x50 pixel, jumlah transisi 4, dan tidak dilakukan pembagian gambar menjadi beberapa bagian.
2. Penelitian Ni Kadek Ayu Wirdiani “Pembentukan Pola Khusus Untuk Ekstrasi Ciri pada Sistem Pengenalan Aksara Bali Cetak” (Ayu Wirdi, 2011) membuat dengan menggunakan pola khusus yang dibentuk dari Pola Busur Terlokalisasi untuk melakukan ekstraksi ciri citra Aksara Bali.
Sistem yang dikembangkan mempunyai prosentase kesalahan minimum pada semua kombinasi konstanta pengali nilai ambang Cd 2,0; 3,0; 4,0; 5,0 dan konstanta pemotongan nilai eigen q bernilai 3, dengan rata-rata kesalahan sistem adalah 3,6 % sehingga diperoleh tingkat keberhasilan 96,4%.
(25)
7
3. Penelitian I Gusti Agung Bagus Ananta Putra “Rancang Bangun Aplikasi
Pengenalan Aksara Bali dengan Metode Kurva” (Ananta Putra, 2014)
membuat pengenalan citra Aksara Bali berdasarkan pola aksaranya yang dapat diaplikasikan pada media computer atau berbasis desktop dengan menerapkan Metode Kurva dan Histogram Proyeksi untuk mengenali pola dari Aksara Bali tersebut. Metode Kurva dan Histogram Proyeksi berdasarkan hasil analisa aplikasi mendapatkan tingkat keberhasilan mengenali Aksara Bali di dalam Buku Widya Sari Bahasa Bali dengan persentase 92,31%. Akurasi pada proses pengenalan dipengaruhi saat akuisisi citra, dimana terdapat jarak dari satu aksara ke aksara lainnya.
4. Penelitian Made Sulatri Dewi, Made Windu Antara Kesiman, dan I Made Gede Sunarya “Aplikasi Pembelajaran Pengenalan Aksara Bali Menggunakan Metode Template Matching” menguji kesesuaian hasil input dan output Aksara Bali diperoleh keakuratan uji coba pada admin (orang yang data templatenya disimpan pada database) menghasilkan nilai yang lebih besar dibandingkan user (orang yang data templatenya belum disimpan pada database). Admin diperoleh rata-rata keakuratan sistem sebesar 95.45 % sedangkan pada user sebesar 86.25 %.
5. Penelitian Ni Putu Sutramiani “Segmentasi Citra Aksara Bali Pada Lontar Menggunakan Metode CIELAB dan Projection Profile” Mengetahui unjuk kerja dari ruang warna CIELAB dan Projection Profile Segmentasi Aksara Bali pada Lontar Bali. Ruang warna CIELab menghasilkan citra dengan nilai dari komponen L = 45, citra komponen a = 128, dan citra dari komponen b = 127. Nilai perbedaan antara citra L dengan citra a dan citra b sangat jauh dan Rata-rata dari nilai kuisioner yang diberikan dari responden pada pertanyaan nomor 1 sebesar 2,77. Nilai ini diberikan dengan melihat proses dari akuisisi citra lontar sampai proses segmentasi. Rata-rata nilai dari pertanyaan kedua yaitu 2,57. Rata-rata nilai pada pertanyaan kedua lebih rendah daripada rata-rata nilai dari pertanyaan pertama karena citra hasil segmentasi yang diperlihatkan adalah citra aksara yang sudah di-thinning. Rata-rata nilai dari pertanyaan ketiga
(26)
8
adalah 2,69. Rata-rata nilai tersebut secara keseluruhan sebesar 2,68 dari skala 4 maka disimpulkan bahwa unjuk kerja dari segmentasi citra lontar mendekati baik.
6. Penelitian Mamatha H R dan Srikantamurthy K, Operasi dan Projection Profile Morfologi Segmentasi Berdasarkan Dokumen Tulisan Tangan Kannada. Metode yang digunakan terdiri dari dua tahap. Tahap pertama, teknik morfologi Matematika digunakan untuk menghapus komponen terputus dan membangun jembatan antar komponen. Tahap kedua teknik profil proyeksi digunakan segmentasi teks ke baris, kata dan karakter. Metode ini menguji dibatasi script Kannada tulisan tangan, yang memiliki tantangan lebih dan kesulitan karena kompleksitas yang terlibat dalam script. Penggunaan morfologi membuat panggilan baris teks efisien dengan tingkat ekstraksi rata-rata 94,5%. Kesenjangan kata antar dan intra bervariasi mendapatkan tingkat segmentasi rata-rata 82,23% dan 73,08% untuk kata-kata dan karakter masing-masing.
Aplikasi pengenalan karakter Aksara Bali dibuat pada lingkungan aplikasi mobile Android diharapkan dapat memudahkan user dalam melakukan proses pengenalan Aksara Bali. Database Aksara Bali dan sistem dari aplikasi ditanamkan langsung pada aplikasi ini.
2.2 Aksara Bali
Aksara merupakan salah satu jenis simbol visual dari suatu bahasa. Bahasa Bali dapat ditulis dengan dua jenis simbul yaitu dengan tulisan Bali dan tulisan Bali Latin. Tulisan Bali erat hubungannya dengan pasang pageh Aksara Bali, dikarenakan apabila terjadi salah menulis bisa menimbulkan banyak arti lain atau dapat dikatakan memiliki kata-kata yang homonym (Ananta Putra, 2014).
Menurut keputusan Pasamuhan Agung Bahasa Bali yang dilaksanakan bersama guru-guru Bahasa Bali, pemerhati Bahasa Bali, dan kalangan budayawan seluruh Bali, menghasilkan bahwa Ejaan Bahasa Bali dengan Huruf Latin harus disesuaikan dengan Ejaan Bahasa Indonesia (Ananta Putra, 2014). Hasil Keputusan dari Pesamuah Agung tersebut adalah:
(27)
9
1. Ejaan itu dibuat sesederhana mungkin.
2. Ejaan itu harus fonetik, artinya tepat atau mendekati ucapan yang sebenarnya.
Berdasarkan 2 hal tersebut, maka ditetapkan huruf-huruf yang dipakai untuk menuliskan Bahasa Bali dengan Huruf Latin sebagai tersebut di bawah ini:
a. Aksara Suara (vokal) : a, e, i, u, e, o (6 buah, telah diubah pepet dan taling sama).
b. Aksara Wianjana (konsonan): ha, na, ca, ra, ka, da, ta, sa, wa, la, ma, ga, ba, nga, pa, ja, ya, nya, (18 buah)
Contoh dari huruf atau Aksara Bali yang ada sekarang dengan Tulisan Bali Latin adalah sebagai berikut:
1. Aksaran Wianjana
Tulisan atau Aksara Bali yang salah satunya disebut dengan Aksara Wianjana. Aksara Wianjana merupakan aksara yang paling penting selain dari aksara suara, karena tanpa Aksara Wianjana kata ataupun kalimat tidak dapat dibentuk. Tampilan Aksara Wianjana dapat dilihat pada Gambar 2.1 dibawah ini:
(28)
10
Tabel 2.1. Aksara Wianjana (Sumber: Ananta Putra, 2014)
2. Pengangge
Pangangge atau sandangan adalah lambang yang tidak dapat berdiri sendiri, ditulis melekat atau harus bersama suatu Aksara Wianjana maupun aksara suara yang mempengaruhi cara membaca dan menulis Aksara Bali (Ananta Putra, 2014). Pengangge memiliki berbagai jenis, jenis pangangge antara lain sebagai berikut:
a. Pengangge suara
Apabila suatu Aksara Wianjana (konsonan) dibubuhi pangangge Aksara Suara (vokal), maka cara membaca aksara tersebut akan berubah. Sebagai contoh huruf Na dibubuhi ulu dibaca Ni, dan sebagainya. Khusus untuk huruf Ha ada pengecualian, kadangkala bunyi H diucapkan, kadangkala tidak. Hal ini tergantung pada kata dan kalimat yang ditulis (Ananta Putra, 2014).
(29)
11
Tabel 2.2. Sandangan Suara (Sumber: Ananta Putra, 2014)
b. Pengangge Tengenan
Pangangge Tengenan (kecuali adeg-adeg) merupakan Aksara Wianjana yang bunyi “vokal” atau “a” atau “nya” tidak ada. Pangangge tengenan terdiri dari: bisah, cecek, surang dan adeg-adeg.
(30)
12
Tabel 2.3. Pengangge Tengenan (Sumber: Ananta Putra, 2014)
3. Gantungan
Gantungan memiliki aturan tersendiri dari segi penulisannya terutama adeg-adeg tidak boleh dipasang di tengah kalimat, agar Aksara Wianjana tidak "mati" (tanpa vokal), dikarenakan hal tersebut di tengah kalimat dipakailah gantungan. Gantungan membuat Aksara Wianjana yang dilekatinya tidak bisa lagi diucapkan dengan huruf “a”, misalnya aksara Na dibaca N dan sebagainya. Apabila gantungan melekan pada Aksara Wianjana, maka tidak ada vokal a pada Aksara Wianjana seperti semestinya. Setiap Aksara Wianjana memiliki gantungan tersendiri. Apabila untuk mematikan suatu aksara dengan menggunakan gantungan, aksara yang hendak dimatikan harus dilekatkan dengan gantungan. Misalnya jika menulis kata "Nda", huruf Na harus dimatikan. Maka, huruf Na dilekatkan dengan gantungan Da (Ananta Putra, 2014).
Huruf Na dilekati oleh gantungan Da, maka Na diucapkan N. Gantungan dan pangangge diperbolehkan melekat pada satu huruf yang sama, namun bila dua gantungan melekat di bawah huruf yang sama, tidak diperbolehkan. Kondisi dimana ada dua gantungan yang melekat di bawah suatu huruf yang sama disebut tumpuk telu (tiga tumpukan). Menghindari hal tersebut maka penggunaan
(31)
adeg-13
adeg ditengah kalimat dibolehkan asalkan sesuai aturan kondisi tumpuk telu (tiga tumpukan) tersebut (Ananta Putra, 2014).
2.3 Citra Digital
Citra digital merupakan citra hasil digitalisasi yang dapat diolah pada suatu komputer digital. Citra digital tersusun atas sejumlah elemen. Elemen-elemenn yang menyusun citra digital disebut pixel. Pixel merupakan kependekan dari picture element, yang berarti elemen atau unsur penyusun citra digital. Citra digital disimpan dalam media penyimpanan dengan menyimpan pixel penyusunnya. Memori yang dibutuhkan untuk menyimpan citra tergantung pada jumlah pixel yang menyusun citra (Agus Surya, 2014).
2.3.1 Citra Biner
Citra biner merupakan citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner (Darma Putra. 2010). Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengembangan, morfologi, ataupun dithering.
Binarization adalah langkah awal dari kebanyakan proses dalam sistem analisis dokumen citra dan mengacu pada konversi dari gambar grayscale menjadi gambar biner. Literatur, binarization biasanya di laporkan dilakukan baik secara global maupun lokal. Metode global (thresholding global) menggunakan nilai ambang tunggal untuk mengklasifikasikan piksel gambar ke kelas objek atau latar belakang skema lokal (adaptif thresholding) dapat menggunakan beberapa nilai yang dipilih sesuai dengan informasi daerah setempat. Sebagian besar algoritma yang diusulkan untuk binerisasi gambar yang optimal bergantung pada metode statistik, tanpa memperhitungkan sifat khusus dari dokumen gambar (Gede Sunarya. 2015).
(32)
14
Citra biner adalah citra yang hanya mempunyai dua nilai derajat keabuan yaitu hitam (0) dan putih (1). Citra biner merupakan citra yang banyak dimanfaatkan untuk keperluan pattern recognition seperti pengenalan angka, huruf maupun tandatangan.Piksel-piksel objek bernilai 1 dan piksel-piksel latar belakang bernilai 0 (Gede Sunarya. 2015).
Pengkonversian citra grayscale menjadi citra biner dilakukan untuk alasan-alasan sebagai berikut (Gede Sunarya. 2015).
1. Untuk mengidentifikasi keberadaan objek, yang direpresentasikan sebagai daerah (region) di dalam citra. Misalnya ingin memisahkan objek dengan latar belakangnya. Piksel-piksel objek dinyatakan dengan nilai 1 sedangkan piksel lainnya dengan 0.
2. Untuk memfokuskan pada analisis bentuk morfologi, yang dalam hal ini piksel tidak terlalu penting dibandingkan bentuknya.
3. Untuk menampilkan citra pada piranti keluaran yang hanya mempunyai resolusi satu bit, yaitu piranti penampil biner seperti pencetak (printer). 4. Mengkonversi citra yang telah ditingkatkan kualitas tepinya ke
penggambaran garis-garis tepi
2.4 Pengolahan Citra Digital
Pengolahan citra digital menunjuk pada pemrosesan gambar 2 dimensi menggunakan komputer (Darma Putra. 2010). Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu
Foto adalah contoh gambar berdimensi dua yang bisa diolah dengan mudah. Setiap foto dalam bentuk citra digital (misalnya berasal dari kamera digital) dapat diolah melalui perangkat lunak tertentu. Sebagai contoh, apabila hasil bidikan kamera terlihat agak gelap, citra dapat diolah agar menjadi lebih terang. Dimungkinkan pula untuk memisahkan foto orang dari latar belakangnya. Gambaran tersebut menunjukkan hal sederhana yang dapat dilakukan melalui pengolahan citra digital.
(33)
15
Pengolahan citra digital merupakan proses yang bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan:
1. Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah diinterpretasi oleh mata manusia.
2. Mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.
Bidang aplikasi kedua yang sangat erat hubungannya dengan ilmu pengetahuan pole (pattern recognition) yang umumnya bertujuan mengenali suatu objek dengan cara mengekstrak informasi penting yang terdapat pada suatu citra. Bila pengenalan pola dihubungkan dengan pengolahan citra, diharapkan terbentuk suatu sistem yang dapat memproses citra masukan sehingga citra tersebut dapat dikenali polanya. Proses ini disebut pengenalan citra atau image recognition. Proses pengenalan citra ini sering diterapkan dalam kehidupan sehari-hari.
Pengolahan citra dan pengenalan pola menjadi bagian dari proses pengenalan citra. Kedua aplikasi ini saling melengkapi untuk mendapatkan ciri khas dari suatu citra yang hendak dikenali. Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi.
2.4.1 Akuisisi Citra
Proses Akuisisi citra adalah pemetaan suatu pandangan (scane) menjadi citra kontinu dengan menngunakan sensor. Ada beberapa macam sensor untuk akuisisi citra, yaitu sensor tunggal (single sensor), sensor garis (sensor strip), dan sensor larik (sensor array) (Darma Putra, 2010).
Sensor tunggal yang paling familiar adalah photodiode. Photodiode terbentuk dari silikon yang memiliki tegangan keluaran yang sebanding dengan cahaya. Menciptakan citra 2 dimensi menngunakan sensor ini, harus ada proses pemindahan relatif di setiap sumbu x dan y antara sensor dan objek. Sensor garis melakukan pencitraan satu arah. Sensor ini berupa deretan sensor yang disatukan dalam satu baris sehingga dapat melakukan akuisisi sumbu x secara bersamaan.
(34)
16
Untuk mengakuisisi citra keseluruhan, sensor digerakan searah sumbu y. Sensor larik, sensor jenis ini banyak sekali ditemukan dalam kamera digital. Sensor ini berbentuk larik 2 dimensi. Sensor larik yang terdapat ada kamera digital disebut sensor CCD dengan ukuran sensor rata-rata mencapai 4.000 x 4.000 elemen (Darma Putra, 2010).
Pengambilan data dapat dilakukan dengan menggunakan berbagai media seperti kamera analog, kamera digital, handycamp, scanner, optical reader dan sebagainya. Citra yang dihasilkan belum tentu data digital, sehingga perlu didigitalisasi.
2.4.2 Preprocessing
Tahap preprocessing merupakan tahapan dalam mempersiapan citra yang telah diakuisisi untuk siap dilakukan ekstraksi fitur. Jadi pada tahapan ini dilakukan beberapa pengolahan citra agar mendapatkan hasil yang lebih baik, sehingga hasil ekstraksi fitur nantinya akan lebih baik pula. Pengolahan citra yang dilakukan pada tahap preprocessing dapat berupa konversi citra ke bentuk grayscale.
2.4.2.1Grayscale
Proses konversi citra bewarna ke citra grayscale dapat dilakukan dengan persamaan berikut:
... (2.1) Variabel l adalah nilai (tingkat) warna grayscale pada posisi (x,y) sedangkan R, G, dan B berturut-turut menyatakan nilai komponen ruang warna R (merah), G (hijau), dan B (biru) dari nilai setiap piksel citra bewarna pada posisi . Jadi dapat dikatakan bahwa citra grayscale merupakan nilai rata-rata dari RGB setiap piksel.
2.4.2.2Biner
Citra biner adalah citra dengan nilai warna 0 - 255, sehingga citra akan terlihat hanya dengan warna hitam putih. Untuk mengubah citra menjadi biner, maka pada citra grayscale nilai warnanya ditentukan dengan nilai acuan
(35)
17
(threshold). Nilai grayscale citra dibawah threshold maka nilainya diubah menjadi 0 (warna hitam).
2.4.3 Segmentasi
Segmentasi merupakan teknik untuk membagi suatu citra menjadi beberapa daerah (region) di mana setiap daerah memiliki kemiripan atribut. (Darma Putra, 2010)
2.4.3.1 Metode Projection Profile
Metode populer untuk skew detection adalah projection profile. Projection profile adalah histogram dari sejumlah nilai ON-pixel yang diakumulasi sepanjang garis sampel parallel (Sutarmini, 2015).
Pada metode ini bisa saja pada setiap sudut, tetapi yang sering diambil adalah sudut horizontal sepanjang baris dan vertikal sepanjang kolom yang disebut projection profile horizontal dan vertikal. Untuk dokumen dengan garis rentang horizontal, projectin profile horizontal memiliki puncak yang tingginya adalah sama dengan tinggi karakter dan lembah yang sama dengan jarak spasi antar kata. Proyeksi profile horisontal adalah suatu akumulasi pada piksel melalui sample baris pada suatu dokumen. Jika dokumen mempunyai suatu zero skew angle, maka puncak menjadi tajam serta jelas dan sesuai dengan bentuk teks tersebut (Sutarmini, 2015).
Dokumen dengan banyak kolom, Projection Profile Vertikal memiliki banyak puncak untuk setiap kolom yang dipisahkan oleh lembah pasa setiap spasi kolom dan margin. Projection Profile Vertikal adalah suatu akumulasi pada pixel melalui sample kolom pada suatu dokumen. Jika dokumen mempunyai suatu zero skew angle, maka urutan tertinggi sesuai dengan kolom pada dokumen tersebut (Sutarmini, 2015).
Fungsi Projection Profile untuk skew detection (deteksi kemiringan) adalah untuk menghitung jumlah sudut yang dekat dengan orientasi yang diharapkan. Setiap sudut, pengukuran dibuat berdasarkan variasi ketinggian sepanjang profile dan salah satu yang memiliki variasi maksimum menghasilkan sudut kemiringan. Sudut kemiringan yang benar, karena garis scan selaras dengan
(36)
18
garis text, Projection Profile memiliki tinggi puncak maksimum text dan lembah untuk spasi diantara text. Modifikasi dan pengembangan dapat dibuat pada teknik umum ini untuk mempercepat iterasi dalam memperbaiki sudut kemiringan dan akurasinya (Sutarmini, 2015).
Contoh dari penerapan Projection Profile dalam segmentasi dapat dilihat pada Gambar 2.1 dimana citra awal disegmentasi menggunakan Projection Profile sehingga dalam Gambar 2.2 menghasilkan grafik (seperti histogram) terdapat garis-garis naik-turun baik pada layaknya histogram (tapi tidak diskret) pada garis koordinat x dan y. Dasarnya teknik bekerja dengan cara yang sangat sederhana, hanya dengan menjumlahkan nilai intensitas citra yang terlebih dulu telah dinormalisasi (dijadikan biner) baik pada tiap baris (untuk vertikal) dan tiap kolom (untuk horisontal). Lalu yang menjadi pemisahnya adalah adanya lembah untuk tiap bentuk isyarat. Pada lembah itulah sebenarnya adalah spasi putih yang memisahkan tiap karakter (Sutarmini, 2015).
Gambar 2.1 Citra Awal (Sumber: Sutarmini, 2015)
Gambar 2.2 Grafik dari Projection Profile (Sumber: Sutarmini, 2015)
Grafik dari gambar di atas menyatakan pada garis koordinat x menyatakan posisi piksel yang ada pada citra dan garis koordinat y menyatakan banyaknya piksel. Proyeksi horisontal menghasilkan histogram horisontal dan proyeksi vertikal menghasilkan histogram vertikal. Dari hasil kedua proyeksi maka karakter dapat dipisahkan dari lembah antara karakter pertama dengan karakter kedua.
(37)
19
2.4.4 Ekstraksi Fitur
Fitur yang dimaksud antara lain adalah tanda tangan kontur, deskriptor Fourier, dan momen Zernike. Namun, sebelum membahas fitur-fitur tersebut, dua pengertian dasar dibahas, yaitu bentuk, deskriptor dan fitur. Definisi bentuk menurut D.G. Kendall (Stegmann dan Gomez, 2002) adalah informasi geometris yang tetap ketika efek lokasi, skala, pemutaran dilakukan terhadap sebuah objek. Deskriptor adalah seperangkat parameter yang mewakili karakteristik tertentu objek, yang dapat digunakan untuk menyatakan fitur objek. Adapun fitur dinyatakan dengan susunan bilangan yang dapat dipakai untuk mengenali objek.
2.4.5 Pencocokan
Pencocokan digunakan untuk menentukan tingkat kesamaan (similarity degree) atau ketidaksamaan (dissimilarity degree) dua matriks ciri. Tingkat kesamaan berupa suatu skor dan berdasarkan skor tersebut dua matriks dikatakan mirip atau tidak. Sistem biometrika, skor tersebut digunakan untuk mengenali (mengklasifikasi) suatu matriks ciri apakah sah atau tidak sah, dengan membandinngkannya dengan suatu nilai ambang (threshold value) (Darma Putra, 2009).
2.4.5.1Metode Template Matching
Pengenalan pola tidak hanya bertujuan untuk mendapatkan citra dengan suatu kualitas tertentu, tetapi juga untuk mengklasifikasikan bermacam-macam citra. Sejumlah citra diolah sehingga citra dengan ciri yang sama dikelompokkan pada suatu kelompok tertentu. Proses pengenalan dapat menggunakan Metode Template Matching Algoritma Template Matching merupakan metode yang sederhana dan banyak digunakan untuk mengenali pola Metode Template Matching ini merupakan metode yang sederhana. Suatu citra masukan yang mengandung template tertentu dibandingkan dengan template pada basis data. Template ditempatkan pada pusat bagian citra yang dibandingkan dan dihitung seberapa banyak titik yang paling sesuai dengan template. Langkah ini diulangi terhadap keseluruhan citra masukan yang dibandingkan. Nilai kesesuaian titik yang paling mendekati atau error minimum yang paling kecil antara citra
(38)
20
masukan dan citra template menandakan bahwa template tersebut merupakan citra template yang paling sesuai dengan citra masukan. Tingkat kesesuaian antara citra masukan dan citra template bisa dihitung berdasarkan nilai error terkecil dengan menggunakan persamaan 2.2.
Min e = Σ (Ix,y – Tx,y)……….……… (2.2)
I adalah pola pixel citra masukan yang dibandingkan. T adalah pola pixel citra template. Template dengan nilai error paling kecil adalah template yang paling sesuai dengan citra masukan yang dibandingkan.
2.4.5.2Metode Euclidean Distance
Euclidean Distance (Jarak Euclidean) adalah metrika yang paling sering digunakan untuk menghitung kesamaan 2 matriks. Jarak Euclidean menghitung akar dari kuadrat perbedaan 2 matriks (root of squere differences between 2 vectors). Rumus dari Euclidean Distance adalah sebagai berikut:
n k jk ikij x x
d
1
2
)
( ……….(2.3)
Sebagai contoh, terdapat 2 matriks ciri sebagai berikut: ] 2 , 2 , 2 [ ] 1 , 1 , 1 [ b g r Y b g r X ………...(2.4)
Maka nilai Euclidean Distance dari matriks X dan Y dapat diperoleh dari rumus berikut: 2 2 2 ) 2 1 ( ) 2 1 ( ) 2 1
(r r g g b b
dXY ………..…(2.5)
Euclidean Distance adalah kasus istimewa dari Minkowski Distance dengan 2. (Darma Putra, 2009)
2.5 OpenCV
Open Computer Vision (OpenCV) adalah sebuah Application Programming Interface (API) Library yang sudah sangat familiar pada Pengolahan Citra Computer Vision. Computer Vision itu sendiri adalah salah satu cabang dari Bidang Ilmu Pengolahan Citra (Image Processing) yang
(39)
21
memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer Vision adalah Face Recognition, Face Detection, Face/Object Tracking, Road Tracking (Agus Surya, 2014).
OpenCV bersifat gratis baik digunakan untuk penggunaan akademis dan komersial. OpenCV adalah library Image Processing berbasis bahasa pemrograman C++. OpenCV digunakan oleh banyak developer, scientist, dan programmer untuk mengembangkan sebuah program pattern recognition. OpenCV didesain untuk komputasi yang efisiensi dan dengan berfokus pada aplikasi real-time, sehingga dapat mempersingkat waktu dalam pembuatan aplikasi yang lumayan rumit (Agus Surya, 2014) .
2.5.1 OpenCV pada Android
OpenCV pada Android merupakan Library OpenCV dengan bahasa pemrograman Java yang telah dibuat khusus untuk pemrograman Android. Namun kelengkapan dari Library OpenCV pada Android ini masih dalam proses pengembangan, sehingga untuk menggunakan fungsi-fungsi OpenCV yang tidak terdapat pada Library ini, dapat digunakan bahasa pemrograman C++. Untuk dapat menggunakan bahasa pemrograman C++ pada Android dibutuhkan Android Native Development Kit (NDK). Android NDK adalah peralatan pendamping Android SDK yang memungkinkan untuk mengimplementasikan kode native seperti C dan C++ di beberapa bagian aplikasi Android (Agus Surya, 2014).
(1)
Untuk mengakuisisi citra keseluruhan, sensor digerakan searah sumbu y. Sensor larik, sensor jenis ini banyak sekali ditemukan dalam kamera digital. Sensor ini berbentuk larik 2 dimensi. Sensor larik yang terdapat ada kamera digital disebut sensor CCD dengan ukuran sensor rata-rata mencapai 4.000 x 4.000 elemen (Darma Putra, 2010).
Pengambilan data dapat dilakukan dengan menggunakan berbagai media seperti kamera analog, kamera digital, handycamp, scanner, optical reader dan sebagainya. Citra yang dihasilkan belum tentu data digital, sehingga perlu didigitalisasi.
2.4.2 Preprocessing
Tahap preprocessing merupakan tahapan dalam mempersiapan citra yang telah diakuisisi untuk siap dilakukan ekstraksi fitur. Jadi pada tahapan ini dilakukan beberapa pengolahan citra agar mendapatkan hasil yang lebih baik, sehingga hasil ekstraksi fitur nantinya akan lebih baik pula. Pengolahan citra yang dilakukan pada tahap preprocessing dapat berupa konversi citra ke bentuk grayscale.
2.4.2.1Grayscale
Proses konversi citra bewarna ke citra grayscale dapat dilakukan dengan persamaan berikut:
... (2.1) Variabel l adalah nilai (tingkat) warna grayscale pada posisi (x,y) sedangkan R, G, dan B berturut-turut menyatakan nilai komponen ruang warna R (merah), G (hijau), dan B (biru) dari nilai setiap piksel citra bewarna pada posisi . Jadi dapat dikatakan bahwa citra grayscale merupakan nilai rata-rata dari RGB setiap piksel.
2.4.2.2Biner
Citra biner adalah citra dengan nilai warna 0 - 255, sehingga citra akan terlihat hanya dengan warna hitam putih. Untuk mengubah citra menjadi biner, maka pada citra grayscale nilai warnanya ditentukan dengan nilai acuan
(2)
(threshold). Nilai grayscale citra dibawah threshold maka nilainya diubah menjadi 0 (warna hitam).
2.4.3 Segmentasi
Segmentasi merupakan teknik untuk membagi suatu citra menjadi beberapa daerah (region) di mana setiap daerah memiliki kemiripan atribut. (Darma Putra, 2010)
2.4.3.1 Metode Projection Profile
Metode populer untuk skew detection adalah projection profile. Projection profile adalah histogram dari sejumlah nilai ON-pixel yang diakumulasi sepanjang garis sampel parallel (Sutarmini, 2015).
Pada metode ini bisa saja pada setiap sudut, tetapi yang sering diambil adalah sudut horizontal sepanjang baris dan vertikal sepanjang kolom yang disebut projection profile horizontal dan vertikal. Untuk dokumen dengan garis rentang horizontal, projectin profile horizontal memiliki puncak yang tingginya adalah sama dengan tinggi karakter dan lembah yang sama dengan jarak spasi antar kata. Proyeksi profile horisontal adalah suatu akumulasi pada piksel melalui sample baris pada suatu dokumen. Jika dokumen mempunyai suatu zero skew angle, maka puncak menjadi tajam serta jelas dan sesuai dengan bentuk teks tersebut (Sutarmini, 2015).
Dokumen dengan banyak kolom, Projection Profile Vertikal memiliki banyak puncak untuk setiap kolom yang dipisahkan oleh lembah pasa setiap spasi kolom dan margin. Projection Profile Vertikal adalah suatu akumulasi pada pixel melalui sample kolom pada suatu dokumen. Jika dokumen mempunyai suatu zero skew angle, maka urutan tertinggi sesuai dengan kolom pada dokumen tersebut (Sutarmini, 2015).
Fungsi Projection Profile untuk skew detection (deteksi kemiringan) adalah untuk menghitung jumlah sudut yang dekat dengan orientasi yang diharapkan. Setiap sudut, pengukuran dibuat berdasarkan variasi ketinggian sepanjang profile dan salah satu yang memiliki variasi maksimum menghasilkan sudut kemiringan. Sudut kemiringan yang benar, karena garis scan selaras dengan
(3)
garis text, Projection Profile memiliki tinggi puncak maksimum text dan lembah untuk spasi diantara text. Modifikasi dan pengembangan dapat dibuat pada teknik umum ini untuk mempercepat iterasi dalam memperbaiki sudut kemiringan dan akurasinya (Sutarmini, 2015).
Contoh dari penerapan Projection Profile dalam segmentasi dapat dilihat pada Gambar 2.1 dimana citra awal disegmentasi menggunakan Projection Profile sehingga dalam Gambar 2.2 menghasilkan grafik (seperti histogram) terdapat garis-garis naik-turun baik pada layaknya histogram (tapi tidak diskret) pada garis koordinat x dan y. Dasarnya teknik bekerja dengan cara yang sangat sederhana, hanya dengan menjumlahkan nilai intensitas citra yang terlebih dulu telah dinormalisasi (dijadikan biner) baik pada tiap baris (untuk vertikal) dan tiap kolom (untuk horisontal). Lalu yang menjadi pemisahnya adalah adanya lembah untuk tiap bentuk isyarat. Pada lembah itulah sebenarnya adalah spasi putih yang memisahkan tiap karakter (Sutarmini, 2015).
Gambar 2.1 Citra Awal (Sumber: Sutarmini, 2015)
Gambar 2.2 Grafik dari Projection Profile (Sumber: Sutarmini, 2015)
Grafik dari gambar di atas menyatakan pada garis koordinat x menyatakan posisi piksel yang ada pada citra dan garis koordinat y menyatakan banyaknya piksel. Proyeksi horisontal menghasilkan histogram horisontal dan proyeksi vertikal menghasilkan histogram vertikal. Dari hasil kedua proyeksi maka karakter dapat dipisahkan dari lembah antara karakter pertama dengan karakter kedua.
(4)
2.4.4 Ekstraksi Fitur
Fitur yang dimaksud antara lain adalah tanda tangan kontur, deskriptor Fourier, dan momen Zernike. Namun, sebelum membahas fitur-fitur tersebut, dua pengertian dasar dibahas, yaitu bentuk, deskriptor dan fitur. Definisi bentuk menurut D.G. Kendall (Stegmann dan Gomez, 2002) adalah informasi geometris yang tetap ketika efek lokasi, skala, pemutaran dilakukan terhadap sebuah objek. Deskriptor adalah seperangkat parameter yang mewakili karakteristik tertentu objek, yang dapat digunakan untuk menyatakan fitur objek. Adapun fitur dinyatakan dengan susunan bilangan yang dapat dipakai untuk mengenali objek.
2.4.5 Pencocokan
Pencocokan digunakan untuk menentukan tingkat kesamaan (similarity degree) atau ketidaksamaan (dissimilarity degree) dua matriks ciri. Tingkat kesamaan berupa suatu skor dan berdasarkan skor tersebut dua matriks dikatakan mirip atau tidak. Sistem biometrika, skor tersebut digunakan untuk mengenali (mengklasifikasi) suatu matriks ciri apakah sah atau tidak sah, dengan membandinngkannya dengan suatu nilai ambang (threshold value) (Darma Putra, 2009).
2.4.5.1Metode Template Matching
Pengenalan pola tidak hanya bertujuan untuk mendapatkan citra dengan suatu kualitas tertentu, tetapi juga untuk mengklasifikasikan bermacam-macam citra. Sejumlah citra diolah sehingga citra dengan ciri yang sama dikelompokkan pada suatu kelompok tertentu. Proses pengenalan dapat menggunakan Metode Template Matching Algoritma Template Matching merupakan metode yang sederhana dan banyak digunakan untuk mengenali pola Metode Template Matching ini merupakan metode yang sederhana. Suatu citra masukan yang mengandung template tertentu dibandingkan dengan template pada basis data. Template ditempatkan pada pusat bagian citra yang dibandingkan dan dihitung seberapa banyak titik yang paling sesuai dengan template. Langkah ini diulangi terhadap keseluruhan citra masukan yang dibandingkan. Nilai kesesuaian titik yang paling mendekati atau error minimum yang paling kecil antara citra
(5)
masukan dan citra template menandakan bahwa template tersebut merupakan citra template yang paling sesuai dengan citra masukan. Tingkat kesesuaian antara citra masukan dan citra template bisa dihitung berdasarkan nilai error terkecil dengan menggunakan persamaan 2.2.
Min e = Σ (Ix,y – Tx,y)……….……… (2.2) I adalah pola pixel citra masukan yang dibandingkan. T adalah pola pixel citra template. Template dengan nilai error paling kecil adalah template yang paling sesuai dengan citra masukan yang dibandingkan.
2.4.5.2Metode Euclidean Distance
Euclidean Distance (Jarak Euclidean) adalah metrika yang paling sering digunakan untuk menghitung kesamaan 2 matriks. Jarak Euclidean menghitung akar dari kuadrat perbedaan 2 matriks (root of squere differences between 2 vectors). Rumus dari Euclidean Distance adalah sebagai berikut:
n k jk ikij x x
d
1
2 )
( ……….(2.3)
Sebagai contoh, terdapat 2 matriks ciri sebagai berikut: ] 2 , 2 , 2 [ ] 1 , 1 , 1 [ b g r Y b g r X ………...(2.4)
Maka nilai Euclidean Distance dari matriks X dan Y dapat diperoleh dari rumus berikut: 2 2 2 ) 2 1 ( ) 2 1 ( ) 2 1
(r r g g b b
dXY ………..…(2.5)
Euclidean Distance adalah kasus istimewa dari Minkowski Distance dengan 2. (Darma Putra, 2009)
2.5 OpenCV
Open Computer Vision (OpenCV) adalah sebuah Application Programming Interface (API) Library yang sudah sangat familiar pada Pengolahan Citra Computer Vision. Computer Vision itu sendiri adalah salah satu cabang dari Bidang Ilmu Pengolahan Citra (Image Processing) yang
(6)
memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer Vision adalah Face Recognition, Face Detection, Face/Object Tracking, Road Tracking (Agus Surya, 2014).
OpenCV bersifat gratis baik digunakan untuk penggunaan akademis dan komersial. OpenCV adalah library Image Processing berbasis bahasa pemrograman C++. OpenCV digunakan oleh banyak developer, scientist, dan programmer untuk mengembangkan sebuah program pattern recognition. OpenCV didesain untuk komputasi yang efisiensi dan dengan berfokus pada aplikasi real-time, sehingga dapat mempersingkat waktu dalam pembuatan aplikasi yang lumayan rumit (Agus Surya, 2014) .
2.5.1 OpenCV pada Android
OpenCV pada Android merupakan Library OpenCV dengan bahasa pemrograman Java yang telah dibuat khusus untuk pemrograman Android. Namun kelengkapan dari Library OpenCV pada Android ini masih dalam proses pengembangan, sehingga untuk menggunakan fungsi-fungsi OpenCV yang tidak terdapat pada Library ini, dapat digunakan bahasa pemrograman C++. Untuk dapat menggunakan bahasa pemrograman C++ pada Android dibutuhkan Android Native Development Kit (NDK). Android NDK adalah peralatan pendamping Android SDK yang memungkinkan untuk mengimplementasikan kode native seperti C dan C++ di beberapa bagian aplikasi Android (Agus Surya, 2014).