bab iii analisis dan perancangan sistem 3.1 analisis...

55
21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses penilaian posisi Karate selama ini dilakukan secara langsung oleh guru Karate. Langsung disini memiliki artian yaitu guru Karate menilai posisi Karate yang dilakukan oleh murid dengan bertatap muka secara langsung. Hal ini dilakukan secara rutin setiap dilakukan latihan Karate bersama dengan murid– murid lainnya. Di dalam proses ini guru Karate mendistribusikan pengetahuan dan pengalamannya selama mempelajari Karate dengan memberikan saran untuk para muridnya. Secara sederhana proses penilaian tersebut adalah sebagai berikut. Guru Karate mengarahkan muridnya untuk melakukan sebuah gerakan. Di akhir gerakan dimana murid berusaha untuk tetap dalam keadaan diam, guru Karate akan menghampiri murid dan akan melihat posisi dari murid. Jika posisi murid kurang tepat, guru akan mengarahkan langsung untuk mengoreksi posisi yang salah. Gambar 3.1 Latihan Karate (Abdiwan, 2011)

Upload: others

Post on 23-Jan-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Permasalahan

Proses penilaian posisi Karate selama ini dilakukan secara langsung oleh

guru Karate. Langsung disini memiliki artian yaitu guru Karate menilai posisi

Karate yang dilakukan oleh murid dengan bertatap muka secara langsung. Hal ini

dilakukan secara rutin setiap dilakukan latihan Karate bersama dengan murid–

murid lainnya. Di dalam proses ini guru Karate mendistribusikan pengetahuan dan

pengalamannya selama mempelajari Karate dengan memberikan saran untuk para

muridnya. Secara sederhana proses penilaian tersebut adalah sebagai berikut. Guru

Karate mengarahkan muridnya untuk melakukan sebuah gerakan. Di akhir gerakan

dimana murid berusaha untuk tetap dalam keadaan diam, guru Karate akan

menghampiri murid dan akan melihat posisi dari murid. Jika posisi murid kurang

tepat, guru akan mengarahkan langsung untuk mengoreksi posisi yang salah.

Gambar 3.1 Latihan Karate (Abdiwan, 2011)

Page 2: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

22

Proses ini dapat dipersingkat dengan menambah jumlah pengajar sehingga

waktu yang diperlukan dalam mengkoreksi posisi murid akan menjadi lebih

singkat. Dengan adanya tambahan bantuan, maka proses latihan akan berlangsung

lebih efisien. Namun tak semua kelas Karate dapat menambah tenaga pengajar

untuk membantu proses latihan mereka. Maka untuk mengatasi permasalahan

tersebut maka dapat dibantu oleh sebuah aplikasi penilaian posisi Karate yang dapat

dilakukan mandiri oleh murid tanpa memerlukan bantuan guru namun tidak

bermaksud untuk menggantikan posisi guru Karate sebagai sumber ilmu utama.

Sensor Kinect dapat membaca pergerakan manusia dengan mendeteksi

persendian manusia yang tampak seperti pada Gambar 3.2. 12 persendian utama

akan digunakan untuk perbandingan data yang mencakup pergelangan tangan, siku

tangan,bahu, pinggul, lutut dan pergelangan kaki sebelah kiri dan kanan. Sedangkan

untuk 3 titik yang dapat dibaca sensor Kinect selain persendian diatas (titik bahu

tengah, titik tulang belakang, dan titik panggul tengah) tidak digunakan dalam

proses penilaian.

Gambar 3.2 Skeleton Tracking pada Tubuh Manusia (Microsoft Corporation)

Page 3: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

23

Tidak semua teknik Kihon dapat dinilai menggunakan sensor Kinect. Hal

ini disebabkan oleh beberapa hal antara lain adalah keterbatasan perangkat keras

dan kompleksitas gerakan. Sensor Kinect generasi pertama memiliki waktu

beberapa detik untuk melacak posisi tubuh manusia dimana pengguna harus

bergerak untuk membedakan antara manusia dan latar belakangnya. Masalah

selanjutnya terdapat pada penggunaan dua sensor Kinect untuk mengoptimalkan

skeleton tracking yang masih diteliti untuk meningkatkan keakurasiannya. Dan

masalah yang terakhir yaitu posisi tubuh pada akhir gerakan Kihon tidak dapat

dipertahankan kestabilannya. Hal ini merupakan masalah utama dalam penilaian

tendangan dimana poisi akhir tendangan kembali ke kuda-kuda. Beberapa kihon

yang diperkirakan dapat dinilai terlampir di Lampiran 2, 3, dan 4.

Kebutuhan aplikasi yang perlu disiapkan untuk menggunakan aplikasi ini

adalah perangkat keras untuk output, pemrosesan data dan sensor penangkap posisi

manusia. Untuk perangkat keras output aplikasi dapat menggunakan monitor

maupun proyektor. Sedangkan untuk pemrosesan data dibutuhkan sebuah komputer

yang akan memproses data menjadi informasi yang diharapkan. Dan yang terakhir

dibutuhkan perangkat sensor Kinect untuk menangkap posisi manusia dan

mengubahnya menjadi data digital.

Aplikasi ini akan mengeluarkan informasi berupa nilai ketepatan posisi

tubuh pada posisi karate yang ingin dinilai. Nilai ini didapat dari perhitungan rata-

rata selisih tiap persendian. Proses penilaian ini dimulai dengan aplikasi akan

menampilkan pilihan posisi yang akan dicoba. Lalu, pengguna aplikasi memilih

salah satu dari posisi yang ingin dinilai. Selanjutnya sistem akan mengeluarkan

informasi dasar mengenai gerakan Karate yang dipilih. Setelah informasi tersebut

Page 4: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

24

disampaikan, sistem akan mengkonfirmasi kesiapan pengguna untuk mencoba

gerakan tersebut. Ketika pengguna siap, pengguna akan melakukan gerakan yang

telah dipilih dan pada akhir gerakan pengguna akan memberikan perintah suara

yang menandakan pengguna sudah ada di posisi akhir gerakan yang selanjutnya

akan dinilai. Penilaian ini akan dilakukan dengan melihat posisi akhir dari

pengguna dan akan dibandingkan dengan data yang sudah disimpan di basis data.

Lalu selanjutnya sistem akan mengeluarkan hasil penilaian dari posisi penggguna.

Dari hasil analisis diatas maka sistem aplikasi yang akan dibangun

memiliki spesifikasi kebutuhan sebagai berikut :

1. Aplikasi harus dapat membaca hasil bacaan sensor Kinect.

2. Aplikasi harus dapat membandingkan hasil bacaan sensor Kinect dengan data

model yang sudah disimpan.

3. Aplikasi harus dapat menyajikan informasi sebagai umpan balik ke pengguna

aplikasi.

4. Aplikasi harus dapat menerima perintah suara.

3.2 Perancangan Sistem

Untuk mencapai tujuan yang sudah disebutkan di bagian sebelumnya,

aplikasi ini melalui beberapa tahap proses yang dapat dilihat pada Gambar 3.3.

Secara sederhana proses-proses yang ada di aplikasi ini adalah :

1. Menampilkan pilihan gerakan Karate

2. Pengguna memilih gerakan yang diinginkan menggunakan gesture dari tangan

yang berfungsi sebagai tetikus virtual.

Page 5: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

25

Untuk menggerakan pointer dapat dilakukan dengan salah satu tangan.

Sistem ini tidak dapat menerima masukan ketika pengguna menggunakan

dua tangannya.

Untuk memilih menu, pengguna dapat mendorong tangannya ke arah

sensor.

3. Kinect memproses pilihan tersebut dan menyampaikannya ke program berupa

pilihan input.

4. Sistem akan mengeluarkan informasi mengenai gerakan Karate yang telah

dipilih.

5. Sistem mengkonfirmasi kesiapan user untuk mencoba gerakan dengan

menampilkan pesan notifikasi berisi informasi mengenai proses pengambilan

data.

6. User mengkonfirmasi posisi tubuh dengan menggunakan perintah suara.

7. Sistem akan memproses masukan posisi tubuh pengguna setelah pengguna

memberikan perintah suara yang menandakan gerakan telah berakhir dan

pengguna dalam posisi terakhir dari gerakan tersebut.

8. Sistem akan memberikan hasil penilaian dari posisi pengguna.

Page 6: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

26

Akuisisi data skeleton

Akuisisi data melalui perintah

suara

+SDK

Penilaian posisi tubuh disertai

dengan feedback

Kelas Compare Data

Kelas Feedback

Klasifikasi

Kelas Save

Data Skeleton Model

Membandingkan data dengan model untuk

dihitung sudutnya sehingga dapat dinilai

Badan

TanganKepala

Mengklasifikasikan data sesuaidengan bagian tubuh

Tubuh

Gambar 3.3 Blok Diagram Aplikasi

Dalam proses pengambilan data posisi tubuh, terdapat beberapa kendala

