9
BAB 2
TINJAUAN PUSTAKA
2.1.
Landasan Teori
Landasan teori ini berisi teori-teori yang digunakan dalam penelitian ini dan
mendukung pembuatan dan pengembangan aplikasi ini. Berikut ini merupakan
teori-teori tersebut:
2.1.1.
Diagram Alir (Waterfall)
Model
diagram
waterfall
merupakan model diagram perancangan
klasik yang bersifat sistematis dan berurutan dalam membangun
perangkat lunak. Menurut Sommerville
(2011:31), terdapat lima
tahapan pada
model
waterfall
yaitu requirements
analysis and
definition, system and software design, implementation and unit testing,
integration and system testing, dan operation and maintenance.
Gambar 2.1.
Langkah-langkah pada diagram waterfall
(Sumber: Software Engineering, 2011:30)
Berikut ini adalah penjelasan dari langkah-langkah
pada diagram
waterfall tersebut:
  
10
a.
Requirements analysis and definition
Merupakan tahapan penetapan fitur, kendala,
dan tujuan sistem
melalui konsultasi dengan pengguna sistem. Semua hal tersebut akan
ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem.
b.
System and software design
Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan
persyaratan yang telah ditetapkan. Dan juga mengidentifikasi dan
menggambarkan abstraksi dasar sistem perangkat lunak dan
hubungan-hubungannya.
c.
Implementation and unit testing
Dalam tahapan ini, hasil dari desain perangkat lunak akan
direalisasikan sebagai satu set aplikasi atau unit program. Setiap unit
akan diuji apakah sudah memenuhi spesifikasinya.
d.
Integration and system testing
Dalam tahapan ini, setiap unit program akan diintegrasikan satu
sama lain dan diuji sebagai satu sistem yang utuh untuk memastikan
sistem sudah memenuhi persyaratan yang ada. Setelah itu sistem
akan dikirim ke pengguna sistem.
e.
Operation and maintenance
Dalam tahapan ini, sistem di-install dan mulai digunakan. Selain itu
juga memperbaiki error
yang tidak ditemukan pada tahap
pembuatan. Dalam tahap ini juga dilakukan pengembangan sistem
seperti penambahan fitur dan fungsi baru. 
Kelebihan model waterfall
ini dibandingkan model perancangan
lainnya, yakni:
a.
Merupakan model pengembangan paling handal dan paling lama
digunakan.
b.
Tepat untuk sistem perangkat lunak berskala besar.
c.
Tepat untuk sistem perangkat lunak yang bersifat generic.
d.
Pengerjaan proyek sistem akan terjadwal dengan baik dan mudah
dikontrol.
2.1.2.
  
11
Interaksi Manusia dan Komputer
Dalam merancang sebuah aplikasi, user
interface
(antarmuka
pengguna) merupakan faktor yang terpenting. Karena user interface
dapat dilihat, disentuh, maupun didengar oleh pengguna
sehingga,
dengan kata lain merupakan sesuatu yang berinteraksi langsung dengan
pengguna. Berikut pedoman yang digunakan dalam merancang user
interface yang baik untuk pengguna:
2.1.2.1.
Delapan Aturan Emas Perancangan Antarmuka
Delapan aturan emas merupakan salah satu pedoman dalam
merancang antarmuka
sebuah aplikasi. Berikut ini adalah
aturan-aturan yang tertera dalam delapan aturan emas menurut
Shneiderman dan Plaisant (2010:88):
a.
Konsistensi
Konsisten terhadap urutan tindakan dan rancangan
antarmuka, sehingga pengguna dapat lebih mudah dan
terbiasa menggunakan aplikasi.
b.
Kegunaan yang  universal
Mengenal kebutuhan dari berbagai pengguna yang berbeda
dan mendesain konten yang dinamis sesuai kebutuhan.
Memahami perbedaan antara pemula dengan ahli,
perbedaan usia, kondisi pengguna, dan perbedaan teknologi
dalam melakukan desain.
c.
Memberikan umpan balik yang informatif
Memberikan umpan balik kepada pengguna ketika
melakukan aksi. Misalnya, memberikan kotak dialog
peringatan dan suara ketika terjadi kesalahan.
d.
Memberikan dialog untuk penutupan
Urutan aksi harus terorganisir menjadi beberapa bagian
seperti bagian awal, bagian tengah,
dan bagian akhir. Dari
bagian tersebut seharusnya diberikan umpan balik sehingga
pengguna dapat mengetahui hasil dari aksi dan melanjutkan
ke tahap berikutnya.
  
