pBAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM APLIKASI
Bab ini berisi penjelasan tentang implementasi sistem meliputi kebutuhan perangkat lunak dan perangkat keras yang digunakan untuk melakukan perancangan dan uji coba terhadap program aplikasi pengenalan plat nomor kendaraan roda empat ini, mekanisme kerja sistem, pengujian dan pembahasan hasil yang telah dicapai oleh program aplikasi pada skripsi ini.
4.1
Implementasi Sistem Dalam mengimplementasikan program aplikasi ini terdapat dua buah komponen
yang sangat berperan penting, yaitu perangkat keras (hardware) dan perangkat lunak (software).
Kedua
komponen
ini
digunakan
dalam
pembuatan
dan
mengimplementasikan program aplikasi ini sehingga dapat dijalankan dengan baik pada komputer. 4.1.1 Spesifikasi Hardware Implementasi perancangan program aplikasi menggunakan spesifikasi hardware sebagai berikut. •
Processor
: Intel Core 2 Duo CPU T8100 @ 2,10GHz
•
Memory (RAM)
: 2.00 GB
•
Hard Disk
: 500 GB
•
Monitor
: 13.7” LED
56 4.1.2
Spesifikasi Software
Implementasi perancangan program aplikasi menggunakan spesifikasi software sebagai berikut.
4.2
•
Operating System
: Windows 7 Professional 32 bit
•
Compiler
: Microsoft Visual Studio 2010 Ultimate Edition
•
Bahasa pemrograman
: C#
•
Library
: EmguCV version 2.3
•
Engine
: Tesseract OCR
Mekanisme Kerja Sistem Program aplikasi pengenalan plat nomor otomatis ini merupakan aplikasi
windows (windows application) sehingga hanya dapat dijalankan pada sistem operasi windows saja dan tidak bisa untuk sistem operasi macOs, ubuntu, dan sistem operasi lainnya. Proses kerja atau mekanisme kerja program aplikasi dimulai ketika user melakukan input dengan mengklik button load image. Inputan yang dimasukkan berupa gambar kendaraan roda empat yang memiliki plat nomor. Gambar yang dimasukkan ke dalam program aplikasi sebaiknya berukuran lebih dari 240x180 piksel karena ukuran ini dapat menghasilkan tingkat akurasi yang lebih baik dari tesseract ocr. Selanjutnya inputan gambar mobil tersebut akan dilakukan preprocessing oleh program. Hal ini bertujuan supaya menghilangkan noise pada gambar. Preprocessing dilakukan dengan mengubah gambar menjadi abu-abu (grayscale). Gambar yang telah bersih dari gangguan (noise), maka telah siap untuk melakukan tahapan pendeteksian
57 tepi (edge detection) menggunakan canny edge detection yang dilanjutkan dengan pendeteksian persegi panjang (rectangle detection). Deteksi persegi panjang dilakukan dengan mencari 2 buah pasangan garis yang paralel, yang selanjutnya garis yang berdekatan akan dihubungkan oleh sebuah titik sehingga akan terbentuk jajar genjang. Selanjutnya jajar genjang akan diperbaiki sudutnya sehingga membentuk sebuah persegi panjang. Diberikan toleransi bentuk jajar genjang ataupun trapesium supaya plat nomor juga dapat terdeteksi jika posisi plat nomor miring. Dalam skripsi ini digunakan pendeteksian persegi panjang (rectangle detection) untuk mencari kandidat plat nomor kendaraan karena bentuk fisik plat nomor di Indonesia yang mendukung dan lebih mudah dikenali sebagai persegi panjang. Saat persegi panjang telah terdeteksi maka dilanjutkan dengan proses seleksi plat nomor. Proses seleksi plat nomor dilakukan dengan mencari range perbandingan plat nomor. Plat nomor kendaraan roda empat di Indonesia secara umum memiliki rentang (range) perbandingan panjang dan lebar (width height ratio) antara 2 sampai 3, sehingga program aplikasi akan mencari kandidat letak plat nomor pada range antara 2 sampai 3. Bila kandidat atau calon tepi plat nomor ditemukan, maka program aplikasi akan memotong area tersebut dan dikotakkan pada area kandidat plat nomor kendaraan roda empat dan ditampilkan pada layar program. Berdasarkan plat nomor yang sudah berhasil dipotong pada tahap sebelumnya, lalu dilakukan proses binary threshold invers dan ditampilkan pada program. Perlu dilakukan proses binary threshold invers supaya tepi karakter angka dan huruf dalam plat lebih jelas sehingga bisa diproses pada tahap selanjutnya.
58 Sebelum dimasukkan pada tahap pengenalan, dilakukan noise filtering menggunakan canny edge detection sekali lagi supaya tepi karakter angka dan huruf dapat terdeteksi. Kemudian dilanjutkan dengan proses erosi dan dilatasi. Erosi dan dilasi dapat digunakan bersama ataupun digunakan secara sendiri-sendiri tergantung dari hasil yang telah kita peroleh apakah sudah cukup memenuhi harapan atau tidak. Dalam skripsi ini erosi dan dilatasi digunakan bersama supaya dapat menyatukan piksel yang terpisah untuk memperjelas bentuk dari huruf atau angka dan juga menghilangkan noise serbuk pada piksel. Langkah selanjutnya adalah program aplikasi melakukan pengenalan karakter angka dan huruf yang terdapat pada plat nomor kendaraan roda empat. Setelah bagian tepi angka dan huruf pada plat nomor terdeteksi, maka karakter angka dan huruf tersebut sudah siap untuk dikenali oleh tesseract ocr. Namun sebelum tesseract ocr dapat digunakan, harus dideklarasikan terlebih dahulu karakter angka dari 0-9 dan huruf A-Z pada awal program. Hasil dari karakter angka dan huruf dalam plat nomor yang telah dikenali akan ditampilkan pada layar program.
4.3
Evaluasi Hasil Pengujian Program Gambar (image) mobil yang akan diuji dikumpulkan terlebih dahulu dalam
sebuah folder. Gambar yang diuji hendaknya memiliki kesamaan ciri misalnya diambil dengan menggunakan kamera tertentu. Program aplikasi pengenalan plat nomor roda empat ini menggunakan metode pendeteksian tepi (canny edge detection) yang merupakan bagian dari metode contour extraction yaitu mendeteksi persegi panjang (rectangle detection). Program ini memiliki kelebihan dalam hal pendeteksian tepi. Semua bagian yang merupakan tepi akan
59 dideteksi, sehingga kandidat tepi plat nomor yang akan di deteksi lebih banyak. Kelebihan lainnya dari program ini dalam hal waktu pendeteksian dan pengenalan plat nomor yang cukup cepat yaitu hanya dalam hitungan mili detik saja. Dalam melakukan pengujian (testing) terhadap program aplikasi ini, digunakan 60 sampel gambar mobil yang memiliki plat nomor yang standar sesuai dengan peraturan yang ada di Indonesia. Hasil pengujian tersebut akan disajikan sebagai berikut.
Gambar 4.1 Tampilan Awal Program Aplikasi Tampilan di atas muncul saat program aplikasi pertama kali dijalankan. Program aplikasi langsung memproses gambar dan memberikan kotak pada bagian plat nomor. Waktu proses pengenalan plat nomor akan ditampilkan dalam satuan waktu mili-second yaitu sekitar 512,5698 mili detik. Hasil pengenalan karakter plat nomor kendaraan ditampilkan pada pojok kiri paling atas. User dapat memilih gambar yang hendak dikenali dengan menekan button load image. Kemudian pilih salah satu gambar pada folder testing image dan pilih klik open.
60
Gambar 4.2 Kotak dialog pemilihan image yang ingin dilakukan testing Misalkan gambar yang di pilih tester2.jpg. Gambar akan diproses oleh program dan akan menghasilkan tampilan berikut.
Gambar 4.3 Hasil pengujian ke-2
61 Citra di atas mampu dikenali dalam waktu kurang lebih 215,395 mili detik. Selanjutnya akan ditampilkan hasil pengujian (testing) ketiga sebagai berikut.
Gambar 4.4 Hasil pengujian ke-3 Citra di atas mampu dikenali dalam waktu kurang lebih 231,0162 mili detik. Selanjutnya akan ditampilkan beberapa citra hasil pengujian yang gagal dikenali oleh program ini sebagai berikut.
Gambar 4.5 Pengujian gagal ke-1 terhadap deteksi letak plat nomor
62 Pengujian pada citra yang miring ke kanan di atas gagal karena posisi mobil memiliki kemiringan lebih dari 45 derajat sehingga program tidak dapat mendeteksi letak plat nomor kendaraan. Hal ini yang menjadi kelemahan dari program ini yaitu masih belum dapat mendeteksi plat nomor bila kemiringannya lebih dari 45 derajat. Oleh karena pendeteksian yang salah maka otomatis program tidak dapat mengenali karakter angka dan huruf pada plat nomor. Hasil kesalahan pengenalan karakter ditunjukkan gambar di bawah ini.
Gambar 4.6 Kesalahan pengenalan karakter pada plat nomor Pengenalan karakter plat nomor di atas salah karena karakter tidak terdeteksi atau mengalami kerusakan. Pada gambar 4.6 bagian bawah tampak bagian plat nomor menjadi putih semua sehingga karakter tidak terbaca oleh program. Berikut ditampilkan pula pengujian pada citra yang miring ke kiri di bawah ini. Sama seperti gambar 4.6 sebelumnya, gambar 4.7 juga tidak dapat terdeteksi plat nomornya karena pengaruh posisi kemiringan yang lebih dari 45 derajat. Oleh karena letak plat nomor tidak terdeteksi, maka karakter pada plat juga tidak bisa dikenali.
63
Gambar 4.7 Pengujian gagal ke-2 terhadap deteksi letak plat nomor Selain pengaruh pada kemiringan, terdapat beberapa faktor lagi yang menyebabkan program tidak dapat mendeteksi dan mengenali plat nomor. Berikut ini juga ditampilkan hasil pengujian yang gagal ke-3 dan ke-4 .
Gambar 4.8 Pengujian gagal ke-3 terhadap deteksi letak plat nomor
64 Pada citra diatas tidak terdeteksi area plat nomor sama sekali karena ukuran gambar terlalu besar yaitu berukuran 2592x1944 piksel. Oleh karena letak plat nomor tidak terdeteksi, maka karakter angka dan huruf pada plat nomor juga tidak dikenali sama sekali. Berikut ditampilkan hasil pengujian gagal ke-4. Seperti tampak pada gambar 4.8 di bawah, letak plat nomor tidak dapat terdeteksi karena beberapa hal. Pertama, jarak antara kamera dengan mobil cukup jauh sehingga plat nomor tampak kecil. Kedua, ukuran gambar terlalu kecil yaitu berukuran 259x194 piksel. Ketiga, bagian depan mobil tersebut terlalu banyak pilihan tepi sehingga program tidak dapat menentukan bagian mana yang merupakan plat nomor. Oleh karena letak plat nomor tidak terdeteksi, maka karakter angka dan huruf pada plat nomor juga tidak dikenali sama sekali.
Gambar 4.9 Pengujian gagal ke-4 terhadap deteksi letak plat nomor Berikut ini akan ditampilkan tabel hasil pengujian seluruhnya, baik terhadap pengujian yang berhasil maupun yang gagal.
65 Image Plat Nomor
Waktu Proses
Keterangan
449,9169 ms
Berhasil
181,8419 ms
Berhasil
201,495 ms
Berhasil
66
261,0239 ms
Berhasil
235,4347 ms
Berhasil
199,4372 ms
Berhasil
67
285,8565 ms
Berhasil
115,84 ms
Berhasil
271,1786 ms
Berhasil
68
Tidak ada gambar
137,8689 ms
Berhasil
-
Gagal
135,6022 ms
Berhasil
119,5006 ms
Berhasil
69
Tidak ada gambar
545,9954 ms
Berhasil
97,3257 ms
Berhasil
111,0946 ms
Berhasil
-
Gagal
70
178,4312 ms
Berhasil
323,009 ms
Berhasil
438,8959 ms
Berhasil
71
185,9748 ms
Berhasil
146,7015 ms
Berhasil
181,9245 ms
Berhasil
72
157,7725 ms
Berhasil
430,7187 ms
Berhasil
133,5639 ms
Berhasil
184,6822 ms
Berhasil
73
Tidak ada gambar
-
Gagal
202,7237 ms
Berhasil
Tidak ada gambar
-
Gagal
Tidak ada gambar
-
Gagal
447,5749 ms
Berhasil
171,2778 ms
Berhasil
74
Tidak ada gambar
-
Gagal
142,7868 ms
Berhasil
495,6019 ms
Berhasil
240,1571 ms
Berhasil
75
Tidak ada gambar
198,5643 ms
Berhasil
-
Gagal
390,5261 ms
Berhasil
116,1707 ms
Berhasil
76
148,6183 ms
Berhasil
100,8494 ms
Berhasil
130,9227 ms
Berhasil
74,2474 ms
Berhasil
77
222,9156 ms
Berhasil
Tidak ada gambar
-
Gagal
Tidak ada gambar
-
Gagal
270,8352 ms
Berhasil
78
Tidak ada gambar
Tidak ada gambar
114,9167 ms
Berhasil
-
Gagal
142,362 ms
Berhasil
172,5484 ms
Berhasil
-
Gagal
79
134,5867 ms
Berhasil
176,2387 ms
Berhasil
237,7169 ms
Berhasil
80
509,7999 ms
Berhasil
215,2018 ms
Berhasil
369,7 ms
Berhasil
Tabel 4.1 Hasil pengujian terhadap 60 sampel plat nomor
Berdasarkan hasil pengujian terhadap 60 citra yang mengandung plat nomor, dapat dikenali sebanyak 49 plat nomor dan tidak dapat dikenali sebanyak 11 plat nomor. Maka dapat dihitung tingkat akurasi dari program ini dengan cara:
81
Tingkat akurasi =
∑ ∑
100%
Berdasarkan rumus di atas, dapat diperoleh hasil perhitungan tingkat akurasi dari program ini 100% = 81.6667 %
82%
Secara otomatis maka dapat di peroleh tingkat kegagalan program ini adalah sebesar 18%. Dari analisis yang dilakukan, kegagalan pendeteksian terjadi disebabkan oleh beberapa hal, yaitu: •
Deteksi letak plat nomor yang masih kurang kuat sehingga posisi mobil yang terlalu miring atau lebih dari 45 derajat platnya tidak dapat terdeteksi.
•
Posisi pengambilan gambar yang agak jauh sehingga plat nomor tidak terdeteksi.
•
Kondisi plat nomor yang rusak.
•
Pengaruh cahaya yang kurang ataupun terlalu terang.
Program ini memiliki kelebihan di antaranya mampu mendeteksi tepi-tepi yang ada sehingga kandidat plat nomor tidak akan terlewat serta waktu proses pendeteksian dan pengenalan plat nomor yang cukup cepat dengan waktu rata-rata pengenalan plat nomor kurang lebih selama 227,3047 mili detik. Namun juga memiliki beberapa kelemahan di antaranya bila gambar diambil agak jauh, program masih belum dapat mendeteksi plat nomor dan deteksi tepi yang masih kurang kuat sehingga posisi mobil yang terlalu miring (lebih dari 45 derajat) platnya tidak dapat terdeteksi.