antara lain keterbatasan sensor Kinect dalam mendeteksi beberapa posisi tubuh. Hal

ini menyebabkan perlu adanya beberapa penyesuaian dalam proses penggunaan

aplikasi. Beberapa kendala tersebut berhubungan dengan proses dan kemampuan

deteksi tubuh manusia.

Kendala yang pertama adalah sensor Kinect hanya akan melakukan proses

deteksi tubuh manusia jika pengguna menghadap sensor. Hal ini menyebabkan

pengguna harus menghadap sensor ketika akan dilakukan pendeteksian. Masalah

ini diperparah dengan adanya jeda waktu yang diperlukan sensor yang lamanya

tergantung dari pendeteksian yang dipicu oleh pergerakan tubuh manusia. Kendala

ini dapat dipecahkan dengan penggunaan dua modul sensor dari dua sisi. Namun

penggunaan dua sensor ini pun memiliki kelebihan dan kekurangan.

Page 7: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

27

Kendala lainnya timbul dari kemampuan interpretasi sensor Kinect. Hasil

deteksi skeleton tracking berupa sebuah gambaran rangka tubuh manusia dalam

garis yang terdiri dari 20 titik. Masing-masing titik akan dihubungkan dan

membentuk rangka tubuh manusia. Dalam proses pembentukan rangka ini, sensor

Kinect akan mengalami kesulitan pada bagian tubuh yang saling silang sehingga

hasil interpretasi tidak akurat. Beberapa peneliti telah mengembangkan sebuah

solusi untuk masalah ini dengan menggunakan dua sensor. Solusi ini dipaparkan

dalam sebuah jurnal berjudul “Improved Skeleton Tracking by Duplex Kinects: A

Practical Approach for Real-Time Applications” oleh Yeung, Kwok, dkk. Hasil

penggunaan dua sensor dalam pendeteksian mampu membantu interpretasi posisi

tubuh manusia menjadi lebih baik, namun untuk bagian tubuh yang saling silang

masih belum dapat diinterpretasikan dengan benar.

Maka dari beberapa masalah tersebut, beberapa gerakan yang perlu untuk

dilakukan penilaian dari dua sisi akan dilakukan secara bergantian menggunakan

satu buah sensor. Penilaian yang dilakukan dua kali ini masing-masing akan fokus

pada bagian tubuh bagian atas dan bagian bawah.

Dengan menggunakan bantuan SDK Kinect, proses akuisisi data skeleton

Kinect akan menghasilkan data persendian tubuh manusia yang terdiri dari jarak

dan posisi persendian. Sistem akan mengambil data dari 12 persendian pengguna

aplikasi yang terdiri dari bahu, lengan, pergelangan tangan, pinggul, lutut dan

pergelangan kaki dari tubuh pengguna. 3 joint hasil skeletal tracking yang tidak

digunakan dalam aplikasi ini adalah center shoulder, center hip, dan spine

mengingat 3 joint tidak memberikan kontribusi yang signifikan dalam rancangan

proses penilaian posisi tubuh.

Page 8: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

28

Selanjutnya proses perbandingan data sendi dengan data akuisisi akan

dibandingkan. Proses perbandingan ini berjalan dengan bantuan basis data dimana

data model dan data akuisisi berada di basis data. Proses perbandingan ini dilakukan

dengan cara mencari rata-rata persentase selisih sudut elevasi dari 12 persendian.

x̄ =1

12∑ (100%− (

∆𝑗

𝑗1𝑥100%))12

𝑖=1 .................................................................... 3.1

Persamaan 3.1 adalah proses perhitungan untuk mencari nilai dari tingkat

keakurasian data sendi dari model dengan data model yang didapat. J adalah derajat

persendian dimana j1 adalah derajat persendian model dan j2 adalah derajat

persendian pengguna aplikasi. Hasil penilaian ini tidak menunjukkan tingkat

keakurasian pendeteksian skeleton oleh sensor Kinect melainkan tingkat

keakurasian data model dengan data yang didapat.

Dari analisis permasalahan diatas, terdapat beberapa modul yang perlu

dibuat demi memenuhi kebutuhan perangkat lunak yang dibangun. Beberapa modul

yang diperlukan dalam pengembangan perangkat lunak ini yaitu modul untuk

menyalakan sensor Kinect, modul untuk menghitung derajat, modul untuk

membandingkan data referensi dengan data pengguna, dan modul untuk perintah

suara. Masing-masing modul tersebut saling berhubungan satu sama lain untuk

menunjang kerja perangkat lunak.

Modul untuk menyalakan sensor Kinect dibagi menjadi dua, yaitu proses

pengecekan status sensor Kinect dan proses menginisialisasi sensor Kinect. Proses

pengecekan status sensor bertujuan untuk mencari sensor kinect yang terhubung

dengan komputer dan siap untuk digunakan. Sedangkan proses inisialisasi sensor

bertujuan untuk menyalakan sensor agar siap digunakan dalam proses berikutnya.

Page 9: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

29

Proses pengecekan status sensor tampak pada flowchart di Gambar 3.4. Sedangkan

proses inisialisasi sensor dijelaskan melalui flowchart pada Gambar 3.5.

Mulai

Mengecek status kinect yang terpasang

Mentrigger INotifyPropertyChanged events

Status berubah?

Tidak ada perubahan

Ada perubahan

Status sensor?

Status Kinect

Sensor status=connected

Sensor status=notpowered

Sensor status=notready

Sensor status=disconnected

Terhubung ke usb dan DC Terhubung ke DC saja Terhubung ke usb saja Status initializing

Sensor status =connected?

tidak

Inisialisasi sensor

Selesai

Gambar 3.4 Flowchart Proses Pengecekan Status Sensor

Page 10: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

30

Mulai

Menampung kinectSensor object ke dalam variabel Kinect

Status sensor isStarted?

Menampilkan colorStream, DepthStream,audioStream

tidak

ya

Konfigurasi color stream

& video stream

color stream, depth stream

per frame

Color stream & Depth stream

dalam satu frame

Selesai

Mengambil konfigurasi parameter colorstream & video

stream

Refresh frame

selanjutnya

Window is closing event tertrigger?

ya

tidak

Gambar 3.5 Flowchart Proses Inisialisasi Sensor

Page 11: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

31

Sensor Kinect memiliki kemampuan untuk melacak posisi tubuh manusia

yang disebut dengan skeleton tracking. Proses skeleton tracking ini akan melalui

tahap proses yang dijelaskan sebelumnya, yaitu proses pengecekan sensor dan

inisialisasi sensor. Secara garis besar proses skeleton tracking tampak pada

flowchart di Gambar 3.6.

Mulai

Inisialisasi sensor

Menyalakan kinectSensor.Skeleton.SkeletonStream

allSkeleton[][]skeletonSegment[][]

Tubuh manusia

terdeteksi?

Monitoring depth data dengan

algoritma SDK untuk skeleton tracking

yang ada

tidak

Selesai

X,y,z dari tiap joint

Streaming skeleton data

Memproses depth stream sehingga menghasilkan data skeleton

ya

Gambar 3.6 Flowchart Proses Skeleton Tracking

Page 12: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

32

Proses selanjutnya setelah skeleton tracking adalah memvisualisasikan data

yang didapat menjadi bentuk rangka tubuh manusia. Proses ini disebut proses

drawing skeleton yang akan menghasilkan sebuah visualisasi kerangka manusia.

Proses drawing ini melewati beberapa proses seperti yang ada pada flowchart

proses drawing skeleton di Gambar 3.7.

var i=1Var X=1

i<skeletonSegmentRuns?

Panjang SkeletonSegmentRuns

mulai

Var prev=nextnext=GetJointPoint(skeleton, run[i])

i++

Var next=GetJointPoint(skeleton, run[0])

y

Mengambil parameter X dan Y untuk menggambar yang ditampung ke dalam

Var line(windows shape)

X1=prev.XY1 = prev.YX2=next.XY2=next.Y

Menggambar sebuah garis dengan konfigurasi koordinat titik pertama X1,Y1

dan titik kedua X2,Y2x++

Run.length=x?

Selesai

y

t

X,y,z dari tiap joint stream

Skeleton tracking

Menghitung panjang skeleton segment runs[][]

X,y per bone

t

Posisi tubuh

Gambar 3.7 Flowchart Proses Drawing Skeleton

Page 13: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

33

Modul selanjutnya merupakan sebuah fungsionalitas yang memungkinkan

pengguna untuk memerintah perangkat lunak untuk melakukan beberapa perintah

yang sudah disimpan yaitu perintah suara. Proses untuk penangkapan perintah suara

tampak pada flowchart pada Gambar 3.8.

Mulai

Inisialisasi sensor

Instance of class RecognizerInfo

Memonitoring audio stream

yang masuk ke sensor

Perintah suara yang terdeteksi terdeteksi sama

dengan grammar?

