Anda di halaman 1dari 43

7

1.

TINJAUAN PUSTAKA

2.1 Teori Umum


2.1.1 Rekayasa Perangkat Lunak
Incremental Process Model
Incremental Model menggunakan kombinasi antara proses linear dan paralel
dalam sebuah Process Model, seperti pada gambar berikut:

Gambar TINJAUAN PUSTAKA.1 Incremental Process Model.

(sumber : http://3.bp.blogspot.com/-qh2Fi-

p3BLM/UPR2Tc0YfeI/AAAAAAAABDU/cXeSWD78vok/s1600/software_engin

eering_12.png)

Proses linear adalah proses yang mengeksekusi masing-masing dari 5


framework activities secara berurutan, sementara proses paralel adalah proses yang
mengeksekusi satu atau lebih framework activities dalam waktu bersamaan
(Pressman, 2010:31). Proses pertama yang dijalankan dalam model ini adalah core
product (kebutuhan dasar dari produk yang diinginkan). Evaluasi dari Increment
sebelumnya akan dikembangkan lagi pada Increment berikutnya. Hal ini bertujuan
untuk memenuhi kebutuhan user akan produk yang lebih baik dengan tambahan fitur
dan fungsionalitas yang ada.
Berikut ini adalah penjelasan dari berbagai tahapan dalam Incremental
Process Model:
8

1. Communication
Semua informasi dan kebutuhan yang diinginkan oleh user akan dikumpulkan
dan dianalisa untuk tahap berikutnya.
2. Planning
Pada tahap ini, akan dibuat mengenai berbagai modul yang perlu dikerjakan serta
jangka waktu yang diperlukan.
3. Modelling
Pada tahap ini, akan dibuat analisis mengenai struktur data yang akan digunakan,
modul algoritma, rancangan perangkat lunak dan desain rancangan layar yang
sesuai.
4. Construction
Pada tahap ini, akan dilakukan proses pembuatan program berdasarkan hasil
analisis sebelumnya. Proses testing juga dilakukan dalam tahap ini untuk
memperbaiki kesalahan yang terjadi dalam program.
5. Deployment
Pada tahap ini, akan disediakan dokumentasi mengenai program yang telah
dibuat dan proses maintenance (perbaikan atau penambahan fitur) secara berkala.
Incremental Process Model mampu diterapkan dalam suatu project yang
mempunyai deadline yang pasti (tetap) serta tidak memerlukan jumlah orang yang
banyak (dapat 1 orang) dalam mengerjakan setiap Increment. Setiap Increment juga
dapat direncanakan untuk mengatasi resiko teknis (Pressman, 2010:41-42).

2.1.2 Flowchart
Flowchart adalah suatu diagram yang meyajikan berbagai simbol untuk
menampilkan alir data dan urutan operasi dalam suatu sistem. ANSI X.35 digunakan
sebagai sumber dasar untuk penggunaan konvensi dan simbol standar flowchart
(George H.Bodnar, William S.Hopwood, 2010:41). Berikut ini adalah penjelasan
istilah simbol standar dalam flowchart:
1. Terminal
Terminal digunakan untuk merepresentasikan awal atau akhir flowchart.

Gambar TINJAUAN PUSTAKA.2 Terminal.

2. Input/Output (I/O)
Input/Output (I/O) digunakan untuk merepresentasikan data untuk proses
berikutnya (input) atau menyimpan informasi proses (output).
9

Gambar TINJAUAN PUSTAKA.3 Input/Output.

3. Process
Process digunakan untuk merepresentasikan setiap jenis proses dalam flowchart.

Gambar TINJAUAN PUSTAKA.4 Process.

4. Flowline
Flowline digunakan untuk menghubungkan berbagai simbol sehingga terbentuk
sebuah urutan proses.

Gambar TINJAUAN PUSTAKA.5 Flowline.

5. Annotation
Annotation digunakan untuk memberikan tambahan deskripsi sebagai klarifikasi.

Gambar TINJAUAN PUSTAKA.6 Annotation.

6. Decision
Decision digunakan untuk merepresentasikan operasi tambahan deskripsi sebagai
klarifikasi.

Gambar TINJAUAN PUSTAKA.7 Decision.

2.1.3 Unified Modeling Language (UML)


Unified Modelling Language (UML) adalah sebuah bahasa standar yang
digunakan untuk membantu para pengembang perangkat lunak untuk membangun
sebuah perangkat lunak yang baik (Pressman, 2010:841).
2.1.3.1 Use Case Diagram
10

Use Case Diagram adalah rangkuman dan relasi dari keseluruhan use case.
Suatu Use Case mendeskripsikan bagaimana user berinteraksi dengan sistem dengan
mendefinisikan tahap yang diperlukan untuk mencapai tujuan tertentu (Pressman,
2010:847). Berikut ini adalah contoh Use Case Diagram untuk video player system:

Gambar TINJAUAN PUSTAKA.8 Use Case Diagram Video Player.

Berikut ini adalah penjelasan istilah dalam Use Case Diagram :


1. Actor
Actor digunakan untuk menggambarkan pelaku yang menyediakan atau
menerima informasi dari sistem (Pressman, 2010:847).

Gambar TINJAUAN PUSTAKA.9 Actor.

2. Use Case
Use Case digunakan untuk menggambarkan fungsionalitas dan kebutuhan sistem
dari sudut pandang Actor (Pressman, 2010:847).
11

Gambar TINJAUAN PUSTAKA.10 Use Case.

2.1.3.2 Use Case Narrative


Use Case Narrative merupakan penjelasan mengenai setiap use case yang
didokumentasikan ke dalam suatu naratif (Whitten & Bentley, 2007, P.256 – P.260).
Berikut ini adalah contoh Use Case Narrative mengenai Play Music:

Tabel TINJAUAN PUSTAKA.1 Contoh Use Case Narrative dari Play