12
e.
Adanya penanganan kesalahan yang sederhana
Sistem yang dibuat sebaiknya dapat mendeteksi kesalahan
supaya pengguna tidak melakukan kesalahan yang fatal dan
memberikan solusi untuk kesalahan tersebut.
f.
Mudah kembali ke tindakan sebelumnya
Adanya fitur untuk membatalkan tindakan sebelumnya
untuk menghilangkan kekhawatiran pengguna ketika
mengetahui adanya kesalahan.
g.
Mendukung pusat pengendalian internal
Pengguna ahli biasanya ingin menjadi pengontrol sistem
bukan sebaliknya. Sehingga sistem sebaiknya dirancang
seakan-akan pengguna adalah pihak memulai aksi bukan
perespons.
h.
Mengurangi beban ingatan jangka pendek
Pengguna memiliki keterbatasan dalam memproses
informasi dan mengingatnya dalam jangka pendek sehingga
aplikasi dikembangkan sebaiknya tidak membuat pengguna
harus mengingat informasi layar-layar sebelumnya.
2.1.2.2.
Lima Faktor Manusia Terukur
Manusia merupakan elemen yang terpenting dalam
berinteraksi dengan komputer, sehingga dalam merancang
sebuah aplikasi perlu diperhatikan faktor yang dapat
memudahkan manusia sebagai pengguna.
Terdapat lima faktor manusia terukur menurut
Shneiderman dan Plaisant (2010:32), yaitu:
a.
Waktu belajar
Merancang tampilan yang dapat dipelajari dalam waktu
cepat agar pengguna
dapat mudah
dan dengan cepat
mempelajari bagaimana menggunakannya.
  
13
b.
Kecepatan kinerja
Merancang aplikasi dengan kecepatan yang tinggi sehingga
pengguna
dapat menggunakan aplikasi tersebut dengan
lancar.
c.
Tingkat kesalahan
Seberapa banyak kesalahan yang dilakukan oleh pengguna
dan kesalahan-kesalahan seperti apa yang dapat terjadi saat
pengguna sedang menggunakan aplikasi tersebut.
d.
Daya ingat
Kemampuan pengguna mempertahankan pengetahuannya
setelah jangka waktu tertentu.
e.
Kepuasan subjektif
Kepuasan pengguna terhadap berbagai aspek sistem yang
dicapai dengan melakukan survei kepada beberapa
pengguna untuk mendapatkan tingkat kepuasan.
2.1.3.
Inteligensia Semu
Menurut Rich dan Knight (1991:3),
inteligensia semu atau
kecerdasan buatan (artificial intelligence) merupakan salah satu cabang
ilmu komputer yang bertujuan membuat mesin (komputer) dapat
melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia.
Pada awal diciptakannya, komputer hanya digunakan sebagai alat
hitung saja,
namun seiring dengan perkembangan zaman
maka peran
komputer semakin mendominasi dalam kehidupan manusia. Komputer
yang awalnya hanya sebagai alat hitung, saat ini diharapkan dapat
diperuntukkan mengerjakan segala sesuatu yang dapat dikerjakan oleh
manusia.
Menurut Turban dan
Frenzel (1992:3),
kecerdasan buatan atau
artificial intelligence merupakan bagian ilmu komputer yang digunakan
untuk menciptakan perangkat lunak dan perangkat keras dengan tujuan
untuk menghasilkan sesuatu seperti yang dihasilkan oleh manusia.
2.1.4.
  
