Anda di halaman 1dari 89

TELEKOMUNIKASI PROYEK AKHIR

PEMBACAAN PLAT NOMOR KENDARAAN MENGGUNAKAN METODE JARINGAN SYARAF TIRUAN (JST) BACKPROPAGATION BERBASIS IMAGE PROCESSING

Endah Sri Utami NRP. 7205.040.012

Dosen Pembimbing Mochammad Zen Samsono Hadi, ST, MSc NIP. 197412252003121003

JURUSAN TEKNIK TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2009

PEMBACAAN PLAT NOMOR KENDARAAN MENGGUNAKAN METODE JARINGAN SYARAF TIRUAN (JST) BACKPROPAGATION BERBASIS IMAGE PROCESSING
Oleh Endah Sri Utami NRP. 7205.040.012 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Saint Terapan (SST) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui Oleh : Tim Penguji Proyek Akhir : 1. Reni Soelistijorini, B.Eng, MT NIP. 197104281999032002 2. M. Agus Zainuddin, ST, MT NIP. 197808182008011015 3. M. Hasbi A, SKom NIP. 2000000018 Mengetahui : Ketua Jurusan Teknik Telekomunikasi Arifin, ST, MT NIP. 196005031988031004 Dosen Pembimbing : 1. M. Zen S. Hadi, ST, MSc NIP. 197412252003121003

ABSTRAK
iii

Pengolahan citra digital (Digital Image Processing) adalah bidang yang berkembang sangat pesat sejalan dengan kemajuan teknologi pada industri saat ini. Salah satu kasus yang masih menjadi masalah yaitu saat masuk ke tempat parkir, petugas harus mencatat setiap nomor kendaraan yang masuk. Hal ini dirasa tidak efisien, karena petugas harus jeli membaca dan menulis nomor kendaraan. Cara untuk mengatasi masalah ini yaitu digunakan webcam sebagai alat untuk membaca setiap nomor kendaraan yang masuk. Proses yang dilakukan adalah mengambil gambar dari nomor kendaraan menggunakan webcam, dimana posisi webcam dengan nomor kendaraan harus tepat. Kemudian dilakukan threshold agar bisa melakukan segmentasi karakter. Dengan menggunakan Jaringan Syaraf Tiruan (JST) Backpropagation, didapat keluaran berupa bobot. Hasil bobot tersebut dibandingkan dengan array yang sudah ada untuk pengenalan karakter huruf dan angka, sehingga dapat membaca plat nomor kendaraan. Hasil yang didapat yaitu sebuah sistem pembacaan karakter pada plat nomor kendaraan. Dengan ini para penyedia tempat parkir akan lebih mudah dalam pencatatan nomor kendaraan yang masuk ke tempat parkir. Kata Kunci : Digital Image Processing, threshold, Jaringan Syaraf Tiruan (JST), Backpropagation, weight

ABSTRACT

Digital Image Processing is a growing field that is in line with the rapid progress of technology in the industry at this time. One case that is still a problem at the entrance to the parking area, the officer must record the each plate number that entered. These are not efficient, because officer must be read and write the character of plate number. The way to overcome this problem is used the webcam as a tool to read any characters of plate number that entered. The process that is going to take a picture of plate number using a webcam, webcam position with plate number must be right. Threshold use to segmentation of character. By using the Backpropagation Neural Network, obtained form the output weights. The weights is matched with the constant array for recognizing of character, so can read character of plate number. Results obtained, system of reading the characters of plate number. With this system, officer can be easier in the record character of plate number where enter the parking area. Keyword : Backpropagation, Digital Image Processing, threshold

KATA PENGANTAR
v

Dengan memanjatkan puji syukur kehadirat Allah SWT, karena atas limpahan rahmat dan hidayah-Nya, penulis dapat menyelesaikan Proyek Akhir. Adapun judul dari Proyek Akhir ini adalah PEMBACAAN PLAT NOMOR KENDARAAN MENGGUNAKAN METODE JARINGAN SYARAF TIRUAN (JST) BACKPROPAGATION BERBASIS IMAGE PROCESSING Pembuatan Proyek Akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Saint Terapan (SST) di Politeknik Elektronika Negeri Surabaya, Institut Teknologi Sepuluh Nopember. Diharapkan Proyek Akhir ini dapat memberikan manfaat dimasa kini dan yang akan datang bagi pengembangan ilmu pengetahuan, riset dan teknologi pada umumnya dan politeknik khususnya. Penulis menyadari bahwa karya ini masih jauh dari sempurna karena keterbatasan dan hambatan yang dijumpai oleh penulis, dan semoga dapat dikembangkan lagi guna meraih hasil yang jauh lebih optimal lagi. Oleh karena itu karya proyek akhir ini masih perlu untuk dikembangkan lagi pada masa mendatang.

Surabaya, Juli 2009

penulis

UCAPAN TERIMA KASIH

Syukur alhamdulillah kepada Allah SWT atas ridhoNya, penulis berhasil menyelesaikan proyek akhir ini. Pembuatan proyek akhir ini tidak akan selesai tanpa bantuan berbagai pihak yang selalu mendukung dan membantu, antara lain : 1. Ayah, Ibu, kakakku dan adik-adikku yang selalu memberi doa dan dukungan. 2. Ir. Dadet Pramadihanto, M.Eng, PhD, selaku direktur Politeknik Elektronika Negeri Surabaya. 3. Bapak Arifin, ST, MT, selaku Kepala Jurusan Teknik Telekomunikasi Politeknik Elektronika Negeri Surabaya. 4. Moch. Zen Samsono Hadi, ST, MSc dan Adhi Dharma Wibawa selaku dosen pembimbing, yang selalu membimbing dan memberi dukungan. 5. Para dosen Politeknik Eloktronika Negeri Surabaya jurusan telekomunikasi yang telah pengajari selama ini 6. Teman-teman di PENS ITS terutama kelas D4 Telekomunikasi A yang selalu mendukung dalam penyelesaian tugas akhir ini. 7. Buat semua pihak yang tidak dapat disebutkan satu per satu yang telah memberi doa dan dukungan dalam pengerjaan proyek akhir ini.

DAFTAR ISI

vii

HALAMAN JUDUL ....................................................................... i LEMBAR PENGESAHAN ............................................................ ii ABSTRAK ....................................................................................... iii KATA PENGANTAR ..................................................................... vi UCAPAN TERIMA KASIH ... vii DAFTAR ISI ................................................................................. viii DAFTAR GAMBAR .................................................................... xi DAFTAR TABEL .. xii BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG ................................................ 1 1.2 RUMUSAN MASALAH............................................. 1 1.3 BATASAN MASALAH ............................................. 2 1.4 TUJUAN .................................................................... 2 1.5 METODOLOGI ......................................................... 2 1.6 SISTEMATIKA PENULISAN ................................... 3 BAB 2 TEORI PENUNJANG 2.1 Pengolahan Citra (Image Processing)........................... 5 2.1.1 Pengertian Citra ................................................... 5 2.1.2 RGB ............................................................ 6 2.1.3 Derajat Keabuan (Gray Scale)............................. 7 2.1.4 Thresholding ... 7 2.2 Jaringan Syaraf Biologi dan Tiruan .... 7 2.2.1 Jaringan Syaraf Biologi .. 7 2.2.2 Jaringan Syaraf Tiruan ... 8 2.2.3 Aplikasi Jaringan Syaraf Tiruan (JST) .. 10 2.3 Backpropagation ..... 10 2.3.1 Arsitektur Backpropagation.... 10 2.3.2 Fungsi Aktifasi..... 11 2.3.3 Pelatihan Standar Backpropagation .. 12 2.3.4 Optimasi Arsitektur Backpropagation ... 15 2.3.4.1 Pemilihan Bobot . 15 2.3.4.2 Jumlah Unit Tersembunyi . 16 2.3.4.3 Lama Iterasi 16 2.3.5 Variasi Backpropagation .... 16 2.3.5.1 Momentum . 16 2.4 PERANGKAT KERAS ............................................... 17 2.4.1 PC (Personal Komputer) ..................................... 17

2.4.2 Memori ................................................................ 17 2.4.3 Webcam .............................................................. 18 2.5 PERANGKAT LUNAK .............................................. 18 2.5.1 Membentuk M-File ............................................. 18 2.5.2 Masukan dan Keluaran ....................................... 20 2.5.2.1 Perintah Masukan-Keluaran dari Keyboard .... 20 2.5.2.2 Perintah Masukan-Keluaran dari Berkas .. 20 2.5.3 Statemen Kendali .... 20 2.5.4 Statemen Perulangan .. 21 2.5.4.1 Struktur For . 22 2.5.4.2 Struktur While . 22 BAB 3 PERENCANAAN SISTEM 3.1 Bahan dan Alat 23 3.1.1 Laptop . 23 3.1.2 Webcam .. 23 3.2 Cara Kerja Sistem ... 24 3.2.1 Perancangan Penempatan Webcam dengan Plat Nomor .. 27 3.2.2 Proses Pembelajaran Karakter 27 3.2.3 Proses Pengenalan Karakter .... 30 3.2.4 Pembuatan GUI Matlab .. 31 3.3 Tempat dan Waktu Pengujian . 33 3.4 Pengumpulan Data dan Cara Analisa Data 34 3.4.1 Pengujian Secara Load Gambar . 34 3.4.2 Pengujian Secara Real Time 35 BAB 4 PEMBUATAN SISTEM, HASIL DAN PEMBAHASAN 4.1 Pembuatan Sistem 37 4.1.1 Proses Pembelajaran Karakter 37 4.1.2 Proses Pengenalan Karakter 41 4.1.3 Proses Pembelajaran dan Pengenalan Karakter Dengan Penambahan Filter . 43 4.2 Pengujian Sistem .. 45 4.2.1 Proses Pembelajaran 36 Karakter .. 45 4.2.2 Proses Pengenalan Karakter ... 46 4.3 Hasil Pengujian 48 4.3.1 Pengujian dengan Pengambilan Gambar Secara ix

Load Gambar .. 48 4.3.1.1 Kondisi Pertama(Awal) Pengujian.. 48 4.3.1.2 Kondisi Kedua dengan Menurunkan Besarnya Iterasi . 50 4.3.1.3 Kondisi Ketiga dengan Menaikkan Besarnya Iterasi .. 51 4.3.1.4 Kondisi Keempat dengan Menaikkan Momentum . 52 4.3.1.5 Kondisi Kelima dengan Menurunkan Momentum . 53 4.3.1.6 Kondisi Keenam dengan Menaikkan Learning Rate . 54 4.3.1.7 Kondisi Ketujuh dengan Menurunkan Learning Rate . 55 4.3.1.8 Hasil Pembacaan Tiap Karakter 56 4.3.2 Pengujian dengan Pengambilan Gambar Secara Real Time . 57 4.3.3 Pengujian dengan Penambahan Filter. 58 4.3.3.1 Pembacaan Plat Nomor dengan Penambahan Filter Gaussian .. 59 4.3.3.2 Pembacaan Plat Nomor dengan Penambahan Filter Unsharp ... 60 4.3.4 Pengujian Perbandingan Ketiga Metode 61 BAB 5 PENUTUP 5.1 Kesimpulan . 65 5.2 Saran 65 DAFTAR PUSTAKA.. 67 LAMPIRAN 69 RIWAYAT HIDUP .... 75

DAFTAR GAMBAR

Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 2.7 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 3.10

: : : : : : : : : : : : : : : : :

Gambar 3.11 : Gambar 4.1 : Gambar 4.2 : Gambar 4.3 : Gambar 4.4 : Gambar 4.5 : Gambar 4.6 : Gambar 4.7 : Gambar 4.8 : Gambar 4.9 : Gambar 4.10 :

Pemrosesan Citra 5 Kombinasi Warna RGB . 6 Struktur Otak Pada Manusia . 8 Jaringan Syaraf Tiruan 9 Arsitektur Backpropagation .. 11 Grafik Fungsi Sigmoid Biner 12 Jendela M-File 19 Logitech Pro for Notebook . 24 Blok Diagram Perancangan Sistem 24 Blok Diagram Proses Pembelajaran Karakter .. 25 Blok Diagram Proses Pengenalan Karakter .. 26 Penempatan Pembelajaran Karakter . 27 Segmentasi Karakter .. 28 Hasil Resize Karakter . 28 GUI Sistem Pembacaan Plat Nomor Kendaraan 31 Tampilan Proses Pembelajaran Karakter .. 31 Tampilan Proses Pengenalan Karakter Secara Real Time 32 Tampilan Proses Pengenalan Karakter dengan Load Gambar .. 33 Listing Program Segmentasi Karakter (Pendeteksian Baris) 37 Listing Program Segmentasi Karakter (Pendeteksian Kolom) .... 38 Listing Program Pembelajaran Karakter ... 39 Listing Program Penentuan Karakrakter ... 42 Blok Diagram Proses Pembelajaran Karakter denganPenambahan Filter .. 43 Blok Diagram Proses Pengenalan Karakter dengan Penambahan Filter . 44 Tampilan Awal Sistem Pembacaan Plat Nomor Kendaraan .. 45 Proses Pembelajaran 36 Karakter .. 45 Proses Pembacaan Plat Nomor Kendaraan dengan Load Gambar . 46 Proses Pembacaan Plat Nomor Kendaraan Secara Real Time .... 47

DAFTAR TABEL
xi