Music.

Nama Use Case Play Music


Actor User
Use Case ini mendeskripsikan tentang Play Music
Deskripsi dalam video player
Precondition Actor telah membuka aplikasi.
Flow of Event Actor Action System Response
Step 1. Actor menekan Step 2. Sistem akan
tombol Play Music. memutar lagu yang ada di
playlist.
Postcondition Actor melakukan proses Play Music.

2.1.3.3 Activity Diagram


Activity Diagram adalah diagram yang menggambarkan perilaku dinamis dari
suatu atau bagian sistem melalui proses kontrol dari berbagaitindakan yang
dilakukan oleh sistem. Activity Diagram memiliki kemiripan dengan flowchart, tetapi
dapat memiliki proses yang konkuren. Activity Diagram juga dapat diberi swimlanes
untuk menyatakan participant yang menjalankan action terkait (Pressman, 2010:853-
855). Berikut ini adalah contoh activity diagram dengan swimlanes:
12

Gambar TINJAUAN PUSTAKA.11 Contoh Activity Diagram.

Berikut ini adalah penjelasan istilah dalam Activity Diagram:


13

1. Initial Node
Initial node digunakan untuk menggambarkan titik awal proses dalam activity
diagram. Initial node digambarkan sebagai lingkaran hitam (Pressman,
2010:853).

Gambar TINJAUAN PUSTAKA.12 Initial node.

2. Action Node
Action node digunakan untuk menggambarkan proses yang dilakukan oleh sistem
dalam activity diagram. Action node digambarkan sebagai rounded rectangle
(Pressman, 2010:853).

Gambar TINJAUAN PUSTAKA.13 Action node.

3. Control Flow
Control flow digunakaan untuk menggambarkan alir dari suatu elemen ke elemen
lainnya dalam activity diagram. Control flow digambarkan sebagai garis panah
(Pressman, 2010:853).

Gambar TINJAUAN PUSTAKA.14 Control flow.

4. Fork
Fork digunakan untuk menggambarkan pemisahan suatu proses menjadi dua atau
lebih proses yang konkuren. Fork digambarkan sebagai persegi panjang hitam
horizontal dengan satu panah input dan dua atau lebih panah output (Pressman,
2010:853).
14

Gambar TINJAUAN PUSTAKA.15 Fork.

5. Join
Join digunakan untuk menggambarkan sinkronisasi proses yang konkuren. Join
digambarkan sebagai persegi panjang hitam horizontal dengan banyak panah
input dan satu panah output (Pressman, 2010:854).

Gambar TINJAUAN PUSTAKA.16 Join.

6. Decision
Decision digunakan untuk menggambarkan kondisi seleksi dalam control flow.
Decision digambarkan sebagai wajik dengan satu panah input dan dua atau lebih
panah output. Setiap panah output akan diberi keterangan (Pressman, 2010:854-
856).

Gambar TINJAUAN PUSTAKA.17 Decision.


15

2.1.3.4 Class Diagram


Class Diagram adalah diagram yang menyediakan pandangan secara
struktural atau statik dari suatu sistem. Elemen utama dari class diagram adalah
berbagai kotak yang merepresentasikan class dan interface. Sebuah class diagram
juga dapat menjelaskan mengenai relasi antar class (Pressman, 2010:842-843). Berikut
ini adalah contoh class diagram:

Gambar TINJAUAN PUSTAKA.18 Contoh Class Diagram.

Berikut ini adalah penjelasan istilah dalam Class Diagram :


1. Class
Class merupakan sebuah template, cetakan atau prototype yang menggambarkan
sebuah objek. Sebuah Class dalam Class Diagram terdiri atas 3 bagian, yaitu
nama Class, attribute, dan operation. Attribute menunjuk kepada suatu data
yang dimiliki dan diketahui oleh objek dari class terkait. Attribute umumnya
diimplementasikan sebagai variabel dalam Class. Operation menunjuk ke
sesuatu yang dapat dilakukan oleh objek dari class terkait. Operation umumnya
diimplementasikan sebagai method dalam Class (Pressman, 2010:842).
16

Gambar TINJAUAN PUSTAKA.19 Class.

2. Type
Type menggambarkan jenis atau tipe dari suatu attribute atau operation. Type
ditulis dengan mengikuti nama attribute atau operation dan dipisahhkan dengan
tanda titik dua (Pressman, 2010:842-843).

Gambar TINJAUAN PUSTAKA.20 Type dalam Class Diagram.

3. Visibility
Visibility digunakan untuk mendeskripsikan hak akses dari suatu attribute atau
operation dalam suatu Class (Pressman, 2010:842-843). Berikut ini adalah
berbagai tipe dari visibility:

Tabel TINJAUAN PUSTAKA.2 Tabel Visibility.

Visibility Simbol Deskripsi


Private - Dapat diakses oleh Class yang memiliki.
Public + Dapat diakses oleh Class lainnya.
Protected # Dapat diakses oleh Class yang memiliki serta
turunan(inherit) dari Class tersebut.

4. Interface
Interface merupakan elemen dari Class Diagram yang mendefinisikan sejumlah
operation untuk diimplementasikan ke dalam Class atau elemen lainnya.
Interface dalam Class Diagram terdiri atas nama interface (dengan tambahan
kata “<<interface>>”) dan operation (Pressman, 2010:843).
17

Gambar TINJAUAN PUSTAKA.21 Interface.

5. Generalizaton
Generalization digunakan untuk mendeskripsikanrelasi berupa
turunan(inheritance) dalam Class Diagram. Inheritance pada Class Diagram
melibatkan minimal 2 Class, yaitu superclass dan subclass. Generalization
digambarkan sebagai sebuah panah dengan garis lurus dan mata panah segitiga pada
superclass (Pressman, 2010:843).

Gambar TINJAUAN PUSTAKA.22 Generalization.