Menjalankan event handler

SpeechRecognized

FINISH

UP

EXIT

DOWN FIRST SECOND

COMBINE

Menambah nilai elevation angle dari

sensor dengan nilai 3

y

Mengurangi nilai elevation angle dari

sensor dengan nilai 3

y

Mengambil data pada bagian tubuh atas

y

Mengambil data pada bagian tubuh bawah

y

Menggabungkan data yang didapat dan memproses nilai

y

Memproses nilai

y

Keluar dari layar

pengambilan data

y

tidak

ya

t t t

t

ttPerintah

suara tidak dikenali

t

SELESAI

1

1

Mencari file speech

grammar.xml

SpeechGrammar.xml

ditemukan?

speechGrammar.xml

Pesan error speech grammar tidak ditemukan

1

Gambar 3.8 Flowchart Proses Penangkapan Perintah Suara

Page 14: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

34

Dua modul lainnya yang perlu dibuat adalah modul penting yang berfungsi dalam

proses penilaian, yaitu proses perhitungan sudut dan proses perbandingan data.

Proses perhitungan sudut melalui beberapa proses yang dijelaskan melalui

flowchart pada Gambar 3.9. Sedangkan alur proses yang dilalui perangkat lunak

untuk mendapatkan penilaian tampak pada Gambar 3.10. Proses perhitungan sudut

menggunakan formula 2.1 yaitu rumus perkalian dot product.

Mulai

Vektor A=X1,y1,z1Vektor B=X2,y2,z2

Skeleton tracking

α

Mengambil koordinat 2 bone yang terhubung

Selesai

Gambar 3.9 Flowchart Proses Perhitungan Sudut

Page 15: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

35

Gambar 3.10 Flowchart Proses

Penilaian

re

fere

nsi

Mu

lai

Me

nga

mb

il 1

2 s

ud

ut b

erd

asark

an

id

ge

ra

ka

n y

an

g a

da d

i ta

be

l p

an

du

an

Id g

era

ka

n

Pe

rh

itu

nga

n d

ua

su

du

t v

ek

tor

Me

ngh

itu

ng

se

lisih

dari

tia

p j

oin

t

Da

ta s

ud

ut d

ari id

ge

ra

ka

n

ya

ng

in

gin

dib

an

din

gka

n(d

ata p

an

du

an

)

Su

du

t [i

]i+

+

∆ J

oin

t [

i]

Ske

leto

n t

rackin

g

Σ ∆

Jo

int i

12

Pe

rse

nta

se

pe

nila

ian

b

eru

pa

rata

-ra

ta s

elisih

su

du

t,d

ata p

an

du

an

, d

ata

aktu

al

Da

ta

su

du

t d

ari

id g

era

ka

n

ya

ng

in

gin

dib

an

din

gk

an

(da

ta r

ea

lisa

si)

Se

lesai

Ge

raka

n b

utu

h 2

ka

li

pen

ga

mb

ilan

?

i=1

3?

tidak

ya

Pe

rh

itu

nga

n d

ua

su

du

t v

ekto

r

Me

ngh

itu

ng

se

lisih

dari

tiap

jo

int

Da

ta s

ud

ut d

ari id

ge

ra

ka

n y

an

g in

gin

d

iban

din

gkan

(data p

an

du

an

)

Su

du

t [i

]i+

+

∆ J

oin

t

[i]

Ske

leto

n t

rackin

g

Da

ta

su

du

t d

ari

id

ge

ra

ka

n y

an

g i

ng

in

dib

an

din

gka

n(d

ata

re

alisa

si)

i=7

?

ya

Pe

rh

itu

nga

n d

ua

su

du

t v

ekto

r

Me

ngh

itu

ng s

eli

sih

dari

tia

p j

oin

t

Da

ta s

ud

ut d

ari id

ge

ra

ka

n y

an

g in

gin

d

iban

din

gkan

(data p

an

du

an

)

Su

du

t [i

]i+

+

∆ J

oin

t

[i]

Ske

leto

n t

rackin

g

Da

ta s

ud

ut d

ari id

ge

ra

ka

n y

an

g in

gin

d

iban

din

gkan

(data r

eali

sa

si)

i=1

3?

ya

1

1

tidak

ya

Me

nca

ri d

ata

re

fere

nsi se

su

ai

den

ga

n i

d g

era

kan

i=1

i=7

i=1

Page 16: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

36

Proses untuk melakukan perekaman data sebagai referensi tampak pada Gambar

3.11.

Inisialisasi sensor

Skeleton tracking

Drawing skeleton

Perhitungan dua sudut vektor

Mengambil data-data sudut

12 joint

Memasukkan ke database

12 sudut joint

Stick men

mulai

Tabel panduan

selesai

Membutuhkan dua kali perekaman

data?

Mengambil data-data sudut 6 joint

bagian atas

6 sudut joint atas

Mengambil data-data sudut 6 joint bagian

bawah

6 sudut joint

bawah

Id gerakan yang ingin direkam

Admin memilih gerakan

Perubahan sudut seluruh joint

tidak

ya

Refresh frame

Gambar 3.11 Flowchart Proses Perekaman Data Referensi

Page 17: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

37

3.2.1 Agile Planning

Dari aktifitas-aktifitas yang sudah diidentifikasi diatas, maka dibuatlah

user story yang masing-masing memiliki tujuan. Aktifitas-aktifitas ini akan

dikembangkan satu persatu seiring dengan berjalannya waktu. Aktifitas tersebut

tampak pada user story di Tabel 3.1.

Masing-masing dari user story tersebut akan mengalami fase inception,

elaboration, construction, dan transition secara iterative jika dibutuhkan. Setiap

user story yang berhasil dibuat akan disimpan dan dilanjutkan ke user story

berikutnya secara incremental. Jika di tengah jalan akan diadakan penyesuaian,

maka proses yang sedang dijalani akan hentikan sementara dan kembali ke proses

sebelumnya yang perlu dilakukan perbaikan maupun perubahan.

Tabel 3.1 User Story

Nama Aktifitas Sebagai Kegiatan Tujuan

Menampilkan

pilihan gerakan

karate

Pengguna Melihat gerakan

yang tersedia

Memilih gerakan yang

diinginkan

Menampilkan

informasi

gerakan

Pengguna Mencari tahu

informasi

mngenai gerakan

yang dipilih

Mengetahui informasi

dari gerakan

Memilih

gerakan karate

Pengguna Memilih gerakan

yang diinginkan

Membuka window

penilaian sesuai dengan

gerakan yang dipilih

Melakukan

proses penilaian

Pengguna Melakukan

penilaian posisi

Memproses posisi user

menjadi nilai

berdasarkan dara

referensi

Update data

referensi

Admin Melakukan

update data

referensi

Mengubah data

referensi sesuai dengan

data yang dimasukkan

3.2.2 Unified Process

Pengembangan perangkat lunak ini menggunakan framework Unified

Process dimana terdapat beberapa fase yang harus dilalui. Fase-fase tersebut adalah

Page 18: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

38

inception, elaboration, construction, dan transition. Pada tahap inception dilakukan

proses penentuan scope produk dan batasan-batasannya, menguraikan

permasalahan menjadi sub bagian yang lebih kecil, menentukan perencanaan

jadwal dan biaya yang terkait.

Dalah tahap inception ini telah ditentukan scope program sebagai berikut :

1. Program yang dikembangkan akan menghasilkan penilaian posisi

2. Program yang dikembangkan menggunakan sensor Kinect

3. Program yang dikembangkan akan dapat menerima inputan data referensi

dari role model

4. Program yang dikembangkan mampu menerima perintah melalui suara

Sedangkan batasan-batasan produk yang teridentifikasi antara lain :

1. Sensor Kinect yang digunakan adalah satu buah

2. Proses pengembangan menggunakan SDK Kinect for Windows versi 1.7

Uraian permasalah dapat dilihat pada user story dalam bagian Agile planning.

Sedangkan pada tahap elaboration dihasilkan rancangan-rancangan

mendetail dari perangkat lunak seperti use case diagram, activity diagram dan class

diagram. Rancangan-rancangan ini menjadi panduan dalam tahap berikutnya yaitu

construction. Rancangan-rancangan ini dibagi menurut fungsionalitasnya. Berbagai

fungsi yang diperlukan dalam perangkat lunak ini menggunakan beberapa kelas

dalam SDK Kinect. Beberapa rancangan dalam proses pengembangan perangkat

lunak ini terdiri dari proses pengecekan status sensor, proses inisialisasi sensor,

proses skeleton tracking, proses drawing skeleton, proses perhitungan sudut vektor,

proses perbandingan data dan proses perintah suara yang merupakan hasil analisis

kebutuhan perangkat lunak.

Page 19: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

39

Pada tahap ini perangkat lunak mulai dibangun untuk memenuhi kebutuhan

pengguna yang sudah dijabarkan melalui user story. Ketika terdapat masalah