: Operator Logika ...... 21 : Spesifikasi Laptop ... 23 : Bobot Masing-masing Karakter ...... 29 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Pertama ........ 49 Tabel 4-2 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Kedua ....... 50 Tabel 4-3 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Ketiga ....... 51 Tabel 4-4 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Keempat ....... 52 Tabel 4-5 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Kelima ...... 53 Tabel 4-6 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Keenam . 54 Tabel 4-7 : Hasil Pembacaan Plat Nomor Kendaraan Kondisi Ketujuh . 55 Tabel 4-8 : Hasil Pembacaan Tiap Karakter .. 56 Tabel 4-9 : Hasil Pembacaan Plat Nomor Kendaraan Secara Real Time .. 57 Tabel 4-10 : Hasil Penambahan Filter .. 58 Tabel 4-11 : Hasil Pembacaan Plat Nomor Kendaraan dengan Penambahan Filter Gaussian 59 Tabel 4-12 : Hasil Pembacaan Plat Nomor Kendaraan dengan Penambahan Filter Unsharp ..... 60 Tabel 4-13 : Perbandingan Hasil Pembacaan Ketiga Metode . 62 Tabel 4-14 : Perbandingan Waktu yang Dibutuhkan .. 63

Tabel 2-1 Tabel 3-1 Tabel 3-2 Tabel 4-1

xiii

BAB 1 PENDAHULUAN
1.1 LATAR BELAKANG Seiring dengan perkembangan dan kemajuan teknologi yang semakin pesat, semua dituntut untuk menjadi lebih praktis. Dari hari ke hari semakin banyak perkembangan yang dijumpai dalam perbagai bidang. Salah satunya yaitu perkembangan mengenai proses pencitraan (Image Processing). Dengan perkembangan proses pencitraan ini, banyak yang bisa dilakukan, misalnya digunakan untuk pencatatan plat nomor kendaraan yang masuk ke tempat parkir. Dimana pada saat ini untuk mencatat setiap nomor kendaraan yang masuk ke tempat parkir, petugas harus mencatat secara manual. Dimana untuk mencatatnya sangat dibutuhkan kejelian. Hal ini dirasa kurang efektif. Untuk mengatasi masalah ini yaitu digunakanlah webcam yang nantinya dapat mengambil gambar setiap nomor kendaraan yang masuk, kemudian diproses menggunakan image processing untuk membaca berapa nomor kendaraan tersebut. Metode yang digunakan untuk pembacaan nomor kendaraan ini yaitu menggunakan Jaringan Syaraf Tiruan (JST) Backpropagation. Diharapkan dengan adanya ini semua, pencatatan nomor kendaraan semakin efisien dan memudahkan petugas dalam mencatat nomor kendaraan. 1.2 RUMUSAN MASALAH Permasalahan pada proyek akhir ini adalah membuat sistem yang dapat membaca nomor kendaraan dari gambar yang ditangkap menggunakan webcam. Permasalahan yang ada yaitu antar lain : 1. Bahasa pemrograman apa yang digunakan 2. Metode apa yang digunakan 3. Bagaimana jarak plat nomor kendaraan dengan webcam yang sesuai agar didapat hasil yang optimal 4. Jenis dan warna plat nomor kendaraan 5. Bagaimana standarisasi dari plat nomor kendaraan

2 1.3 BATASAN MASALAH Dari permasalahan yang ada dapat dibatasi dengan ketentuan sebagai berikut : 1. Bahasa pemrograman yang digunakan adalah Matlab 2. Metode yang digunakan yaitu Jaringan Syaraf Tiruan (JST) Backpropagation 3. Posisi saat pengambilan gambar harus tepat dan jarak yang digunakan tetap 4. Plat nomor kendaraan yang diujikan yaitu plat nomor untuk warga sipil berwarna hitam putih 5. Nomor kendaraan harus sesuai dengan standar yang telah ditetapkan pemerintah 1.4 TUJUAN Tujuan dari pembuatan proyek akhir ini adalah merancang dan membuat aplikasi dengan digital image processing untuk pembacaan nomor kendaraan dengan menggunakan webcam secara real time. Metode yang digunakan untuk pembacaan nomor kendaraan ini yaitu menggunakan Jaringan Syaraf Tiruan (JST) Backpropagation. 1.5 METODOLOGI Metode yang dilakukan untuk menyelesaikan Proyek Akhir ini yaitu sebagai berikut : 1. Studi Literatur Langkah untuk mempelajari tentang Image Processing (Pengolahan Citra), bahasa pemrograman Matlab, gray scale, backpropagation, serta buku-buku literatur dan informasi dari internet yang berhubungan dengan proyek akhir ini. 2. Perencanaan Sistem Pembuatan sistem pembacaan plat nomor menggunakan webcam yang disambungkan ke sebuah PC (Personal Computer) untuk menangkap gambar secara real time. Selanjutnya diproses menggunakan Jaringan Syaraf Tiruan (JST) Backpropagation. 3. Pengujian Sistem Pengujian perangkat lunak untuk membaca plat nomor kendaraan dengan menggunkan webcam. Sehingga PC dapat mengenali angka dan huruf yang dibaca sebagai nomor kendaraan.

4. Analisa Sistem Melakukan uji coba program perangkat lunak untuk beberapa kondisi. Dari beberapa hasil yang didapat, bisa diketahui apakah sistem yang dibuat ini sudah sesuai dengan apa yang diharapkan. 5. Kesimpulan Dari hasil pengujian dapat disimpulkan beberapa hal yang berhubungan dengan sistem yang dibuat. 1.6 SISTEMATIKA PEMBAHASAN Untuk pembahasan mengenai realisasi proyek akhir ini dijelaskan berdasarkan sistematika sebagai berikut : BAB I PENDAHULUAN Bab pendahuluan yang berisi tentang latar belakang, permasalahan dan batasan masalah, tujuan, metodologi serta sistematika pembahasan penulisan buku proyek akhir ini. BAB II TEORI DASAR Membahas mengenai teori penunjang yang akan digunakan dalam penyelesaian proyek akhir ini yang sesuai dengan perencanaan dan pembuatan sistem pembacaan plat nomor kendaraan. BAB III PERENCANAAN SISTEM Membahas mengenai perencanaan sistem dan tahap-tahap pembuatan software pada sistem. BAB IV PEMBUATAN SISTEM, HASIL DAN PEMBAHASAN Berisi data hasil pembuatan sistem dan proses pengujian. Kemudian melakukan analisa dari hasil pengujian. BAB V PENUTUP Kesimpulan dari pembahasan bab-bab sebelumnya, saran dan pengembangan dan penyempurnaan untuk proyek akhir ini.

Halaman ini sengaja dikosongkan

BAB II TEORI PENUNJANG


Bab ini membahas tentang teori apa saja yang dapat mendukung perancangan dan pembuatan sistem pembacaan plat nomor kendaraan ini. 2.1 Pengolahan Citra (Image Processing) 2.1.1 Pengertian Citra Citra merupakan informasi yang secara umum tersimpan dalam bentuk pemetaan bit-bit atau sering dikenal dengan bitmap. Setiap bit-bit membentuk satu titik informasi yang dikenal dengan piksel. Satu piksel merupakan satu titik citra yang terdiri dari satu atau beberapa bit informasi. Satuan dari piksel biasanya dinyatakan dengan posisi x, posisi y dan nilai dari piksel (warna atau gray). Dalam satu bidang gambar, sepenuhnya terdiri dari piksel-piksel. Karena itu, file yang menyimpan citra biasa disimpan dengan nama BMP. Untuk mengurangi ukuran dari file, biasanya file citra dimampatkan dengan menggunakan teknik tertentu, misal yang terkenal yaitu JPEG atau GIF.

Piranti

Scanner

Piranti Komputer

Gambar 2.1 Pemrosesan Citra Citra adalah representasi dari dua dimensi untuk bentuk fisik nyata dari tiga dimensi. Citra dalam perwujudannya dapat bermacam-macam, mulai dari gambar berwarna yang bergerak pada pesawat televisi. Citra dapat dikatakan pula sebagai sebuah gambar, foto yang ditampilkan atau bentuk lain yang memberikan representasi visual tentang sebuah obyek atau pemandangan. Pada pemrosesan citra digital sebuah gambar bilangan array 2 dimensi, yang setiap barisnya adalah representasi piksel pada gambar setiap barisnya. Minimum nilai piksel = 0 (hitam), maksimum = 225 (putih). Komputer membutuhkan memori lebih banyak untuk data ini rata-rata 3 kali data storage. 5

6 Proses tranformasi dari bentuk tiga dimensi ke bentuk dua dimensi untuk menghasilkan citra akan dipengaruhi oleh bermacam-macam faktor yang mengkibatkan penampilan citra suatu benda tidak sama persis dengan bentuk fisik nyatanya. Faktor-faktor tersebut merupakan efek degredasi atau penurunan kualitas yang dapat berupa rentang kontras benda yang terlalu sempit atau terlalu lebar, distorsi kekaburan (blur), kekaburan akibat objek citra yang bergerak (motion blur), noise atau gangguan yang disebabkan oleh interferensi peralatan pembuat citra berupa peralatan elektronik. Karena pengolahan citra digital dilakukan dengan komputer digital maka citra yang akan diolah terlebih dahulu ditransformasikan ke dalam bentuk besaran-besaran diskrit dari nilai tingkat keabuan pada titik-titik elemen citra. Dalam image processing terdapat proses akuisisi citra digital yaitu proses yang sangat menentukan kualitas hasil dari proses pencitraan digital yang akan diperoleh. Agar proses akuisisi citra digital dapat terjadi diperlukan tiga komponen utama yang harus dipenuhi yaitu sumber cahaya, objek atau benda yang akan diamati, dan sensor berupa kamera itu sendiri. Prosesnya yaitu cahaya yang mengenai permukaan benda dipantulkan ke segala arah. Pantulan cahaya ini sebagian ditangkap oleh sensor peka cahaya pada kamera. Intensitas cahaya yang diterima oleh sensor merepresentasikan kondisi objek. Sehingga citra digital yang diperoleh merupakan informasi tentang objek yang terbentuk dari pantulan cahaya atau refleksi pada permukaan objek. 2.1.2 RGB Dasar dari pengolahan citra adalah pengolahan warna RGB pada posisi tertentu. Terlihat bahwa setiap warna mempunyai range nilai 00 (angka desimalnya adalah 0) dan ff (angka desimalnya adalah 255). Nilai warna warna pada setiap gambar merupakan gambungan warna merah, hijau dan biru seperti yang terlihat pada gambar 2.2. Sehingga untuk menentukan nilai dari suatu warna yang bukan warna dasar, dilakukan penggabungan antara tiga warna dasar yaitu RGB.

Gambar 2.2 Komposisi Warna RGB

2.1.3 Derajat Keabuan (Gray Scale) Proses awal yang banyak dilakukan dalam image processing adalah mengubah citra berwarna menjadi citra gray scale, hal ini digunakan untuk menyederhanakan model citra. Seperti telah dijelaskan sebelumnya, citra berwarna terdiri dari 3 layer matrik yaitu, R-layer, Glayer dan B-layer. Sehingga untuk melakukan prosesproses selanjutnya tetap diperhatikan layer layer diatas. Bila setiap proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama. Sehingga konsep itu diubah dengan mengubah 3 layer diatas menjadi 1 layer matrik gray scale dan hasilnya adalah citra gray scale. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuan. 2.1.4 Threshold Threshold merupakan konversi citra hitam putih ke citra biner. Cara yang dilakukan yaitu dengan mengelompokkan nilai derajat keabuan setiap piksel ke dalam 2 kelas, yaitu hitam dan putih. Jika nilai gray scale kurang dari 128 maka ditentukan sebagai hitam (0). Jika nilai gray scale lebih besar dari 128 maka ditentukan sebagai putih (1). 2.2 Jaringan Syaraf Biologi dan Tiruan 2.2.1 Jaringan Syaraf Biologi Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia terdiri dari neuron neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls / sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6.108 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ organ tubuh dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai topi, memiliki kumis, dan lain sebagainya) akan lebih cepat dilakukan manusia dibandingkan dengan komputer. Struktur otak manusia adalah seperti pada gambar 2.3

Gambar 2.3 Struktur Otak Pada Manusia Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena kemampuannya membentuk sendiri aturan aturan (pola) berdasarkan pengalaman yang diterima. Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik manusia terutama pada umur 0 2 tahun. Pada manusia umur 2 tahun pertama, terbentuk 1 juta sinapsis per detiknya. Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat / diperlemah) di celah sinaptik. Berikutnya soma menjumlahkan semua sinyal sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda beda antara satu sel dengan yang lain. Neuron biologi merupakan sistem yang fault toleran dalam 2 hal. Pertama, manusia dapat mengenali sinyal input yang agak berbeda dari yang pernah diterima sebelumnya. Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain kadang kadang dapat dilatih untuk menggantikan fungsi sel lain yang rusak tersebut. 2.2.2 Jaringan Syaraf Tiruan Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi.

Jaringan syaraf tiruan (JST) dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa : 1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron) 2. Sinyal dikirim diantara neuron neuron melalui penghubung penghubung 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal 4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikarenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang. Jaringan syaraf tiruan (JST) ini ditentukan oleh 3 hal : 1. Pola hubungan antar neuron (disebut arsitektur jaringan) 2. Metode untuk menentukan bobot penghubung (disebut metode training / learning / algoritma) 3. Fungsi aktivasi Contoh dari jaringan syaraf tiruan (JST) terdapat pada gambar 2.4
x1 W1

x2

W2

x3

W3

Gambar 2.4 Jaringan Syaraf Tiruan Y menerima input dari neuron x1, x2 dan x3 dengan bobot hubungan masing masing adalah w1, w2 dan w3. Ketiga impuls neuron yang ada dijumlahkan, seperti pada persamaan 2.1 net = x1w1 + x2w2 + x3w3 ..(2.1)

Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y=f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk mengubah bobot.