6. Association
Association digunakan untuk mendeskripsikan relasi struktural antar Class.
Association umumnya digambarkan sebagai garis penuh dan dapat diberi label
untuk mengindikasikan peran dari Class tersebut. Garis penuh dengan panah
pada salah satu ujungnya dalam Class Diagram mengindikasikan one-way
navigability association. Assocation juga menyatakan adanya ketergantungan
(dependency) antara Class yang berhubungan. Multiplicity digunakan untuk
menyatakan jumlah objek dari suatu Class yang memiliki hubungan association
dengan Class lainnya. Multiplicity dinyatakan dengan satu atau jarak bilangan bulat
positif di tiap ujung garis association (Pressman, 2010:844–845). Berikut ini
adalah berbagai tipe dari multiplicity:
18

Tabel TINJAUAN PUSTAKA.3 Tabel Multiplicity.

Multiplicity Simbol Deskripsi


Zero or one 0…1 Association melibatkan satu atau tidak ada
objek
Exactly one 1 Association melibatkan tepat satu objek
Many * Association melibatkan banyak objek
One or many 1…* Association melibatkan satu atau banyak
objek
Zero or many 0…* Association melibatkan banyak objek atau
tidak ada sama sekali

7. Aggregation
Aggregation digunakan untuk mendeskripsikan relasi kepemilikan antar Class.
Kepemilikan dalam aggregation mendefinisikan suatu Class sebagai bagian dari
Class lainnya. Tiap Class yang memiliki hubungan Aggregation tetap bersifat
independent (tidak memiliki ketergantungan). Aggregation digambarkan sebagai
garis penuh dengan salah satu ujungnya berupa bentuk wajik (Pressman, 2010:845).

Gambar TINJAUAN PUSTAKA.23 Aggregation.


19

8. Composition
Composition memiliki kesamaan dengan aggregation. Perbedaannya adalah adanya
kepemilikan atau ketergantungan yang kuat(dependent) antar Class dalam
composition.Composition digambarkan sebagai garis penuh dengan salah satu
ujungnya berupa bentuk wajik berwarna hitam(Pressman, 2010:845).

Gambar TINJAUAN PUSTAKA.24 Composition.

2.1.3.5 Sequence Diagram


Sequence Diagram adalah diagram yang menjelaskan mengenai komunikasi
dinamis antar objek selama proses eksekusi berlangsung. Sequence Diagram
menggambarkan adanya berbagai pesan yang dikirim antar objek untuk
menyelesaikan suatu proses (Pressman, 2010:848). Berikut ini adalah contoh dari
Sequence Diagram:
20

Gambar TINJAUAN PUSTAKA.25 Contoh Sequence Diagram.

Berikut ini adalah penjelasan istilah dalam Sequence Diagram:

1. Lifelines
Lifelines digunakan untuk menggambarkan jangka waktu dari suatu intance objek
atau role. Lifelines digambarkan sebagai garis putus-putus di bawah objek
(Pressman, 2010:849).

Gambar TINJAUAN PUSTAKA.26 Lifelines.

2. Instance Role
Instance role digunakan untuk menggambarkan instance yang terlibat dalam
suatu proses. Instance umumnya menunjuk ke suatu objek. Nama dari instance
role dapat diawali tanda titik dua jika mengacu pada sebuah objek (Pressman,
2010:849).

Gambar TINJAUAN PUSTAKA.27 Instance.

3. Activation bar
Activation bar digunakan untuk menggambarkan lama waktu eksekusi suatu
operasi. Activation bar digambarkan sebagai persegi panjang putih pada lifelines
(Pressman, 2010:849).

Gambar TINJAUAN PUSTAKA.28 Activation bar.


21

4. Messages (call)
Messages (call) digunakan untuk menggambarkan pesan yang dikirim dari
instance pengirim ke penerima. Messages (call) digambarkan sebagai sebuah
garis panah penuhdengan nama operation yang dieksekusi. Messages (call) juga
dapat berisi parameter, jenis serta return type dari operation yang dieksekusi.
Jika instance pengirim dan penerima sama, maka panah dapat menunjuk kembali
ke instance yang sama (Pressman, 2010, 849-851).

Gambar TINJAUAN PUSTAKA.29 Messages (call).

5. Messages (return)
Messages (return) digunakan untuk menggambarkan pesan balasan (reply) dari
instance penerima ke pengirim. Messages(call) digambarkan sebagai sebuah
garis panah putus-putus (Pressman, 2010, 849).

Gambar TINJAUAN PUSTAKA.30 Messages (return).

6. Interaction frames
Interaction frames digunakan untuk menggambarkan proses perulangan, seleksi
dan struktur kontrol lainnya dalam sequence diagram. Interaction frames
digambarkan sebagai sebuah persegi yang meliputi sebagian isi dari sequence
diagram (Pressman, 2010:850).

Gambar TINJAUAN PUSTAKA.31 Interaction frames.


22

7. Object destruction
Object destruction digunakan untuk menggambarkan suatu objek yang tidak lagi
digunakan. Object destruction digambarkan sebagai sebuah tanda X di akhir
lifelines (Pressman, 2010:851).

2.1.4 Interaksi Manusia Dan Komputer


Menurut (Sheindermann, 2010:88), ada delapan aturan emas (eight golden
rules) dalam merancang suatu sistem interaksi manusia dan komputer yang baik,
yaitu;
1. Strive for consistensy (berusaha untuk konsisten).
2. Cater to universal usability (dapat digunakan secara universal).
3. Offer informative feedback (menyediakan umpan balik informatif).
4. Design dialogs to yield closure (pengorganisasian berbagai aksi ke dalam dialog
untuk membentuk urutan yang jelas dari awal sampai penutupan).
5. Prevent Errors (pendeteksian error dan penyediaan instruksi sederhana untuk
memperbaiki error tersebut).
6. Permit easy reversal of actions (menyediakan fitur untuk kembali ke aksi
sebelumnya dengan mudah).
7. Support internal locus of control (memungkinkan pengguna untuk
mengatursistem dan tampilan aplikasi).
8. Reduce short-term memory load (mengurangi beban pengguna untuk mengingat
berbagai informasi dari layar aplikasi).

