BAB 1 PENDAHULUAN
1.1
Latar Belakang Pada masa sekarang ini komputer memiliki peran yang cukup besar dalam membantu menyelesaikan pekerjaan manusia. Seiring dengan perkembangan teknologi dan kecerdasan buatan, komputer diharapkan dapat menyelesaikan masalah yang sebelumnya hanya dapat diselesaikan oleh manusia, yang mana dalam penyelesaiannya melibatkan pengetahuan, penalaran, dan pengalaman. Salah satu dari penerapan kecerdasan buatan tersebut adalah Optical Character Recognition(OCR). OCR memungkinkan komputer untuk mengenali karakter lewat interpretasi visual sehingga komputer dapat mengenali karakter secara otomatis tanpa ada interaksi dengan manusia. Terdapat beberapa algoritma yang dapat digunakan dalam membuat sebuah aplikasi Optical Character Recognition(OCR) antara lain adalah template matching, Support Vector Machine(SVM), hidden markov model, hausdorff distance dan artificial neural networks (Anagnostopoulos, Anagnostopoulos, Loumos, & Kayafas, 2006, p. 380). Dari berbagai algoritma tersebut, artificial neural networks adalah algoritma yang paling banyak digunakan oleh peneliti dalam berbagai masalah pengenalan pattern (Anagnostopoulos, Anagnostopoulos, Loumos, & Kayafas, 2006, p. 389) karena artificial neural networks dapat diaplikasikan kedalam berbagai bentuk masalah dan artificial neural networks dapat dilatih dari waktu ke waktu untuk menambah knowledge atau memperbaiki keakuratannya dalam mengenali suatu pattern. Artificial neural networks adalah abstraksi dari jaringan saraf buatan yang menirukan cara kerja otak manusia. Saraf-saraf buatan tersebut saling terhubung satu sama lain oleh sinapsis yang berisikan informasi yang dapat diubah lewat proses training. Artificial neural networks dapat dilatih untuk mengenali pattern menggunakan berbagai metode pembelajaran, diantaranya adalah metode backpropagation. Backpropagation mengoreksi nilai-nilai pada sinapsis yang menghubungkan neuron yang ada didalam sistem artificial neural networks sehingga 1
2
artificial neural networks dapat belajar dari pengalamannya dalam mengenali suatu pattern. Pada
tahun
1943,
Warren
McCulloch
dan
Walter
Pitts
mengembangkan model neuron buatan yang berfungsi sebagai logical gate. Model neuron yang dikembangkan oleh Warren McCulloch dan Walter Pitts hanya dapat digunakan untuk permasalahan klasifikasi sederhana. Pada tahun 1958, Rosenblatt mengembangkan model neuron yang dapat dilatih untuk mengenali suatu pattern, akan tetapi sama seperti neuron yang dikembangkan oleh Warren McCulloch dan Walter Pitts, neuron yang dikembangkan oleh Rosenblatt hanya dapat digunakan pada permasalahan yang memiliki 2 nilai output. Pada tahun 1960, Widrow dan Hoff mengembangkan metode untuk menyesuaikan nilai weight agar nilai output pada neuron sesuai dengan yang diharapkan. Metode tersebut dinamakan least mean square. Metode ini berusaha meminimalisir error pada output neuron dengan menghitung nilai koreksi menggunakan selisih dari nilai output dan nilai yang diharapkan. Pada tahun 1974, Werbos mengembangkan sebuah metode training yang dinamakan backpropagation. Metode tersebut disempurnakan oleh Parker pada tahun 1985 dan Rumelhart McClelland pada tahun 1986. Backpropagation adalah penyempurnaan dari metode training least mean square yang hanya dapat menyelesaikan masalah linear, sedangkan backpropagation dapat menyelesaikan permasalahan non-linear (Fausett, 1994, p. 22-26). Pada
proses
backpropagation,
terdapat
2
parameter
yang
mempengaruhi langsung kecepatan proses training dan persentase keakuratan pengenalan yaitu learning rate dan momentum rate. Nilai dari learning rate dan momentum rate yang optimal pada sebuah topologi artificial neural networks belum tentu optimal jika digunakan pada topologi artificial neural networks lain. Hal ini terjadi karena setiap topologi artificial neural networks yang digunakan pada suatu permasalahan adalah unik. Dua parameter
tersebut
juga
mempengaruhi
kecenderungan
sebuah
backpropagation neural networks terjebak kedalam local minima pada proses training sehingga neural networks tersebut belum mengenali pattern secara optimal (Haykin, 2009, p. 215).
3
Terdapat beberapa metode untuk menentukan learning rate dan momentum rate antara lain adalah trial-and-error dan second-order method. Metode trial-and-error adalah metode naïve programming. Metode trial-and-error membutuhkan interaksi manusia pada eksekusinya sehingga metode tersebut membutuhkan waktu dan upaya yang relative besar. Metode second-order method adalah metode yang dapat menyesuaikan learning rate berdasarkan informasi yang didapat dari proses training. Akan tetapi metode tersebut membutuhkan waktu & resource komputasi yang besar sehingga metode tersebut jarang digunakan (Kandil, Khorasani, Patel, & Sood, 1993, p. 465). Selain learning rate dan momentum rate, jumlah neuron pada hidden layer juga mempengaruhi kecepatan proses training dan persentase keakuratan pengenalan. Secara logika, semakin banyak jumlah neuron pada suatu neural networks maka semakin banyak pula fitur yang dapat disimpan oleh neural networks tersebut, akan tetapi waktu pemrosesan yang dibutuhkan oleh neural networks tersebut juga semakin lama. Terdapat beberapa metode penentuan jumlah neuron dan layer pada neural networks, antara lain adalah rule-of-thumb dan structured trial and error. Metode rule-of-thumb adalah kumpulan dari beberapa rule yang disimpulkan oleh beberapa peneliti. Rule-of-thumb tidak menjamin keoptimalan neural networks karena pemilihan fungsi aktivasi, algoritma training dan data yang digunakan pada proses training juga berpengaruh pada penentuan jumlah neuron. Metode structured trial and error adalah metode naïve programming dalam menentukan jumlah neuron dan jumlah layer. Metode ini menggunakan angka acak sebagai jumlah neuron pada neural networks. Jika pada proses training neural networks tersebut gagal menuju konvergen, maka jumlah neuron pada hidden layer ditambah. Proses tersebut dilakukan berulang sampai neural networks menjadi konvergen. (Karsoliya, 2012, p. 714-717). Untuk membangun sebuah neural networks yang memiliki learning rate, momentum rate dan jumlah neuron yang optimal, dibutuhkan suatu algoritma yang dapat mengoptimalkan ketiga parameter tersebut secara sekaligus. Salah satu dari metode yang dapat digunakan adalah genetic
4
algorithm. Genetic algorithm mereplikasi proses seleksi alam yang terjadi secara alami. Setiap individu pada sebuah populasi akan tereliminasi secara alami oleh kondisi lingkungan hidupnya jika individu tersebut tidak dapat beradaptasi dengan baik. Individu yang tidak dapat beradaptasi tersebut akan digantikan oleh individu baru yang terjadi lewat proses crossover dan mutation. Genetic algorithm adalah teknik optimasi, sehingga dalam aplikasinya genetic algorithm digunakan untuk mencari suatu bentuk solusi optimal dari beberapa solusi yang ada. (Eiben & Smith, 2003, p. 3-13) Kombinasi dari genetic algorithm dan back propagation neural networks memungkinkan backpropagation neural networks memiliki kinerja yang lebih baik dari segi waktu training, waktu proses dan akurasi dibandingkan dengan backpropagation neural networks tanpa optimasi menggunakan genetic algorithm. Pada tugas akhir ini dicoba sebuah pendekatan baru dalam menggunakan genetic algorithm. Jika pada penelitian-penelitian sebelumnya genetic algorithm digunakan untuk menentukan topologi dan nilai awal weight, maka kami akan mencoba menggunakan genetic algorithm untuk menemukan nilai learning rate, momentum rate dan jumlah neuron pada hidden layer yang optimal. Pendekatan tersebut diterapkan pada aplikasi pengenalan karakter plat nomor kendaraan bermotor. Penerapan pada aplikasi ini dilatarbelakangi oleh salah satu permasalahan klasik yang terjadi pada lalu lintas di Jakarta. Permasalahan tersebut adalah banyaknya pelanggar lalu lintas yang tidak terjaring oleh polisi karena terbatasnya jumlah polisi lalu lintas yang dapat mengontrol jalanan pada kota Jakarta (Henny, 2014). Dengan adanya sistem yang dapat mengenali plat nomor kendaraan bermotor secara otomatis, pelanggar lalu lintas dapat dijaring tanpa ada keterlibatan polisi lalu lintas sehingga diharapkan jumlah pelanggar lalu lintas menurun karena efek jera yang muncul dari sistem tilang otomatis. Selain itu, aplikasi pengenalan karakter plat nomor kendaraan bermotor juga dapat digunakan pada pintu parkir otomatis sehingga antrian pada pintu parkir dapat diminimalisir karena waktu yang dibutuhkan untuk memasukan data plat nomor kendaraan bermotor menjadi lebih cepat.
5
Aplikasi dibuat menggunakan metode image preprocessing untuk mengolah gambar yang dijadikan sebagai data masukan, backpropagation neural networks sebagai knowledge representation pada proses pengenalan karakter dan genetic algorithm dalam menemukan parameter-parameter optimal pada proses backpropagation training dan topologi neural networks.
1.2
Rumusan Masalah Rumusan masalah yang dapat ditarik dari latar belakang diatas adalah: 1. Bagaimana mengembangkan aplikasi yang dapat mengenali karakter pada plat nomor kendaraan bermotor? 2. Bagaimana mengembangkan aplikasi pengenalan karakter plat nomor yang lebih cepat dan akurat? 3. Apakah penggunaan Genetic Algorithm dapat mengoptimalkan kinerja Backpropagation Neural Networks secara keseluruhan?
1.3
Hipotesis Backpropagation neural networks yang dioptimasi menggunakan genetic algorithm lebih cepat proses training-nya dan dapat mengenali karakter alfanumerik lebih akurat daripada backpropagation neural network tanpa optimasi.
1.4
Ruang Lingkup Ruang lingkup dari pembahasan dalam tugas akhir ini adalah sebagai berikut: 1. Pengembangan aplikasi ini menggunakan metode backpropagation neural networks dan genetic algorithm untuk mengenali karakter pada plat nomor kendaraan bermotor. 2. Pengembangan aplikasi ini menggunakan metode-metode image processing dalam melakukan feature extraction pada image yang akan dikenali. 3. Feature extraction dilakukan pada gambar yang mengandung plat nomor dengan lebar plat nomor minimal 80% dari lebar gambar. 4. Pengembangan aplikasi ini menggunakan bahasa pemrograman JAVA dan menggunakan image yang berekstensi .jpg.
6
5. Penelitian dilakukan pada plat nomor kendaraan bermotor roda empat dan roda dua yang sesuai dengan standar DITLANTAS R.I. yang tertuang didalam surat Kapolri kepada Kepolisian tingkat daerah (Polda) No: ST/810/IV/2011 tanggal 25 April 2011 dan berwarna dasar hitam dengan karakter berwarna putih. 6. Pengambilan gambar dilakukan pada area dengan kondisi pencahayaan minimal 100 lux dan kamera yang digunakan dapat mengkompensasi kondisi pencahayaan pada mode AUTO.
1.5
Tujuan dan Manfaat Tujuan dari penelitian ini adalah untuk mengembangkan aplikasi pengenalan karakter pada plat nomor kendaraan bermotor menggunakan back propagation neural networks yang lebih efisien dengan menggunakan genetic algorithm, dimana proses training berjalan lebih cepat dan pengenalan karakter menjadi lebih akurat. Selain itu, penelitian ini juga bertujuan untuk menemukan metode-metode image processing yang tepat digunakan dalam proses feature extraction pada plat nomor kendaraan bermotor yang berlaku di Indonesia. Manfaat dari penelitian ini adalah untuk mengetahui seberapa optimal metode genetic algorithm pada aplikasi yang menggunakan backpropagation neural networks. Selain itu, aplikasi ini juga dapat dikembangkan untuk digunakan pada permasalahan pengenalan plat nomor kendaraan bermotor seperti sistem tilang otomatis atau pintu parkir otomatis.
1.6
Metode Penelitian Metodologi penelitian yang digunakan dalam penelitian ini berjalan dalam tahap-tahap yang dimulai dari Studi Literatur, Analisa Permasalahan, Perancangan Sistem, Implementasi dan Verifikasi. Berikut rincian dari setiap langkah pada metode yang digunakan: 1. Studi Literatur Informasi yang dibutuhkan pada penelitian ini dikumpulkan melalui tinjauan pustaka dari jurnal dan buku teori. 2. Analisa Permasalahan
7
Analisa permasalahan akan dilakukan pada backpropagation neural networks dan feature extraction pada plat nomor kendaraan bermotor. 3. Perancangan Sistem Dari informasi yang sudah dianalisis, kemudian dibuatlah rancangan aplikasi pengenalan plat nomor kendaraan bermotor. 4. Implementasi Tahap ini adalah tahap realisasi dari rancang bangun aplikasi. Aplikasi ini akan dibuat menggunakan bahasa pemrograman JAVA. 5. Verifikasi Verifikasi dilakukan dengan menguji kecepatan proses training dan keakuratan pengenalan. Keakuratan diuji menggunakan beberapa sampel foto plat nomor kendaraan bermotor.
1.7
Sistematika Penulisan Tugas akhir ini akan ditulis dalam 5 bab sebagai berikut: Bab 1 – Pendahuluan Bab ini berisi latar belakang, rumusan masalah, hipotesis, ruang lingkup, tujuan dan manfaat, metode penelitian dan sistematika penulisan dari penelitian. Bab 2 – Tinjauan Pustaka Bab ini berisi landasan teori yang digunakan sebagai pemahaman untuk melakukan penelitian dan pengembangan aplikasi. Bab 3 – Metodologi Bab ini berisi penjelasan lebih lanjut mengenai permasalahan yang dikemukakan pada Bab 1, solusi beserta rancangan aplikasinya. Bab 4 – Hasil & Pembahasan Bab ini berisi hasil dari penelitian, berupa data empiris dan evaluasi terhadap kinerja sistem secara keseluruhan. Bab 5 – Kesimpulan & Saran Bab ini berisi kesimpulan yang bisa ditarik dari hasil uji coba yang dilakukan dan yang dijelaskan pada bab sebelumnya dan saran-saran untuk pengembangan yang selanjutnya.
8