14
XML (eXtensible Markup Language)
Menurut Connolly
dan Begg
(2010:1073), XML adalah sebuah
meta-language (bahasa yang digunakan untuk mendeskripsikan bahasa
lain) yang memungkinkan seorang desainer membuat sendiri tag
yang
menyediakan fungsi yang tidak tersedia pada HTML. XML merupakan
sebuah versi meta-language yang diturunkan dari Standard Generalized
Markup
Language
(SGML), yang didesain khusus untuk dokumen
website dan dapat mendukung perancang untuk menciptakan tag sendiri
yang memiliki kemampuan untuk mendefinisikan, mentransmisikan,
memvalidasikan,
dan menginterpretasikan data antara aplikasi dan
organisasi.
XML dikembangkan oleh World Wide Web Consortium (W3C) yang
didukung oleh 150 orang anggotanya dan versi 1.0 pertama kali dirilis
pada tahun 1998. XML menggunakan teknologi Document Type
Definitions (DTDs) yang dapat mendefinisikan sintaksis yang valid dari
dokumen XML.
Menurut Connolly dan Begg (2010:1074), keunggulan yang dimiliki
XML antara lain:
a.
Simplicity
XML menggunakan bahasa yang sederhana, mudah dimengerti oleh
manusia dan mesin.
b.
Open Standard and platform / vendor-independent
XML menggunakan struktur terbuka dan tidak tergantung pada
platform tertentu.
c.
Extensibility
XML memungkinkan pengguna
untuk mendefinisikan tag
sendiri
sehingga dapat dikembangkan sesuai dengan kebutuhan pengguna.
d.
Reuse
XML memungkinkan libraries dari XML tags untuk dibangun sekali
dan dapat digunakan kembali oleh banyak aplikasi.
e.
Separation of content and presentation
XML memisahkan antara isi dan tampilan dari suatu data sesuai
dengan pengaturan yang diinginkan.
  
15
f.
Improved load balancing
Data dapat ditampilkan pada browser dengan baik.
g.
Support for the integration of data from multiple source
Kemampuan mengintegrasikan data dari berbagai macam sumber
yang berbeda adalah hal yang sulit dan memakan waktu. XML dapat
menggabungkan data dari banyak sumber yang berbeda dengan cara
yang mudah.
h.
Ability to describe data from a wide variety of applications
XML dapat digunakan untuk mendeskripsikan data yang terdapat
pada aplikasi yang berbeda.
i.
More advanced search engine
Dengan XML mesin pencarian akan mampu untuk
menyederhanakan berbagai macam tags.
j.
New opportunities
XML memiliki banyak kelebihan yang dapat dihadirkan dalam
banyak aplikasi teknologi saat ini. Struktur hierarkinya cocok untuk
kebanyakan tipe dokumen.
Kekurangan-kekurangan dari XML, yaitu:
a.
Parser harus didesain untuk memahami struktur data bersarang yang
berubah-ubah dan harus melakukan pengecekan tambahan untuk
mendeteksi sintaks atau data yang tidak terformat atau terurut
dengan benar.
b.
Urutan penekanan tombol untuk mengetikkan ekspresi XML pada
keyboard standar komputer sering kali tidak fleksibel.
2.1.5.
Pengolahan Citra
Citra dapat didefinisikan sebagai fungsi dua dimensi dari f(x,y)
dimana x dan y merupakan koordinat bidang dan amplitudo dari f
pasangan koordinat apapun. Jika x, y, dan nilai intensitas dari f tersebut
berhingga, bernilai diskrit, citra tersebut disebut citra digital (Gonzalez
dan Woods, 2008:23).
Pengolahan citra (image
processing) merupakan bidang yang
berhubungan dengan proses transformasi citra yang bertujuan untuk
  
16
mendapatkan kualitas citra/gambar yang lebih baik (Fairhurst,
1988:5).
Proses sampling
atau biasa disebut digitisasi merupakan proses
untuk menentukan warna pada piksel tertentu pada citra yang kontinu.
Pada proses ini, biasanya dicari warna rata-rata dari gambar analog
yang kemudian dibulatkan.
2.1.5.1.
Grayscale
Menurut Bradski
dan Kaebler
(2008:60), ketika gambar
grayscale diubah menjadi gambar berwarna, semua komponen
hasil gambar akan sama. Tetapi untuk kebalikannya (gambar
warna menjadi grayscale), maka nilai abu-abu dihitung
menggunakan formula berikut:
2.1.5.2.
Threshold
Menurut Bradski
dan Kaebler
(2008:135), konsep dasar
dari threshold adalah sebuah array diberikan dengan threshold
dan kemudian sesuatu terjadi kepada setiap elemen dalam
array tergantung apakah elemen tersebut berada di atas atau di
bawah threshold.
Tipe-tipe operasi threshold, yaitu:
a.
Threshold binary
b.
Threshold binary inverted 
c.
Threshold truncate 
d.
Threshold to zero inverted 
e.
Threshold to zero
  