10 2.2.3 Aplikasi Jaringan Syaraf Tiruan (JST) Beberapa aplikasi jaringan syaraf tiruan antara lain : a. Pengenalan Pola (Pattern Recognition) Jaringan syaraf tiruan (JST) dapat dipakai untuk mengenali pola (misalkan huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip otak manusia yang masih mampu mengenali orang yang sudah beberapa waktu tidak dijumpai (mungkin wajah / bentuk tubuhnya yang sudah sedikit berubah) b. Signal Processing Jaringan syaraf tiruan (JST) (model ADALINE) dapat dipakai untuk menekan noise dalam saluran telepon. c. Peramalan Jaringan syaraf tiruan (JST) juga bisa dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang sudah ada di masa lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya. Selain itu, jaringan syaraf tiruan juga dilaporkan dapat menyelesaikan masalah di bidang kontrol, kedokteran dan lain sebagainya. Meskipun banyak aplikasi menjanjikan yang dapat dilakukan oleh jaringan syaraf tiruan, namun jaringan syaraf tiruan juga memiliki beberapa keterbatasan umum. Pertama adalah ketidak akuratan hasil yang diperoleh. Jaringan syaraf tiruan bekerja berdasarkan pola yang terbentuk pada inputnya. 2.3 Backpropagation Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. 2.3.1 Arsitektur Backpropagation Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Arsitektur backpropagation dengan n buah masukan (ditambah satu bias), dan sebuah layar tersembunyi yang terdiri dari p unit (ditambah satu bias), dan juga m buah unit keluaran, terdapat pada gambar 2.5

Y1

Yk

Ym

W10 Wk0 Wm0 W11

Wk1 Wm1

Wkj W1j Wmj

Wkp W1p

Wmp

Z1

Zj

Zp

V10

Vj0 Vp0

V11

Vj1 V1i Vp1

Vji

Vpi V1n

Vjn

Vpn

X1

Xi

Xn

Gambar 2.5 Arsitektur Backpropagation Dari gambar 2.5, dapat dijelaskan bahwa Vji adalah bobot garis dari unit masukan Xi ke unit layar tersembunyi Zj (Vj0 adalah bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi Zj). Sedangkan Wkj adalah bobot dari unit layar tersembunyi Zj ke unit keluaran Yk (Wk0 adalah bobot dari bias di layar tersembunyi ke unit keluaran Yk). 2.3.2 Fungsi Aktivasi Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu : kontinyu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah sigmoid biner yang memiliki range (0 - 1), dapat dilihat pada persamaan 2.2 dengan turunan Grafik untuk fungsi sigmoid biner yaitu pada gambar 2.6

12
1 f(x) 0,5

Gambar 2.6 Grafik Fungsi Sigmoid Biner 2.3.3 Pelatihan Standar Backpropagation Pelatihan backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. a. Fase 1: Propagasi maju Selama propagation maju, sinyal masukan ( ) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layar tersembunyi ( ) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan ( ). Berikutnya, keluaran jaringan ( ) dibandingkan dengan target yang harus dicapai ( ). Selisih adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas tileransi, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi. b. Fase 2: Propagasi mundur Berdasarkan kesalahan - , dihitung faktor (k=1,2,, m) yang dipakai untuk mendistribusikan kesalahan di unit ke semua unit tersembunyi yang terhubung langsung dengan . k juga dipakai untuk mengubah bobot garis yang berhubungan langsung

c.

dengan unit keluaran. Dengan cara yang sama dihitung faktor di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung. Fase 3: Propagasi bobot Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di layar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas yang ada di unit keluaran.

Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghitungan yang sering dipakai adalah jumlah iterasi dan kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan. Algoritma pelatihan untuk jaringan dengan satu layar tersembunyi (dengan fungsi aktifasi sigmoid biner) adalah sebagai berikut : Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 29 Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 8 Fase I : Propagasi maju Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi di atasnya. Langkah 4 : Hitung semua keluaran di unit tersembunyi (j=1,2,,p). Terdapat pada persamaan 2.3 dan 2.4 = = f( + )= .. (2.3) .. (2.4)

14 Langkah 5 : Hitung semua keluaran jaringan di unit terdapat pada persamaan 2.5 dan 2.6 = = f( Fase II : Propagasi mundur Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit keluaran (k=1,2,.,m). Terdapat pada persamaan 2.7 = = (1) . (2.7) + )= (k=1,2,,m).

.. (2.5) .. (2.6)

merupakan unit kasalahan yang akan dipakai dalam perubahan bobot layar di bawahnya (langkah 7) Hitung suku perubahan bobot (yang akan dipakai nanti untuk mengubah bobot ) dengan laju pemahanan (learning rate) . Terdapat pada persamaan 2.8 = Dimana : k = 1,2,,m dan j = 0,1,,p Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi (j=1,2,,p). Terdapat pada persamaan 2.9 = .. (2.9) .. (2.8)

Faktor unit tersembunyi terdapat pada persamaan 2.10 = = (1 - ) . (2.10)

Hitung suku perubahan bobot (yang akan dipakai nanti untuk mengubah bobot ). Terdapat pada persamaan 2.11

= Dimana : j=1,2,,p dan i = 0,1,,n Fase III : Perubahan Bobot

... (2.11)

Langkah 8 : Hitung semua perubahan bobot Perubahan bobot garis yang menuju ke unit keluaran dengan persamaan 2.12 (baru) = (lama) + .. (2.12) Dimana : k=1,2,,m dan j=0,1,,p Perubahan bobot garis yang menuju ke unit tersembunyi dengan persamaan 2.13 (baru) = (lama) + .. (2.13)

Dimana : k=1,2,,m dan j=0,1,,n Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan keluaran jaringan. 2.3.4 Optimasi Arsitektur Backpropagation Masalah utama yang dihadapi dalam Backpropagation adalah lamanya iterasi yang harus dilakukan. Backpropagation tidak dapat memberikan kepastian tentang berapa epoch yang harus dilalui untuk mencapai kondisi yang diinginkan. 2.3.4.1 Pemilihan Bobot Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat korvengensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar Backpropagation, bobot diisi dengan bilangan acak kecil.

16 Nguyen dan Widrow (1990) mengusulkan cara membuat inisialisasi bobot ke unit tersembunyi sehingga menghasilkan iterasi lebih cepat, yaitu dengan cara menginisialisasi semua bobot (vij(lama)) dengan bilangan acak dalam interval [-0.5, 0.5]. 2.3.4.2 Jumlah Unit Tersembunyi Hasil teoritis yang didapat menunjukkan bahwa jaringan dengan sebuah layar tersembunyi sudah cukup bagi Backpropagation untuk mengenali sembarang perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah layar tersembunyi kadangkala membuat pelatihan lebih mudah. Jika jaringan memiliki lebih dari satu layar tersembunyi, maka algoritma pelatihan yang dijabarkan sebelumnya perlu direvisi. Dalam propagasi maju, keluaran harus dihitung untuk tiap layar, dimulai dari layar tersembunyi paling bawah (terdekat dengan masukan). Sebaliknya dalam propagasi mundur, faktor perlu dihitung untuk tiap layar tersembunyi, dimulai dari layar keluaran. 2.3.4.3 Lama Iterasi Tujuan utama penggunaan Backpropagation adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis (disebut data pengujian). Jaringan dapat dilatih terus menerus hingga semua pola pelatihan dikenali dengan benar. Akan tetapi hal ini tidak menjamin jaringan akan mampu mengenali pola pengujian dengan tepat. Jadi tidaklah bermanfaat untuk meneruskan iterasi hingga semua kesalahan pola pelatihan = 0. Umumnya data dibagi menjadi 2 bagian saling asing, yaitu pola data yang dipakai sebagai pelatihan dan data yang dipakai untuk pengujian. Perubahan bobot dilakukan berdasarkan pola pelatihan. Akan tetapi selama pelatihan, kasalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujian). Selama kesalahan ini menurun, pelatihan terus dijalankan. Akan tetapi jika kesalahan sudah meningkat, pelatihan sudah tidak ada gunanya untuk diteruskan lagi. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah mulai kehilangan kemampuan melakukan generalisasi. 2.3.5 Variasi Backpropagation 2.3.5.1 Momentum

Pada standar Backpropagation, perubahan bobot didasarkan atas gradien yang terjadi untuk pola yang dimasukkan saat itu. Modifikasi yang dapat dilakukan adalah melakuan perubahan bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya (disebut momentum) yang dimasukkan. Jadi tidak hanya pola masukan terakhir saja yang diperhitungkan. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok alibat adanya data yang sangat berbeda dengan yang lain. Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien sudah benar), maka perubahan bobot dilakukan secara cepat. Namun apabila data terakhir yang dimasukkan memiliki pola yang berbeda dengan pola sebelumnya, maka perubahan dilakukan secara lambat. Dengan penambahan momentum, bobot baru pada waktu ke (t+1) didasarkan atas bobot pada waktu t dan (t-1). Disini harus ditambahkan 2 variabel baru yang mencatat besarnya momentum untuk 2 iterasi terakhir. Jika adalah konstanta (0 1) yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan 2.14 dan 2.15 = dan = .(2.15) (2.14)

2.4 PERANGKAT KERAS Membahas tentang perangkat keras yang digunakan untuk menyelesaikan tugas proyek akhir ini, seperti PC (Personal Computer), memori dan webcam. 2.4.1 PC (Personal Computer) Komputer adalah seperangkat piranti elektronik digital yang tiaptiap bagiannya dapat dikelompokkan sebagai peralatan input, peralatan output, dan central processing unit. Bagian terpenting dari pengolahan citra yang akan dibahas lebih lanjut adalah mengenai memori yang berkaitan erat dengan fasilitas perencanaan dan pembuatan proyek akhir ini. 2.4.2 Memori

18 Memori dapat digunakan untuk menyimpan data-data pada saat komputer sedang dijalankan atau diaktifkan, yaitu RAM (Random Access Memory) dan ROM (Read Only Memory).Untuk pengolahan citra digital, memori yang dibutuhkan lebih besar agar pemrosesannya lebih cepat. 2.4.3 Webcam Webcam digunakan sebagai sarana masukan untuk memberikan data objek gambar ke komputer. Sebuah kamera digital dapat menjangkau hingga resolusi yang cukup. Biasanya resolusi yang didukung bisa mencapai 240 x 320 ataupun 480 x 640 piksel. Kemampuan suatu kamera untuk mengambil berapa banyak gambar utuh (frame) dalam satu detiknya menjadi penting. Untuk menghasilkan video yang memiliki pergerakan yang lancar, suatu kamera setidaknya harus memiliki kemampuan mengambil gambar utuh sebanyak 25 buah untuk setiap detiknya. Semakin banyak gambar utuh yang diambil setiap detiknya makin mulus gambar yang dihasilkan. 2.5 PERANGKAT LUNAK Pada bagian ini, akan membahas mengenai perangkat lunak apa yang digunakan. Dalam tugas akhir ini, bahasa pemrograman yang digunakan yaitu Matlab 7.0.4. 2.5.1 Membentuk M-File Pemrograman dengan M-File memberikan control lebih banyak dibandingkna dengan commond line. Denga M-File bisa melakukan percabangan, perubahan dan lain-lain. Struktur program M-File mirip denga bahasa C yang membagi program dalam blok program berupa fungsi-fungsi. Tiap fungsi dapat memanggil fungsi yang lain. Script dalam jendela perintah dapat berguna untuk mnyelesaikan permasalahan yang pendek. Sebaliknya M-file dapat dipakai untuk berbagai aplikasi sesuai keinginan pemakai. Jendela M-file dapat dibuka melalui menu File New M file atau dengan menekan Crtl-N. jendela M-file tampak pada gambar 2.7. bagian-bagiannya mirip dengan editor teks biasa. Bagian tengah dipakai untuk mengetikkan program. Di bagian atas adalah menu yang dapat dipakai untuk menegdit dan menjalankan (running) program.

Gambar 2.7 Jendela M - file Fungsi dalam Matlab terdiri dari 2 bagian yaitu definisi fungsi dan tubuh fungsi. a. Definisi fungsi Bentuk definisi adalah sebagai berikut :

Contoh : argumen masukan nama fungsi argumen keluaran kata kunci b. Tubuh fungsi Tubuh fungsi berisi semua perintah Matlab untuk membuat komputasi dan memberikan harga kepada argument keluaran.

20 Statemen dalam tubuh fungsi bisa berupa pemberian nilai pada suatu variabel, masukan/keluaran, fungsi control, iterasi ataupun pemanggilan kepada fungsi lain.

2.5.2 Masukan dan Keluaran 2.5.2.1 Perintah Masukan-Keluaran dari Keyboard Untuk membaca data dari keyboard, digunakan perintah Input. Selanjutnya user harus memasukkan nilai variabel di jendela perintah (command window) Sintaksnya adalah :

Sebagai contoh, untuk memasukkan data vector dari keyboard dari keyboard ke variabel x, digunakan perintah :

2.5.2.2 Perintah Masukan-Keluaran dari Berkas Masukan dan keluaran juga bisa diakses dari/ke berkas. Sebelum mengakses, berkas terlebih dahulu harus dibuka dengan perintah fopen. Format perintahnya adalah sebagai berikut :

Fid adalah perintah variabel identitas file yang nantinya dipakai ketika akan membaca atau, menulis. Filename adalah string berisi nama file (dan direktorisasi) yang dibaca/ditulis. Permission adalah kondisi file yang dibaca/ditulis. Defaultnya adalah file hanya dibuka untuk dibaca. 2.5.3 Statemen Kendali Statemen kondisi memungkinkan untuk mengontrol alur program. Format perintahnya adalah sebagai berikut :

Bentuk yang lebih umum adalah menentukan statemen apa yang dilakukan jika kondisi expression bernilai salah. Untuk itu ditambahkan perintah else. Jika expression bernilai benar, maka statements1 yang akan dilakukan. Akan tetapi jika salah, maka statements2 yang dilakukan.