2.1.5 Computer Vision


Computer Vision adalah suatu bidang ilmu yang bertujuan untuk melakukan
transformasi data dari suatu gambar atau video camera ke dalam suatu keputusan
atau representasi yang baru. Semua transformasi yang dilakukan bertujuan untuk
mencapai tujuan tertentu. Suatu sistem mesin hanya dapat melihat urutan angka dari
suatu gambar. Oleh karena itu, Computer Vision bertujuan mengubah sistem mesin
dapat mengidentifikasi suatu gambar, seperti wajah dan rupa manusia. Computer
Vision dapat diterapkan dalam berbagai area, yaitu robotik, text recognition, analisis
medis, game dengan Augmented Reality (AR), dan lainnya (Gary Bradki & Adrian
Kaehler, 2008: 2-3).

2.2 Teori Khusus


23

2.2.1 Facial Action Coding System (FACS)


Facial Action Coding System (FACS) adalah sebuah sistem yang dibangun
oleh Paul Ekman dan Wallace V. Friesen pada tahun 1978 dengan tujuan untuk
menentukan jenis ekspresi wajah dalam Action Units (AUs). Action Unit (AU)
adalah suatu bagian yang secara anatomi berhubungan dengan kontraksi atau
relaksasi berbagai otot tertentu. Ada 30 AU yang berhubungan dengan wajah, dimana
bagian wajah atas memiliki 12 AU dan sisanya untuk bagian wajah bawah.
Gabungan dari berbagai AU akan membentuk jenis emosi tertentu. Pergerakan dari
AU juga dapat bersifat independen (tidak mengubah AU yang lain) atau non-
independen (mempengaruhi AU yang lain). Selain itu, tiap perubahan AU memiliki
intensitas yang berbeda dan dapat hanya terjadi pada salah satu sisi wajah (Raymond
R.Smith, Terry Windeatt, 2011:2). Ekspresi umum yang menggunakan FACS dalam
pengenalan ekspresi wajah adalah terkejut (surprise), sedih (sadness), marah (anger),
senang (happiness), jijik (disgust) dan takut (fear). Berikut contoh FACS dan AU
dari gambar 2.11 dan 2.12:

Gambar TINJAUAN PUSTAKA.32 Action Unit wajah bagian atas dan bawah.