17
Gambar 2.2.
Gambar Awal
(Sumber: Learning OpenCV. Computer Vision with the
OpenCV Library, 2008:139)
Gambar 2.3.
Gambar setelah proses threshold binary
(Sumber: Learning OpenCV. Computer Vision with the
OpenCV Library, 2008:139)
2.1.5.3.
HSI (Hue, Saturate, Intensity)
Warna yang dilihat oleh manusia dideskripsikan dengan
hue, saturation, dan brightness. Hue merupakan sebuah atribut
warna yang mendeskripsikan warna asli yaitu (kuning, oranye,
atau merah), sedangkan saturation
memberikan pengukuran
seberapa banyak warna asli dicampurkan dengan warna putih,
dan brightness adalah sebuah atribut yang tidak mungkin untuk
diukur. Mencerminkan sebuah intensitas dan salah satu faktor
utama yang mendeskripsikan sensasi warna. Model ini dapat
disebut HSI (hue, saturation, intensity) color
model
yang
memisahkan komponen intensitas dari informasi pembawa
  
18
warna (hue
dan saturation) dalam sebuah gambar berwarna.
HSI model adalah alat ideal untuk mengembangkan algoritma
proses gambar berdasarkan deskripsi warna yang natural dan
intuitif bagi manusia (Gonzalez dan Woods, 2008:429).
2.1.6.
Computer Vision
Computer vision
didefinisikan sebagai ilmu yang mempelajari
bagaimana komputer dapat mengenali objek yang diamati atau
diobservasi dari suatu gambar
(Fairhurst, 1998:4). Computer vision
merupakan
kombinasi antara pengolahan citra dan pengenalan pola.
Bersama dengan inteligensia semu (artificial intelligence) akan mampu
menghasilkan sistem intelijen visual (visual intelligence system).
2.1.7.
Pengenalan Pola
Pengenalan pola (pattern recognition) merupakan bidang studi yang
melakukan proses analisis gambar yang input-nya adalah gambar
ataupun citra digital
dan menghasilkan output
suatu deskripsi dengan
tujuan untuk mendapatkan informasi yang disampaikan oleh gambar
atau citra, dengan kata lain meniru kemampuan manusia (otak manusia)
dalam mengenali suatu objek atau pola tertentu (Fairhurst, 1998:5).
Proses ini bertujuan untuk mengekstrak informasi/pesan yang
disampaikan oleh gambar/citra. 
2.1.8.
UML
Menurut Satzinger, Jackson, dan Burd
(2009:6-7),
information
system adalah sekumpulan komponen yang saling terkait yang bersama-
sama mengumpulkan, mengolah, menyimpan, dan menyediakan
keluaran berupa informasi yang dibutuhkan untuk menyelesaikan tugas-
tugas dalam bisnis. 
2.1.8.1.
Flowchart
Flowchart
adalah diagram yang cocok untuk
merepresentasikan proses bisnis secara visual. Simbol-simbol
yang digunakan dalam flowchart, antara lain:
  
19
a.
Simbol Start dan End
Simbol Start
dan End
direpresentasikan dengan lozenges,
ovals, atau rounded rectangles, biasanya mengandung kata
Start” dan “End” atau kata lain yang 
menggambarkan
awal atau akhir proses.
Gambar 2.4.
Contoh simbol Start
Gambar 2.5.
Contoh simbol End
b.
Simbol Arrow
Simbol Arrow
menampilkan flow of control. Arrow berasal
dari sebuah simbol dan berakhir pada simbol lain,
menandakan aliran ke titik panah.
Gambar 2.6.
Contoh simbol Arrow
c.
Simbol Process
Simbol Process
merepresentasikan langkah-langkah setiap
proses.
Gambar 2.7.
Contoh simbol Process
  
20
d.
Simbol Decision
Simbol Decision
menunjukkan titik hasil keputusan
menentukan langkah selanjutnya. Hasil keputusan dapat
banyak, tapi biasanya hanya 2, yakni ya dan tidak.
Gambar 2.8.
Contoh simbol Decision
e.
Simbol On-page Reference
Simbol On-page Reference menunjukkan langkah
selanjutnya atau sebelumnya di tempat lain pada flowchart.
Gambar 2.9.
Contoh simbol On-page Reference
2.1.8.2.
Use Case Diagram
Menurut Satzinger, Jackson, dan Burd
(2009:242),
use
case
model
merupakan kumpulan dari model yang digunakan
untuk menangkap kebutuhan sistem yang didasarkan pada use
case dengan pendekatan berorientasi objek.
Menurut Satzinger, Jackson, dan Burd
(2009:242),
use
case
diagram
adalah sebuah diagram untuk menggambarkan
berbagai
peran pengguna dan bagaimana peran mereka
menggunakan sistem. 
  