maupun penyesuaian dalam rancangan spesifikasi perangkat lunak, maka akan

dilakukan proses perubahan yang diperlukan sampai kebutuhan terpenuhi secara

iterative. Pada tahap transition, dilakukan uji coba pada perangkat lunak agar dapat

di deploy.

3.2.3 Use Case Diagram Aplikasi Penilaian Posisi Karate

Use case memberikan gambaran terhadap aktivitas utama pelaku dalam

sistem atau actor dan kegiatan yang dapat dilakukannya dalam aplikasi. Sistem

akan berinteraksi dengan pengguna sesuai diagram use case pada Gambar 3.12.

Gambar 3.12 Use Case Diagram Utama

Dari diagram use case tersebut dapat dilihat bahwa terdapat dua aktor, yaitu

user dan admin. Aktor user adalah pengguna aplikasi yang ingin menilai posisi

tubuh dengan menggunakan aplikasi. Sedangkan aktor admin adalah aktor yang

menampilkan daftar gerakan

memilih gerakan

<<include>>

penilaian gerakan

User

(from Actors)

memasukkan data

Admin

(from Actors)

Page 20: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

40

bertanggung jawab dalam memasukkan data-data yang diperlukan agar aplikasi

dapat berjalan. Terdapat empat use case yang masing-masing merupakan kegiatan

yang memiliki tujuan masing-masing. Penjelasan mengenai masing-masing use

case tampak pada Tabel 3.2.

Tabel 3.2 Detail Use Case

No. Nama Use Case Aktor Penjelasan

1. Memilih gerakan User Kegiatan user dalam menentukan

gerakan yang ingin dicoba

2. Penilaian gerakan User Kegiatan user dalam melakukan gerakan

yang ingin dicoba

3. Menampilkan

daftar gerakan

Sistem Bagian dari use case memilih gerakan

yang dijalankan oleh sistem sehingga

menampilkan pilihan gerakan

4. Memasukkan data Admin Kegiatan admin dalam memasukkan data

referensi ke dalam basis data agar dapat

dipakai dalam aplikasi

3.2.4 Flow of Events

Flow of events merupakan gambaran dari aliran kejadian yang tersususn

secara runtut. Disini akan tampak aliran sebuah aktifitas yang di lengkapi dengan

bagaimana aktifitas tersebut dimulai dan bagaimana aktifitas itu berakhir. Flow of

events merupakan penjabaran awal user story yang selanjutnya akan didetailkan

dalam activity diagram. Flow of events dari beberapa aktifitas yang diidentifikasi

pada use case diagram akan dibahas pada bagian selanjutnya.

a. Flow of Event dari Use Case Menampilkan Pilihan Gerakan

Use case menampilkan pilihan gerakan diawali ketika pengguna aplikasi

memilih masuk pada splash screen. Aliran aktifitas dalam use case ini akan berakhir

dengan kondisi akhir yaitu sistem menampilkan pilihan gerakan yang ada dalam

basis data. Untuk lebih detailnya dapat dilihat pada flow of event di Tabel 3.3.

Page 21: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

41

Tabel 3.3 Flow of Event dari Use Case menampilkan Pilihan Gerakan

Use Case

Detail

Menampilkan Pilihan Gerakan

Kebutuhan

terkait

A1. Pengguna aplikasi perlu melihat pilihan-pilhan gerakan

yang ditampilkan dalam program. Infotmasi yang perlu didapat

dari pilihan-pilhan gerakan ini adalah nama gerakan,

keterangan singkat mengenai gerakan, dan gambar posisi akhir

gerakan yang disimpan dalam basis data

Tujuan Memberikan daftar pilihan gerakan ke pengguna

Prasyarat Sensor Kinect terhubung

Kondisi akhir

sukses

Pilihan gerakan ditampilkan beserta detailnya.

Kondisi akhir

Gagal

- Jika Pilihan gerakan tidak memiliki gambar dan informasi

maka akan ditampilkan selection display yang kosong

Aktor utama Pengguna aplikasi

Aktor

sekunder

Sistem

Pemicu Pengguna aplikasi memilih untuk masuk ke aplikasi melalui

splash screen

Alur utama Langkah Aktor Aksi

1. Sistem Menampilkan form selamat datang

2. User Memilih tombol mulai

3. Sistem Mendeteksi dan menyalakan sensor

4. Sistem Menampilkan keterangan sensor siap

5. Sistem Menampilkan menu pilihan gerakan

6. Sistem Mendeteksi pergerakan tangan user

7. Sistem Menampilkan kinect cursor

Alur

perluasan

4.1 Sistem Menampilkan keterangan sensor

tidak ditemukan

6.1 Sistem Active movement detection dilakukan

untuk memonitoring pergerakan

tangan selama form dibuka

b. Flow of Event dari Use Case Memilih Gerakan

Use case memilih gerakan diawali ketika pengguna aplikasi memilih

gerakan baik menggunakan kinect cursor ketika ditemukan sensor Kinect maupun

dengan tetikus. Aliran aktifitas dalam use case ini akan berakhir dengan kondisi

akhir yaitu sistem menerima pilihan gerakan dari user dengan nilai id gerakan

sesuai dengan gerakan yang dipilih. Untuk lebih detailnya dapat dilihat pada flow

of event di Tabel 3.4.

Page 22: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

42

Tabel 3.4 Flow of Event dari Use Case memilih Gerakan

Use Case

Detail

Memilih gerakan

Kebutuhan

terkait

A1. Pengguna aplikasi mampu memilih gerakan yang

dinginkan untuk dinilai menngunakan hand tracking

Tujuan Memberikan pilihan gerakan ke sistem

Prasyarat Sensor Kinect terhubung

Kondisi akhir

sukses

Pilihan gerakan disampaikan ke sistem berupa id gerakan

Kondisi akhir

Gagal

Aktor utama Pengguna aplikasi

Aktor sekunder Sistem

Pemicu Sistem menampilkan menu pilihan gerakan untuk dipilih

Alur utama Langkah Aktor Aksi

1. User Mengarahkan kinect cursor ke info

pilihan gerakan yang dipilih

2. Sistem Menampilkan selection display dari

pilihan gerakan yang dipilih selama 10

detik

3. User Mendorong tangannya ke arah sensor

Kinect diatas pilihan gerakan yang

diinginkan

4. Sistem Mendeteksi id gerakan dari pilihan

gerakan yang dipilih

5. Sistem Menampilkan kinectWindow dengan

parameter id gerakan yang sudah

disampaikan dari form Menu pilihan

gerakan

Alur perluasan 4.1 User Mengarahkan pointer mouse ke info

pilihan gerakan yang dipilih

3.1 Sistem Memilih pilihan gerakan yang

diinginkan dengan menggunakan mouse

c. Flow of Event dari Use Case Penilaian Gerakan

Use case penilaian gerakan diawali ketika pengguna aplikasi telah memilih

gerakan yang selanjutnya akan membuka kinect window yang menerima id gerakan

yang disampaikan oleh form sebelumnya. Aliran aktifitas dalam use case ini akan

berakhir dengan kondisi akhir yaitu sistem menampilkan hasil penilaian yang

merupakan hasil pemrosesan data. Untuk lebih detailnya dapat dilihat pada flow of

event di Tabel 3.5.

Page 23: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

43

Tabel 3.5 Flow of Event dari Use Case memilih Gerakan

Use Case

Detail

Penilaian Gerakan

Kebutuhan

terkait

A1. Aplikasi menampilkan notifikasi mengenai proses

pengambilan data yang perlu dilakukan beserta hitungan

mundur. Pengambilan data dibagi menjadi tiga tipe yaitu

pengambilan data penuh, pengambilan data bagian atas, dan

pengambilan data bagian bawah.

Tujuan Memberikan Penilaian gerakan ke user

Prasyarat Sensor Kinect terhubung

Kondisi akhir

sukses

Nilai disampaikan ke user

Kondisi akhir

Gagal

Aktor utama Sistem

Aktor sekunder Pengguna aplikasi

Pemicu Pengguna aplikasi memilih salah satu dari pilihan gerakan

yang ada

Alur utama Langkah Aktor Aksi

1. Sistem Menampilkan notifikasi informasi

pengambilan data dan dan akan hilang

setelah hitungan mundur selesai

2. User Melakukan gerakan yang dipilih

3. User Mengakhiri gerakan dengan

mengucapkan finish

4. Sistem Mengambil nilai derajat per join

5. Sistem Membandingkan nilai user dengan data

referensi

6. Sistem Menampilkan hasil penilaian

Alur perluasan 3.1 User Mengakhiri gerakan pada pengambilan

pertama dengan mengucapkan save first

3.2 User Mengakhiri gerakan pada pengambilan

pertama dengan mengucapkan save

second

3.3 User Mengakhiri proses pengambilan data

dengan mengucapkan combine

d. Flow of Event dari Use Case Memasukkan Data