(sumber :

http://pds16.egloos.com/pds/201001/23/94/a0007594_4b5ae1b743752.png)
24

Gambar TINJAUAN PUSTAKA.33 Ekspresi marah yang dibentuk dari berbagai

Action Unit.

(sumber : http://what-when-how.com/wp-

content/uploads/2012/06/tmp7527314_thumb_thumb.png)

Penelitian ini menggunakan FACS sebagai acuan pengenalan ekspresi pada


Kinect. FACS pada Kinect terdiri dari 6 AU, yaitu Neutral Face, AU0 (Upper Lip
Raiser), AU1 (Jaw Lowerer), AU2 (Lip Stretcher), AU3 (Brow Lowerer), AU4 (Lip
Corner Depressor), dan AU5 (Outer Brow Raiser). Berikut ini adalah deskripsi dari
masing-masing AU pada Kinect:

Tabel TINJAUAN PUSTAKA.4 Tabel AUs pada Kinect.

Deskripsi AU Ilustrasi AU Interpretasi Nilai AU


Neutral Face

AU0 (Upper Lip 0 : Netral dan gigi terlihat.


Raiser) +1: Gigi terlihat sepenuhnya.
-1 :Bibir tertutup penuh.

Deskripsi AU Ilustrasi AU Interpretasi Nilai AU


25

AU1 (Jaw Lowerer) 0 : Rahang tertutup.


+1: Rahang terbuka penuh.
-1 : Rahang tertutup.

AU2 (Lip Stretcher) 0 : Netral.


+1 : Bibir ditarik penuh ke
samping.
-0.5: Bibir mulai berbentuk
lingkaran.
-1 :Bibir membentuk lingkaran
penuh.
AU3 (Brow 0 : Netral.
Lowerer) -1 : Alis naik ke atas secara
maksimal.
+1 : Alis turun ke bawah dan
mendekati mata.
AU4 (Lip Corner 0 : Netral.
Depressor) -1 : Bibir tersenyum dengan sangat
bahagia.
+1 : Bibir mengkerut dengan sangat
sedih.
AU5 (Outer Brow 0 : Netral.
Raiser) -1 : Ujung luar alis turun ke bawah
seperti sangat sedih.
+1 : Ujung luar alis naik ke atas
seperti terkejut.

2.2.2 Active Appearance Model (AAM)


Active Appearance Model (AAM) adalah sebuah metode template-matching
berdasarkan statistik dengan variasi bentuk dan tesktur wajah yang berasal dari
sebuah dataset training (Pedro Alexandre Dias Martins, 2008:22). AAM
dikembangkan oleh Cootes et al. pada tahun 1998 dan dapat diterapkan pada banyak
objek, terutama untuk model bentuk dan tesktur wajah manusia. Berikut ini adalah
berbagai tahap dalam AAM untuk memperoleh model yang diinginkan, yaitu:
1. Face Detection untuk wajah target dengan algoritma Viola-Jones.
26

2. Model Training.
Pada tahap ini, contoh AAM akan di-training sehingga cocok dengan gambar
target. AAM instance dibangun melalui 3 tahap, yaitu Shape Model, Texture
Model, dan Combined Model.
1. Model Fitting untuk optimasi dengan menggunakan simulasi Monte-Carlo.
Dalam Model Training, AAM mengambil kumpulan gambar dan titik yang
berhubungan sebagai input dan menghasilkan output berupa sebuah model dengan
berbagai parameter. Selanjutnya, AAM akan mencari parameter yang optimal untuk
model tersebut secara real-time pada tahap Model Fitting (Dinesh Govindaraj, 2011).
Parameter optimal yang diinginkan dalam AAM adalah perbedaan tesktur yang
minimal antara instance model dengan gambar target. Oleh karena itu, AAM akan
mengunakan algoritma fitting pada model yang diperoleh. Algoritma fitting adalah
sebuah algoritma non-linear yang di-iterasi berulang kali sehingga diperoleh nilai
tertentu yang diinginkan pada parameter bentuk dan teksturdari model (Gyeong Sic
Jo, Yong Guk Kim, 2010). Berikut ini adalah diagram yang menjelaskan cara kerja
AAM dalam mengenali ekspresi wajah:

Gambar TINJAUAN PUSTAKA.34 Diagram sistem pengenalan ekspresi wajah

menggunakan AAM.

2.2.2.1 Shape Model


Shape Model adalah sebuah model yang diperoleh darisuatu bentuk dengan
berbagai parameter dan bertujuan untuk proses ekstraksi fitur wajah dan area
sekitarnya. Shape Model dikembangkan oleh Tim Cootes dan Chris Taylor pada
tahun 1995 dan memiliki sifat deformable, yaitu dapat menyesuaikan diri dengan
objek gambar yang baru (Qihui Wang, Lijun Xie, Bo Zhu, Tingjun Yang, Yao Zheng,
2013). Sebuah bentuk dalam Shape Model direpresentasikan sebagai himpunan titik
27

N dalam dimensi K (Rk). Dalam gambar 2D (K=2), N titik

didefinisikan dalam 2N vektor:

T
x=(

Dalam Shape Model, berbagai bentuk asli (original) dari N titik tersebut akan
dilakukan transformasi (scaling, translation, dan rotation) sehingga diperoleh sebuah
model dari rata-rata bentuk asli. Metode yang digunakan untuk proses transformasi
dalam Shape Model adalah Generalized Procrustes Analysis. Selanjutnya, variansi
dari dataset bentuk tersebut akan dianalisis menggunakan Principal Component
Analysis (PCA) untuk memperoleh model yang diinginkan. Berikut adalah skema
dari 58 titik yang merepresentasikan bentuk dari wajah manusia:
28

Gambar TINJAUAN PUSTAKA.35 Skema hubungan titik wajah manusia.

Gambar TINJAUAN PUSTAKA.36 Hasil dari Shape Model.

(sumber : http://what-when-how.com/wp-

content/uploads/2012/06/tmpdece404_thumb22_thumb.png)

2.2.2.1.1 Generalized Procrustes Analysis


Procrustes Analysis adalah sebuah metode penyesuaian antara kedua bentuk
dengan cara korespondensi satu-satu dari titik di tiap bentuk (Sergio Camiz, Jean
Jacques Denimal, 2011). Metode ini pertama kali dikembangkan oleh Mosier pada
tahun 1939 dan diberi nama Procrustes Analysis oleh Hurley dan Cattel pada tahun
29

1962. Procrustes Analysis menggunakan Procrustes Distance yang secara matematis


dapat dinyatakan sebagai berikut:

Generalized Procrustes Analysis merupakan pengembangan lanjut dari


Procrustes Analysis yang melibatkan banyak bentuk dimana salah satu bentuk
menjadi acuan (Adrien Bartoli, Daniel Pizzaro, Marco Loog, 2013: 4). Berikut ini
adalah algoritma dari Generalized Procrustes Analysis:

1. Choose the first shape as an estimate for the mean shape

2. Initialize k = 0
3. Repeat

for Each Shape do

Procrustes(

end for
k=k+1

Recompute new mean from the aligned shape

4. Until mean converges

(Pedro Alexandre Dias Martins, 2008:29)


30

Tabel TINJAUAN PUSTAKA.5 Transformasi titik setelah proses Procrustes

Alignment.

Raw Data General Procrustes Alignment result

2.2.2.1.2 Principal Component Analysis (PCA)


Principal Component Analysis (PCA) adalah sebuah teknik statistik
multivariat yang menganalisis sebuah tabel data dan direpresentasikan dengan
berbagai variabel yang bersifat dependent dan inter-correlated. Metode PCA dikenal
juga dengan metode Karhunen-Loeve Transformation (KLT). Tujuan dari PCA
adalah mereduksi dimensi data dan ekstraksi informasi penting dari tabel data ke
dalam himpunan variabel orthogonal yang disebut Principal Components (Hérve
Abdi, Lynne J. Williams, 2010:2). Berikut ini adalah tampilan dari Principal
Components dalam 2D:

Gambar TINJAUAN PUSTAKA.37 Principal Components dalam 2D.


31

2.2.2.2 Texture Model


Tekstur didefinisikan sebagai distribusi spasial dari nilai pixel dalam suatu
region lokal gambar (Madasamy Raja, G. Sadasivam, & V. Sadasivam, 2013). Secara

matematis, tektur adalah representasi sebuah vektor g:=

terhadap m pixel dalam entiti model. Jika gambar memiliki warna dasar RGB, maka

nilai m akan terdiri dari 3 bagian, yaitu Dalam Texture Model, setiap

gambar yang terdapat di dalam data training akan dilakukan proses pemetaan dan
pelengkungan sehingga perbedaan tesktur dari Texture Model akan hilang jika Shape
Model mengalami perubahan bentuk (Pedro Alexandre Dias Martins,2008:35-36).
Secara matematis, proses pemetaan dan pelengkungan sebuah tekstur dapat
dinyatakan sebagai berikut:

Dimana:
n = jumlah pixel.

Dalam Texture Model, sebuah poligon akan dibuat dari bentuk rata-rata wajah
dengan menggunakan Delaunay Triangulation. Setelah poligon dibuat, setiap pixel
yang terdapat dalam poligon akan ditranslasi dengan menggunakan Barycentric
Coordinates dan Bilinear Interpolation. Berikut ini adalah algoritma dari proses
pemetaan dan pelengkungan tekstur:
1. Use Delaunay Triangulation to find the mean shape

2. For each pixel x= inside the mean shape do

2. Find the triangle, t, in which x belong to t: x € t, ,

,
32

3. Use Barycentric Coordinates to find from t

4. Find with bilinear interpolation

5. end for
(Pedro Alexandre Dias Martins,2008:39)
Berikut ini adalah contoh Delaunay Triangulation dan Barycentric
Coordinates dalam Texture Model:

Gambar TINJAUAN PUSTAKA.38 Poligon wajah menggunakan Delaunay

Triangulation.

(sumber : http://1.bp.blogspot.com/--

YhVRZ_Nwcc/TpiQUe0SfaI/AAAAAAAAAfs/mYjQLqKCyGU/s1600/tri.png)
33

Gambar TINJAUAN PUSTAKA.39 Translasi pixel wajah menggunakan

Barycentric Coordinates dan Bilinear Interpolation.

(sumber : http://what-when-how.com/wp-

content/uploads/2012/06/tmpdece379_thumb2.png)

2.2.2.2.1 Delaunay Triangulation

Delaunay Triangulation adalah sebuah triangulasi ( ) dari himpunan

titik dalam bidang jika dan hanya jika circumcircle dari setiap segitiga dari )

tidak mengandung titik dari P. Sebuah triangulasi ( ) disebut legal jika dan hanya

jika adalah sebuah Delaunay Triangulation (Mark de Berg, Otfried Cheong,

Marc van Kreveld, Mark Overmars, 2008:198). Berikut ini adalah contoh dari hasil
Delaunay Triangulation:
34

Gambar TINJAUAN PUSTAKA.40 Contoh Delaunay Triangulation.


Tujuan dari Delaunay Triangulation adalah untuk memaksimalkan setiap
sudut terkecil di tiap segitiga sehingga diperoleh sebuah model dengan pandangan
perspektif yang tepat. Berikut ini adalah model wajah yang diperoleh dari Delaunay
Triangulation:

Gambar TINJAUAN PUSTAKA.41 Model wajah yang diperoleh dari Delaunay

Triangulation.
(sumber :

https://m1.behance.net/rendition/modules/67523857/disp/51b2a10363352ec2b30cbc

354394687e.jpg)

2.2.2.2.2 Barycentric Coordinates


Barycentric Coordinates pertama kali diperkenalkan oleh August Ferdinand
Möbius dalambuku The Barycentric Calculus pada tahun 1827. Barycentric
Coordinates digunakan untuk menentukan posisi titik dalam suatu poligon (Christina
Koblbauer, 2012:1-2). Poligon yang digunakan dalam penelitian ini adalah hasil dari
35

Delaunay Triangulation sebelumnya. Suatu titik( dalam segitiga dapat

dinyatakan dengan:

Dimana:
A,B,C: ketiga titik segitiga.
s,r,t € Ɍ dimana s+r+t=1.

Suatu titik berada di dalam segitiga jika memenuhi syarat sebagai berikut:

2.2.2.2.3 Bilinear Interpolation


Bilinear Interpolation (Interpolasi bilinear) adalah suatu metode untuk
memperkirakan nilai data baru di antarakeempat titik tetangga (ShengKui Gao,Viktor
Gruev, 2011). Berikut ini adalah contoh hasil interpolasi bilinear dari keempat titik

tetangga ( :
36

Gambar TINJAUAN PUSTAKA.42 Titik P dari hasil interpolasi bilinear

4 titik ( .

(sumber :

http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Bilinear_interpolation.p

ng/220px-Bilinear_interpolation.png)

Hasil dari interpolasi bilinear ( secara matematis dapat dinyatakan

sebagai berikut:

Dimana:

2.2.2.3 Combined Model


37

Dalam tahap ini, Shape Model dan Texture Model yang telah dibangun akan
digabung untuk mendapatkan contoh AAM dari suatu wajah. PCA akan digunakan
lagi untuk menghilangkan hubungan antara parameter dari Shape Model dan Texture
Model. Berikut ini adalah berbagai langkah yang dilakukanuntuk menggabungkan
Shape Model dan Texture Model:

1. Menghitung matriks bobot ( untuk mengukur perbedaan unit antara

Shape Model dan Texture Model. Matriks bobot ( dinyatakan sebagai

berikut:

Dimana:

= rasio antara jumlah nilai eigen Shape Model dan Texture Model:

= matriks diagonal .

2.Menghitung PCA ( ) dari , , dan matriks bobot . dapat dinyatakan

sebagai berikut:
38

3. Jika adalah matriks vektor eigen yang paling dominan dalam parameter

model AAM( , maka juga dapat dinyatakan sebagai berikut:

Dimana:

4. Shape Model (x) yang baru dapat dinyatakan sebagai berikut:

5. Texture Model (g) yang baru dapat dinyatakan sebagai berikut:

Berikut ini adalah contoh AAM yang diperoleh dari Combined Model:

Gambar TINJAUAN PUSTAKA.43 Contoh AAM dari Combined Model.


(sumber : http://media.tumblr.com/tumblr_lkttieolqC1qdqlma.png)
39

2.2.3 Kinect
Kinect adalah suatu alat pendeteksi gerakan dan suara yang diproduksi oleh
Microsoft untuk video game. Kinect pertama kali diperkenalkan pada tahun 2010
sebagai free-controller game device. Microsoft juga merilis Kinect SDK sehingga
para game developer dapat menggunakan dengan menggunakan bahasa
pemrograman C++, C#, atau Visual Basic.NET (VB.NET). Kinect menggabungkan
kamera RGB dengan depth sensor sehingga dapat mengukur jarak terhadap berbagai
titik dan merekam posisi sendi dalam sebuah frame (M.Robinson, M.B. Parkinson,
2013). Sebagai alat pendeteksi gerakan, Kinect akan menghasilkan 3 output gambar
yang berbeda, yaitu Infra-red (IR), RGB, dan depth. Hal ini dikarenakan depth
sensor yang terdapat dalam Kinect merupakan gabungan dari IR projector dan IR
camera. Penelitian ini menggunakan Kinect karena dapat mendeteksi berbagai pose
orang secara efektif dari depth image dan memberikan estimasi yang akurat
mengenai keseluruhan bagian tubuh orang tersebut.

Gambar TINJAUAN PUSTAKA.44 Tampilan Kinect.

(sumber : http://upload.wikimedia.org/wikipedia/commons/6/67/Xbox-360-Kinect-

Standalone.png)

Gambar TINJAUAN PUSTAKA.45 RGB dan depth image pada Kinect.


40

(sumber : http://alixedi.wikispaces.com/file/view/_kinect_rgb

%2Bdep.jpg/260983470/498x184/_kinect_rgb%2Bdep.jpg)

2.2.4 Uji Modified Thompson Tau


Uji Modified Thompson Tau adalah sebuah uji statistik yang digunakan untuk
membuang pencilan (outlier) dari sampel satu variabel. Pencilan didefinisikan
sebagai suatu nilai data yang tidak konsisten (menyimpang) dengan keseluruhan nilai

data secara statistik. Karena FACS pada Kinect akan menghasilkan nilai AU antara

, maka pencilan dari sampel dapat dihilangkan dengan menggunakan uji

Modified Thompson Tau. Berikut ini adalah tahapan yang dilakukan untuk
menghilangkan nilai pencilan dengan uji Modified Thompson Tau:

1. Hitung nilai rata-rata ( ) dan standar deviasi dari sampel

2. Untuk setiap nilai dari data, hitung

3. Hitung

Dimana:

Banyaknyanilai dari data.

Nilaikritis yang ditetapkan.

Nilai juga dapat diperoleh dari tabel Modified Thompson berikut:


41

Tabel TINJAUAN PUSTAKA.6 Tabel Modified Thompson .

4. Suatu nilai dari data disebut pencilan jika , dan sebaliknya.

(John M.Cimbala, 2011)

2.2.5 Uji-t dua sampel independen variansi berbeda (Welch’s t- test)


Uji hipotesis dua rata-rata digunakan untuk mengetahui ada atau tidak adanya
perbedaan (signifikansi) rata-rata antara dua buah data. Welch's t-test adalah satu
metode statistik uji dari pengujian perbedaan rata‐rata dua sampel saling bebas

(independent two sample) dengan varians yang diasumsikan berbeda ( ).

Welch's t-testdapat dinyatakan sebagai berikut:

Untuk menentukan degree of freedom dapat menggunakan rumus sebagai berikut:


42

akan di-reject jika memenuhi syarat berikut:

(Walpole, Myers, Ye, 2007:347)

2.2.6 Performance Metrics for Biometric System


Performance Metrics for Biometric System digunakan sebagai verifikasi
untuk mengukur performa dari sistem biometrik yang ada. Metrics akan
menggunakan hasil evaluasi yang diperoleh dari berbagai kriteria parameter yang
berbeda. Verifikasi (otentikasi) dalam Metrics adalah proses penegasan bahwa
identifikasi adalah benar dengan satu atau lebih identitas yang telah terdaftar
sebelumnya. Berikut ini adalah berbagai metrics yang terdapat dalam verifikasi
tersebut:
1. False Rejection Rate atau False Non-Match Rate (FRR atau FNMR) adalah
persentase banyaknya kejadian yang terjadi dimana sistem menolak suatu
input yang sesuai.
2. False Acceptance Rate atau False Match Rate (FAR atau FMR) adalah
persentase banyaknya kejadian yang terjadi dimana sistem salah
mengidentifikasi suatu input yang tidak sesuai.
3. True Accept Rate (TAR) adalah persentase banyaknya kejadian yang terjadi
dimana sistem dengan benar mengidentifikasi suatu input yang sesuai.
4. True Reject Rate (TRR) adalah persentase banyaknya kejadian yang terjadi
dimana sistem dengan benar menolak suatu input yang tidak sesuai.

2.2.7 Fuzzy Logic


Fuzzy Logic adalah suatu multi-value logic yang mengijinkan berbagai nilai
kebenaran (P) ditambahkan ke dalam dua kebenaran umum sehingga P dapat
43

berkisar antara (Timothy J.Ross, 2010:132). Proporsi dari nilai kebenaran (

) dapat dinyatakan sebagai berikut:

Pendekatan fuzzy memiliki kelebihan pada hasil yang terkait dengan


pengenalan pola dan pengambilan keputusan dalam kondisi yang tidak pasti. Berikut
ini adalah berbagai alasan mengenai penerapan Fuzzy Logic dalam kehidupan:
1. Konsep Fuzzy Logic mudah dimengerti.
2. Fuzzy Logic sangat fleksibel.
3. Fuzzy Logic memiliki toleransi terhadap data yang tidak tentu.
4. Fuzzy Logic mampu memodelkan berbagai fungsi nonlinear.
5. Fuzzy Logic dapat membangun pengalaman para pakar dalam aplikasi tanpa
harusmelalui proses pelatihan.
(Kusumadewi S, Purnomo H, 2010)

2.2.7.1 Himpunan Fuzzy


Himpunan Fuzzy (Fuzzy Set) adalah sebuah himpunan yang memuat berbagai
variasi derajat keanggotaan. Sebuah himpunan Fuzzy (A) dapat dinyatakan sebagai
berikut:

(Timothy J.Ross, 2010:34)

Himpunan Fuzzy memiliki 2 atribut, yaitu:


1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau
kondisi tertentudengan menggunakan bahasa alami, seperti: senang dan sedih,
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu
variabel seperti: 10, 20, dan 30.
44

Berikut ini adalah contoh interpretasi dari himpunan Fuzzy dengan variabel
berupa temperatur:

Gambar TINJAUAN PUSTAKA.46 Himpunan Fuzzy dengan variabel temperatur.


(sumber : http://www.cs.bris.ac.uk/~kovacs/publications/gbml-survey/html-

version/shadow-fuzzy-sets.png)

2.2.7.2 Fungsi Keanggotaan (Membership Function)

Fungsi keanggotaan (Membership Function) adalah suatu kurva ( yang

menunjukkan pemetaan dari derajat keanggotaan dengan interval antara 0 sampai 1.


Sebuah fungsi keanggotaan dapat terdiri dari bagian, yaitu:

1. Core adalah daerah dari fungsi keanggotaan dimana elemen daerah tersebut

memiliki nilai derajat kenggotaan penuh ( ).

2. Support adalah daerah dari fungsi keanggotaan dimana elemen daerah tersebut

memiliki nilai derajat kenggotaan yang lebih besar dari 0 ( ).


45

3. Boundaries adalah daerah dari fungsi keanggotaan dimana elemen daerah

tersebut memiliki nilai derajat kenggotaan yang lebih besar dari 0 tetapi tidak

penuh ( ).

Gambar TINJAUAN PUSTAKA.47 Fungsi Keanggotaan (Membership Function).

(sumber : http://3.bp.blogspot.com/-

SH4AsnHWTDE/TlZ5M_rfSwI/AAAAAAAACRs/s2I9Re3W8dA/s400/core-

support-boundary-of-a-membership-function.png)

Suatu himpunan Fuzzy disebut normal jika memiliki minimal 1 elemen yang
memiliki nilai derajat kenggotaan penuh. Berikut ini adalah berbagai fungsi
sederhana yang dapat digunakan sebagai pendekatan untuk mendapatkan derajat
keanggotaan:
1. Representasi Linear
Representasi linear memetakan derajat keanggotaannya sebagai suatu garis lurus
sederhana (naik atau turun). Digunakan untuk suatu masalah yang belum tentu
atau jelas. Fungsi keanggotaan dari representasi linear dinyatakan sebagai
berikut:
1. Representasi Linear Naik, seperti pada gambar berikut:
46

Gambar TINJAUAN PUSTAKA.48 Representasi Linear Naik.

Fungsi keanggotaan:

2. Representasi Linear Turun, seperti pada gambar berikut:

Gambar 2.49 Representasi Linear Turun

Fungsi keanggotaan:

2. Representasi kurva segitiga


Representasi linear memetakan derajat keanggotaannya sebagai suatu segitiga,
seperti pada gambar berikut:
47

Gambar TINJAUAN PUSTAKA.50 Representasi Kurva Segitiga.

Fungsi keanggotaan:

3. Representasi Kurva Trapesium


Representasi linear memetakan derajat keanggotaannya sebagai suatu
trapesium(beberapa titik memiliki nilai derajat keanggotaan penuh), seperti pada
gambar berikut:

Gambar TINJAUAN PUSTAKA.51 Representasi Kurva Trapesium.

Fungsi keanggotaan:

2.2.7.3 Defuzzify
Defuzzify adalah proses mendapatkan nilai tertentu dari himpunan Fuzzy dari
berbagai komposisi aturan Fuzzy.
48

Gambar TINJAUAN PUSTAKA.52 Contoh Defuzzify (CoG).

Output fuzzy diperoleh melalui eksekusi dari beberapa fungsi


keanggotaan fuzzy. Terdapat beberapa metode yang dapat digunakan pada proses
defuzziffy, diantaranya sebagai berikut:
1. CoG (Center of Gravity)
Metode ini mengambil nilai tengah dari seluruh fungsi keanggotaan
keluaran fuzzy yang ada.
2. Max Membership Principle
Metode ini mengambil nilai fungsi keanggotaan terbesar dari keluaran fuzzy yang
ada untuk dijadikan sebagai nilai output.

2.3 Penelitian Lainnya


Adam Wyrembelski (2013) dengan paper berjudul “Detection of the selected,
basic emotions based on face expression using Kinect” telah mengembangkan sebuah
sistem pengenalan ekspresi wajah pada Kinect. Penelitian ini menggunakan metode
K-nearest neighbour dan dapat mengenali ekspresi senang, sedih, marah, dan
terkejut. Penelitan ini meng gunakan data ekspresi wajah dalam training set.
Vineetha GR & Sreeji C (2012) dengan paper berjudul “Face Expression
Detection Using Microsoft Kinect with the Help of Artificial Neural Network” telah
mengembangkan sistem pengenalan ekspresi wajah pada Kinect. Penelitian ini
menggunakan metode back propagation untuk melatih neural network yang ada.
Penelitian ini sulit mendefinisikan ekspresi sedih atau jijik secara spontan.
Pangondian Marhutala Sinaga & Rully Soelaiman (2010) dengan paper
berjudul “Pengenalan Ekspresi Wajah Berdasarkan Bentuk dan Tekstur” telah
mengembangkan sistem pengenalan ekspresi wajah berdasarkan bentuk dan tesktur.
Penelitian ini menggunakan metode Spatially Maximum Occurrence Model (SMOM)
49

dan Elastic Shape-Texture Matching (ESTM) untuk mengolah ekspresi wajah dengan
rata-rata waktu 1 menit. Penelitian ini dapat mengenali ekspresi wajah dengan tepat
rata-rata dibawah 50 %.

Anda mungkin juga menyukai