BAB 4 PERANCANGAN DAN IMPLEMENTASI
2.5 Pengenalan Pola
2.5.1 Struktur dari Sistem Pengenalan Pola
Sistem terdiri atas sensor (misalnya kamera), suatu algoritma atau mekanisme pencari fitur, dan algoritma untuk klasifikasi atau pengenalan (bergantung pada pendekatan yang dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.
Gambar 2.12 Struktur Sistem Pengenalan Pola
Sensor berfungsi untuk menangkap objek dari dunia nyata dan selanjutnya diubah menjadi sinyal digital (sinyal yang terdiri atas sekumpulan bilangan) melalu proses digitalisasi.
Pra-pengolahan berfungsi mempersiapkan citra atau sinyal agar dapat menghasilkan ciri yang lebih baik pada tahap berikutnya. Pada tahap ini sinyal informasi ditonjolkan dari sinyal pengganggu (derau) diminimalisasi.
43 | P a g e Pencari dan seleksi fitur berfungsi menemukan karakteristik pembeda yang mewakili sifat utama sinyal dan sekaligus mengurangi dimensi sinyal menjadi sekumpulan bilangan yang lebih sedikit tetapi represantif.
Algoritma klasifikasi berfungsi untuk mengelompokan fitur ke dalan kelas yang sesuai. Algoritma deskripsi berfungsi memberikan deskripsi pada sinyal.
2.5.2 ANN (Artificial Neural Network)
Jaringan Saraf Tiruan atau Artificial Neural Network yang disingkat dengan ANN merupakan model jaringan neural yang meniru prinsip kerja dari neuron otak manusia (neuron biologis). ANN pertama kali muncul setelah model sederhana dari neuron buatan diperkenalkan oleh McCulloch dan Pitts pada tahun 1943. Model sederhana tersebut dibuat berdasarkan fungsi neuron biologis yang merupakan dasar unit pensinyalan dari sistem saraf.
Jaringan saraf tiruan memiliki beberapa kemampuan seperti yang dimiliki otak manusia, yaitu :
1. Kemampuan untuk belajar dari pengalaman
2. Kemampuan melakukan perumpamaan (generalization) terhadap input baru dari pengalaman yang dimilikinya
3. Kemampuan memisahkan (abstraction) karakteristik penting dari input yang mengandung data yang tidak penting
44 | P a g e Gambar 2.13 Ilustrasi Model ANN
Pemodelan ANN merupakan pemodelan dengan menggunakan pendekatan pemodelan black box. Prinsip kerja ANN didasari pada mekanisme kerja penyaluran informasi sistem NN. Namun demikian karena keterbatasan yang dimiliki oleh struktur ANN maka hanya sebagian kecil saja dari kemampuan sistem saraf manusia dapat ditiru.
Tabel 2.6 Perbandingan NN dengan ANN
NN ANN
Soma (Sel Tubuh) Node Dendrites Sinyal Input Sinyal pada Akson Sinyal Output
Synapsis Bobot Memiliki Kecepatan Rendah Memiliki Kecepatan Tinggi Memiliki Neuron sekitar 100 Miliar Hanya Memiliki
sekitar Ratusan Neuron 2.5.3 LVQ (Learning Vector Quantization)
Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. LVQ merupakan single-layer net pada lapisan masukan yang terkoneksi secara
45 | P a g e langsung dengan setiap neuron pada lapisan keluaran. Koneksi antar neuron tersebut dihubungkan dengan bobot / weight. Neuron-neuron keluaran pada LVQ menyatakan suatu kelas atau kategori tertentu (Kusumadewi, 2003).
Proses pembelajaran pada LVQ dilakukan melalui beberapa epoh (jangkauan waktu) sampai batas epoh maksimal terlewati. LVQ melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut ke dalam kelas yang sama. Metode pembelajaran LVQ dikerjakan dengan algoritma berikut (Kusumadewi,2003) :
1 : Inisialisasi vector bobot wj dan set parameter learning rate α
2 : Selama epoh < maxEpoh kerjakan 2 -6
3 : Untuk setiap vector masukan x dengan kelas T, kerjakan 3-4
4 : Temukan j sedemikian hingga d(x,wj) minimum, dan tandai j sebagai cj. 5 : Update vector bobot wj dengan cara :
Jika T = cj, maka
wj(baru) = wj(lama) + α(x-wj(lama)) …(1)
Jika T = cj, maka wj(baru) = wj(lama) - α(x-wj(lama)) …..(2) 6 : Kurangi learning rate α
46 | P a g e Gambar 2.14 Jaringan LVQ
2.6 OpenCV (Open Computer Vision)
OpenCV adalah sebuah library yang berisi fungsi-fungsi pemrograman untuk teknologi computer vision real time. OpenCV bersifat open source, bebas digunakan untuk hal-hal yang bersifat akademis dan komersial. Dan untuk saat ini library OpenCV sudah dapat digunakan dalam perangkat smartphone. Terdapat lebih dari 2500 algoritma yang terdapat dalam library OpenCV, digunakan di seluruh dunia, telah lebih dari 2.5 juta kali diunduh, dan digunakan lebih dari 40.000 orang. Penggunaannya antara lain pada seni interaktif, inspeksi ambang, menampilkan peta di web melalui teknologi robot.
Contoh aplikasi dari OpenCV yaitu interaksi manusia dan computer, identifikasi, segmentasi, dan pengenalan objek: pengenalan wajah; pengenalan gerakan; penelusuran gerakan, gerakan diri dan pemahaman gerakan; struktur dari gerakan; kalibrasi stereo dan beberapa kamera serta komputasi mendalam; robotic.
47 | P a g e 2.7 Smartphone
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis Android. Hal ini dikarenakan android merupakan sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun.
Pengembang memiliki beberapa pilihan ketika membuat aplikasi yang berbasis Android. Sebagian besar pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembangkan aplikasi Android. Eclipse adalah IDE yang paling populer untuk pengembangan Android, karena memiliki plug-in yang tersedia untuk memfasilitasi pengembangan Android. Selain itu, Eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan aplikasi Android, ini terbukti dengan adanya penambahan plugins untuk Eclipse untuk membuat project Android dimana source software langsung dari situs resmi Google.
48 | P a g e 2.7.1 The Dalvik Virtual Machine (DVM)
Salah satu elemen kunci dari Android adalah Dalvik Virtual Machine (DVM). Android berjalan di dalam DVM bukan di (Java Virtual Machine) JVM. Android menggunanakan Virtual Machine sendiri yang dikustomisasi dan dirsncang untuk memastikan bahwa beberapa feature berjalan lebih efisien pada perangkat mobile.
DVM mengeksekusi executable file, sebuah format yang dioptimalkan untuk memastikan memori yang digunakan sangat kecil. The executable file diciptakan dengan mengubah kelas bahasa java dan dikompilasi menggunakan tools yang disediakan dalam SDK Android.