Use case memasukkan data diawali ketika admin masuk ke window update

data referensi. Aliran aktifitas dalam use case ini akan berakhir dengan kondisi

akhir yaitu basis data dengan id gerakan yang ingin diubah memiliki nilai yang

Page 24: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

44

sudah berubah sesuai dengan perekaman data sudut sendi yang dilakukan. Untuk

lebih detailnya dapat dilihat pada flow of event di Tabel 3.6.

Tabel 3.6 Flow of Event dari Use Case Memasukkan Data

Use Case

Detail

Memasukkan data

Kebutuhan

terkait

A1. Admin dapat memasukkan data referensi posisi melalui

sensor Kinect dengan Kinect skeleton tracking dan

pengukuran derajat sendi

Tujuan Menyimpan data referensi persendian sebagai referensi

Prasyarat Sensor Kinect terhubung dan diinisialisasi

Kondisi akhir

sukses

Data referensi gerakan tersimpan

Kondisi akhir

Gagal

Data referensi tidak tersimpan

Aktor utama Admin

Aktor sekunder Sistem

Pemicu Admin masuk ke window update untuk mengubah data

referensi yang sudah ada

Alur utama Langkah Aktor Aksi

1. Sistem Menampilkan pilihan gerakan yang

dapat diupdate datanya

2. Admin Memilih gerakan yang ingin direkam

datanya

3. Sistem Menginisialisasi sensor Kinect

4. Sistem Menggambar stickmen beserta sudutnya

5. Admin Menekan tombol simpan

6. Sistem Memasukkan data ke dalam basis data

Alur perluasan - - -

3.2.5 Activity Diagram

Activity diagram merupakan representasi grafis dari alur kegiatan

(workflows) yang menjelaskan secara mendetail dari berbagai kegiatan. Setiap use

case memiliki activity diagram masing–masing. Pada bagian selanjutnya akan

dijelaskan activity diagram per use case yang ada.

Page 25: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

45

a. Activity Diagram dari Use Case Menampilkan Pilihan Gerakan

Gambar 3.13 Activity Diagram dari Use Case Menampilkan Pilihan Gerakan

memilih tombol mulai

memilih menu pilih gerakan menggunakan kinect cursor

menampilkan menu pilihan gerakan

inisialisasi sensor kinect

kinect ditemukan?

menampilkan pesan kinect tidak ditemukan

kinect tidak ditemukan

menampilkan pesan kinect ditemukan

kinect ditemukan

mendeteksi user

menampilkan form selamat datang

user ditemukan?

loading kinect cursor

user ditemukan

user tidak ditemukan

sistemuser

Page 26: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

46

Activity diagram dari use case menampilkan pilihan gerakan tampak pada

Gambar 3.13. Aktifitas pertama dalam diagram ini adalah menampilkan form

selamat datang dan aktifitas terakhir adalah memilih menu pilihan gerakan

menggunakan kinect cursor. Penjelasan dari activity diagram ini adalah sebagai

berikut :

1. Aktifitas pertama diawali oleh sistem dengan menampilkan form selamat

datang yang memberikan penjelasan singkat mengenai maksud dan tujuan

aplikasi beserta keterangan bahwa aplikasi ini membutuhkan perangkat sensor

Kinect.

2. User akan merespon dengan memilih tombol mulai yang selanjutnya akan

memicu aplikasi untuk menginisialisasi sensor Kinect.

3. Jika sensor Kinect tidak ditemukan akan muncul pesan bahwa aplikasi ini

membutuhkan sensor Kinect. Sedangkan jika ditemukan sensor Kinect maka

akan muncul pesan yang menunjukan proses sensor Kinect sudah tersambung.

4. Setelah sensor Kinect berhasil diinisialisasi, akan muncul menu pilihan

gerakan.

5. Aplikasi akan segera mendeteksi user yang ada di depan sensor Kinect.

6. Jika ditemukan user, selanjutnya aplikasi akan mencari pergerakan telapak

tangan user yang akan menjadi penggerak kinect cursor.

7. User dapat memilih gerakan yang tersedia menggunakan kinect cursor.

Page 27: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

47

b. Activity Diagram dari Use Case Memilih Gerakan

Activity diagram dari use case memilih gerakan tampak pada Gambar 3.14.

Aktifitas pertama dalam diagram ini adalah user mengarahkan kinect cursor

gerakan yang dipilih dan berakhir ketika pilihan gerakan disimpan.

Gambar 3.14 Activity Diagram dari Use Case Memilih Gerakan

user mengarahkan kinect cursor ke gerakan yang dipilih

user mendorong tangan ke arah sensor kinect

user memilih pilihan konfirmasi atau browsing gerakanbrowsing gerakan

sistem menampilkan form informasi detil gerakan

pihan gerakan disimpan

sistemuser

Page 28: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

48

Penjelasan activity diagram ini adalah sebagai berikut :

1. User mengarahkan kinect cursor diatas gerakan yang ingin diketahui

penjelasannya.

2. Sistem akan menampilkan informasi detil gerakan.

3. Untuk memilih gerakan yang ingin dicoba, user mengarahkan kinect cursor di

pilihan yang dikehendaki.

4. User memilih dengan mendorong telapak tangan ke arah sensor kinect.

5. Pilihan gerakan akan disimpan oleh aplikasi untuk mengambil parameter yang

dibutuhkan

c. Activity Diagram dari Use Case Penilaian Gerakan

Activity diagram dari use case penilaian gerakan tampak pada Gambar

3.15. Aktifitas pertama dalam diagram ini adalah menampilkan hitungan mundur

dan diakhiri dengan menampilkan hasil penilaian. Penjelasan dari activity diagram

ini adalah sebagai berikut ;

1. Setelah user memilih pilihan gerakan yang ingin dinilai, sistem akan

memunculkan hitungan mundur sebagai waktu agar user siap.

2. Setelah hitungan mundur habis, user dapat memeragakan gerakan yang dipilih

dan mempertahankan posisi akhirnya.

3. Untuk memberitahu aplikasi bahwa user sudah dalam posisi akhir, user perlu

memberikan perintah suara ke sistem dengan mengucapkan “finish”

4. Aplikasi akan mengambil data derajat per join dari hasil skeleton tracking.

5. Aplikasi akan mengolah data tersebut dengan membandingkannya dengan data

model yang sudah disimpan.

Page 29: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

49

6. Aplikasi menampilkan hasil perbandingan data yang didapat dengan data yang

sudah disimpan beserta tafsirannya.

Gambar 3.15 Activity Diagram dari Use Case Penilaian Gerakan

melakukan gerakan yang dipilih

mengakhiri gerakan yang dipilih dengan mengucapkan "finish"

menampilkan hitungan mundur

mengambil nilai derajat per join

membandingkan nilai user dengan data master

menampilkan hasil penilaian

sistem : Adminuser : User

Page 30: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

50

d. Activity Diagram dari Use Case Memasukkan Data

Gambar 3.16 Activity Diagram dari Use Case Memasukkan Data

masuk ke window update gerakan

memilih gerakan yang ingin direkam datanya

menekan tombol update

gerakan yang dipilih membutuhkan 2 kali pengambilan data?

menekan tombol simpan bawah

menekan tombol simpan bawah

menampilkan list pilihan gerakan

inisialisasi sensor kinect

kinect ditemukan?

skeleton tracking tidak dilakukan

skeleton tracking diaktifkan

mengambil dan menyimpan data sudut persendian sesuai dengan id gerakan yang dipilih

SistemAdmin

Page 31: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

51

3.2.6 Sequence Diagram

Sequence diagram menggambarkan jalannya suatu proses yang melibatkan

object atau instance dari suatu class. Berikut adalah sequence diagram dari aplikasi

ini.

a. Sequence Diagram dari Menampilkan pilihan Gerakan

Sequence diagram dari use case menampilkan pilihan gerakan dapat

dilihat pada Gambar 3.17.

Gambar 3.17 Sequence Diagram dari Menampilkan Pilihan Gerakan

: User : User Splash Screen : splashScreenSplash Screen : splashScreen form Menu : menuform Menu : menu sub page Selection Display : selectionDisplay

sub page Selection Display : selectionDisplay

kinectSensor : skeletonTrackingkinectSensor :

skeletonTrackingDetilGerakan : detilGerakanDetilGerakan : detilGerakan : kinectWindow : kinectWindow

buka( )

tutup( )

buka( )

hoverPilihan( )

createSelectionDisplay(Integer)

createKinectSensorChooser( )

sensorStart( )

void

void

tekanPilihan( )

tutup( )

load(idGerakan)

getDetil(Integer)

getImage(Integer)

loadDetil( )

Page 32: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

52

Penjelasan dari sequence diagram tersebut adalah sebagai berikut :

1. Kegiatan memilih gerakan di trigger ketika user menjalankan file executable

dari aplikasi.

2. Aplikasi akan menampilkan splash screen.