Expression dalam kedua bentuk if tersebut berisi variabel variabel yang dihubungkan dengan operator logika (atau fungsi yang memiliki return Boolean true atau false). Operator logika yang dapat dipakai terdapat pada tabel 2.1 Tabel 2.1 Operator Logika Arti Lebih kecil dari Lebih kecil atau sama dengan Lebih besar dari Lebih besar atau sama dengan Sama dengan Tidak sama dengan

Operator < <= > >= == ~=

2.5.4 Statemen Perulangan Statemen perulangan digunakan untuk mengulang ulang suatu blok perintah. Ada 2 bentuk perulangan yang umumnya dipakai : a. Struktur For Dalam struktur ini, jumlah perulangan yang akan dipakai. Jadi sebelum statemen dalam perulangan dieksekusi, sudah tahu berapa kali nanatinya statemen tersebut diaksekusi. b. Struktur While Dalam struktur While, banyaknya perulangan ditentukandari kondisi syarat yang ditetapkan. Selama kondisi tersebut bernilai benar, maka perulangan terus dilakukan. Perulangan dapat

22 dilakukan beberapa kali, tidak pernah dilakukan sama sekali, atau bahkan dilakukan terus menerus tanpa pernah berhenti. Pembuatan program harus memastikan bahwa suatu saat nantinya, kondisi syarat bernilai salah (sehingga perulangan berhenti).

2.5.4.1 Struktur For Bentuk struktur For adalah sebagai berikut :

2.5.4.2 Struktur While Bentuk umum struktur While adalah sebagai berikut :

dimana op_rel adalah ==, <, >, <=, >=, atau ~= Statement akan dieksekusi terus menerus selama aksekusi setelah kata kunci while bernilai benar. Struktur while dipakai jika akan menghentikan iterasi segera setelah dicapai kesimpulan.

BAB III PERENCANAAN SISTEM


Pada bab ini akan membahas tentang langkah-langkah perancangan perangkat lunak secara keseluruhan yang merupakan pokok bahasan utama dalam proyek akhir. 3.1 Bahan dan Alat 3.1.1 Laptop Spesifikasi dari laptop yang digunakan pada proyek akhir ini terdapat pada tabel 3-1 Tabel 3-1 Spesifikasi Laptop Spesifikasi Intel Core 2 Duo CPU T5750 @2.00GHz Mobile Intel 965 Express Chipset Family 2038MB RAM 128.0 MB 250 GB Ver 1.00PARTTBL DirectX 9.0c Microsoft Windows XP Professional

Deskripsi Processor Video Memory RAM Hard Disk Bios Rev DirectX Version Operating System

3.1.2 Webcam Dalam tugas akhir ini digunakan webcam untuk menangkap gambar dari plat nomor. Keadaan objek yang berubah berpengaruh pada hasil pemrosesan data yang dihasilkan. Webcam yang digunakan adalah Logitech dengan tipe Logitech QuickCam Pro for Notebook. Spesifikasi adalah sebagai berikut. a. Carl Zeiss lens b. Autofocus system c. Ultra-high resolution 2-megapixel sensor with RightLight2 technology 23

24 d. e. f. g. h. Color depth: 24-bit true color Video capture: Up to 1800 x 1200 pixels (HD quality) (HD Video 960 x 720 pixels) Frame rate: Up to 30 frames per second Still image capture: 8 million pixels (with software enhancement) Built-in microphone with RightSound technology

Pada tugas akhir ini, pengambilan gambar diatur berukuran 320x240. Hasil gambar disimpan dalam tipe bmp.

Gambar 3.1 Logitech Pro for Notebook 3.2 Cara Kerja Sistem Perancangan sistem pembacaan plat nomor kendaraan dapat dijelaskan pada gambar 3.2
Proses Learning (Backpropagation)

Proses Mapping (Backpropagation)

Array karakter

L 2690 GR Gambar 3.2 Blok Diagram Perancangan Sistem

Berdasarkan gambar 3,2, sistem pembacaan plat nomor yang harus dilakukan yaitu mengambil gambar dari plat nomor kendaraan menggunakan webcam. Kemudian komputer akan mengolah gambar dengan metode Jaringan Syaraf Tiruan Backpropagation. Hasil keluarannya berupa bobot dari masing - masing karakter. Bobot yang didapnat dicocokan dengan array yang sudah ada berdasarkan hasil pada proses pembelajaran. Selanjutnya penentuan karakter yang didapat sebagai nomor kendaraan. Pada sistem pembacaan plat nomor ini ada dua tahap yang dilakukan yaitu proses pembelajaran (learning) dan proses pengenalan karakter (mapping). Pada proses pembelajaran akan didapat bobot dari 36 karakter (karakter pembelajaran). Blok diagram proses pembelajaran dapat dilihat pada gambar 3.3

Ambil gambar Thresholding

Pengambilan Per-Karakter

Mengatur dalam satu ukuran

Backpropagation

Bobot (Weight)

Gambar 3.3 Blok Diagram Proses Pembelajaran Karakter

26 Sedangkan untuk proses pengenalan (mapping) karakter dijelaskan pada gambar 3.4

Video Streaming

Ambil Gambar

Thresholding

Pengambilan Per-Karakter

Mengatur dalam satu ukuran

Backpropagation

Bobot (Weight)

Dibandingkan dengan array

Nomor Kendaraan

Gambar 3.4 Blok Diagram Proses Pengenalan Karakter

3.2.1 Perancangan Penempatan Webcam dengan Plat Nomor Agar hasil yang didapat identik, maka penempatan webcam dengan plat nomor harus dengan jarak dan posisi yang tetap. Maka dari itu, posisinya harus lurus. Selain itu agar didapat hasil gambar yang identik, maka pencahayaan yang digunakan harus homogen. Penempatan objek (plat nomor) diletakkan di papan yang sudah diberi penyangga. Untuk webcam dipasang ditiang yang jarak dan posisinya sudah diatur. Jarak antara webcam dengan plat nomor diatur sejauh 22 cm. Jarak ini sudah tidak bisa digeser geser lagi. Gambar penempatan webcam dengan plat nomor dapat dilihat pada gambar 3.5

Gambar 3.5 Penempatan Webcam dengan Plat Nomor 3.2.2 Proses Pembelajaran Karakter Proses yang harus dilakukan untuk pembelajaran 36 karakter yaitu antara lain : a. Pengambilan Gambar Untuk proses pembelajaran, pengambilan gambarnya hanya load gambar dari file yang sudah ada. b. Proses Thresholding Agar dapat dilakukan segmentasi karakter, maka harus dilakukan thresholding. Sehingga nilai dari gambar menjadi 0 (hitam) dan 1(putih). bw = im2bw(plat, graythresh(plat)); c. Segmentasi Karakter Pada proses pembelajaran karakter, yang harus dilakukan yaitu mengambil per karakter. Terdapat 36 karakter, untuk angka sebanyak 10 karakter (0, 1, 2,, 9) dan huruf sebanyak 26 karakter (A,B,C,, Z), sehingga ada 36 karakter yang dilakukan segmentasi.

28 Pertama yaitu mendeteksi tiap barisnya, jika terdeteksi warna putih maka ditentukan sebagai batas awal pemotongan. Tiap baris akan dideteksi sampai tidak ada warna putih lagi. Jika sudah tidak terdeteksi puith lagi maka ditentukan sebagai batas akhir pemotongan. Seperti pada gambar 3.6(a). Untuk segmentasi tiap karakter, dilakukan pendeteksian warna putih tiap kolom. Jika dideteksi warna putih maka akan ditentukan segabai batas awal pemotongan karakter pertama, jika sudah terdeteksi warna hitam maka ditentukan sebagai batas akhir pemotongan karakter pertama. Untuk karakter kedua, jika ditemukan warna putih lagi maka akan ditentukan segabai batas awal pemotongan, jika sudah terdeteksi warna hitam maka ditentukan sebagai batas akhir pemotongan karakter kedua. Untuk karakter ketiga dan seterusnya dilakukan langkah yang sama. Hasil segmentasi tiap karakter dapat dilihat pada gambar 3.6(b).

(a) (b) Gambar 3.6 Segmentasi Karakter d. Resize Tiap Karakter Setelah berhasil mengambil per karakter, tiap karakter diatur dalam satu ukuran yaitu 55 x 30. Sehingga semua karakter bisa dalam ukuran yang sama. Hasil resize karakter dapat dilihat pada gambar 3.7 %Resize karakter L = imresize(data1,[55,30]);

Gambar 3.7 Hasil Resize Karakter e. Pembelajaran Untuk 36 Karakter Proses pembelajaran ini bertujuan untuk membentuk jaringan untuk mendapatkan keseimbangan antara kemampuan untuk mengenali pola. Terdapat tiga fase, yaitu fase maju, fase mundur dan fase perubahan bobot.

f.

Bobot 36 Karakter Bobot untuk 36 karakter ini ditentukan dari 0 sampai 1. Fungsi yang dipakai adalah fungsi sigmoid biner yang memiliki range (0-1). Bobot masing masing karakter dapat dilihat pada tabel 3-2 Tabel 3-2 Bobot Masing masing Karakter
No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Karakter 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Target 0,05 0,075 0,1 0,125 0,15 0,175 0,2 0,225 0,25 0,275 0,3 0,325 0,35 0,375 0,4 0,425 0,45 0,475 0,5 0,525 0,55 0,575 0,6 0,625 0,65 0,675 0,7 0,725 0,75 0,775 0,8 0,825 0,85 0,875 0,9 0,925

30 g. Error Tiap Iterasi Pada proses pembelajaran terdapat error untuk tiap iterasi. Errornya diharapkan bernilai nol. Jika pada proses pembelajaran errornya menurun maka proses dapat terus dilakukan, apabila error meningkat sebaiknya proses pembelajaran dihentikan.

3.2.3 Proses Pengenalan Karakter Setelah dilakukan proses pembelajaran karakter, selanjutnya yaitu proses pengenalan karakter. Langkah langkah yang harus dilakukan untuk proses pengenalan karakter yaitu antara lain : a. Pengambilan Gambar Pengambilan gambarnya bisa dilakukan menggunakan kamera ataupun load gambar dari file yang sudah ada. b. Proses thresholding Untuk mengubah gambar menjadi bernilai 0 (hitam) dan 1 (putih). c. Segmentasi Karakter Untuk dapat membaca karakter tetap harus dilakukan segmentasi. Proses yang dilakukan sama seperti pada proses pembelajaran. d. Resize Tiap Karakter Agar tiap karakter dalam ukuran yang sama maka harus dilakukan resize perkarakter dengan ukuran 55 x 30. e. Bobot Tiap Karakter Masing masing karakter akan menghasilkan bobot. Kemudian bobot yang didapat dicocokkan dengan array yang ada. f. Penentuan Hasil Untuk penentuan hasilnya yaitu mencocokkan bobot yang didapat dengan array yang ada. Bobot dicocokkan masuk ke dalam array karakter apa. Setelah itu bisa ditampilkan karakter apa yang berhasil dibaca.

3.2.4 Perencanaan GUI Matlab GUI menggunakan Matlab ini bertujuan agar lebih mudah dalam menggunakan sistem yang dibuat. Tampilan awal GUI sistem pembacaan plat nomor kendaraan pada gambar 3.8

Gambar 3.8 GUI Sistem Pembacaan Plat Nomor Kendaraan Terdapat dua tahap yang harus dilakukan, yaitu proses pembelajaran dan proses pengenalan karakter. Untuk proses pembelajaran terdapat pada gambar 3.9

(a) (b) (c) Gambar 3.9 Tampilan Proses Pembelajaran Karakter Pada gambar 3.9(a) adalah tampilan dari proses pembelajaran. Untuk dapat menjalankannya maka harus mengatur parameter pembelajaran. Parameter ini terdapat pada gambar 3.9(b). Setelah itu bisa menekan tombol Pembelajaran, maka akan keluar besar bobot masing masing karakter dan seberapa besar errornya. Dimana terdapat pada gambar 3.9(c).

32 Pada proses pengenalan karakter ini, pengambilan gambar bisa dilakukan langsung dengan webcam ataupun dengan load gambar yang sudah ada. Jika pengambilan gambarnya menggunakan webcam, dapat dilihat pada gambar 3.10

Gambar 3.10 Tampilan Proses Pengenalan Karakter Secara Real Time Pada proses pengenalan karakter menggunakan webcam dapat dijelaskan sebagai berikut : Angka 1 : Untuk mengaktifkan webcam Angka 2 : Untuk mengambil gambar objek (plat nomor) Angka 3 : Untuk proses pengenalan karakter Angka 4 : Hasil segmentasi dan resize karakter Angka 5 : Bobot masing masing karakter Angka 6 : Hasil pengenalan karakter Untuk pengenalan karakter dengan pengambilan gambar secara load gambar seperti pada gambar 3.11

Gambar 3.11 Tampilan Proses Pengenalan Karakter dengan Load Gambar Pada proses pengenalan karakter dengan load gambar dapat dijelaskan sebagai berikut : Angka 1 : Untuk load gambar yang sudah ada Angka 2 : Untuk proses pengenalan karakter Angka 3 : Hasil segmentasi dan resize karakter Angka 4 : Bobot masing masing karakter Angka 5 : Hasil pengenalan karakter 3.3 Tempat dan Waktu Pengujian Pada proses pembelajaran, pengambilan gambarnya dilakukan secara load gambar yang sudah ada. Pengambilan gambarnya dilakukan di dalam ruangan pada siang hari. Pada pengujian, pengambilan gambarnya bisa dilakukan secara load gambar dan secara real time. Untuk pengambilan gambar secara real time, dilakukan pada siang hari, dengan kondisi pencayahaan yang dibuat sama dengan pengambilan gambar pada proses pembelajaran. Pencahayaan ini harus diatur homogen, sehingga didapat hasil gambar yang identik.