21
Gambar 2.10. Use case sederhana dengan aktor
(Sumber: Systems Analysis and Design in a Changing World
Fifth Edition, 2009:243)
2.1.8.3.
Use Case Description
Menurut Satzinger, Jackson, dan Burd
(2009:171), use
case description merupakan deskripsi yang berisi daftar rincian
proses untuk sebuah use case
Gambar 2.11. Fully developed description dari skenario
pemesanan melalui telepon 
(Sumber: Systems Analysis and Design in a Changing World
Fifth Edition, 2009:174)
  
22
2.1.9.
File Based System
Menurut Connolly dan Begg
(2010:57),
file-based system
merupakan kumpulan program aplikasi yang melakukan layanan bagi
pengguna, seperti pembuatan laporan. Setiap program mendefinisikan
dan mengelola data sendiri.
2.1.10. Bahasa C
Bahasa C merupakan salah satu bahasa pemrograman yang ada pada
saat ini. Menurut Deitel (2010:39), bahasa ini dibuat sekitar tahun 1972
oleh Dennis Ritchie
dan Brian W.Kernighan untuk sistem operasi
Unix di Bell Telphone Laboratories.
Bahasa C dapat digunakan dengan mudah mulai dari PC hingga
mainframe dan juga tidak tergantung pada suatu sistem operasi.
Penggunaan bahasa C dalam program dilakukan dengan membagi
dalam blok-blok, sehingga bahasa C disebut juga bahasa yang
terstruktur.
2.1.11. OpenGL (Open Graphics Library)
Open graphics library
(OpenGL) merupakan library pertama yang
digunakan untuk mengembangkan aplikasi grafis portable, serta
interaktif 2D dan 3D.
OpenGL dapat digunakan di berbagai bahasa
pemrograman, antara lain C, C++, C#, Ada, Common Lisp, Pascal,
Fortran, Basic, Java, dan lain sebagainya. OpenGL dapat juga
diimplementasikan pada sistem operasi Windows, Mac, dan Linux.
OpenGL yang dapat digunakan, antara lain GLUT (GL Utility Toolkit),
GLU (GL Utility), dan lain sebagainya. 
Menurut Angel
dan Shreiner
(2012:81), di dalam OpenGL ini
terdapat banyak functions, sehingga dilakukan pengelompokan terhadap
functions
tersebut. Pengelompokan functions
tersebut, antara lain
sebagai berikut:
a.
Primitive functions
b.
Attribute functions
c.
Viewing functions
d.
Transformation functions
  
23
e.
Input functions
f. Control functions
g.
Query functions
2.1.11.1. Texture Mapping
Berdasarkan tesis Ed
Catmull
(1974) yang telah
disempurnakan oleh Blinn
dan Newell
(1976), texture
mapping
atau pemetaan tekstur memungkinkan untuk
mengambil poligon sederhana dan memberikan penampilan
dari sesuatu yang jauh lebih kompleks.
Ada dua jenis texture mapping, antara lain:
1.
Non-parametric texture mapping
Gambar 2.12.
Texture mapping non-parametric
(Sumber: Texture Mapping, 2010:5)
Dengan menggunakan
texture mapping non-parametric,
maka akan didapatkan:
a.
Ukuran tekstur dan orientasi tetap.
b.
Poligon tidak berhubungan antara ukuran dengan
orientasi.
c.
Terdapat efek “cookie-cutter”.
2.
Parametric texture mapping
Gambar 2.13.
Texture mapping parametric 
(Sumber: Texture Mapping, 2010:6)
  
