1.
TINJAUAN PUSTAKA
(sumber : http://3.bp.blogspot.com/-qh2Fi-
p3BLM/UPR2Tc0YfeI/AAAAAAAABDU/cXeSWD78vok/s1600/software_engin
eering_12.png)
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.
2. Input/Output (I/O)
Input/Output (I/O) digunakan untuk merepresentasikan data untuk proses
berikutnya (input) atau menyimpan informasi proses (output).
9
3. Process
Process digunakan untuk merepresentasikan setiap jenis proses dalam flowchart.
4. Flowline
Flowline digunakan untuk menghubungkan berbagai simbol sehingga terbentuk
sebuah urutan proses.
5. Annotation
Annotation digunakan untuk memberikan tambahan deskripsi sebagai klarifikasi.
6. Decision
Decision digunakan untuk merepresentasikan operasi tambahan deskripsi sebagai
klarifikasi.
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:
2. Use Case
Use Case digunakan untuk menggambarkan fungsionalitas dan kebutuhan sistem
dari sudut pandang Actor (Pressman, 2010:847).
11
Music.
1. Initial Node
Initial node digunakan untuk menggambarkan titik awal proses dalam activity
diagram. Initial node digambarkan sebagai lingkaran hitam (Pressman,
2010:853).
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).
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).
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
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).
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).
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).
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:
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
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).
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
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).
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).
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).
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).
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).
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).
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).
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).
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).
Gambar TINJAUAN PUSTAKA.32 Action Unit wajah bagian atas dan bawah.
(sumber :
http://pds16.egloos.com/pds/201001/23/94/a0007594_4b5ae1b743752.png)
24
Action Unit.
(sumber : http://what-when-how.com/wp-
content/uploads/2012/06/tmp7527314_thumb_thumb.png)
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:
menggunakan AAM.
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
(sumber : http://what-when-how.com/wp-
content/uploads/2012/06/tmpdece404_thumb22_thumb.png)
2. Initialize k = 0
3. Repeat
Procrustes(
end for
k=k+1
Alignment.
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
,
32
5. end for
(Pedro Alexandre Dias Martins,2008:39)
Berikut ini adalah contoh Delaunay Triangulation dan Barycentric
Coordinates dalam Texture Model:
Triangulation.
(sumber : http://1.bp.blogspot.com/--
YhVRZ_Nwcc/TpiQUe0SfaI/AAAAAAAAAfs/mYjQLqKCyGU/s1600/tri.png)
33
(sumber : http://what-when-how.com/wp-
content/uploads/2012/06/tmpdece379_thumb2.png)
titik dalam bidang jika dan hanya jika circumcircle dari setiap segitiga dari )
tidak mengandung titik dari P. Sebuah triangulasi ( ) disebut legal jika dan hanya
Marc van Kreveld, Mark Overmars, 2008:198). Berikut ini adalah contoh dari hasil
Delaunay Triangulation:
34
Triangulation.
(sumber :
https://m1.behance.net/rendition/modules/67523857/disp/51b2a10363352ec2b30cbc
354394687e.jpg)
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:
tetangga ( :
36
4 titik ( .
(sumber :
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Bilinear_interpolation.p
ng/220px-Bilinear_interpolation.png)
sebagai berikut:
Dimana:
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:
berikut:
Dimana:
= rasio antara jumlah nilai eigen Shape Model dan Texture Model:
= matriks diagonal .
sebagai berikut:
38
3. Jika adalah matriks vektor eigen yang paling dominan dalam parameter
Dimana:
Berikut ini adalah contoh AAM yang diperoleh dari Combined Model:
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.
(sumber : http://upload.wikimedia.org/wikipedia/commons/6/67/Xbox-360-Kinect-
Standalone.png)
(sumber : http://alixedi.wikispaces.com/file/view/_kinect_rgb
%2Bdep.jpg/260983470/498x184/_kinect_rgb%2Bdep.jpg)
data secara statistik. Karena FACS pada Kinect akan menghasilkan nilai AU antara
Modified Thompson Tau. Berikut ini adalah tahapan yang dilakukan untuk
menghilangkan nilai pencilan dengan uji Modified Thompson Tau:
3. Hitung
Dimana:
Berikut ini adalah contoh interpretasi dari himpunan Fuzzy dengan variabel
berupa temperatur:
version/shadow-fuzzy-sets.png)
1. Core adalah daerah dari fungsi keanggotaan dimana elemen daerah tersebut
2. Support adalah daerah dari fungsi keanggotaan dimana elemen daerah tersebut
tersebut memiliki nilai derajat kenggotaan yang lebih besar dari 0 tetapi tidak
penuh ( ).
(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
Fungsi keanggotaan:
Fungsi keanggotaan:
Fungsi keanggotaan:
Fungsi keanggotaan:
2.2.7.3 Defuzzify
Defuzzify adalah proses mendapatkan nilai tertentu dari himpunan Fuzzy dari
berbagai komposisi aturan Fuzzy.
48
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 %.