34 3.4 Pengumpulan Data dan Cara Analisa Data Pengujian sistem ini dilakukan secara load gambar dan secara real time. Untuk pengujian, gambar yang disediakan sebanyak 20 gambar plat nomor kendaraan yang berbeda beda. 3.4.1 Pengujian Secara Load Gambar Untuk pengujian secara load gambar, agar diketahui tingkat keberhasilan sistem, dilakukan pengujian dengan berbagai kondisi. Kondisi yang direncanakan ada 7 kondisi, yaitu antara lain : a. Kondisi pertama ditentukan sebagai kondisi awal, yaitu dengan menentukan parameter pembelajaran sebesar learning rate = 0,1 momentum = 0,85 iterasi = 1000 b. Kondisi kedua yaitu dengan menurunkan besarnya iterasi learning rate = 0,1 momentum = 0,85 iterasi = 500 c. Kondisi ketiga yaitu dengan menaikkan besarnya iterasi learning rate = 0,1 momentum = 0,85 iterasi = 1500 d. Kondisi keempat yaitu dengan menaikkan nilai dari momentum learning rate = 0,1 momentum = 0,9 iterasi = 1000 e. Kondisi kelima yaitu dengan menurunkan nilai dari momentum learning rate = 0,1 momentum = 0,8 iterasi = 1000 f. Kondisi keenam yaitu dengan menaikkan nilai dari learning rate learning rate = 0,15 momentum = 0,85 iterasi = 1000 g. Kondisi ketujuh yaitu dengan menurunkan nilai dari learning rate

learning rate momentum iterasi

= 0,05 = 0,85 = 1000

Cara untuk menganalisa hasil pengujian, yaitu dengan membandingkan hasil yang didapat pada setiap kondisi. Dari situ dapat diketahui kondisi mana yang paling cocok digunakan untuk pengujian sistem yang sudah dibuat. Selain itu mengetahui efek perubahan parameter dalam menjalankan sistem, misalnya error yang terjadi, kekuratan system dalam pembacaan karakter ataupun lamanya waktu yang dibutuhkan sistem dalam pembacaan karakter. 3.4.2 Pengujian Secara Real Time Pengujian secara real time dilakukan hanya pada kondisi yang paling bagus digunakan pada pengujian secara load gambar. Setelah ketujuh kondisi pada sub bab 3.4.1 diuji, maka dapat diketahui kondisi mana yang paling bagus digunakan.

36

Halaman ini sengaja dikosongkan

BAB IV PEMBUATAN SISTEM, HASIL DAN PEMBAHASAN


4.1 Pembuatan Sistem Proses pembacaan karakter dilakukan secara 2 tahap, yaitu proses pembelajaran karakter (learning) dan proses pengenalan karakter (mapping). 4.1.1 Proses Pembelajaran Karakter Proses yang harus dilakukan untuk pembelajaran 36 karakter yaitu antara lain : h. Pengambilan gambar Untuk proses pembelajaran, pengambilan gambarnya hanya load gambar dari file yang sudah ada. i. Proses thresholding Agar dapat dilakukan segmentasi karakter, maka harus dilakukan thresholding. Sehingga nilai dari gambar menjadi 0 (hitam) dan 1(putih) j. Segmentasi karakter Pertama, mendeteksi warna putih pada setiap barisnya. Pendeteksian warna putih yang pertama ditentukan sebagai awal pemotongan, dan jika sudah tidak dideteksi warna putih lagi maka ditentukan sebagai akhir pemotongan.
%Pendeteksian Baris p=1; sx=size(bw); for row=1:sx(1) detek=0; for col=1:sx(2) if(bw(row,col)==1) baris(p,col)=bw(row,col); detek=1; end end if(detek==1) p=p+1; end end

Gambar 4.1 Listing Program Segmentasi Karakter (Pendeteksian Baris) 37

38 Selanjutnya mendeteksi warna putih pada setiap kolom untuk pengambilan perkarakternya. Jika terdeteksi warna putih maka ditentukan sebagai batas awal pemotongan karakter pertama, dan jika sudah terdeteksi warna hitam maka ditentukan sebagai batas akhir pemotongan karakter pertama. Apabila terdeteksi warna putih lagi maka akan ditentukan sebagai batas awal pemotongan karakter kedua, dan jika sudah terdeteksi warna hitam lagi maka ditentukan segabai batas akhir pemotongan karakter kedua, begitu seterusnya sampai batas akhir kolom.
%Pendeteksian Kolom detek=0; pl=1; sx=size(baris);terisi=0; for col=1:sx(2) po=0; for row=1:sx(1) if(baris(row,col)==1) po=po+1; end end if polo > 0 if detek==0 colawal(pl)=col; detek=1; terisi=1; end else if terisi==1 if detek==1 colakhir(pl)=col; pl=pl+1; detek=0; end end end if col == sx(2) colakhir(pl)=col; end end

Gambar 4.2 Listing Program Segmentasi Karakter (Pendeteksian Kolom)

k.

l.

Resize tiap karakter Setelah berhasil mengambil per karakter, tiap karakter diatur dalam satu ukuran yaitu 55 x 30. Sehingga semua karakter bisa dalam ukuran yang sama. Pembelajaran untuk 36 karakter Proses pembelajaran bertujuan untuk melatih jaringan mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pembelajaran serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. Terdapat tiga fase, yaitu fase maju, fase mundur dan fase perubahan bobot. Listing program untuk proses pembelajaran pada gambar 4.3 (a) dan 4.3 (b)
%-------------------------%Masukan ke jaringan %-------------------------hasil_0 = a0(1:1000); hasil_1 = a1(1:1000); hasil_2 = a2(1:1000); hasil_3 = a3(1:1000); hasil_4 = a4(1:1000); hasil_5 = a5(1:1000); hasil_6 = a6(1:1000); hasil_7 = a7(1:1000); hasil_8 = a8(1:1000); hasil_9 = a9(1:1000); hasil_A = A(1:1000); hasil_B = B(1:1000); hasil_C = C(1:1000); hasil_D = D(1:1000); hasil_E = E(1:1000); hasil_F = F(1:1000); hasil_G = G(1:1000); hasil_H = H(1:1000); hasil_I = I(1:1000); hasil_J = J(1:1000); hasil_K = K(1:1000); hasil_L = L(1:1000); hasil_M= M(1:1000); hasil_N = N(1:1000); hasil_O = O(1:1000); hasil_P = P(1:1000); hasil_Q = Q(1:1000); hasil_R = R(1:1000); hasil_S = S(1:1000); hasil_T = T(1:1000); hasil_U = U(1:1000); hasil_V = V(1:1000); hasil_W = W(1:1000); hasil_X = X(1:1000); hasil_Y = Y(1:1000); hasil_Z = Z(1:1000); %------------------------%inisialisasi jaringan %------------------------alpha = 0.1; mom = 0.85; iterasi = 1000; input = [hasil_0;hasil_1;hasil_2;hasil_3;hasil_4;hasil_5;hasil_6;hasil_7; hasil_8;hasil_9; hasil_A;hasil_B;hasil_C;hasil_D;hasil_E; hasil_F;hasil_G;hasil_H;hasil_I;hasil_J;hasil_K;hasil_L; hasil_M;hasil_N;hasil_O;hasil_P;hasil_Q;hasil_R;hasil_S; hasil_T;hasil_U;hasil_V;hasil_W;hasil_X;hasil_Y;hasil_Z]; target = [0.05; 0.075; 0.1; 0.125; 0.15; 0.175; 0.2; 0.225; 0.25; 0.275; 0.3; 0.325; 0.35; 0.375; 0.4; 0.425; 0.45; 0.475; 0.5; 0.525; 0.55; 0.575; 0.6; 0.625; 0.65; 0.675; 0.7; 0.725; 0.75; 0.775; 0.8; 0.825; 0.85; 0.875; 0.9; 0.925]; nilai_mse = [];

(a)