24
Dengan menggunakan
texture
mapping
parametric,
maka ukuran dan orientasi akan terjalin dengan poligon.
Gagasannya texture mapping parametric dengan:
a.
Memisahkan “texture space” dengan “screen space”.
b.
Tekstur
poligon seperti sebelumnya, namun dalam
texture space”.
c.
Me-render tekstur poligon ke dalam screen space.
Tahapan dalam mengimplementasi texture mapping, yakni:
1.
Sebuah tekstur
memiliki kordinat gambar yang abstrak dan
berparameter dengan (x,y) dalam jangkauan ([0..1],[0-1]).
2.
Texture mapping dapat melapisi beragam jenis permukaan.
3.
Menghitung (u,v) koordinat tekstur dalam sinar yang cukup.
Jika permukaan berubah/berpindah, maka tekstur
akan ikut
berubah.
2.1.11.2. Scaling
Menurut Angel
dan Shreiner
(2012:158-159), scaling
adalah non rigid-body transformations
yang dapat membuat
objek menjadi lebih besar atau lebih kecil. Scaling
dapat
dilakukan pada satu arah saja dan dapat juga segala arah. 
2.1.12. FLTK (Fast Light Tool Kit)
Fast
light tool kit
(FLTK) merupakan perangkat graphical user
interface
untuk bahasa pemrograman C yang dapat digunakan pada
sistem operasi Windows, Unix, dan Mac.
FLTK menyediakan
fungsionalitas GUI modern tanpa bloat
dan mendukung grafis 3D
menggunakan OpenGL dan dibangun dalam emulasi GLUT.
FLTK dirancang untuk menjadi kecil dan cukup untuk modular yang
dihubungkan secara statis, tetapi bekerja dengan baik sebagai shared
library.
Di dalam FLTK terdapat juga UI builder
yang sangat baik,
disebut FLUID yang dapat digunakan untuk membuat aplikasi dalam
hitungan menit.
  
25
FLTK terdiri atas banyak widget dan tiap widget memiliki atributnya
masing-masing. Contoh widget
dalam FLTK yaitu: button, text,
valuator, label, group, box, dan lain sebagainya.
2.1.13. OpenCV (Open Computer Vision)
Open computer vision
(OpenCV) adalah sebuah API (application
programming interface) library yang sudah sangat familiar pada
pengolahan citra. Computer vision itu sendiri adalah salah satu cabang
dari bidang ilmu pengolahan citra (image processing) yang
memungkinkan komputer dapat melihat seperti manusia. Dengan vision
tersebut komputer dapat mengambil keputusan, melakukan aksi, dan
mengenali objek. Beberapa pengimplementasian dari computer vision
antara lain face recognition,
face detection,
face/object tracking,
road
tracking, dan lain sebagainya. OpenCV adalah library yang bersifat
open source
untuk computer vision
yang digunakan dalam C/C++.
OpenCV didesain untuk aplikasi yang bersifat real time, yang memiliki
fungsi akuisisi yang baik untuk image/video.
OpenCV terdiri atas lima library, yaitu:
a.
CV : untuk algoritma image processing dan vision.
b.
ML : untuk machine learning library.
c.
Highgui : untuk GUI, image dan video I/O.
d.
CXCore : untuk struktur data, mensupport XML, dan fungsi grafis.
e.
CVAUX
Gambar 2.14.
Struktur dan konten OpenCV
(Sumber: Learning OpenCV. Computer Vision with the OpenCV
Library, 2008:13)
  
26
2.1.14. Object Detection
Algoritma-algoritma yang digunakan untuk pendeteksian objek
antara lain sebagai berikut:
2.1.14.1. Haar-Training dan Cascade Classifier
Haar-training
merupakan fungsi dalam
library
OpenCV
yang digunakan untuk men-training
classifer
untuk sistem
pendeteksian. Sedangkan, cascade classifier
adalah sebuah
rantai stage classifier
yang digunakan untuk mendeteksi objek
yang diinginkan. 
2.1.14.2. Convex Hull
Menurut Bradski
dan Kaebler
(2008:278), convex hull
adalah cara lain yang dapat digunakan untuk memahami
bentuk atau kontur dari suatu objek.
2.2.
Related Works
Penelitian-penelitian yang telah ada sebelumnya antara lain sebagai berikut:
2.2.1.
Tracking Jari dengan Haar Cascade
dan Filter Kalman pada
Virtual Keyboard
Hand
detection dan hand
gesture menggunakan media web camera
yang sudah banyak diterapkan dalam dunia teknologi sebagai media
dalam mengoperasikan komputer, baik untuk menggerakkan kursor,
mengoperasikan aplikasi, dan lain sebagainya. Hal ini dapat dilihat dari
beberapa penelitian sebelumnya terkait hand
detection, antara lain
dalam penelitian Raga Mukti
dan kawan-kawan dari Universitas
Teknologi Sepuluh November Surabaya
dalam penelitian yang
berjudul “Tracking Jari dengan Haar Cascade
dan Filter Kalman
pada Virtual Keyboard”.
Pada penelitian tersebut menggunakan bantuan web
camera,
penggunaan haar-training untuk mendeteksi objek, serta menggunakan
metode kalman filter
sebagai prediksi posisi jari tangan. Pada
penelitian tersebut ada beberapa langkah utama dalam pendeteksian
  