3. User menekan tombol masuk.

4. Splash screen akan menutup dirinya dan memanggil form menu.

5. Form menu akan menngunakan class dari SDK Kinect untuk melakukan

inisialisasi dalam menggunakan sensor Kinect.

6. Jika ditemukan sensor Kinect maka sensor digunakan dalam form Menu.

7. Ketika user meletakan pointer di atas pilihan gerakan, form menu akan

memanggil Selection Display.

8. Ketika Selection Display menginisialisasi untuk tampil, pada saat itu juga

method getDetil dan getImage akan dipanggil yang akan memberikan data-data

yang akan dimuat di halaman Selection Display.

9. Selanjutnya user dapat memilih sebuah gerakan dengan dengan cara menekan

pilihan tersebut lalu form Menu akan menutup dan form Kinect Window akan

dimuat. Form Kinect Window akan terbuka dengan variabel idgerakan yang

dipilih menjadi parameternya.

b. Sequence Diagram dari Memilih Gerakan

Dalam aktifitas memilih gerakan akan digunakan kelas dari SDK yaitu

kelas kinectCursor dan KinectRegion dalam hal mendeteksi pergerakan tangan

pengguna beserta aksi yang akan dilakukan oleh pengguna, yaitu mendorong,

menggenggam, dan menggerakan kursor. Sequence diagram dari penilaian gerakan

dapat dilihat pada Gambar 3.18.

Page 33: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

53

Gambar 3.18 Sequence Diagram dari Memilih Gerakan

Penjelasan dari sequence diagram tersebut adalah sebagai berikut :

1. User menggerakan tangannya di depan sensor sehingga aplikasi akan

menangkap pergerakan tangan.

2. Pergerakan tangan dideteksi oleh program melalui kelas KinectCursor

3. Setelah user terdeteksi, aplikasi akan membuat object hand pointer.

4. Kelas kinectRegion yang berfungsi sebagai content control memiliki area

dalam layar aplikasi dimana hand pointer yang sudah dibuat dapat digunakan.

5. Ketika tangan pengguna bergerak, aplikasi akan mengupdate letak hand

pointer menggunakan metode getPosition.

6. Ketika tangan pengguna mengalami perubahan jarak pada sumbu z atau dapat

dikatakan mendekati sensor, maka kelas KinectCursor akan memproses posisi

: User : User : kinectCursor : kinectCursor : kinectRegion : kinectRegion

: kinectWindow : kinectWindow

capture( )

initializeKinectRegion( )

addHandpointer( )

getPosition( )

getPressTarget( )

getPosition( )

buka(idgerakan)

Page 34: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

54

dari handcursor dan jika terdapat target pilihan maka target tersebut akan

dieksekusi menurut event handler.

c. Sequence Diagram dari Penilaian Gerakan

Sequence diagram dari penilaian gerakan dapat dilihat pada Gambar 3.19.

Gambar 3.19 Sequence Diagram dari Penilaian Gerakan

: User : User form KinectWindow : kinectWindowform KinectWindow : kinectWindow compare : comparecompare : compare panduan : Panduanpanduan : Panduan form WindowHasil : windowHasil

form WindowHasil : windowHasil

charting : chartingcharting : charting

buka(idgerakan)

setPanduan(idgerakan)

setRealisasi(joints[] )

nilai( )

getHasil( )

getPanduanData(idgerakan)

getHasil( )

getPanduan( )

setPanduan( )

setHasil( )

Page 35: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

55

Penjelasan dari sequence diagram tersebut adalah sebagai berikut :

1. Form Kinect Window dibuka atas dasar kegiatan aktifitas user sebelumnya

dalam form Menu yang disertai dengan penyampaian parameter idgerakan.

2. Form Kinect Window akan mengambil nilai panduan dari gerakan yang

dimaksud dan menampungnya dalam array joint sesuai dengan parameter

idgerakan.

3. Ketika user dalam keadaan stabil dan mengucapkan voice command untuk

memerintahkan aplikasi untuk masuk ke tahap penilaian maka akan dipanggil

metode setRealisasi yang akan menjadi array joint yang akan dibandingkan.

4. Setelah itu akan dipanggil method nilai yang akan melakukan perhitungan

untuk membandingkan dua data yang sudah didapat sebelumnya untuk

mendapatkan hasil melalui metode getHasil dalam kelas compare.

5. Kelas compare juga akan memanggil metode setHasil dan setPanduan unttuk

menampung data ke tabel charting untuk membantu proses penyajian data.

6. Lalu form Kinect Window akan memanggil form Window Hasil dimana

sebelum dimuat akan mencari data dalam tabel charting yang digunakan untuk

penyajian data penilaian.

d. Sequence Diagram Memasukkan Data

Sequence diagram dari penilaian gerakan dapat dilihat pada Gambar 3.20.

Penjelasan dari sequence diagram ini adalah sebagai berikut :

1. Admin membuka form maintenance

2. Form maintenance akan memuat data panduan dari tabel panduan

3. Admin memasukkan idposisi yang ingin diubah lalu form maintenance akan

memanggil form update

Page 36: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

56

4. Form update akan menginisialisasi kelas skeletonTracking dari kelas yang ada

di Kinect SDK

5. Admin dapat menyimpan data derajat per join dari pembacaan sensor Kinect ke

tabel panduan setelah memilih tombol update.

Gambar 3.20 Sequence Diagram dari Memasukkan Data

3.2.7 Class Diagram

Berdasarkan rancangan pemodelan diatas, maka dibutuhkan beberapa

kelas untuk dapat menjalankan fungsi-fungsi yang ada dalam aplikasi ini. Kelas –

kelas tersebut tampak pada class diagram pada Gambar 3.13. Class diagram ini

berisi kelas-kelas utama yang dibutuhkan beserta hubungan antar kelas. Tiap kelas

: Admin : Admin form maintenance : maintenanceform maintenance : maintenance form update : updateform update : update tabel panduan : Panduantabel panduan : Panduankontrol form update : skeletonTracking

kontrol form update : skeletonTrackingbuka( )

showDataPosisi( )

buka(idposisi)

tracking( )

getJointDegree( )

collectAllJointDegree( )

update( )

Page 37: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

57

diwakili oleh sebuah kotak yang terbaki menjadi 3 kolom yaitu nama kelas, atribut

kelas dan metode kelas. Masing-masing kelas tersebut memiliki relasi ke kelas yang

lainnya. Selain kelas-kelas yang ada pada diagram kelas yang dapat dilihat pada

Gambar 3.21, aplikasi ini juga akan menggunakan kelas-kelas yang disediakan oleh

SDK Kinect.

Gambar 3.21 Class Diagram Aplikasi Penilaian Posisi Karate

Page 38: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

58

a. Kelas Maintenance

Kelas Maintenance digunakan dalam proses awal update data panduan

pada form maintenance. Fungsi utamanya adalah menampilkan data posisi. Struktur

kelas ini dapat dilihat pada Gambar 3.22.

Gambar 3.22 Kelas Maintenace

b. Kelas Update

Kelas Update digunakan dalam proses update data panduan. Fungsi

utamanya mengubah data pada database yang memiliki id posisi yang sama dengan

atribut dari kelas ini dengan hasil tangkapan sensor Kinect yang didapat dari metode

collectAllJointDegree. Struktur kelas ini dapat dilihat pada Gambar 3.23.

Gambar 3.23 Kelas Update

c. Kelas Panduan

Kelas Panduan digunakan dalam proses mengambil data panduan. Fungsi

utamanya mengambil data pada tabel panduan lalu menampungnya pada sebuah

array. Struktur kelas ini dapat dilihat pada Gambar 3.24.

Page 39: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

59

Gambar 3.24 Kelas Panduan

d. Kelas Detil Gerakaan

Kelas Detil Gerakan digunakan dalam proses mengambil data informasi

gerakan pada database. Fungsi utamanya mengambil data gambar dan keterangan

mengenai gerakan pada tabel Informasi Gerakan lalu menampilkannya pada form

Selection Display. Struktur kelas ini dapat dilihat pada Gambar 3.25.

Gambar 3.25 Kelas Detil Gerakan

e. Kelas Compare

Kelas Compare digunakan dalam proses perbandingan data dari derajat

join dari hasil pembacaan sensor Kinect dengan derajat joint dari tabel Panduan.

Fungsi utamanya mengambil data panduan posisi dari basis data, hasil bacaan

sensor Kinect dan memprosesnya. Struktur kelas ini dapat dilihat pada Gambar

3.26.

Page 40: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

60

Gambar 3.26 Kelas Compare

f. Kelas Kinect Window

Kelas kinectWindow digunakan dalam proses inisialisasi form Kinect

Window beserta kegiatan yang terjadi di form ini. Struktur kelas ini dapat dilihat

pada Gambar 3.27.

Gambar 3.27 Kelas Kinect Window

Page 41: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

61