40
%------------------%insialisasi node %------------------input = [input ones(size(input,1),1) ]; node_in = size(input,2); node_hid = 10; node_out = size(target,2); %------------------%inisialisasi bobot %------------------handles.v = 0.5*(1-2*rand(node_in,node_hid)); handles.w = 0.5*(1-2*rand(node_hid + 1, node_out)); v_0 = zeros(size(handles.v)); w_0 = zeros(size(handles.w)); %------------------------%proses pembelajaran %------------------------epoch= 0; while epoch <= iterasi %Fase I : Propagasi Maju to_hid = input * handles.v; hidden = 1./(1+exp( - to_hid)); hidbias = [hidden ones(size(hidden,1),1) ]; to_out = hidbias * handles.w; output = 1./(1+exp( - to_out)); %Fase II : Propagasi Mundur error = target - output; mse = trace(error'*error); nilai_mse = [nilai_mse mse]; tetha_out = error .* output .* (1-output); delta_w = alpha * hidbias' * tetha_out + mom * w_0; tetha_hid = tetha_out * handles.w' .* hidbias .* (1-hidbias); tetha_hid(:,size(tetha_hid,2)) = []; delta_v = alpha * input' * tetha_hid + mom * v_0; %Fase III : Perubahan Bobot handles.v = handles.v + delta_v; handles.w = handles.w + delta_w; v_0 = delta_v; w_0 = delta_w; epoch = epoch + 1; if rem(epoch,10)==0 end guidata(hObject,handles); end

(b) Gambar 4.3 Listing Program Pembelajaran Karakter

m. Bobot 36 karakter Bobot untuk 36 karakter ini ditentukan dari 0 sampai 1. Fungsi yang dipakai adalah fungsi sigmoid biner yang memiliki range (0 - 1). n. Error Tiap Iterasi Pada proses pembelajaran terdapat error untuk tiap iterasi. Error ini diharapkan akan mendekati nol. Proses pembelajaran bisa dilakukan berkali kali. Jika pada proses pembelajaran errornya menurun maka proses dapat terus dilakukan, apabila error meningkat sebaiknya proses pembelajaran dihentikan. Proses pembelajaran ini akan berhenti jika batas iterasinya sudah dicapai. 4.1.2 Proses Pengenalan Karakter Setelah dilakukan proses pembelajaran karakter, selanjutnya yaitu proses pengenalan karakter. Langkah langkah yang harus dilakukan untuk proses pengenalan karakter yaitu antara lain : g. Pengambilan gambar Pengambilan gambarnya bisa dilakukan menggunakan webcam ataupun load gambar dari file yang sudah ada. h. Proses thresholding Untuk mengubah gambar menjadi bernilai 0 (hitam) dan 1 (putih). i. Segmentasi karakter Untuk dapat membaca karakter tetap harus dilakukan segmentasi. Proses yang dilakukan sama seperti pada proses pembelajaran. j. Resize Tiap karakter Agar tiap karakter dalam ukuran yang sama maka harus dilakukan resize perkarakter dengan ukuran 55 x 30. k. Bobot tiap karakter Masing masing karakter akan menghasilkan bobot. Kemudian bobot yang didapat dicocokkan dengan array yang ada. l. Penentuan hasil Untuk penentuan hasilnya yaitu mencocokkan bobot yang didapat dengan array yang ada. Bobot dicocokkan masuk ke dalam array karakter apa. Setelah itu bisa ditampilkan karakter apa yang berhasil dibaca.

42
%----------------------------%Proses Pencocokan Data %----------------------------%Karakter 1 input_n=[hasil1]; input_n = [input_n ones(size(input_n,1),1) ]; to_hid_n = input_n * handles.v; hidden_n = 1./(1+exp( - to_hid_n)); hidbias_n = [hidden_n ones(size(hidden_n,1),1) ]; to_out_n = hidbias_n * handles.w; output_n = 1./(1+exp( - to_out_n)); set(handles.edit19,'string',output_n); if (output_n >= 0 & output_n <= 0.062000); set(handles.kar1,'String','0'); elseif (output_n > 0.062001 & output_n < 0.085000); set(handles.kar1,'String','1') elseif (output_n > 0.085001 & output_n < 0.112000); set(handles.kar1,'String','2'); . . . elseif (output_n >= 0.211001 & output_n <= 0.235000); set(handles.kar1,'String','7'); elseif (output_n >= 0.235001 & output_n <= 0.260000); set(handles.kar1,'String','8'); elseif (output_n >= 0.260001 & output_n <= 0.285000); set(handles.kar1,'String','9'); elseif (output_n >= 0.285001 & output_n <= 0.320000); set(handles.kar1,'String','A'); elseif (output_n >= 0.320001 & output_n <= 0.335000); set(handles.kar1,'String','B'); elseif (output_n >= 0.335001 & output_n <= 0.360000); set(handles.kar1,'String','C'); . . . elseif (output_n > 0.885001& output_n < 0.910000); set(handles.kar1,'String','Y'); elseif (output_n > 0.910001 & output_n < 1); set(handles.kar1,'String','Z'); else set(handles.kar1,'String','-'); end

Gambar 4.4 Listing Program Penentuan Karakter

4.1.3 Proses Pembelajaran dan Pengenalan Karakter dengan Penambahan Filter Penambahan filter pada proses pembelajaran dan pengenalan karakter ini bertujuan untuk mengetahui apakah bisa memperbaiki hasil pembacaan plat nomor kendaraan. Ada 7 filter yang digunakan untuk penambahan, yaitu filter Gaussian, Laplacian, Log, Motion, Prewitt, Sobel dan Unsharp. Blok diagram proses pembelajaran dengan penambahan filter dapat dilihat pada gambar 4.5

Ambil gambar Filter

Thresholding

Pengambilan Per-Karakter

Mengatur dalam satu ukuran

Backpropagation

Bobot (Weight)

Gambar 4.5 Blok Diagram Proses Pembelajaran Karakter dengan Penambahan Filter

44 Sedangkan untuk proses pengenalan karakter, juga harus ditambahkan filter sebelum proses segmentasi. Untuk proses pengambilan gambarnya hanya dilakukan secara load gambar saja. Blok diagram untuk proses pengenalan karakter dengan penambahan filter dapat dilihat pada gambar 4.6.

Ambil Gambar

Filter

Thresholding

Pengambilan Per-Karakter

Mengatur dalam satu ukuran

Backpropagation

Bobot (Weight)

Dibandingkan dengan array

Nomor Kendaraan

Gambar 4.6 Blok Diagram Proses Pengenalan Karakter dengan Penambahan Filter 4.2 Pengujian Sistem

Agar lebih mudah dalam menjalankan sistem yang sudah dibuat, maka digunakan GUI Matlab untuk mengujinya. Tampilan awal GUI sistem pembacaan plat nomor kendaraan dapat dilihat pada gambar 4.7

Gambar 4.7 Tampilan Awal Sistem Pembacaan Plat Nomor Kendaraan 4.2.1 Proses Pembelajaran 36 Karakter Untuk proses pembelajaran 36 karakter ini, hasil proses pembelajaran dapat dilihat pada gambar 4.8. Langkah yang harus dilakukan yaitu dengan cara menentukan besarnya parameter yang digunakan terlebih dahulu. Selanjutnya menekan tombol Pembelajaran, maka akan muncul wait bar. Jika wait bar sudah hilang maka proses pembelajaran sudah selesai. Proses ini seperti pada gambar 4.8(a). Setelah proses pembelajaran selesai maka didapat bobot masing-masing karakter dan besar error tiap 10 iterasi, seperti pada gambar 4.8(b).

(a) (b) Gambar 4.8 Proses Pembelajaran 36 Karakter

46 4.2.2 Proses Pengenalan Karakter Ada dua cara dalam pengambilan gambar, bisa menggunakan webcam (real time) ataupun dengan load gambar yang sudah ada. Untuk pengambilan gambar dengan cara load gambar dapat dilihat pada gambar 4.9. Pengambilan gambar dengan cara menekan tombol Ambil Gambar, kemudian terdapat list gambar yang bisa diambil. Pilih gambar yang akan dibaca, kemudian tekan open, maka gambar bisa ditampilkan, dapat dilihat pada gambar 4.9(a). Untuk membaca karakter pada gambar plat nomor harus menekan tombol Pencocokan 2. Maka akan muncul segmentasi karakter, resize karakter, bobot masingmasing karakter dan hasil pembacaan. Proses ini terdapat pada gambar 4.9(b).

(a)

(b) Gambar 4.9 Proses Pembacaan Plat Nomor Kendaraan dengan Load Gambar

Proses pengenalan karakter dengan pengambilan gambar menggunakan webcam (real time) terdapat pada gambar 4.10. Pada gambar 4.10(a) adalah gambar untuk mengaktifkan webcam. Gambar 4.10(b) adalah gambar untuk mengambil gambar plat nomor. Gambar 4.10(c) adalah gambar untuk proses pengenalan karakter.

(a)

(b)

(c) Gambar 4.10 Proses Pembacaan Plat Nomor Kendaraan Secara Real Time

48

4.3 Hasil Pengujian Untuk dapat mengetahui tingkat keberhasilannya dilakukan proses pengujian. Pada proses pengujian ini banyak kondisi yang digunakan. Bisa dari cara pengambilan gambar, melalui load gambar ataupun menggunakan webcam. 4.3.1 Pengujian dengan Pengambilan Gambar Secara Load Gambar Pada pengujian dengan load gambar yang sudah ada, pengujian dilakukan dengan mengubah ubah parameter pembelajaran. Ada 7 kondisi berbeda yang harus dilakukan pengujian. Kondisi yang berbeda beda ini dimaksudkan agar diketahui kondisi mana yang paling bagus digunakan untuk sisitem ini. Pada metode backpropagation, bobot tiap karakter pada proses pembelajaran pertama tidak sama dengan bobot pada proses pembelajaran yang kedua, begitu juga untuk proses pembelajaran ketiga, keempat dan seterusnya. Maka dari itu dilakukan tiga kali proses pembelajaran agar diketahui proses pembelajaran keberapa yang paling bagus digunakan. 4.3.1.1 Kondisi Pertama (Awal) Pengujian Pada pengujian kondisi pertama, parameter yang digunakan yaitu antara lain : learning rate = 0,1 momentum = 0,85 iterasi = 1000 Kondisi pertama ini dianggap sebagai kondisi awalnya. Setiap kondisi dilakukan tiga kali pembelajaran, dimana hasil tiap pembelajaran berbeda beda. Hasil pembacaan untuk 20 plat nomor kendaraan pada kondisi pertama dapat dilihat pada tabel 4-1

Tabel 4-1 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Pertama Kondisi Pertama Learning rate = 0,1 Momentum = 0,85 Iterasi = 1000
No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Plat Nomor
L 2690 GR L 7601 NN W 5026 MQ N 6892 VI P 3579 CD B 5798 KA M 4320 TU S 4444 JJ S 2356 YZ W 5827 PT AG 369 KB H 8201 EO L 3060 QT L 4738 CF L 4348 DO KM 260 VZ L 6824 AX L 5978 KR L 8069 DR N 2009 AZ

Pembelajaran keII
L 2690 GR L T481 NV W 5K25 MQ N 4822 VI P 3776 CD B NB66 KA R 4L2L TU S 445G JR M EA83 YZ Y 484H EV AA M6A NN H 84A1 EO H XE08 IT H 4QQC IF I 6A46 6D KU 21N UH O 68E6 8X A 19AH NR L E579 QT R 3M56 AZ

II

Terdeteksi Benar I II III


7 7 7 0 3 0 4 5 4 4 5 4 5 5 4 3 3 3 3 4 3 3 4 2 4 2 2 0 1 0 0 2 0 4 5 4 0 1 0 1 2 1 0 1 0 1 2 1 2 3 1 0 2 1 0 2 1 1 2 1 42 61 39 30 % 43,5% 27,9%

L 2690 GR F Y126 MV W 5H68 MQ N 1877 VI P 3K7F CD B QH64 KA S 4CEG TU S 9134 JO R K3Q6 YZ Y E60Y IO EJ DDQ L8 H ITC1 EO A O87A 6V F AI1O IF P 3709 EB KT 61A ZY A 1E84 4X A RLUD IY 8 H98J CZ X E44C 3Z

L 2690 GR I Z4I6 QQ W 5N0A MQ N 9816 VI P 3O7G CE B I82E KA E 4N3E TU S D78D JM R CNZA YZ O RMMW OL 9E PMK NI H L1J1 EO J RD7M OZ K 7WLF KF H 3E8E EI EC 34O VX J 4M77 AX N ZMRJ IR G MI4A ER W 0NJ6 FZ

Jumlah Terdeteksi Persentase Keberhasilan

Pada kondisi pertama (awal) dilakukan tiga kali pembelajaran. Berdasarkan hasil pada tabel 4-2, diketahui bahwa dari tiga pembelajaran yang dilakukan, pembelajaran kedua yang hasilnya paling bagus. Dimana untuk pengenalan 140 karakter (20 plat dengan masingmasing plat 7 karakter), karakter yang berhasil dikenali sebanyak 61 karakter. Tingkat keberhasilannya sebesar 43,57%. Yang menyebabkan karakter tidak berhasil dikenali ada banyak faktor. Antara lain range bobot antara karakter satu dengan yang lain yang sempit. Selain itu juga hampir samanya bentuk dari karakter sehingga memiliki besar bobot yang hampir sama, sehingga sistem kurang bisa mengenali karakter dengan tepat. Dengan menggunakan kondisi pertama, proses pembelajaran bisa dilakukan sekitar 6 detik. Proses pengambilan gambar dan penentuan

50 karakter sekitar 5 detik, sehingga untuk semua proses dibutuhkan waktu sekitar 11 detik. 4.3.1.2 Kondisi Kedua dengan Menurunkan Besarnya Iterasi Untuk kondisi kedua, mengubah parameter pembalajaran. Dimana yang diubah yaitu nilai iterasinya. Iterasi diturunkan menjadi 500, sedangkan learning rate dan momentumnya tetap. Hasil pembacaan untuk kondisi kedua dapat dilihat pada tabel 4-2 Tabel 4-2 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Kedua Kondisi Kedua Learning rate = 0,1 Momentum = 0,85 Iterasi = 500
No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Plat Nomor
L 2690 GR L 7601 NN W 5026 MQ N 6892 VI P 3579 CD B 5798 KA M 4320 TU S 4444 JJ S 2356 YZ W 5827 PT AG 369 KB H 8201 EO L 3060 QT L 4738 CF L 4348 DO KM 260 VZ L 6824 AX L 5978 KR L 8069 DR N 2009 AZ

Pembelajaran keII

II

Terdeteksi Benar I II III


6 6 7 0 1 0 4 6 4 4 5 4 5 5 4 3 3 3 3 4 3 4 4 2 2 2 0 0 1 0 1 1 0 4 4 4 0 1 0 1 2 2 1 1 2 1 2 2 2 2 2 0 1 1 0 0 1 1 2 0 42 53 41 30% 37,9% 29,3%

L 2691 GR G Y134 MU W 5G68 MQ N 1877 VI P 3K7F CD B PG64 KA S 4CEG TU S 9144 JO R J4P7 YZ X D60Y HO FK EEP K8 H JSC1 EO B N98A 6V D AI1O HF Q 380A DB KT 61A ZY B 2F84 4X C PKUD IZ 8 I99I CZ X E44B 3Z

L 2691 GR L 2690 GR M T581 OV I Z4H6 QQ W 5L26 MQ W 5N09 MQ N 4822 VI N 8825 VI P 3776 CD P 3P7G CE B MB64 KA B K92E KA Q 4K2L TU F 4N3E TU S 445F JR S D78E JM M FA84 YZ R CMZA YY X 484I FV O QMMV OL AB L7A ON 9E PLL NH H 83BI EO H LIJI EO I WE09 HT K RC7M OZ I 4QPB IF L 7UMG LF I 6A44 6E I 438E EI KU 22N TH EE 240 WW P 78D6 9X J 4M87 AX B 1ABF NR M ZMPI IR M B688 QT I MI4B FR R 3M75 AZ W 0NJ7 GY

Jumlah Terdeteksi Persentase Keberhasilan

Pada kondisi kedua ini lama iterasi dikurangi menjadi 500. Waktu pembelajaran lebih cepat dari kondisi awal dengan 1000 iterasi. Proses pembelajaran dapat dilakukan sekitar 3 detik. Akan tetapi hasil yang didapat lebih bagus kondisi pertama daripada kondisi kedua. Error pada iterasi 500 masih lebih besar daripada error pada iterasi 1000. Sehingga hasil pembacaan dengan iterasi 500 kurang cocok untuk proses

pembacaan plat nomor. Pembelajaran yang lebih cepat tidak menjamin sistem menjadi lebih bagus. 4.3.1.3 Kondisi Ketiga dengan Menaikkan Besarnya Iterasi Kondisi ketiga yaitu dengan menaikkan besarnya iterasi menjadi 1500. Untuk learning rate dan momentum tetap. Hasil pembacaan untuk kondisi ketiga terdapat pada tabel 4-3 Tabel 4-3 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Ketiga Kondisi Ketiga Learning rate = 0,1 Momentum = 0,85 Iterasi = 1500
No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Plat Nomor
L 2690 GR L 7601 NN W 5026 MQ N 6892 VI P 3579 CD B 5798 KA M 4320 TU S 4444 JJ S 2356 YZ W 5827 PT AG 369 KB H 8201 EO L 3060 QT L 4738 CF L 4348 DO KM 260 VZ L 6824 AX L 5978 KR L 8069 DR N 2009 AZ

Pembelajaran keII

II

Terdeteksi Benar I II III


7 7 7 0 3 0 4 6 4 4 5 4 5 5 4 3 3 3 3 4 3 3 3 2 5 3 2 0 1 0 0 2 0 4 5 4 0 1 0 1 2 1 0 1 0 1 0 1 2 3 2 0 2 1 0 2 1 1 2 1 43 60 40 30,7% 42,9% 28,6%

L 2690 GR L 2690 GR F Y126 MV L T471 NW W 5H68 MQ W 5K26 MQ N 0867 VI N 4831 VI P 3K7F CD P 3776 CD B QH54 KA B NB76 KA S 4CEG TU R 4L2L TU S 9134 JO S 455H JR S K3Q6 YZ M EA83 YZ Y E60Y HO Y 484H DU EJ DDQ L8 AA M6A NN H JTB1 EO H 84A1 EO A O87A 6W G XE18 HT F AI1O IF H 4QRE IF P 360A EB I 6A47 6C KT 61A ZY JU 31N UH A 1E84 4X O 68E6 8X A RLUD IZ A 19AJ NR 8 I88J CZ L F479 QT X E34C 3Z R 3M56 AZ

L 2690 GR I Z4I6 QQ W 5O0A MQ N 9816 VI P 3N7G CE B H82F KA D 4N3E TU S D78D JM R CNZA YZ O RNMW OL 9E PMK NJ H L1J1 EO J RD8M PZ J 7WLG KF G 3E7E EI FB 35O VX J 4N77 AX N ZMRJ IR G MI4A ER W 0NJ6 FZ

Jumlah Terdeteksi Persentase Keberhasilan

Pada kondisi ketiga ini, waktu yang dibutuhkan untuk proses pembelajaran semakin lama, yaitu sekitar 10 detik. Dengan iterasi 1500, hasil pembacaan karakter pada pembelajaran yang kedua hampir sama dengan iterasi 1000. Persentase kebenaran bedanya sedikit, dimana iterasi 1000 sebesar 43,5% dan iterasi 1500 sebesar 42,9%. Penambahan iterasi tidak menjamin bertambahnya kearutan sistem pembacaan ini. Iterasi yang cocok digunakan yaitu iterasi sebesar 1000.

52

4.3.1.4 Kondisi Keempat dengan Menaikkan Momentum Kondisi keempat yaitu menaikkan nilai momentum menjadi 0,9. Untuk learning rate dan iterasi tetap. Hasil pembacaaan untuk kondisi keempat pada tabel 4-4 Tabel 4-4 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Keempat Kondisi Keempat Learning rate = 0,1 Momentum = 0,9 Iterasi = 1000
No Plat Nomor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Pembelajaran keI II II
L 2690 GR L Z4JE QQ W 5M1E MQ N 9822 VI P 3B7J CE B MG3F KA K 4P4F TU S A78G JF S DRM9 YZ N CKAY KL 8E SPK MG H M0H1 EO L SD8J PY I 8YPN PF G 4HFF EH HI 03L WX J 3OD8 BX M VMUH HR I RH4A ER K 2NJ8 EZ

Terdeteksi Benar I II III


7 7 7 0 1 1 4 5 4 4 4 5 4 6 4 3 3 3 3 4 3 2 3 2 3 2 3 1 0 0 0 0 0 4 5 4 1 2 1 1 2 1 0 4 1 1 1 0 2 2 1 0 0 1 1 0 1 1 1 2 42 52 44 30% 37,2% 31,4%

L 2690 GR L 2690 GR L 2690 GR L 7601 NN A X312 MU J U031 QM W 5026 MQ W 5GBA MQ W 5O23 MQ N 6892 VI N 1876 VI N 0830 VI P 3579 CD P 3878 CD P 367O CD B 5798 KA B LI83 KA B 6CJM KA M 4320 TU Q 4AQM TU K 492D TU S 4444 JJ S A30A JR S 564A JO S 2356 YZ R K4A6 YZ U WBJ1 YZ W 5827 PT W 860S FQ X 8J1V DS AG 369 KB 6P G8N M9 JK E5M UO H 8201 EO H 4VI1 EO H 8CL1 EO L 3060 QT P LE6G JU L ZA3O OT L 4738 CF D BL1B JF H 4UMA NF L 4348 DO D 250A CD L 4B4M AO KM 260 VZ KO 32J XX SM 60E UT L 6824 AX F 27I4 AX B 08K6 6X L 5978 KR C KEP6 NQ B 3MEB NN L 8069 DR H HA7A DU K FB07 AS N 2009 AZ Q E47H 9Z M 9NIF GZ

Jumlah Terdeteksi Persentase Keberhasilan

Pada kondisi ketiga yang menaikkan nilai momentum, hasil pengenalan tidak lebih bagus dari kondisi awal. Penambahan momentum malah bisa menurunkan persentase kebenaran. Pada pembelajaran kedua persentase kebenaran hanya sebesar 37,2%.

4.3.1.5 Kondisi Kelima dengan Menurunkan Momentum Kondisi kelima yaitu dengan menurunkan besarnya momentum menjadi 0,8. Untuk learning rate dan iterasi tetap. Hasil pembacaan untuk kondisi kelima terdapat pada tabel 4-5 Tabel 4-5 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Kelima Kondisi Kelima Learning rate = 0,1 Momentum = 0,8 Iterasi = 1000
No Plat Nomor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 L 2690 GR L 7601 NN W 5026 MQ N 6892 VI P 3579 CD B 5798 KA M 4320 TU S 4444 JJ S 2356 YZ W 5827 PT AG 369 KB H 8201 EO L 3060 QT L 4738 CF L 4348 DO KM 260 VZ L 6824 AX L 5978 KR L 8069 DR N 2009 AZ

Pembelajaran keI
L 2690 GR C Y133 PW W 5I57 MQ N 1878 VI P 3J7H CD B RD64 KA S 4ACE TU S A023 JN N F3S6 YZ X H61W GM DG 9EP K7 H FOA1 EO 9 L86D 6U F 8H0K FE Q 2708 DB LS 61A ZX B 1F42 4X B RKPC HY 9 D88I CZ Z B35C 2Y

II
L 2690 GR L V673 NZ W 5L29 MQ N 6840 VI P 3878 CD B PH77 KA X 4I2H TU S 446I JO O 6AC6 YZ X 8D2C MV 6E H7D GE H 73A1 EO F XD49 MR E 4RWF GF M 9G66 4E DU 23N V9 O 78B7 AX 9 585D KY M 94AA SW Y 6K64 8X

II
L 2690 GR J Y2A8 KP W 5M26 MQ N 5821 VI P 3D7D CD B B62I KA J 4H3A TU S 665I JG R IHTE YZ P CE8L NK AL HHM JJ H G6L1 EO M S47I LW R 4PFL MF O 674G JF C9 24P ZD J 3L65 AX K SJGL KT O HF3E LS P 2ME7 JY

Terdeteksi Benar I II III


7 7 7 0 2 0 4 5 6 4 5 4 5 5 5 3 3 3 4 4 3 2 4 2 4 3 2 0 1 0 1 0 1 4 4 4 1 0 0 0 2 2 1 0 2 0 2 1 1 3 2 0 2 1 0 0 0 0 0 1 41 52 46 29,3% 37,2% 32,9%

Jumlah Terdeteksi Persentase Keberhasilan

Berdasarkan tabel 4-5, dengan menurunkan momentum menjadi 0,8, hasilnya tidak jauh beda saat momentum dinaikkan menjadi 0,9. Persentase kebenaran paling besar yaitu 37,2%. Jadi menaikkan momentum ataupun menurunkan besarnya momentum tidak bisa meningkatkan keakuratan sistem dalam pembacaan karakter.

54

4.3.1.6 Kondisi Keenam dengan Menaikkan Learning Rate Kondisi keenam yaitu dengan menaikkan nilai dari learning rate menjadi 0,15. Untuk momentum dan iterasi tetap. Hasil pembacaan untuk kondisi kenam terdapat pada tabel 4-6 Tabel 4-6 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Keenam Kondisi Keenam Learning rate = 0,15 Momentum = 0,85 Iterasi = 1000
No Plat Nomor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Pembelajaran keI II
L 2690 GR I U041 PO W 5O42 MQ N 0881 VI P 337N CD B 6AHL KA I 462C TU S 243B JP S V7J2 YZ Y 8H1K GT HN 83M UN H 57M1 EO L OC1N NT G 3P69 NF L 573K BN TS 41F TW C 29J3 9X B 4LCB PQ J FB18 DT O CNGF DZ

II
L 2690 GR J Z4IB QO W 5O0B MQ N 9823 VI P 3B7H CD B H72I KA E 4O4E TU S C78E JG T DPNB YZ O CN6W LK CE TML OK H O1K1 EO J SDNP PZ I 7YOI NF H 4GFG EK GB 13O WU I 3OB7 AX N VLTN IR G QH4B ER K 1OL7 FZ

Terdeteksi Benar I II III


7 7 7 0 1 0 5 4 4 4 4 4 6 5 5 4 3 4 3 4 3 3 3 2 2 3 2 0 1 0 2 0 0 4 4 4 0 2 0 1 1 1 1 1 1 0 0 0 2 1 2 2 0 1 1 1 1 1 1 1 48 46 42 34,3% 32,9% 30%

L 2690 GR L 2690 GR L 7601 NN G X112 QW W 5026 MQ W 5HA6 MQ N 6892 VI N 0883 VI P 3579 CD P 3F79 CD B 5798 KA B RE94 KA M 4320 TU T 4CEH TU S 4444 JJ S A346 JP S 2356 YZ R O5Q2 YZ W 5827 PT X G60X HR AG 369 KB AR L6N OA H 8201 EO H EWD1 EO L 3060 QT G TA4E AR L 4738 CF A AP1M JF L 4348 DO L 861B EE KM 260 VZ IS 61E YY L 6824 AX C 16I4 AX L 5978 KR A QIR8 KX L 8069 DR 9 NA6B CY N 2009 AZ T F46D 4Z

Jumlah Terdeteksi Persentase Keberhasilan

Dengan menaikkan learning rate menjadi 0,15, persentase kebenaran hanya 32,9%, turun dari nilai yang didapat pada kondisi pertama(awal). Proses pembelajaran berhasil dilakukan sekitar 6 detik, sama dibanding dengan kondisi awal, dengan learning rate 0,1.

4.3.1.7 Kondisi Ketujuh dengan Menurunkan Learning Rate Kondisi ketujuh yaitu dengan menurunkan nilai learning rate menjadi 0,05. Untuk momentum dan iterasi tetap. Hasil pembacaaan untuk kondisi ketujuh terdapat pada tabel 4-7 Tabel 4-7 Hasil Pembacaan Plat Nomor Kendaraan Kondisi Ketujuh Kondisi Ketujuh Learning rate = 0,05 Momentum = 0,85 Iterasi = 1000
No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Plat Nomor

Pembelajaran keII
L 2691 GR K U676 PY W 5K29 MQ N 6842 VI P 3977 CD B OH68 KA V 4F2I TU S 446G JO M 6AD6 YZ V 7D2A KW 7C F6F GF H 63A1 EO L WE39 MR D 4QUA EF J AE65 6E DW 23N X8 N 68C8 AX 8 3849 KX K 659B QV X 7K63 BW

II

Terdeteksi Benar I II III


7 6 7 0 1 0 4 5 6 4 6 4 5 5 5 3 4 3 3 4 3 2 4 2 3 3 2 0 1 0 0 1 0 4 4 4 1 0 0 1 2 2 1 0 1 0 1 0 1 4 2 0 1 1 0 0 0 0 0 1 39 52 43 27,9% 37,2% 30,7%

L 2690 GR L 2690 GR L 7601 NN C Y132 QX W 5026 MQ W 5J58 MQ N 6892 VI N 1878 VI P 3579 CD P 3K7H CD B 5798 KA B SD64 KA M 4320 TU S 4ACE TU S 4444 JJ S B023 JN S 2356 YZ O E3S7 YZ W 5827 PT X H71W GM AG 369 KB DH 9FO L7 H 8201 EO H GOB1 EO L 3060 QT 9 M96E 6S L 4738 CF F 8I0L EF L 4348 DO Q 2709 DC KM 260 VZ MS 61A ZX L 6824 AX D 1G43 6X L 5978 KR C QKPD HY L 8069 DR 9 D89I CZ N 2009 AZ Z B35D 2Y

L 2690 GR J Y2A6 LP W 5L26 MQ N 4821 VI P 3E7C CD B A62I KA J 4G3A TU S 665I JH R IFUE YZ P BD8J NK A LGGM II H G6M1 EO M S47H LW R 4NDM MF P 674F IE C9 13P ZC I 2L65 AX K SIEL KT O GF3D LS P 2ME7 JX

Jumlah Terdeteksi Persentase Keberhasilan

Pada kondisi ketujuh yang menurunkan nilai learning rate, hasil pembacaan juga tidak lebih baik dari kondisi pertama (awal). Persentase kebenaran paling besar hanjya 37,2%. Waktu yang dibutuhkan untuk pembelajaran sekitar 6 detik, sama dengan kondisi awal. Dari ketujuh kondisi, kondisi yang paling bagus digunakan untuk sistem ini adalah kondisi pertama (awal), pada pembelajaran kedua.

56

4.3.1.8 Hasil Pembacaan Tiap Karakter Hasil pembacaan untuk tiap karakter yaitu dari 0 sampai 1 dan dari A sampai Z, pada kondisi terbaik yiatu kondisi pertama pada pembelajaran kedua dapat dilihat pada tabel 4-8 Tabel 4-8 Hasil Pembacaan Tiap Karakter Jumlah Hasil Jumlah Karakter Karakter Pembacaan Terdeteksi
0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X 11 2 10 7 9 6 10 6 9 8 4 2 2 3 1 1 2 1 1 2 4 8 3 4 2 2 2 3 2 3 1 2 2 1 08KLAE8N5M5 11 2222E442E3 3LAMXQA 4445G4646 57N841 6454360167 T7BHQA 8688C68HE 9266A996 AA8A BN CI D6Q E F GA H I JR KN KN LLHHIO AL MR U NVNR OD PE QI RRT SM TVT U VU WY X 1 2 5 1 4 1 3 1 4 3 3 1 1 1 1 1 1 1 1 1 2 3 2 2 1 1 1 2 1 2 1 1 1 1

Y Z

1 Y 3 ZHZ Total Terdeteksi Prosentase Kebenaran

1 2 61 43,5 %

4.3.2 Pengujian dengan Pengambilan Gambar Secara Real Time Pengambilan gambar secara real time, hasil pembacaan plat nomor susah dilakukan. Pencahayaan saat pengambilan gambar diatur sama dengan gambar referensi yang digunakan untuk pembelajaran. Untuk pembacaan karakter secara real time ini dilakukan pada kondisi yang paling bagus yaitu kondisi pertama, dan pembelajaran yang paling bagus yaitu pada pembelajaran yang kedua. Hasil pembacaan plat nomor secara real time terdapat pada tabel 4-9 Tabel 4-9 Hasil Pembacaan Plat Nomor Kendaraan Secara Real Time
Secara Real Time Learning rate = 0,1 No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Momentum = 0.85 Hasil Pembacaan


B 06BF SD R PQ79 2N W IL26 LZ K 61E2 ZS M LEZ9 CC 2 Y7LH KK I 4B29 GW I 2483 QJ U 14O6 ZZ W NHBW OT A6 I6K G8 H QV71 BD M Q803 2T Q 4K16 8F X 1838 FE KS 35A ZZ M 3868 7X C C876 KT 9 BM49 ER V D6P9 9Z

Plat Nomor
L 2690 GR L 7601 NN W 5026 MQ N 6892 VI P 3579 CD B 5798 KA M 4320 TU S 4444 JJ S 2356 YZ W 5827 PT AG 369 KB H 8201 EO L 3060 QT L 4738 CF L 4348 DO KM 260 VZ L 6824 AX L 5978 KR L 8069 DR N 2009 AZ

Iterasi = 1000 Terdeteksi Benar


1 1 3 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2

Jumlah Terdeteksi Persentase Keberhasilan

37 26,4%

58 Dari hasil yang didapat berdasarkan hasil tabel 4-8, bahwa sistem ini tidak cocok digunakan untuk pengembilan gambar secara real time. Terbukti tingkat keberhasilan hanya 26,4%.

4.3.3 Pengujian dengan Penambahan Filter Pengujian secara load gambar ini tidak hanya mengubah ubah nilai parameter saja. Penambahan filter juga digunakan. Filter yang digunakan yaitu Gaussian, Laplacian, Log, Motion, Prewitt, Sobel dan Unsharp. Hasil dengan filter dapat dilihat pada tabel 4-10 Tabel 4-10 Hasil Penambahan Filter Gambar Gambar Hasil Dengan Segmentasi Asli Threshold Threshold Filter

Filter
Gaussian Laplacian Log Motion Prewitt Sobel Unsharp

Tidak berhasil

Berdasarkan tabel 4-10, dapat diketahui bahwa yang bisa dilakukan proses pembacaan plat nomor hanya dengan menggunakan penambahan filter Gaussian dan unsharp. Untuk filter yang lainnya kemungkinan berhasil sangat kecil, dikarenakan hasil segmentasi karakkter yang tidak berhasil sempurna. Pengujian dengan penambahan filter ini, dilakukan pada kondisi pertama dan pembelajaran kedua, yaitu kondisi yang paling bagus digunakan untuk sistem pembacaan plat nomor ini.

4.3.3.1 Pembacaan Plat Nomor dengan Penambahan Filter Gaussian Hasil pembacaan plat nomor dengan menambahkan filter Gaussian pada proses pembelajaran dan pengujian terdapat pada tabel 4-11 Tabel 4 -11 Hasil Pembacaan Plat Nomor Karakter dengan Penambahan Filter Gaussian
Filter Gaussian Learning rate = 0,1 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Plat Nomor Momentum = 0.85 Hasil Pembacaan Iterasi = 1000 Terdeteksi Benar 7 1 4 5 5 4 3 3 3 0 0 4 0 1 1 0 1 0 0 1 43 30,7%

L 2690 GR L 2690 GR L 7601 NN X V5K1 UW W 5026 MQ W 5N48 MQ N 6892 VI N 1895 VI P 3579 CD P 3R7C CD B 5798 KA B 4T9B KA M 4320 TU O 4S9L TU S 4444 JJ S 3437 JN S 2356 YZ Q Z2S6 YZ W 5827 PT X KD6I MS AG 369 KB 9Q U3H OG H 8201 EO H JCG1 EO L 3060 QT N UB19 KP L 4738 CF M 3YWL MF L 4348 DO Q 7G4A MD KM 260 VZ IT L0L WO L 6824 AX K 2JV3 8X L 5978 KR A BADI MU L 8069 DR N HE4I JT N 2009 AZ V LMK8 9Z Jumlah Terdeteksi Persentase Keberhasilan

60 Dengan penambahan filter Gaussian tingkat keberhasilan pembacaan karakternya hanya sebesar 30,7%. Ini berarti penambahan filter Gaussian tidak cocok digunakan dalam sistem yang sudah dibuat.

4.3.3.2 Pembacaan Plat Nomor dengan Penambahan Filter Unsharp Hasil pembacaan plat nomor dengan menambahkan filter Unsharp pada proses pembelajaran dan pengujian terdapat pada tabel 4-12 Tabel 4 -12 Hasil Pembacaan Plat Nomor Kendaraan dengan Penambahan Filter Unsharp
Filter Unsharp Learning rate = 0,1 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Plat Nomor Momentum = 0.85 Hasil Pembacaan Iterasi = 1000 Terdeteksi Benar 7 1 4 5 5 3 3 2 2 0 0 4 2 1 0 0 0 0 0 0 39 27,9 %

L 2690 GR L 2690 GR L 7601 NN L J322 QQ W 5026 MQ W 5J3F MQ N 6892 VI N 9863 VI P 3579 CD P 3D7E CD B 5798 KA B JE6C KA M 4320 TU I 4G3S TU S 4444 JJ S 3GIY J6 S 2356 YZ R A6E3 YZ W 5827 PT Tidak berhasil dibaca AG 369 KB HF Q43 LH H 8201 EO H 94G1 EO L 3060 QT L JB10 7U L 4738 CF P PC6H JF L 4348 DO Tidak berhasil dibaca KM 260 VZ DS 44Q Y6 L 6824 AX Tidak berhasil dibaca L 5978 KR Tidak berhasil dibaca L 8069 DR Tidak berhasil dibaca N 2009 AZ Tidak berhasil dibaca Jumlah terdeteksi Persentase Keberhasilan

Dengan penambahan filter unsharp, gambar yang dihasilkan menjadi lebih jelas dan tajam, sehingga titik (noda) sekecil apapun akan dideteksi sebagai warna putih sehingga proses segmentasi karakter tidak berhasil. Agar bisa berhasil dilakukan segmentasi yang benar dengan penambahan filter unsharp ini, maka gambar yang digunakan harus benar benar bagus dan bersih dari noda. Dari 20 plat nomor yang dilakukan untuk pengujian ada beberapa plat nomor yang tidak bisa dilakukan segmentasi sehingga tidak bisa dilakukan proses pembacaan karakter. Persentase keberhasilannya hanya sebesar 27,9%. Dibandingkan dengan filter unsharp, filter gaussian lebih bagus digunakan untuk sistem ini. 4.3.4 Pengujian Perbandingan Ketiga Metode Pada simulasi pembacaan plat nomor pada proyek akhir ini, ada 3 metode yang digunakan untuk membaca karakter plat nomor kendaraan, yaitu metode coding, metode POC (Phase Only Correlation), dan metode Backpropagation. Dengan menggunakan gambar plat nomor kendaraan yang sama, dapat dilakukan perbandingan ketiga metode. Pada perbandingan ketiga metode ini, pengujian yang dilakukan adalah perbandingan hasil pembacaan karakter yang didapatkan serta perbandingan waktu yang dibutuhkan dari ketiga metode pada simulasi proyek akhir ini. Hasil perbandingan pembacaan untuk ketiga metode dapat dilihat pada table 4 -13

62

Tabel 4-13 : Perbandingan Hasil Pembacaan Ketiga Metode


Metode No
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Plat
M 4320 TU W 5827 PT L 2690 GR L 4348 DO B 5798 KA W 5026 MQ L 6824 AX P 3579 CD H 8201 E0 L 7601 NN S 4444 JJ L 5978 KR N 6892 VI L 4738 CF L 3060 QT S 2356 YZ N 2009 AZ L 8069 DR AG 369 KB

Coding Hasil
L 4320 VU M 5827 WT J 2690 PR L 4348 DO D 5798 OA V 5026 MQ N 6824 AX K 3579 CD X 8201 RO 0 7601 YN Z 4444 XJ M 5978 RR N 6892 WI L 4738 TF V 3060 WT J 2356 LZ V 2009 AZ P 8069 DR DO 369 PB X6 260 LZ

Backpropagation Hasil
R 4L2L TU Y 484H EV L 2690 GR I 6A46 6D B NB66 KA W 5K25 MQ O 68E6 8X P 3776 CD H 84A1 EO L T481 NV S 445G JR A 19AH NR N 4822 VI H 4QQC IF H XE08 IT M EA83 YZ R 3M56 AZ L E579 QT AA M6B NN KU 21N UH

POC Hasil
M 4O2U TU W J827 P1 L 2690 GR L 4Z4G BC B 5Z98 K1 W 5G26 MQ L 6O24 AX P 357C CU H 8201 E0 L 7601 NF S 444E JJ L 5970 KR N 6002 VI T 4733 CF L 0C60 QT S 2326 YZ N 2C09 AZ L 8J69 UR A3 3O9 KB KM 26G VZ

Benar
5 5 5 7 5 6 6 6 5 5 5 5 6 6 5 5 6 6 4 4 107

Benar
4 1 7 1 3 5 3 5 5 3 4 2 5 2 1 2 2 2 2 2 61

Benar
5 5 7 3 5 6 6 5 6 6 6 6 5 5 5 5 6 5 5 6 108

20 KM 260 VZ TOTAL

PERSENTASE

76,43%

43,5%

77,14%

Berdasarkan data yang telah didapatkan, dapat diketahui bahwa metode yang paling sempurna untuk pembacaan karakter plat nomor kendaraan adalah menggunakan metode POC yaitu dari 140 karakter yang diujikan, yang terdeteksi adalah 112 dengan persentase 77,14%, sedangkan metode yang paling sulit untuk pembacaan karakter plat nomor kendaraan adalah metode Backpropagation, dan pada metode ini terdapat 61 karakter yang terdeteksi, sehingga persentase kebenarannya adalah 43,5% Selain itu, waktu yang diperlukan untuk membaca karakter plat nomor kendaraan mulai dari komputer mengambil gambar sampai komputer dapat membaca plat nomor kendaraan juga dibandingkan. Perbandingan waktu untuk ketiga metode dapat dilihat pada tabel 4-14 Tabel 4-14 : Perbandingan Waktu yang Dibutuhkan Metode Coding Backpropagation POC Waktu yang Dibutuhkan 8 detik 11 detik 31 detik

Dapat diketahui bahwa dari ketiga metode yang dilakukan, yang paling cepat dalam melakukan pembacaan karakter adalah metode coding, sedangkan yang paling lama adalah metode POC.

64

Halaman ini sengaja dikosongkan

BAB V PENUTUP
Pada bab penutup ini dapat diketahui kesimpulan dari yang sudah dikerjakan dan saran-saran yang perlu dilakukan di masa yang akan datang agar lebih baik lagi. 5.1 Kesimpulan Berdasarkan hasil yang diperoleh dari perencanaan, pembuatan dan pengujian dapat disimpulkan beberapa hal. 1. Kondisi yang paling bagus digunakan untuk sistem ini yaitu kondisi pertama (awal), dengan learning rate 0,1, momentum 0,85 dan iterasi 1000. 2. Dari ketiga pembelajaran yang paling bagus digunakan yaitu pada pembelajaran yang kedua. 3. Tingkat keberhasilan paling besar adalah 43,5% yang terjadi pada kondisi pertama (awal) dan pada pembelajaran yang kedua. 4. Iterasi semakin besar tidak menjamin keakuratan sistem. Iterasi yang cocok untuk sistem ini yaitu iterasi 1000. 5. Penambahan filter tidak dapat memperbaiki hasil pembacaan yang didapat, dan tidak semua filter cocok untuk sistem ini. Filter yang dapat digunakan yaitu filter gaussian dan unsharp. 6. Pengambilan gambar secara real time tidak berhasil dilakukan dengan baik, karena tingkat keberhasilan hanya sebesar 26,4%. 5.2 Saran Menimbang dari hasil pengujian, untuk penyempurnaan proyek akhir ini disarankan untuk diperbaiki pada beberapa bagian. Diharapkan proyek akhir ini dapat dilanjutkan agar didapat hasil yang lebih optimal. Perbaikan tersebut antara lain : 1. Masukkan untuk backpropagation sebaiknya tidak hanya nilai threshold dari masing masing karakter. Perlu dilakukan modifikasi agar dapat meningkatkan tingkat keakuratan dalam pembacaan plat nomor 2. Segmentasi karakter yang lebih bagus lagi sehingga dapat benar benar menghilangkan warna hitam agar pembacaan karakter dapat dilakukan lebih optimal 3. Diharapkan pengambilan gambar secara real time dapat dilakukan secara benar dan tepat 65

66

Halaman ini sengaja dikosongkan

DAFTAR PUSTAKA
[1] Diyah Puspitoningrum, Pengantar Jaringan Saraf Tiruan, Penerbit Andi Yogyakarta, 2006 [2] Jaringan Saraf Tiruan, http://id.wikipedia.org/wiki/Jaringan_saraf_tiruan [3] Jaringan Syaraf Tiruan Backpropagation Delta Bar Delta, http://www.ittelkom.ac.id/.../index.php?...505%3Ajaringan-syaraftiruan [4] Metode Jaringan Saraf Tiruan Backpropagation untuk Pengenalan Huruf Cetak pada Citra Digital, http://fportfolio.petra.ac.id/user_files/02-030/TE-12.DOC [5] Pengantar Jaringan Syaraf Tiruan, http://trirezqiariantoro.files.wordpress.com/2007/.../jaringan_

syaraf_tiruan.pdf
[6] Siang, J. J., Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab, Penerbit Andi Yogyakarta, 2005 [7] Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasi), Penerbit Graha Ilmu, 2003

68

Halaman ini sengaja dikosongkan

LAMPIRAN
A. Karakter Pembelajaran

B.

Karakter Pengujian

70 Lanjutan

Lanjutan

72 Lanjutan

C. Array Masing Masing Karakter

74

Halaman ini sengaja dikosongkan

RIWAYAT HIDUP

Nama TTL Alamat No telepon Email

: : : : :

Endah Sri Utami Nganjuk, 3 juni 1987 Gayaman 6/2, Mojoanyar, Mojokerto 085648249029 haruka_tami@yahoo.com

Riwayat pendidikan formal yang pernah ditempuh : TK Dharma Wanita Gayaman Mojokerto SDN Bangsal 1 Mojokerto SLTPN 1 Bangsal Mojokerto SMAN 1 Sooko Mojokerto PENS ITS Surabaya

(1991 1993) (1993 1999) (1999 2002) (2002 2005) (2005 2009)

Anda mungkin juga menyukai