27
objek, antara lain: training data berupa data negatif sebanyak 2500 data
dan data positif sebanyak 2400 data, konversi
cascade
menjadi xml,
serta deteksi objek. 
Gambar 2.15.
Pendeteksian objek
(Sumber: Tracking Jari dengan Haar Cascade dan Filter Kalman
pada Virtual Keyboard, 2013:5)
Gambar 2.16.
Hasil dari program
(Sumber: Tracking Jari dengan Haar Cascade dan Filter Kalman
pada Virtual Keyboard, 2013:6)
Hasil penelitian ini menyimpulkan bahwa keberhasilan pendeteksian
objek tergantung dengan proses pelatihan data positif dan data negatif,
banyaknya data juga mempengaruhi keakuratan saat pendeteksian
  
28
objek, dan
faktor lain yang juga mempengaruhi keakuratan antara lain
intensitas cahaya dan jarak serta pergerakan objek yang tertangkap pada
web camera.
2.2.2.
Dynamic Training of Hand Gesture Recognition System
Selain penelitian Raga
Mukti
dan kawan-kawan, penelitian
yang
serupa
yakni penelitian
Attila Licsar
dan Tamas Sziranyi
dari
University of Veszprem
dan Analogical
and
Neural Computing
Laboratory
yang berjudul “Dynamic Training of Hand Gesture
Recognition System”. Penelitian ini menggunakan objek tangan sebagai
penggerak komputer dengan bantuan alat camera projector
dengan
training terhadap objek yang akan dideteksi agar dapat dikenali.
Gambar 2.17.
Jenis pola dan hasil
(Sumber: Dynamic Training of Hand Gesture Recognition System,
2004:3)
Hasil penelitian ini menyimpulkan bahwa dengan pelatihan data
yang dinamik maka dapat membantu pengguna. Gesture
dapat juga
dilatih dari jumlah training
yang terbatas dan juga pelatihan “the
supervised training system
juga dapat memperbaiki kesalahan dalam
pendeteksian gesture.
2.2.3.
A Method for Controlling Mouse Movement using a
Real-Time
Camera
Selanjutnya, penelitian Hojoon Park
dari Brown University
yang
berjudul “A Method for Controlling Mouse Movement using a Real-
  
29
Time Camera”. Pada penelitian ini dikembangkan mengenai bagaimana
cara kerja kursor dengan menggunakan bantuan perangkat video
menggunakan hand
gesture
berdasarkan algoritma computer
vision.
Hasil penelitian ini menyimpulkan pengaruh intensitas cahaya serta
warna kulit yang berbeda pada setiap orang sangat mempengaruhi.
Gambar 2.18.
Hasil dari perhitungan ukuran tangan
(Sumber: A Method for Controlling Mouse Movement using a Real-
Time Camera, 2010:6)
2.2.4.
Computer Music Controller Based on Hand Gestures Recognition
Through Webcam
Penelitian yang berjudul “Computer Music Controller Based on
Hand Gestures Recognition Through Webcam
ini merupakan
penelitian yang menggunakan web
camera
sebagai alat bantu dalam
mengendalikan komputer. Penelitian yang dilakukan oleh Junhao dan
kawan-kawan, memfokuskan dalam mengendalikan music player. Hasil
dari penelitian ini adalah penerapan beberapa algoritma seperti Convex
Hull dalam mengenali pola tangan, sebagai pengenalan kontur.
  
30
Gambar 2.19.
Penggunaan algoritma Convex Hull
(Sumber: Computer Music Controller Based on Hand Gestures
Recognition Through Webcam, 2012:3)
2.2.5.
Penerapan Teknologi Hand Detection dan Hand Recognition dalam
Membantu Proses Presentasi
Perbedaan penelitian “Penerapan Teknologi Hand Detection
dan
Hand
Recognition
dalam Membantu Proses Presentasi
dengan
beberapa penelitian yang telah pernah dilakukan, antara lain: penelitian
ini berfokus pada pengendalian slide presentasi dan juga gerakan mouse
sederhana dengan menggunakan bantuan web
camera
serta
menggunakan algoritma Haar-Training
dan Convex Hull
sebagai
pedoman dalam melakukan pendeteksian objek tangan dan bentuk
tangan.