g. Kelas Selection Display

Kelas selectionDiplay digunakan dalam proses form Menu memuat detil

gerakan ke halaman Selection Display. Fungsi utamanya adalah mengambil data

dari tabel Informasi Gerakan. Struktur kelas ini dapat dilihat pada Gambar 3.28.

Gambar 3.28 Kelas Selection Display

h. Kelas Skeleton Tracking

Kelas skeletonTracking digunakan dalam proses inisialisasi sensor Kinect.

Fungsi utamanya menyalakan sensor Kinect untuk menjalankan skeleton tracking.

Struktur kelas ini dapat dilihat pada Gambar 3.29.

Gambar 3.29 Kelas Skeleton Tracking

Kelas ini memiliki atribut yang berasal dari enumeration dengan struktur yang

tampak pada Gambar 3.30.

Page 42: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

62

Gambar 3.30 Struktur Properti dari Kelas Skeleton Tracking

3.2.8 Struktur Tabel

Aplikasi ini memerlukan sebuah basis data yang mampu menyediakan

berbagai data yang diperlukan dalam menjalankan berbagai fungsi. Basis data ini

terdiri dari beberapa tabel yang sesuai dengan kebutuhan aplikasi ini. Perancangan

basis data ini dilakukan dengan pemodelan data secara konseptual yang

menghasilkan diagram Contextual Data Diagram (CDM) lalu diolah lagi menjadi

bentuk fisik yang sesuai dengan target basis data (Microsoft SQL Server 2008) yang

digunakan yang menghasilkan Physical Data Model (PDM). Pada bagian akhir

akan dijelaskan mengenai kamus data dari struktur tabel yang digunakan.

a. CDM

Diagram CDM dari struktur tabel yang akan digunakan tampak pada

Gambar 3.31.

Page 43: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

63

Gambar 3.31 Contextual Data Model dari Aplikasi Penilaian Posisi Karate

b. PDM

Diagram PDM dari struktur tabel yang akan digunakan tampak pada

Gambar 3.32.

dimilik i

dimilik i

informasi gerakan memilik i

charting

* degree Short integer

Joint

#

*

idjoint

namajoint

Variable characters (2)

Text

charting tipe dataset

#

o

idtipe

nama tipe

Characters (1)

Text

informasi gerakan

#

*

*

o

o

*

idgerakan

namagerakan

gambarutuh

gambar2

gambar3

keterangan

Variable characters (2)

Text

Image

Image

Image

Text

panduan

*

*

*

*

*

*

*

*

*

*

*

*

l1

r2

l3

r4

l5

r6

l7

r8

l9

r10

l11

r12

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Integer

Page 44: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

64

Gambar 3.32 Physical Data Model dari Aplikasi Penilaian Posisi Karate

c. Kamus Data

Dalam pengembangan aplikasi ini, digunakan beberapa tabel untuk

menyimpan berbagai data penting. Tabel tersebut adalah tabel Joint, tabel Charting

tabel Tipe Dataset, tabel Panduan dan tabel Informasi Gerakan. Berikut adalah

penjelasan tentang tabel-tabel yang dipakai beserta kamus data dari tabel yang

bersangkutan.

charting

idjoint

idtipe

degree

varchar(2)

char(1)

smallint

<fk1>

<fk2>

Joint

idjoint

namajoint

varchar(2)

text

<pk>

charting tipe dataset

idtipe

nama tipe

char(1)

text

<pk>

informasi gerakan

idgerakan

namagerakan

gambarutuh

gambar2

gambar3

keterangan

varchar(2)

text

image

image

image

text

<pk>

panduan

idgerakan

l1

r2

l3

r4

l5

r6

l7

r8

l9

r10

l11

r12

varchar(2)

int

int

int

int

int

int

int

int

int

int

int

int

<fk>

Page 45: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

65

c.1 Tabel Joint

Primary key : idjoint

Foreign key : -

Fungsi :

menyimpan nama-nama joint yang ada

Struktur tabel :

Tabel 3.7 Kamus Data Tabel Joint

Nama Tipe Data Mandatory Keterangan

idjoint varchar(2) Ya -

namajoint text Ya -

c.2 Tabel Charting

Primary key : -

Foreign key : idjoint, idtipe

Fungsi :

menampung panduan derajat dari posisi yang dipilih dan derajat dari hasil

pembacaan sensor kinect yang dikelompokkan menurut idtipe

Struktur tabel :

Tabel 3.8 Kamus Data Tabel Charting

Nama Tipe Data Mandatory Keterangan

idjoint varchar(2) Ya -

idtipe char(1) Ya -

degree integer Ya Derajat dari perjoin

c.3 Tabel Tipe Dataset

Primary key : idtipe

Foreign key : -

Fungsi :

Page 46: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

66

menampung tipe dari jenis data yang akan disimpan ke tabel charting, yaitu

panduan atau hasil

Struktur tabel :

Tabel 3.9 Kamus Data Tabel Tipe Dataset

Nama Tipe Data Mandatory Keterangan

idtipe char(1) Ya -

nama tipe text Ya Tipe dibagi menjadi dua yaitu

tipe hasil dan tipe panduan

c.4 Tabel Panduan

Primary key : -

Foreign key : idgerakan

Fungsi :

Menampung derajat dari posisi akhir gerakan yang disimpan berupa susunan

12 joint.

Struktur tabel :

Tabel 3.10 Kamus Data Tabel Panduan

Nama Tipe Data Mandatory Keterangan

idgerakan varchar(2) Ya

l1 integer Ya Bahu kiri

r2 integer Ya Bahu kanan

l3 integer Ya Siku kiri

r4 integer Ya Siku kanan

l5 integer Ya Pergelangan tangan kiri

r6 integer Ya Pergelangan tangan kanan

l7 integer Ya Panggul kiri

r8 integer Ya Panggul kanan

l9 integer Ya Lutut kiri

r10 integer Ya Lutut kanan

l11 integer Ya Pergelangan kaki kiri

r12 integer Ya Pergelangan kaki kanan

Page 47: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

67

c.5 Tabel Informasi Gerakan

Primary key : idgerakan

Foreign key : -

Fungsi :

Menampung keterangan yang akan ditampilkan di kelas selectionDisplay()

yang terdiri dari nama gerakan, gambar utama, gambar tambahan kedua,

gambar tambahan ketiga dan keterangan mengenai gerakan tersebut.

Struktur tabel :

Tabel 3.11 Kamus Data Tabel Informasi Gerakan

Nama Tipe Data Mandatory Keterangan

idgerakan varchar(2) Ya

namagerakan integer Ya

gambarutuh image Ya

gambar2 image Ya

gambar3 image Ya

keterangan text Ya

3.2.9 Desain User Interface

Tampilan user interface yang didesain diarahkan ke arah minimalis dan

sederhana. Desain ini sangat diperlukan untuk membantu dalam proses

pengembangan aplikasi. Dalam aplikasi ini ada beberapa form utama yaitu :

a. Desain Splash Screen

Form Splash Screen adalah halaman awal mengenai aplikasi yang dibuat.

Pengguna aplikasi dapat melihat keterangan mengenai aplikasi dan gerakan yang

dapat dinilai. Perancangan tampilan untuk form Splash Screen ini dapat dilihat pada

Gambar 3.33.

Page 48: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

68

Aplikasi Penilaian Posisi Karate Menggunakan Sensor Kinect

Selamat datang di aplikasi penilaian posisi karate menggunakan sensor kinect.Aplikasi ini akan membantu anda untuk menilai posisi tubuh dalam melakukan gerakan karate.Gerakan Karate yang ada adalah sebagai berikut :1.2.3.

Mulai

Gambar 3.33 Desain Form Splash Screen

Pada Form ini pengguna aplikasi dapat menutup program dengan

menggunakan close button yang disediakan di kanan atas form. Pengguna aplikasi

dapat menuju form selanjutnya dengan memilih tombol mulai.

b. Desain Form Menu

Form Menu adalah halaman aplikasi yang menampilkan seluruh daftar

gerakan yang dapat dinilai oleh aplikasi ini. Mulai dari form ini, sensor Kinect

dideteksi dan digunakan untuk menangkap pergerakan tangan pengguna aplikasi

sebagai masukan dari penggerak kinect cursor. Terdapat kinect tile button yang

dapat dipilih menggerakkan tetikus secara normal ataupun menggunakan

pergerakan tangan yang sudah terdeteksi oleh sensor Kinect. Dalam menggunakan

kinect cursor, pengguna dapat memilih sebuah gerakan dengan cara mendorong

tangannya mendekati sensor Kinect. Perancangan tampilan untuk form Menu ini

dapat dilihat pada Gambar 3.34.

Page 49: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

69

Aplikasi Penilaian Posisi Karate Menggunakan Sensor Kinect

1 2 3 4

Silahkan memilih gerakan yamg ingin dinilai :

Gambar 3.34 Desain Form Menu

Pada form ini terdapat Kinect vertical scroll yang berguna untuk

menjelajah pilihan gerakan yang ada di halaman selanjutnya. Kinect vertical scroll

ini dapat digunakan dengan cara meletakkan Kinect cursor button di atas Kinect

vertical scroll, setelah itu secara otomatis daftar pilihan akan bergerak ke kiri atau

kanan sesuai dengan Kinect vertical scroll yang dipilih.

c. Desain Form Selection Display

Form Selection Display adalah halaman aplikasi yang menampilkan detil

gerakan yang telah dipilih pengguna aplikasi dari form sebelumnya, form Menu. Di

dalam form ini akan ditampilkan detail singkat gerakan beserta gambar yang

menjelaskan posisi tubuh yang benar. Perancangan tampilan untuk form Selection

Display dapat dilihat di Gambar 3.35.

Page 50: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

70

Aplikasi Penilaian Posisi Karate Menggunakan Sensor Kinect

Detil gerakan:...........................................................................................................

Gambar Ilustrasi penuh, sebagian, dan ground

stance

Gambar 3.35 Desain Form Selection Display

Di dalam form Selection Display ini terdapat dua tombol, yaitu tombol

kembali dan tombol mulai. Form ini merupakan sub form dari Menu dimana akan

tampil jika pengguna aplikasi meletakkan kursor tetikus maupun hand cursor diatas

informasi gerakan. Tampilan form ini akan ditampilkan selama 10 detik dan akan

hilang secara otomatis setalh 10 detik.

d. Desain Form Kinect Window

Form Kinect Window adalah form yang menampilkan proses dan data

penting yang akan diproses oleh aplikasi dalam proses penilaian posisi tubuh. Di

dalam form ini akan ditampilkan hasil penangkapan sensor dan skeleton yang sudah

terdeteksi. Dari skeleton yang sudah terdeteksi akan ditampilkan data tambahan

berupa derajat skeleton line per joint. Form ini mutlak membutuhkan sensor Kinect,

jika sensor Kinect tidak ditemukan maka muncul pesan kesalahan bahwa sensor

Kinect tidak ditemukan. Perancangan tampilan untuk form Kinect Window ini

dapat dilihat pada Gambar 3.36.

Page 51: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

71

Aplikasi Penilaian Posisi Karate Menggunakan Sensor Kinect

Sensor Setting

Sensor Setting

Sensor Setting

Sensor Setting

MulaiKembali

Tampilan sensorTampilan skeleton data dengan derajat per join

Informasi posisi(terlalu dekat/jauh)

Gambar 3.36 Desain Form Kinect Window

Akan muncul peringatan jika pengguna aplikasi tidak berada dalam jarak

ideal dari sensor Kinect berupa garis merah dalam tampilan sensor di kanan atas.

Peringatan ini akan hilang ketika skeleton pengguna berhasil dilacak oleh sensor

Kinect.

e. Desain Form Window Hasil

Form Window Hasil adalah form yang menampilkan informasi tentang

proses penilaian yang sudah dilakukan aplikasi. Form ini akan menampilkan data

perbandingan dari data pengguna aplikasi dan data dari posisi yang sudah

tersimpan. Di dalam form ini akan disajikan data tabular dari data perbandingan

dan data berupa grafik untuk melengkapi. Hasil penilaian posisi direpresntasikan

melalui nilai persentase yang ada di form ini. Perancangan tampilan untuk form

Hasil dapat dilihat pada Gambar 3.37.

Page 52: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

72

Aplikasi Penilaian Posisi Karate Menggunakan Sensor Kinect

menu pilihan gerakanKembali

Hasil per join dan data model

NILAI

Keterangan kesalahan posisi

Gambar 3.37 Desain Form Window Hasil

Form ini memiliki dua tombol yaitu kembali dan menu pilihan gerakan.

Tombol kembali berfungsi untuk kembali melakukan penilian pada posisi yang

dipilih. Sedangkan tombol kembali ke menu pilihan gerakan berfungsi untuk

menampilkan form Menu sehingga pengguna aplikasi bisa memilih gerakan lain.

3.3 Rancangan Pengujian Sistem

Pengujian sistem akan dilaksanakan dengan dua metode yaitu Blackbox

dan yang fokus pada correctness testing. Uji coba dengan metode Blackbox akan

memastikan fungsionalitas aplikasi berjalan sesuai dengan yang diharapkan tanpa

melihat struktur internal (Khan, 2010). Pelaksanaan uji coba sistem ini akan

mengacu ke rencana tes yang akan dijelaskan di bagian berikutnya.

Page 53: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

73

3.3.1 Rancangan Pengujian dengan Metode Blackbox

a. Test Case Fungsi Memilih Gerakan

Tabel 3.12 Test Case Fungsi Memilih Gerakan

Keterangan Use Case Flow Hasil yang diharapkan

Nama

Memilih gerakan

Deskripsi

Fitur ini adalah fitur

yang berguna bagi

pengguna dalam

memilih gerakan yang

ingin dinilai

Main Flow

Aktor Sistem

Memilih Gerakan

dengan menggunakan

Sensor Kinect

1. Menjalankan

aplikasi

2. Menekan tombol

masuk

3. Inisialisasi sensor

Kinect

4. Menggerakan

telapak tangan di

depan sensor

5. Menggengam dan

menggeser tangan di

pilihan “heishoku”

6. Meletakkan kinect

hand cursor diatas

informasi detil

“heishoku”

7. Memilih gerakan

“heishoku” dengan

cara mendorong

telapak tangan

mendekati sensor

H1. Splash screen

ditampilkan

H2. Menu Pilihan

ditampilkan

H3. Sensor Kinect

menyala & tersambung

H4. Kinect hand cursor

ditampilkan

H5. Pilihan gerakan akan

bergeser ke arah tangan

bergeser dengan patokan

tile “heishoku”

H6. Selection display

dari “heishoku”

ditampilkan

H7. Kinect Window

dengan parameter

idgerakan “heishoku”

ditampilkan

Alternate Flow

Memilih Gerakan

tanpa menggunakan

Sensor Kinect

1. Menjalankan

aplikasi

2. Menekan tombol

masuk

3. Inisialisasi sensor

Kinect

4. Meletakkan cursor

diatas informasi

detil “heishoku”

H1. Splash screen

ditampilkan

H2. Menu Pilihan

ditampilkan

H3. Tidak ditemukan

sensor

H4. Selection display

dari “heishoku”

ditampilkan

Page 54: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

74

Keterangan Use Case Flow Hasil yang diharapkan

5. Meletakkan cursor

diatas tombol panah

kanan

6. Memilih gerakan

dengan cara

mengklik tile

“heishoku”

H5. Pilihan gerakan akan

bergeser ke kanan

H6. Kinect Window

dengan parameter

“heishoku” ditampilkan

b. Test Case Fungsi Penilaian gerakan

Tabel 3.13 Test Case Fungsi Penilaian Gerakan

Keterangan Use Case Flow Hasil yang diharapkan

Nama

Penilaian Gerakan

Deskripsi

Fitur ini adalah fitur

yang berguna bagi

pengguna dalam proses

penilaian

Main Flow

Aktor Sistem

Menilai Gerakan

1. Memilih gerakan

“heishoku”

2. Inisialisasi sensor

Kinect

3. Berada di posisi

dimana sensor

Kinect dapat

membaca

pergerakan tubuh

4. Melakukan gerakan

dan pada akhir

gerakan

mengucapkan

“finish”

H1. Kinect Window

ditampilkan dengan

nama gerakan

“heishoku” ditampilkan

H2. Sensor Kinect

menyala

H3. Skeleton tracking

ditampilkan

H4. Window Hasil

penilaian heishoku

ditampilkan

Alternate Flow

Tidak ada

Page 55: BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ...repository.dinamika.ac.id/id/eprint/1123/6/BAB_III.pdf21 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan Proses

75

c. Test Case Fungsi Pembaruan Data

Tabel 3.14 Test Case Fungsi Pembaruan Data

Keterangan Use Case Flow Hasil yang diharapkan

Nama

Memasukkan data

Deskripsi

Fitur ini adalah fitur

yang berguna bagi

Admin dalam

melakukan perubahan

data model dengan

memasukkan data baru

Main Flow

Aktor Sistem

Update Data Gerakan

1. Menekan tombol

Ctrl+H di saat yang

bersamaan

2. Memilih gerakan

“heishoku” untuk

diupdate

3. Sensor Kinect

dinisialisasi

4. Hasil baca sensor

disampaikan ke

aplikasi

5. Admin memilih

tombol simpan

H1. Form Data

ditampilkan

H2. Data joint

ditampilkan di data

gridview

H3. Sensor Kinect

menyala & tersambung

H4. Data 12 joint

ditampilkan

H5. Tabel Panduan

dengan nama “heishoku”

ter-update

Alternate Flow

Tidak ada