• Tidak ada hasil yang ditemukan

TA : Aplikasi Virtual Punch Training Menggunakan Microsoft Xbox Kinect.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Aplikasi Virtual Punch Training Menggunakan Microsoft Xbox Kinect."

Copied!
77
0
0

Teks penuh

(1)

TUGAS AKHIR

Nama : Wira Wanangsyah NIM : 08.41010.0438 Program : S1 (Strata Satu) Jurusan : Sistem Informasi

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

(2)

vii

Microsoft merilis sebuah sensor bernama Kinect berfungsi sebagai kontrol game alternatif dimana user dapat bergerak bebas menggunakan tubuhnya saat berinteraksi dengan menu virtual atau bermain game. Salah satu contohnya Kinect Sports : Boxing, didalam game tersebut tidak terdapat tampilan pengukuran kecepatan dan kekuatan pukulan.

Dari permasalahan yang ada maka diusulkan sebuah aplikasi yang dapat menghitung kecepatan dan kekuatan sebuah pukulan menggunakan teknologi sensor Kinect. Perhitungan kecepatan dan kekuatan pukulan menggunakan rangkaian rumus menghitung kecepatan dan Energi Kinetik. Kemudian nilai yang dihasilkan dari perhitungan tersebut dijadikan parameter performa saat melakukan latihan pukulan, lalu nilai performa akan dibuat peringkat dengan cara membandingkan setiap nilai tertinggi yang telah dibuat pada latihan sebelumnya agar dapat ditemukan nilai tertinggi yang baru.

(3)

Halaman

ABSTRAK...vii

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvii

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN ... 1

1.1 LATAR BELAKANG ... 1

1.2 PERUMUSAN MASALAH ... 3

1.3 BATASAN MASALAH ... 3

1.4 TUJUAN ... 4

1.5 SISTEMATIKA PENULISAN ... 5

BAB II LANDASAN TEORI ... 7

2.1 Menghitung Kecepatan Menggunakan Kinect ... 7

2.2 Energi Kinetik ... 7

2.3 Bagian Tubuh Manusia ... 8

2.4 Microsoft Xbox Kinect ... 10

2.5 Microsoft Kinect SDK ... 12

2.6 Bahasa Pemograman C# ... 14

2.7 UML ... 15

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 17

(4)

3.1.2 Mengukur Kekuatan Pukulan ... 19

3.1.3 Spesifikasi Perangkat Lunak ... 21

3.1.4 Inisialisasi Kinect ... 22

3.1.5 Mendeteksi Objek dan Drawing User ... 23

3.1.6 Menampilkan Video Stream dan Depth Stream ... 27

3.1.7 Melakukan Pengaturan User Joint ... 28

3.2 Model Pengembangan Sistem... 30

3.3 Use Case Diagram Aplikasi Virtual Punch Training ... 31

3.4 Activity Diagram ... 31

3.4.1 Activity Diagram untuk Use Case Memilih Options ... 31

3.4.2 Activity Diagram untuk Use Case Melakukan Training ... 33

3.4.3 Activity Diagram untuk Use Case Menyimpan Hasil Training ... 34

3.5 Sequence Diagram ... 35

3.5.1 Sequence Diagram Memilih Options ... 35

3.5.2 Sequence Diagram Melakukan Training ... 36

3.5.3 Sequence Diagram Menyimpan Hasil Training... 37

3.6 Class Diagram ... 37

3.6.1 Class Diagram Main Menu ... 38

3.6.2 Class Diagram Virtual Punch Training ... 39

3.6.3 Class Diagram HoverButton ... 40

3.6.4 Class Diagram Options ... 40

3.6.5 Class Diagram Runtime ... 41

(5)

3.6.8 Class Diagram SolidColorBrush ... 42

3.6.9 Class Diagram Hitung Performa... 43

3.6.10Class Diagram Score ... 43

3.7 Desain User Interface ... 44

3.7.1 Desain User Interface Form Menu Utama ... 44

3.7.2 Desain User Interface Form Training ... 45

3.7.3 Desain User Interface Form Options ... 45

3.7.4 Desain User Interface Form High Score... 46

3.7.5 Desain User Interface Form Preview Result... 46

BAB IV IMPLEMENTASI SISTEM DAN EVALUASI ... 48

4.1 Implementasi Sistem ... 48

4.1.1 Instalasi dan Kebutuhan Perangkat ... 48

4.2 Penjelasan Hasil Implementasi ... 50

4.2.1 Form Menu Utama ... 50

4.2.2 Form Settings ... 51

4.2.3 Form Play ... 51

4.2.4 Form Hasil Latihan ... 52

4.2.5 Form High Score ... 52

4.3 Uji Coba Fungsionalitas Aplikasi dan Pembahasan ... 53

4.3.1 Proses Mendeteksi User ... 53

4.3.2 Proses Navigasi Menu ... 54

4.3.3 Proses Mengubah Settings ... 54

(6)

4.3.6 Proses Menghitung Kekuatan Pukulan ... 58

4.3.7 Proses Menampilkan Grafis Latihan ... 59

4.3.8 Proses Menampilkan Nilai Tertinggi ... 60

4.4 Evaluasi... 61

BAB V PENUTUP ... 64

5.1 Kesimpulan ... 64

5.2 Saran ... 64

DAFTAR PUSTAKA ... 66

LAMPIRAN ...67

Lampiran 1. Biodata Penulis Dan Riwayat Pendidikan ... 67

(7)

Halaman

Gambar 2.1 Jarak threshold ... 7

Gambar 2.2 Human Segments ... 9

Gambar 2.3 Joints dan Orientation pada Kinect ... 12

Gambar 2.4 Arsitektur Kinect ... 14

Gambar 3.1 Mengukur Kecepatan Jab ... 19

Gambar 3.2 Mengukur Kecepatan Jab 2 ... 19

Gambar 3.3 Flowchart Inisialisasi Kinect ... 22

Gambar 3.4 Flowchart RuntimeFrameReady ... 24

Gambar 3.5 Flowchart DrawPoint ... 25

Gambar 3.6 Flowchart pendeteksian kecepatan dan hantaman ... 26

Gambar 3.7 Flowchart ColorImageReady ... 27

Gambar 3.8 Flowchart DepthImageReady ... 28

Gambar 3.9 Flowchart ScaleJoint ... 29

Gambar 3.10 Flowchart ScaledPosition ... 29

Gambar 3.12 Use Case Diagram Aplikasi Virtual Punch Training ... 31

Gambar 3.13 Activity Diagram untuk Use Case Memilih Options ... 32

Gambar 3.14 Activity Diagram untuk Use Case Melakukan Training ... 33

Gambar 3.15 Activity Diagram untuk Use Case Menyimpan Hasil Training ... 34

Gambar 3.16 Sequence Diagram Memilih Options ... 35

Gambar 3.17 Sequence Diagram Melakukan Training ... 36

Gambar 3.18 Sequence Diagram Menyimpan Hasil Training ... 37

(8)

Gambar 3.21 Class Diagram Virtual Punch Training ... 39

Gambar 3.22 Class Diagram HoverButton ... 40

Gambar 3.23 Class Diagram Options ... 40

Gambar 3.24 Class Diagram Runtime ... 41

Gambar 3.25 Class Diagram RuntimeData ... 41

Gambar 3.26 Class Diagram BitmapSource ... 42

Gambar 3.27 Class Diagram SolidColorBrush ... 42

Gambar 3.28 Class Diagram Hitung Performa... 43

Gambar 3.29 Class Diagram Score ... 43

Gambar 3.30 Desain User Interface Form Menu Utama ... 44

Gambar 3.31 Desain User Interface Form Training ... 45

Gambar 3.32 Desain User Interface Form Options ... 46

Gambar 3.33 Desain User Interface Form High Score... 46

Gambar 3.34 Desain User Interface Form Preview Result... 47

Gambar 4.1 Form Menu Utama ... 50

Gambar 4.2 Form Settings ... 51

Gambar 4.3 Form Play ... 51

Gambar 4.4 Form Hasil Latihan ... 52

Gambar 4.5 Form High Score ... 52

Gambar 4.6 Proses pendeteksian User ... 54

Gambar 4.7 Proses navigasi Menu ... 54

Gambar 4.8 Uji Coba Settings ... 55

(9)
(10)

Halaman

Tabel 2.1 Persentase berat anggota tubuh ... 9

Tabel 2.2 Persentase rata-rata berat anggota tubuh ... 9

Tabel 4.1 Deskripsi Tombol ... 50

Tabel 4.2 Uji Coba Pendeteksian User ... 53

Tabel 4.3 Uji Coba Settings ... 55

Tabel 4.4 Keluaran Kecepatan Pukulan ... 57

Tabel 4.5 Uji Coba Menghitung Kecepatan Pukulan... 57

Tabel 4.6 Keluaran Kekuatan Pukulan... 58

Tabel 4.7 Uji Coba Menghitung Kekuatan Pukulan ... 58

(11)
(12)

1 BAB I PENDAHULUAN

1.1 LATAR BELAKANG

Bill Gates, salah satu pemilik dan pendiri perusahaan raksasa didunia, Microsoft, menjawab tantangan dan impiannya bahwa “sebuah mesin permainan dimana kita bisa mengambil bat dan mengayunkannya atau mengambil raket tenis dan mengayunkan raket tersebut” (Webb and Ashley, 2012) dengan membuat sebuah alat bernama Kinect Sensor (Kinect). Kinect sendiri dibuat khusus oleh Microsoft untuk menjadi sebuah alat pengendali pada konsol game, Microsoft Xbox 360. Kinect merupakan video recognition sensor yang terdiri atas 3 kamera dan 4 mic-array, sehingga memungkinkan user untuk berinteraksi dengan game Xbox 360 tanpa menggunakan joystik (Xbox 360 Controller). Kinect dapat digunakan dengan sangat mudah, cukup berdiri atau duduk di depan Kinect selanjutnya Kinect akan mendeteksi seluruh gerakan tubuh user selama dalam jangkauan kamera Kinect yang jarak optimumnya antara 1.2 meter sampai 3.5 meter.

(13)

seberapa kuat pukulan user dan bagaimana performa kekuatan user dalam melakukan pukulan.

Dari kekurangan game tersebut maka akan dikembangkan sebuah aplikasi yang dapat menghitung dan menampilkan kekuatan pukulan ke objek target. Sehingga dapat diketahui seberapa kuat tenaga pukulan dan bagaimana performa kekuatan dalam melakukan gerakan pukulan. Untuk dapat menghitung kekuatan pukulan, maka diperlukan beberapa rangkaian rumus fisika, data masukan yang dibutuhkan berupa berat badan user dan kecepatan gerakan tangan dalam melakukan pukulan ke arah target, agar diperoleh data kecepatan pukulan dan tenaga pukulan. Selanjutnya user akan diberi nilai berdasar kekuatan pukulan, dan nilai tersebut akan dikumpulkan untuk waktu tertentu agar bisa dibuat peringkat, sehingga user dapat melihat berapa rekor nilainya untuk setiap ronde.

(14)

1.2 PERUMUSAN MASALAH

Sesuai dengan latar belakang di atas, ruang lingkup permasalahan yang akan diselesaikan adalah sebagai berikut :

a. Bagaimana membuat sistem yang dapat menghitung kecepatan dan kekuatan pukulan dari user.

b. Bagaimana membuat sebuah aplikasi yang dapat menerapkan cara menghitung dengan penerapan Energi Kinetik berdasarkan masukan dari user menggunakan Kinect.

c. Bagaimana membuat aplikasi yang dapat menampilkan performa user dalam melakukan latihan pukulan berdasarkan parameter kekuatan pukulan.

1.3 BATASAN MASALAH

Agar tujuan tugas akhir ini menjadi lebih fokus dengan harapan untuk memperoleh hasil yang maksimal, maka perlu adanya batasan masalah sebagai berikut :

1. Sensor yang digunakan dalam aplikasi ini adalah Microsoft Xbox 360 Kinect.

2. Pukulan yang dimaksud adalah pukulan lurus ke arah sensor Kinect, dan user menghadap ke Kinect.

3. Tidak membahas peraturan Tinju.

4. Aplikasi yang dibuat hanya untuk perorangan, tidak dapat digunakan untuk lebih dari satu orang secara bersamaan.

(15)

Kinect hanya dapat mendeteksi gerakan user dari arah depan. Adanya delay dalam Runtime Tracking dan Depth Tracking dikarenakan Frame-rate Per Second yang rendah, kurang lebih 24FPS dan kamera masih menggunakan low definiton.

6. Rumus perhitungan yang dipakai adalah penerapan dari perhitungan Energi Kinetik.

7. Target pukulan berupa tampilan virtual.

8. Performa dan daya tahan yang dimaksud adalah berdasarkan parameter kekuatan pukulan.

9. Aplikasi ini dibuat menggunakan Microsoft Kinect SDK v1.7 dan menggunakan Visual Studio 2010 bahasa pemograman C#.

1.4 TUJUAN

Beberapa tujuan dalam tugas akhir ini adalah sebagai berikut :

1. Menerapkan rumus fisika untuk membaca kecepatan dan tenaga pukulan user menggunakan Kinect dan menerapkan rumus tersebut kedalam sebuah aplikasi.

2. Menghasilkan aplikasi yang menerapkan rumus fisika yang sudah ditentukan agar dapat digunakan dalam berbagai bidang misal olahraga tinju sebagai alat ukur tenaga pukulan dari atlit atau sebagai alat ukur performa pukulan atlit tinju saat melakukan latihan.

(16)

1.5 SISTEMATIKA PENULISAN

Sistematika penulisan tugas akhir yang berjudul “Aplikasi Virtual Punch Training Menggunakan Microsoft Xbox Kinect” sebagai berikut:

BAB I : PENDAHULUAN

Bab ini menjelaskan gambaran umum penulisan yang berisi latar belakang masalah, perumusan masalah, batasan masalah, tujuan, dan keterangan mengenai sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini akan menjelaskan tentang teori mencari kecepatan gerak sebuah objek menggunakan Kinect, kemudian menghitung tenaga gerakan tersebut menggunakan parameter energi kinetik, menjelaskan tentang berat bagian tubuh manusia, penjelasan tentang Kinect beserta SDKnya, serta pembahasan tentang bahasa pemograman C# dan UML.

BAB III : PERANCANGAN SISTEM

Bab ini menjelaskan mengenai analisis permasalahan, model perancangan sistem, diagram blok Virtual Punch Training, bagaimana mengukur kecepatan jab, mengukur kekuatan pukulan, spesifikasi perangkat lunak, use case diagram aplikasi Virtual Punch Training, Activity diagram dari aplikasi Virtual Punch Training, sequence diagram aplikasi Virtual Punch Training, class diagram aplikasi Virtual Punch Training dan desain input-output dari aplikasi Virtual Punch Training,

BAB IV : IMPLEMENTASI SISTEM DAN EVALUASI

(17)

program Virtual Punch Training dan hasil implementasi dari program, serta melakukan pengujian terhadap aplikasi Virtual Punch Training yang telah dibuat beserta pengujian terhadap kemampuan Kinect apakah dapat menyelesaikan permasalahan yang dihadapi sesuai dengan yang diharapkan.

BAB V : PENUTUP

(18)

7

BAB II

LANDASAN TEORI

2.1 Menghitung Kecepatan Menggunakan Kinect

Untuk menghitung kecepatan menggunakan Kinect dibutuhkan sebuah masukan berupa posisi objek dan waktu yang ditempuh objek. (Catuhe, 2012 dan Microsoft, 2012). Nilai masukan dapat diperoleh dari Runtime Tracking atau Depth Tracking. Cara mendapatkan masukan tersebut dengan membuat sebuah threshold. Titik U sebagai posisi dimana user berdiri dan titik K adalah posisi Kinect, sedangkan titik U1 sebagai marker awal pukulan dan U2 sebagai marker akhir dari pukulan. Jarak antara titik U – K adalah 1,5 meter sedangkan jarak titik U1 – U2 adalah 50 cm.

Jarak optimal dan hasil tangkapan terbaik pada Kinect adalah sejauh 1,2 meter sampai 3 meter (Catuhe, 2012), oleh karena itu akan digunakan setengah dari jarak optimal tersebut agar Kinect berfungsi dengan normal sehingga mendapatkan hasil terbaik dan optimal kecepatan pukulan dari tangan user.

Gambar 2.1 Jarak threshold

2.2 Energi Kinetik

(19)

tersebut. Dikarenakan bentuk energi yang terlalu banyak maka secara umum energi dapat didefinisikan sebagai kapasitas sebuah benda untuk melakukan usaha.

Energi Kinetik merupakan energi yang dimiliki benda karena gerakannya. Dapat juga didefinisikan sebagai usaha yang dibutuhkan untuk menggerakkan suatu benda dengan massa tertentu dari posisi diam sampai pada kecepatan tertentu.

Dalam fisika, energi kinetik biasa dituliskan dengan persamaan berikut

...(1)

Dimana Energi Kinetik (Ek) adalah setengah dari massa benda dikalikan dengan kuadrat kecepatan benda tersebut. Willem's Gravesande telah melakukan percobaan untuk membuktikan rumus tersebut dengan cara menjatuhkan benda kedalam tanah liat dari hasil percobaan tersebut dia menyimpulkan bahwa kedalaman dari lubang tanah liat yang dihasilkan benda yang jatuh tersebut berbanding lurus dengan kuadrat kecepatan.

Energi Kinetik memiliki satuan internasional yaitu Joule dan dilambangkan dengan kapital J, atau bisa juga ditulis Newton meter (N.m) (Zainuri, 2007)

Karena setiap benda yang bergerak memiliki energi kinetik, maka nilai dari energi kinetik tersebut yang akan digunakan untuk merepresentasikan kekuatan sebuah pukulan.

2.3 Bagian Tubuh Manusia

(20)

berdasarkan hasil studi de Leva mengemukakan bahwa tubuh manusia terbagi atas beberapa bagian dan memiliki berat seperti tabel berikut:

Gambar 2.2 Human Segments

Tabel 2.1 Persentase berat anggota tubuh (ExRx, 2013) Percentages of Total Body Weight

Segment Males Females Average

Head & Neck 6.94 6.68 6.81 Trunk 43.46 42.58 43.02 Upper Arm 2.71 2.55 2.63 Forearm 1.62 1.38 1.5

Hand 0.61 0.56 0.585

Thigh 14.16 14.78 14.47

Shank 4.33 4.81 4.57

Foot 1.37 1.29 1.33

lalu jika dibuat tabel rata-rata maka hasilnya sebagai berikut:

Tabel 2.2 Persentase rata-rata berat anggota tubuh (ExRx, 2013) de Leva's Segment Weight data

Segment Quantity Percent Extension

Head 1 6.810 6.81

Trunk 1 43.020 43.02

Total Arm 2 4.715 9.43

Total Leg 2 20.370 40.74

Total Percent: 100

(21)

Dikarenakan perbedaan penamaan antara massa dan berat, apabila dalam ilmu fisika massa merupakan berat dalam ilmu biologi ataupun masyarakat umum dimana satuannya sama-sama gram atau Kilogram. Maka untuk selanjutnya penyebutan massa dan berat adalah memiliki maksud yang sama hanya berbeda bidang studinya saja.

2.4 Microsoft Xbox Kinect

Microsoft Xbox 360 Kinect atau biasa disebut Kinect, pada awalnya memiliki nama Project Natal. Kinect adalah produk dari Microsoft yang memperkenalkan teknologi motion gaming sebagai fitur utamanya. Kinect membuat pemain dapat berinteraksi dengan konsol Xbox 360 tanpa bantuan game controller. Menggunakan Kinect, pemain dapat bermain Xbox 360 cukup hanya dengan menggunakan gerakan anggota tubuhnya.

Teknologi Kinect diciptakan dengan tujuan untuk memperluas peminat konsol Xbox 360 diluar batas kalangan gamer. Saat ini Kinect bersaing ketat dengan Playstation Move milik Sony dan Wii MotionPlus milik Nintendo. Kinect pertama kali dirilis pada tanggal 4 November 2010 di wilayah USA.

Kinect dibuat berdasarkan sistem software dari developer Rare yang merupakan bagian dari Microsoft Game Studios. Sedangkan teknologi kamera yang digunakan oleh Kinect dibuat dari developer Israel, PrimeSense.

(22)

Sensor ini dapat mengenali sampai enam orang sekaligus, namun hanya dua pemain berstatus aktif yang dapat dideteksi gerakannya oleh Kinect. Depth Sensor terdiri dari sebuah proyektor Infra-Red (IR) yang dikombinasikan dengan sensor monokrom CMOS. Inilah yang dapat membuat Kinect melihat dalam bentuk 3D dalam keadaan cahaya apapun. Kalkulasi jarak antara obyek yang ditangkap dengan Kinect diperoleh berdasarkan sinar IR tersebut. Semakin pendek jaraknya, maka semakin bersinar poin yang ditangkap sensor. Jarak tangkap Depth Sensor dapat diatur. Kinect mampu mengkalibrasikan sensor secara otomatis berdasar pola permainan berada, termasuk benda-benda yang berada disekitar pemain.

Inovasi utama dari Kinect adalah kemampuannya yang lebih maju dalam mengenali wajah, gerakan dan suara. Kinect menghasilkan video dengan 30Hz frame rate. Dengan video stream RGB pada VGA yang beresolusi 11-bit (640 x 480 pixel dengan tingkat sensivitas 2048). Sensor memiliki daerah pandang angular dengan sudut 57 derajat pada bidang horizontal dan 43 derajat pada bidang vertikal. Sensor ini juga dapat dimiringkan hingga 27 derajat ke atas ataupun ke bawah.

Kinect mampu menangkap dan mendeteksi gerakan tubuh secara akurat, pemain hanya menggunakan tubuh untuk berinteraksi dengan dashboard konsol Xbox 360, bermain game, bahkan untuk mengakses fitur-fitur Xbox Live.

Mekanisme kerja Kinect menangkap dan mengenali pergerakan tubuh dari pemain adalah sebagai berikut:

1. Posisi pemain harus menghadap Kinect terlebih dahulu.

(23)

kepala, bahu tengah, bahu kanan, bahu kiri, siku kanan, siku kiri, pergelangan tangan kanan, pergelangan tangan kiri, tangan kanan, tangan kiri, tulang punggung, pinggul tengah, pinggul kanan, pinggul kiri, pinggul tengah, lutut kanan, lutut kiri, pergelangan kaki kanan, pergelangan kaki kiri, kaki kanan dan kaki kiri.

3. Joint yang tertangkap oleh sensor tadi dikonversi menjadi titik koordinat 3D (x,y,z) bertipe float. Sehingga setiap pemain melakukan gerakan, maka titik koordinat dari joint yang bersangkutan juga turut berubah pula. Sumbu x merepresentasikan gerakan pemain secara horizontal, sumbu y merepresentasikan gerakan pemain secara vertikal, sumbu z merepresentasikan jauh dekatnya posisi pemain dari Kinect.

Gambar 2.3 Joints dan Orientation pada Kinect (Webb and Ashley, 2012 dan Catuhe,2012)

2.5 Microsoft Kinect SDK

(24)

kemampuan yang ditawarkan oleh perangkat Microsoft Kinect yang terhubung ke komputer dengan OS Windows 7.

SDK ini dilengkapi driver, API untuk raw sensor streams, skeletal tracking, dokumentasi instalasi dan resource lainnya. SDK ini juga menyediakan kemampuan-kemampuan Kinect bagi para developer yang akan membuat aplikasi dengan C++, C# maupun Visual Basic dengan menggunakan Microsoft Visual Studio 2010.

SDK ini mencakup beberapa fitur diantaranya: 1. Raw Sensor Streams

Akses ke raw data stream dari depth sensor, color camera sensor dan empat microphone array memungkinkan developer untuk membangun proyek mereka menggunakan low-level stream yang dihasilkan oleh Kinect.

2. Skeletal Tracking

Kemampuan untuk melacak gambar kerangka satu atau dua orang yang bergerak dalam bidang Kinect sehingga mudah untuk membuat aplikasi berbasis gerakan.

3. Kemampuan audio yang canggih

Kemampuan pemrosesan audio yang canggih termasuk acoustic noise suppression dan echo cancellation, beam formation untuk mengidentifikasi sumber suara dan terintegrasi dengan Windows Speech Recognition API. 4. Contoh kode dan dokumentasi

(25)

5. Instalasi mudah

Instalasi SDK berlangsung cepat, tidak memerlukan konfigurasi yang rumit dan ukuran installer kurang dari 300MB.

Kinect SDK memiliki arsitektur sebagai berikut, agar aplikasi yang dibuat menggunakan SDK bisa berkomunikasi dengan Kinect. (Microsoft, 2012).

Gambar 2.4 Arsitektur Kinect

2.6 Bahasa Pemograman C#

(26)

satu bahasa pemrograman yang mendukung .NET programming melalui Visual Studio.

C# didasarkan pada bahasa pemrograman C++. C# juga memiliki kemiripan dengan beberapa bahasa pemrograman seperti Visual Basic, Java, Delphi dan tentu saja C++. C# memiliki kemudahan syntax seperti Visual Basic, dan tentu saja ketangguhan seperti Java dan C++. Kemiripan-kemiripan ini tentunya memudahkan programmer dari berbagai latar belakang bahasa pemrograman tidak perlu waktu yang lama untuk menguasainya, karena bagaimanapun juga C# lebih sederhana dibandingkan bahasa-bahasa seperti C++ dan Java.

C# didesain oleh program designer dari Microsoft, Anders Hajlsberg. Sebelum bekerja pada Microsoft, Anders bekerja di borland, tempat dia menulis Pascal compiler. Sebelum mengembangkan C#, Anders mengetahui berbagai macam kekurangan pada bahasa C++, Delphi, Java, dan Smaltalk, karena itu Anders menciptakan bahasa C# yang lebih tangguh. Hal ini juga menjelaskan mengapa C# memiliki kemiripan dengan beberapa bahasa tersebut dan menjadi salah satu alasan mengapa C# memiliki lebih banyak nilai tambah apabila digunakan untuk mengembangkan aplikasi Kinect menggunakan SDK milik Microsoft dibandingkan menggunakan bahasa C++ ataupun VB.Net. (Microsoft, 2013).

2.7 UML

(27)

disebut use case. Juga mengembangkan sebuah metode untuk perancangan sistem yang disebut Object Oriented Software Enginnering (OOSE) yang berfokus pada analisis. Booch, Rumbough, dan Jacobson biasa disebut dengan tiga sekawan (tree amigos). Semuanya bekerja di Rational Software Corporation dan berfokus pada standarisasi dan perbaikan ulang UML.

(28)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis

Punch training merupakan bentuk latihan fisik dimana dilakukan gerakan memukul dengan cara mengepalkan tangan lalu menghantamkannya ke sebuah

sasaran. Punch termasuk gerakan pertahanan yang digunakan untuk memberi jarak antara diri sendiri dengan musuh atau lawan, sehingga terdapat jeda waktu

untuk melarikan diri ataupun memberi serangan lanjutan. Gerakan punch biasanya

dipakai dalam beberapa seni beladiri ataupun olahraga petarung. Salah satu

contohnya adalah tinju.

Jab adalah contoh dari gerakan paling dasar dari sebuah punch, yaitu dengan mengepalkan tangan dan memukul lurus kedepan sejajar dengan dada

sampai tangan benar-benar lurus, jab dapat dilakukan dengan cepat dan memiliki

efek yang cukup besar untuk melumpuhkan target sementara. Biasanya jab

digunakan untuk membuat pengalih perhatian, bertahan ataupun membuat jarak.

Kekuatan pukulan seorang atlit tinju atau siapapun yang melakukan pukulan

dapat dilihat dari kekuatannya saat melakukan jab dimana kekuatan jab ditentukan

oleh beberapa faktor diantaranya berat tangan si pemukul dan kecepatan tangan

saat melakukan jab. Sehingga semakin cepat gerakan tangan dan semakin berat

tangan si pemukul maka akan memiliki jab yang lebih bertenaga daripada yang

kecepatan pukulannya pelan tetapi tangannya berat atau sebaliknya.

Sehingga untuk melihat kekuatan jab dapat menggunakan Kinect sebagai

(29)

yang dihasilkan oleh Kinect. Untuk menghitung berat tangan dari pemukul akan

menggunakan rumus segmen tubuh milik de Leva yaitu berat satu tangan manusia

adalah 4,715 persen dari berat tubuh keseluruhan. Kemudian untuk mengukur

kecepatan tangan saat melakukan jab punch akan menggunakan Kinect, dimana

Kinect sudah memiliki kemampuan untuk mengukur jarak dengan menggunakan

Depth-Sensor, Depth-Sensor bekerja menggunakan Infrared-beam dengan

memanfaatkan waktu pantulan dari cahaya Infrared, semakin cepat pantulan cahaya Infrared ditangkap oleh Kinect maka semakin dekat objeknya dengan Kinect, sehingga untuk menentukan jarak suatu objek menjadi lebih akurat.

Terdapat pula Runtime-Tracking yang berfungsi untuk mendeteksi posisi tubuh seperti tangan, kepala, kaki, badan, dan lainnya.

Dari hasil perhitungan tersebut nantinya akan dimunculkan sebuah grafik

kepada user sehingga user dapat mengetahui seberapa kuat tenaga jab yang dia lakukan dan untuk mengukur performa kekuatan pukulan saat melakukan training

akan diberikan sebuah penghitung waktu dan batas pukulan tertentu sebagai

standar training yang harus dilewati, dimana standar tersebut dapat dimasukkan secara manual.

3.1.1 Mengukur Kecepatan Jab

Untuk mengukur kecepatan Jab user harus berdiri di depan menghadap Kinect seperti gambar 3.1, dimana X1 adalah jarak 0 cm yang akan ditampilkan

oleh Kinect, jarak ini didapat oleh kemampuan Depth-Sensor milik Kinect,

(30)

memulai perhitungan kecepatan apabila user tidak berada di area X2, area X2 ini

nantinya dapat ditentukan jaraknya didalam program yang akan dibuat.

Gambar 3.1 Mengukur Kecepatan Jab

Setelah user berada di area X2 untuk dapat dilakukan perhitungan kecepatan

[image:30.595.215.411.139.249.2]

maka user harus melakukan gerakan Jab lurus ke arah Kinect seperti gambar dibawah.

Gambar 3.2 Mengukur Kecepatan Jab 2

Kinect yang telah melakukan tracking terhadap tangan akan mencatat

perubahan jarak dan waktu tempuh tangan dari X2 ke X3. Sehingga dari waktu

tempuh tersebut akan dibagi dengan jarak dari X2 ke X3, maka ditemukanlah

sebuah variabel kecepatan v, dimana v ini disimpan kedalam memori aplikasi dan

nantinya akan digunakan untuk perhitungan kekuatan pukulan.

3.1.2 Mengukur Kekuatan Pukulan

Untuk pengukuran kekuatan pukulan akan digunakan akan menggunakan

(31)

dikalikan kuadrat kecepatan. Pertama dibutuhkan masukan massa, massa

merupakan bobot yang dimiliki suatu benda atau objek, dikarenakan massa yang

akan dihitung adalah hanya massa sebuah tangan maka akan digunakan tabel

segmentasi tubuh manusia oleh de Leva, dimana sebuah tangan memiliki bobot

4,715 persen dari keseluruhan tubuh manusia. Massa tersebut didapatkan dari

masukan massa tubuh user kedalam program. Dimana massa tersebut akan

menjadi variable masukan M, kemudian masukan M akan dicari massa tangannya

(MT) dengan rumus M x 4,715 / 100, hasil dari perkalian tersebut akan menghasilkan massa tangan dengan variabel MT, sehingga rumus Energi Kinetik

berubah menjadi Ek = ½ MT.v2.

Setelah variabel MT berisi nilai selanjutnya adalah mengkuadratkan variabel

kecepatan v yang telah didapat sebelumnya. Hasil dari pengkuadratan v akan

dikalikan dengan MT, kemudian hasil perkalian tersebut akan dikalikan dengan

setengah maka akan di dapat sebuah persamaan akhir Ek = ½ MT.V, nilai tersebut

yang akan dijadikan variabel Kekuatan (Ek) di dalam program.

Sedangkan untuk pencatatan performa akan menggunakan sistem nilai

tertinggi, dimana nilai tersebut didapat dari nilai variabel Ek yang telah ditemukan

sebelumnya, kemudian Ek yang dihasilkan oleh Jab selama latihan akan dicatat

tenaga pukulan terkuat dan pukulan terlemah, selanjutnya disimpan sebagai rekor

pribadi. Apabila nilai dalam satu sesi lebih tinggi dari sesi sebelumnya maka nilai

tertinggi tersebut akan menggantikan nilai yang sebelumnya. Sehingga setiap user

melakukan training dapat meningkatkan performa kekuatan pukulan dengan

(32)

3.1.3 Spesifikasi Perangkat Lunak

Dari hasil analisis diatas maka dibutuhkan sebuah aplikasi yang dapat

melakukan hal berikut :

A. Ketika user berada dalam jangkauan Kinect maka tampilan dilayar harus

menampilkan tubuh user secara virtual.

B. Dapat menangkap masukan gerakan user dari Kinect. Dengan cara

melakukan tracking terhadap kedua tangan dan memberi ID pada setiap tangan. Sehingga apabila setiap ID tersebut mengenai triger dalam program

akan menjalankan aksi sesuai triger yang ada, misal memillih menu.

C. Menggunakan masukan tersebut untuk menghitung kecepatan jab dari user

menggunakan teknik perpindahan objek. Yaitu dengan cara menghitung

jarak dari titik awal ke titik akhir pergerakan kemudian dihitung dengan

waktu perpindahan.

D. Menghitung kekuatan jab menggunakan cara yang sudah ditentukan

dibagian analisis.

E. Menggunakan nilai dari kekuatan jab sebagai parameter penilaian saat

melakukan training.

F. Setiap hasil training akan dibandingkan dengan nilai latihan sebelumnya dan memberikan peringkat setiap sesi training.

(33)

3.1.4 Inisialisasi Kinect

Prosedur inisialisasi digunakan untuk melakukan inisialisasi awal guna

mempersiapkan Kinect yang akan dipakai. Terdapat beberapa proses inisialisasi

diantaranya :

A. Proses inisialisasi runtime Kinect yang terdiri atas 3 sub-proses. Dimana proses tersebut berperan untuk mempersiapkan Kinect yang akan digunakan

B. Sub-proses inisialisasi color image berperan untuk menginisialisasi sensor

live feed camera atau RGB kamera pada Kinect.

C. Sub-proses inisialisasi depth frame berperan untuk menginisialisasi 3D

depth sensor pada Kinect.

D. Sub-proses inisialisasi runtime frame berperan untuk menginisialisasi

runtime tracking pada Kinect.

[image:33.595.92.505.225.639.2]

Prosedur inisialisasi Kinect dapat dilihat pada Gambar 3.3 :

(34)

3.1.5 Mendeteksi Objek dan Drawing User

Prosedur yang dipakai untuk mendeteksi objek dan menggambar user adalah sebagai berikut :

A. Prosedur RuntimeFrameReady digunakan untuk mendeteksi user runtime

dengan cara menggambar titik-titik pada persendian (joint) tubuh

A.1 Proses clear image berperan dalam melakukan refresh pada

komponen canvas image pada WPF-form, berguna agar gambar runtime tidak tertumpuk setiap kali user melakukan pergerakan. A.2 Proses deklarasi variabel bertipe RuntimeFrame berperan untuk

menampung runtime data user.

A.3 Proses penyesuaian runtime dan jumlah maksimal user untuk

membatasi runtime agar tidak mendeteksi runtime lain setelah runtime

pertama terdeteksi. Hal ini bertujuan agar meningkatkan kinerja

aplikasi dalam melakukan pendeteksian user.

A.4 Proses menggambar ellipse digunakan untuk menempelkan gambar ellipse dari form pada setiap runtime joint yang terdeteksi.

A.5 Proses isi ellipse dengan warna agar setiap ellipse yang dibuat

memiliki warna.

Proses yang terjadi pada prosedur RuntimeFrameReady dapat dilihat pada Gambar

(35)

Gambar 3.4 Flowchart RuntimeFrameReady

B. Prosedur DrawPoint digunakan untuk menggambar titik-titik pada tubuh

user dan digunakan pada prosedur RuntimeFrameReady. Beberapa proses yang terjadi pada saat DrawPoint antara lain:

B.1 Proses deklarasi variabel scaledJoint berperan untuk menandai joint

pada titik tubuh user.

B.2 Proses deklarasi variabel bertipe ellipse digunakan untuk membuat

ellipse yang nantinya akan ditempelkan pada titik joint dari user. B.3 Proses deklarasi SolidColorBrush digunakan untuk mengisi warna

yang nantinya berperan dalam proses pewarnaan ellipse.

B.4 Proses mengisi width, geight dan opacity dari ellipse digunakan untuk

menentukan ukuran tinggi, lebar serta tingkat transparansi dari ellipse

(36)

B.5 Proses menambah ellipse berperan dalam membuat ellipse dengan

atribut parameter yang diatur sebelumnya.

Proses yang terjadi pada prosedur DrawPoint dapat dilihat pada Gambar 3.5.

Gambar 3.5 Flowchart DrawPoint

Flowchart pseudocode berikut digunakan untuk mendeteksi kecepatan pukulan dari user dan mendeteksi adanya hantaman dengan objek virtual yang dibuat.

Penjelasan proses yang terjadi pada pendeteksian kecepatan dan pendeteksian

hantaman dengan objek virtual adalah sebagai berikut :

A. Proses Pendeteksian User

-User berdiri tegak didepan Kinect pada jarak antara 150 - 155 cm.

-User melambaikan tangan kearah Kinect agar Kinect dapat memberikan

ID pada masing-masing tangan.

B. Proses Pendeteksian Tangan

-Tangan harus berada di area tangkapan Kinect, setelah tangan terdeteksi

maka diberikan ID pada masing-masing tangan kemudian diberikan

[image:36.595.92.500.158.550.2]
(37)

C. Proses Pendeteksian Kecepatan Pukulan

-Tangan yang sudah terdeteksi akan diukur jaraknya.

-Setiap tangan memiliki ID dan counter-timer masing-masing.

-Jika tangan terdeteksi pada jarak 150 cm maka counter-timer akan diatur

ke posisi 00.00.00.000.

-Jika tangan bergerak maju mendekati Kinect sehingga jaraknya kurang

dari 150 cm atau sama dengan 149 cm maka counter-timer akan di Mulai.

-Apabila tangan sudah dekat dengan Kinect dengan jarak tangan kurang

dari 100 cm atau sama dengan 100 cm maka counter-timer akan

dihentikan, mainkan efek hantaman lalu dicatat waktu yang dihasilkan

oleh counter-timer tersebut.

-Hitung waktu yang didapat dari counter-timer dengan cara yang telah

ditentukan dibagian analisis, kemudian catat hasilnya. Hasil tersebut

merupakan kecepatan tangan. Masing-masing nilai dibedakan sesuai ID

[image:37.595.90.514.291.737.2]

tangan tersebut.

(38)

3.1.6 Menampilkan Video Stream dan Depth Stream

Prosedur yang dipakai untuk menampilkan video stream dan depth stream pada layar adalah sebagai berikut:

A. Prosedur ColorImageReady digunakan untuk menampilkan video stream

yang ditangkap Kinect ke layar.

Proses yang terjadi pada prosedur ColorImageReady antara lain :

A.1 Proses deklarasi variabel bertipe planarImage berperan menampung video output dari kamera RGB Kinect.

A.2 Proses mengisi komponen image pada WPF-form berperan mengisi

image dengan video output dari kamera RGB.

[image:38.595.89.509.301.555.2]

Proses yang terjadi pada prosedur ColorImageReady ini dapat dilihat pada

Gambar 3.7

.

Gambar 3.7 Flowchart ColorImageReady

B. Prosedur DepthImageReady digunakan untuk menampilkan depth stream

yang ditangkap Kinect ke layar.

Proses yang terjadi pada prosedur DepthImageReady antara lain :

(39)

B.2 Proses mengisi komponen image pada WPF-form berperan mengisi

image dengan depth output dari depth sensor.

[image:39.595.94.507.188.537.2]

Proses yang terjadi pada prosedur DepthImageReady ini dapat dilihat pada Gambar 3.8.

Gambar 3.8 Flowchart DepthImageReady

3.1.7 Melakukan Pengaturan User Joint

Prosedur pengaturan user joint digunakan supaya joint yang dideteksi sesuai

dengan posisi dan ukuran user.

A. Prosedur ScaleJoint digunakan untuk mengukur joint pada user.

Proses yang terjadi pada prosedur ScaleJoint adalah sebagai berikut :

A.1 Proses deklarasi JointID yang berfungsi menampung ID dari joint

yang dideteksi.

A.2 Proses mengisi koordinat X dan Y dengan posisi user berperan untuk

menentukan letak koordinat dan posisi user.

A.3 Deklarasi StatusTracking berperan untuk menandai apakah user telah terdeteksi atau belum.

(40)

Gambar 3.9 Flowchart ScaleJoint

B. Prosedur ScaledPosition digunakan untuk mengukur posisi user dari layar.

Proses yang terjadi pada prosedur ScaledPosition adalah sebagai berikut :

B.1 Proses deklarasi variabel bertipe float yang berperan untuk menampung titik koordinat dari posisi user.

B.2 Jika nilai posisi user lebih besar dari ukuran canvas maka posisi

dianggap sama dengan ukuran canvas.

B.3 Jika nilai posisi user kurang dari nol maka posisi dianggap sama

dengan nol. Selain itu nilai float posisi user dianggap sama dengan posisi user saat itu.

Proses pada prosedur ScaledPosition dapat dilihat pada Gambar 3.10.

(41)

3.2 Model Pengembangan Sistem

Berdasarkan hasil analisis tersebut, maka akan dibuat sebuah pengembangan

aplikasi, dimana proses yang terjadi dalam aplikasi Virtual Punch Training dapat digambarkan sebagai berikut:

M e m a s u k k a n N a m a User M e m a s u k k a n B e ra t B a d a n Gerakan D a ta S k e le ta l J o in t D a ta D e p th -S tre a m Pengolahan Data Depth-Stream dan Skeletal Joint Penentuan Koordinat Tangan dan Tubuh Mencatat perubahan posisi koordinat tangan Menghitung waktu perubahan posisi koordinat tangan Menghitung kecepatan gerakan tangan dengan berat badan Mencatat tenaga

[image:41.595.92.521.198.499.2]

pukulan dan waktu pukulan Menyimpan rekor pukulan M e n a m p ilk a n Ha s il Tr a in in g M e n a m p ilk a n G e ra k a n

Gambar 3.11 Blok Diagram Aplikasi

Berikut adalah cara kerja dari aplikasi Virtual Punch Training menggunakan

Microsoft Xbox Kinect:

1. User melakukan interaksi terhadap aplikasi dengan menggunakan gerakan tangan didepan Kinect, dan memilih menu yang tersedia. User juga dapat berinteraksi secara manual dengan mouse dan keyboard.

2. Gerakan interaksi User ditangkap oleh Kinect kemudian data Depth-Stream

dan data Skeletal-Joint dimasukkan kedalam komputer untuk diproses oleh

(42)

3. Aplikasi mengolah gerakan interaksi terhadap menu dari user dan

memberikan respon berupa tampilan dari layar, baik berupa tampilan hasil

latihan ataupun tampilan menu latihan.

3.3 Use Case Diagram Aplikasi Virtual Punch Training

Kemampuan sistem untuk berinteraksi dengan user digambarkan dengan

[image:42.595.92.504.279.520.2]

use case diagram pada gambar dibawah:

Gambar 3.12 Use Case Diagram Aplikasi Virtual Punch Training

3.4 Activity Diagram

Dari use case yang ada dibutuhkan Activity diagram untuk menjelaskan

proses apa saja yang dilakukan setiap use case.

3.4.1 Activity Diagram untuk Use Case Memilih Options

Activity memilih options dapat digambarkan sebagai berikut. Pertama-tama

(43)

terdiri dari beberapa pilihan, lalu user diwajibkan memilih menu options terlebih

dahulu dimana menu ini berisi data penting berupa masukan berat badan user yang akan digunakan untuk menampilkan hasil latihan. User dapat menggerakkan

tangannya kearah tombol options ataupun menggunakan mouse untuk

berinteraksi, setelah tombol dipilih maka form options akan ditampilkan, user diwajibkan mengisi nama dan berat badan menggunakan keyboard dan kemudian

menyimpan data tersebut. Setelah selesai user dapat kembali ke menu utama.

[image:43.595.93.505.313.645.2]

Activity Diagram dari use case Memilih Options dapat digambarkan sebagai berikut:

(44)

3.4.2 Activity Diagram untuk Use Case Melakukan Training

Activity melakukan training dapat digambarkan sebagai berikut. Pertama-tama sistem akan menampilkan menu uPertama-tama dari aplikasi Virtual Punch Training,

kemudian user memilih menu play, saat menu terpilih maka form play akan

ditampilkan dan memberikan konfirmasi untuk melakukan training apabila user setuju untuk melakukan training maka timer akan berjalan dan user dapat mulai

melakukan gerakan pukulan kearah target sampai waktu habis. Apabila user tidak

setuju maka akan kembali ke menu utama.

Activity Diagram dari use case Melakukan Training dapat digambarkan

[image:44.595.96.505.311.689.2]

sebagai berikut:

(45)

3.4.3 Activity Diagram untuk Use Case Menyimpan Hasil Training

Activity menyimpan hasil training dapat digambarkan sebagai berikut. Setelah user selesai melakukan training maka akan segera muncul form hasil latihan, disini user dapat mereview setiap pukulan yang dihasilkan selama timer

berjalan. User diwajibkan memilih tombol next untuk kembali ke menu awal dan

hasil training disimpan dalam bentuk nilai yang terbaik saat melakukan training.

Activity Diagram dari use case Melakukan Training dapat digambarkan sebagai berikut:

(46)

3.5 Sequence Diagram

Untuk memberikan penjelasan dari masing-masing use case dari aplikasi Virtual Punch Training dibutuhkan sequence diagram yang menggambarkan jalannya suatu proses yang melibatkan obejct atau instance dari suatu class pada

aplikasi Virtual Punch Training. Untuk lebih detail akan dijelaskan sebagai berikut:

3.5.1 Sequence Diagram Memilih Options

Sequence Diagram dari Activity Memilih Options digambarkan sebagai

berikut:

(47)

3.5.2 Sequence Diagram Melakukan Training

Sequence Diagram dari Activity Melakukan Training digambarkan sebagai berikut:

(48)

3.5.3 Sequence Diagram Menyimpan Hasil Training

Sequence Diagram dari Activity Menyimpan Hasil Training digambarkan sebagai berikut:

Gambar 3.18 Sequence Diagram Menyimpan Hasil Training

3.6 Class Diagram

Berdasarkan perencanaan sistem use case diagram, dibutuhkan class untuk

mendukung jalannya aplikasi. Class Diagram digunakan untuk menampilkan class atau paket yang ada didalam sistem serta relasi antar class tersebut.

(49)
[image:49.595.92.505.86.503.2]

Gambar 3.19 Class Diagram Aplikasi Virtual Punch Training

3.6.1 Class Diagram Main Menu

(50)
[image:50.595.232.414.83.258.2]

Gambar 3.20 Class Diagram Main Menu

3.6.2 Class Diagram Virtual Punch Training

[image:50.595.90.509.314.651.2]

Class Virtual Punch Training merupakan class aplikasi utama yang mengkoordinasikan beberapa operasi. Untuk lebih detail dapat dilihat pada

gambar berikut:

(51)

3.6.3 Class Diagram HoverButton

Class HoverButton digunakan untuk melakukan pengecekan apakah tangan user sudah menyentuh Hover Button pada menu utama, class ini juga digunakan untuk menampilkan animasi pada saat user melakukan hovering pada menu

[image:51.595.93.506.220.530.2]

utama, serta mengatur durasi hover. Untuk lebih jelasnya lihat gambar berikut:

Gambar 3.22 Class Diagram HoverButton

3.6.4 Class Diagram Options

Class ini digunakan untuk menyimpan data nama user dan berat badan user.

Untuk lebih jelasnya lihat gambar berikut:

[image:51.595.251.397.590.719.2]
(52)

3.6.5 Class Diagram Runtime

[image:52.595.95.510.163.616.2]

Class Runtime digunakan untuk melakukan inisialisasi awal Kinect. Untuk lebih jelasnya lihat gambar berikut:

Gambar 3.24 Class Diagram Runtime

3.6.6 Class Diagram RuntimeData

Class ini digunakan untuk menangkap data runtime user. Untuk lebih jelasnya lihat gambar berikut:

(53)

3.6.7 Class Diagram BitmapSource

Class ini digunakan untuk menampilkan bitmap image yang digunakan pada pengambilan gambar pada kamera Kinect. Untuk lebih jelasnya lihat gambar

[image:53.595.93.507.192.661.2]

berikut:

Gambar 3.26 Class Diagram BitmapSource

3.6.8 Class Diagram SolidColorBrush

Class ini digunakan untuk mengubah warna pada suatu objek. Untuk lebih jelasnya lihat gambar berikut:

(54)

3.6.9 Class Diagram Hitung Performa

Class ini digunakan untuk menghitung kecepatan pukulan user, menghitung kekuatan pukulan dan menyimpan hasilnya. Untuk lebih jelasnya lihat gambar

berikut:

Gambar 3.28 Class Diagram Hitung Performa

3.6.10 Class Diagram Score

Class ini digunakan untuk menginputkan data nilai pukulan dan jumlah

pukulan kedalam grafik kemudian membuat score terbaik. Untuk lebih jelasnya

[image:54.595.92.511.200.692.2]

lihat gambar berikut:

(55)

3.7 Desain User Interface

Pembuatan tampilan sangat diperlukan agar pengguna dapat berinteraksi

dengan sistem sehingga dibutuhkan perancangan secara detail mengenai tampilan

aplikasi berdasarkan informasi yang ditampilkan pada display.

3.7.1 Desain User Interface Form Menu Utama

Pilihan yang ada pada menu utama terdiri dari Play, High Score, Settings, Quit. Menu Play digunakan untuk memanggil form Training dimana user dapat memulai sesi trainingnya. Menu High Score digunakan agar user dapat melihat

track-record dari hasil training terakhir, melihat berapa score terbaiknya saat melakukan training. Menu Settings berfungsi untuk menginputkan nama dan berat

[image:55.595.91.510.301.631.2]

badan user. Menut Quit digunakan untuk keluar dari aplikasi. Perancangan tampilan untuk menu utama dapat dilihat pada gambar berikut.

(56)

3.7.2 Desain User Interface Form Training

Form Training adalah form utama dari program Virtual Punch Training, dimana user melakukan sesi training dan berinteraksi dengan objek yang ada didalam sistem. Timer akan berjalan beberapa detik setelah Form Training dibuka

[image:56.595.91.506.224.487.2]

dari Menu Utama. Berikut adalah rancangan tampilan dari from training.

Gambar 3.31 Desain User Interface Form Training

3.7.3 Desain User Interface Form Options

Form Options adalah form yang berfungsi untuk mengubah data nama user dan data berat badan user yang dibutuhkan untuk perhitungan aplikasi dan

pencatatan score selama latihan. Terdapat beberapa tombol diantaranya Save Name berfungsi untuk menyimpan nama user. Save Mass berfungsi untuk

(57)
[image:57.595.93.510.315.571.2]

Gambar 3.32 Desain User Interface Form Options

3.7.4 Desain User Interface Form High Score

Pada Form High Score akan ditampilkan nilai terbaik saat melakukan training, terdapat beberapa informasi yang akan ditampilkan dalam form ini

diantaranya nomor urut, nama user, pukulan terbaik dari tangan kiri dan kanan, lalu jumlah score selama latihan. Berikut rancangan tampilan form high score.

Gambar 3.33 Desain User Interface Form High Score

3.7.5 Desain User Interface Form Preview Result

(58)

selanjutnya dan Home dimana user akan kembali ke menu utama. Kekuatan

adalah nilai dari kekuatan pukulan dan akan ditampilkan dalam 2 grafis yang

berbeda untuk membedakan tangan kanan dan tangan kiri. Pukulan merupakan

jumlah pukulan yang dilakukan selama satu sesi training. Berikut rancangan

[image:58.595.93.504.224.536.2]

tampilan dari form preview result.

(59)

BAB IV

IMPLEMENTASI SISTEM DAN EVALUASI

4.1 Implementasi Sistem

Tahap ini merupakan pembuatan perangkat lunak yang disesuaikan dengan

rancangan atau desain sistem yang telah dibuat. Aplikasi yang dibuat akan

diterapkan berdasarkan kebutuhan.

Aplikasi Virtual Punch Training ini membutuhkan Kinect sebagai media

untuk menangkap gambar user yang nantinya setiap user melakukan gerakan akan

diproses melalui Desktop ataupun Laptop, setelah itu user dapat melakukan

interaksi dengan tampilan GUI.

Sensor 3-Dimensi yang dimiliki oleh Kinect mampu menangkap setiap

gerakan yang dilakukan oleh user. Gerakan yang dideteksi tersebut diubah

menjadi titik koordinat pada bagian tubuh tertentu secara 3-Dimensi (x,y,z).

Titik-titik koordinat ini memiliki tipe data float. Dari data inilah nantinya komputer

dapat memproses gerakan yang ditangkap oleh Kinect.

4.1.1 Instalasi dan Kebutuhan Perangkat A. Kebutuhan Perangkat Keras

Kebutuhan minimum perangkat keras yang diperlukan untuk menjalankan

aplikasi ini adalah:

- Prosesor Quad Core 2.6 Ghz.

- RAM 4GB

(60)

- VGA dedicated 512MB.

- Dedicated USB 2.0 Port.

- Microsoft Kinect for Xbox 360 atau Microsoft Kinect for Windows

B. Kebutuhan Perangkat Lunak

Adapun kebutuhan perangkat lunak yang digunakan dalam pembuatan

aplikasi ini adalah sebagai berikut:

- Sistem Operasi Microsoft Windows 7 Ultimate.

- Microsoft Visual Studio 2010 Ultimate.

- Untuk dokumentasi menggunakan Microsoft Office Word 2007.

- Untuk mengakses Kinect menggunakan SDK Microsoft Kinect.

- .Net Framework 4.0

C. Instalasi Program dan Pengaturan Sistem

Pegembangan aplikasi Virtual Punch Training membutuhkan perangkat

lunak yang telah terinstall, adapun tahapan-tahapan instalasi dan pengaturan

sistem adalah sebagai berikut:

-. Install OS Microsoft Windows 7 Ultimate

-. Install Microsoft Visual Studio 2010 bahasa C#.

(61)

4.2 Penjelasan Hasil Implementasi

Setelah kebutuhan sistem terpenuhi langkah selanjutnya adalah

mengimplementasikan rancangan sistem kedalam sebuah aplikasi Virtual Punch

Training.

4.2.1 Form Menu Utama

Form ini pertama kali ditampilkan setelah aplikasi di start. Pada form menu

utama terdapat pilihan-pilihan menu yang dapat dipilih oleh user. Tampilan form

[image:61.595.95.515.321.664.2]

menu utama adalah sebagai berikut :

Gambar 4.1 Form Menu Utama

Berikut adalah penjelasan dari masing-masing tombol yang digunakan pada

aplikasi Virtual Punch Training.

Tabel 4.1 Deskripsi Tombol

Menu Deskripsi

Play Berfungsi untuk memanggil form play,

dan user dapat memulai sesi latihannya

High Score Berfungsi untuk menampilkan form

nilai terbaik dari sesi latihan

Settings Berfungsi untuk menampilkan form

pengaturan, dimana dapat mengisi nama dan berat badan user

(62)

4.2.2 Form Settings

Form Settings adalah form yang wajib diisi datanya sebelum mulai

melakukan latihan, form ini berfungsi untuk mengubah data nama dan data berat

badan user yang dibutuhkan untuk perhitungan aplikasi dan pencatatan score

selama latihan. Terdapat beberapa tombol diantaranya Save Name berfungsi untuk

menyimpan nama user. Save Mass berfungsi untuk menyimpan berat badan user.

Reset digunakan untuk mengembalikan ke nilai default seperti yang ada digambar

Gambar 4.2 Form Settings

4.2.3 Form Play

Pada form ini user dapat melakukan sesi Punch Training, user dapat

memukul objek virtual yang ditampilkan. Setiap kali pukulan user mengenai

target maka akan diberi poin nilai sesuai hasil perhitungan yang telah ditentukan

sebelumnya. Waktu akan berjalan dan apabila waktu telah habis maka sesi latihan

[image:62.595.93.510.277.493.2]

berakhir.

(63)

4.2.4 Form Hasil Latihan

Setelah waktu untuk satu sesi berakhir maka akan ditampilkan sebuah form

yang berisi informasi grafik tenaga yang dihasilkan setiap pukulan yang dilakukan

pada sesi tersebut.

Gambar 4.4 Form Hasil Latihan

4.2.5 Form High Score

Pada Form High Score akan ditampilkan nilai terbaik saat melakukan

training, terdapat beberapa informasi yang akan ditampilkan dalam form ini

diantaranya nomor urut, nama user, pukulan terbaik dari tangan kiri dan kanan,

[image:63.595.91.510.200.497.2]

lalu jumlah score selama latihan.

(64)

4.3 Uji Coba Fungsionalitas Aplikasi dan Pembahasan

Uji coba fungsionalitas aplikasi dan pembahasan dilakukan untuk

mengetahui apakah fungsi-fungsi yang ada pada aplikasi Virtual Punch Training

telah berjalan dengan baik atau tidak. Selain itu juga akan membahas

masalah-masalah yang mungkin masih terdapat pada aplikasi. Adapun fungsi-fungsi yang

akan diujikan adalah sebagai berikut:

4.3.1 Proses Mendeteksi User

Proses ini dilakukan untuk menguji apakah aplikasi dapat mendeteksi user

dengan baik. Pengujian dilakukan dengan cara mendeteksi user yang berdiri tegak

didepan Kinect pada ruangan seluas 2x2 meter dan user berdiri dengan jarak

minimal 1,5 meter di depan Kinect. Hasil uji coba pada tabel berikut

Tabel 4.2 Uji Coba Pendeteksian User Test

Case ID

Tujuan Masukkan Keluaran yang

diharapkan Status

1.

Mendeteksi jarak user dari Kinect dalam ruangan 2x2 meter.

User berdiri tegak didepan Kinect dengan posisi siap.

Jarak user ditampilkan oleh aplikasi. Sesuai 2. Penempatan ID setiap tangan.

User berdiri tegak didepan Kinect dengan posisi siap.

Tampilan sarung tangan tinju pada posisi tangan user.

Sesuai

Pada uji coba ini aplikasi dapat mendeteksi user, namun pendeteksian masih

belum 100% akurat, karena terdapat beberapa kesalahan deteksi saat user

menggerakkan tangannya. Selain itu terdapat juga respond delay gerakan antara

gerakan pointer dengan gerakan user. Hal ini disebabkan oleh keterbatasan sensor

kamera Kinect. Solusi yang dapat diberikan adalah melakukan restart form agar

(65)
[image:65.595.90.509.291.529.2]

Gambar 4.6 Proses pendeteksian User

4.3.2 Proses Navigasi Menu

Proses ini dilakukan untuk menguji apakah menu yang terdapat dalam

aplikasi dapat berfungsi sesuai yang diinginkan. Pengujian dilakukan dengan cara

memilih menu dari Play, Settings, Back, Home, Play Again dan Quit. Pada uji

coba ini semua tombol menu dapat dipilih dan bernavigasi ke form yang dituju

dengan semestinya.

Gambar 4.7 Proses navigasi Menu

4.3.3 Proses Mengubah Settings

Proses ini dilakukan untuk menguji apakah menu Settings yang terdapat

dalam aplikasi dapat berfungsi sesuai yang diinginkan. Pengujian dilakukan

terhadap 2 textbox dan 3 button, textbox pertama yaitu textbox nama, dilakukan

pemasukan data berupa text dan number maka number tidak muncul kedalam

textbox, kemudian melakukan uji coba button save nama yang berfungsi untuk

(66)

uji coba pada textbox kedua yaitu textbox massa, dilakukan pemasukan data

berupa text dan number maka text tidak muncul kedalam textbox, kemudian

melakukan uji coba save massa yang berfungsi menyimpan masukan pada textbox

massa dan berhasil dengan sukses. Yang terakhir melakukan uji coba pada button

reset yang berfungsi mengembalikan nilai dari nama dan massa ke asal, saat

button di klik maka data nama dan massa tersebut terhapus dengan sukses. Hasil

[image:66.595.92.517.281.684.2]

coba pengujian pada tabel berikut.

Tabel 4.3 Uji Coba Settings Test

Case ID

Tujuan Masukkan Keluaran yang

diharapkan Status

1. Mengubah nama

user “wira” Nama user “wira”

Nama user “wira” tampil pada textblock.

Sesuai

2.

Mengubah massa user dengan “55” kilogram

Massa user “55” Massa user “55”

tampil pada textblock Sesuai 3. Menghapus semua data settingan yang ada didalam aplikasi

Klik tombol Reset Nama dan Massa

user dihapus dari aplikasi

Sesuai

(67)

4.3.4 Proses Training Session

Proses ini dilakukan untuk menguji apakah fungsi timer, fungsi perhitungan

kekuatan pukulan yang terdapat dalam aplikasi dapat berfungsi sesuai yang

diinginkan. Pengujian dilakukan dengan cara user berdiri didepan Kinect siap

untuk berlatih, kemudian memilih menu yang tampil, saat timer berjalan user

melakukan pukulan kearah target. Pada uji coba ini semua fungsi berjalan sebagai

mana mestinya, tetapi pada pukulan cepat terdapat respond delay pada Kinect dan

aplikasi sehingga terkadang beberapa pukulan tidak terdeteksi dengan akurat

waktu dan tenaganya. Untuk mengatasi hal tersebut jeda antar masing-masing

pukulan harus dibuat lama sekitar 1-2 detik sebelum memukul kembali agar

Kinect dan aplikasi dapat kembali sinkron selama terjadi jeda. Jeda tersebut

biasanya muncul apabila pukulan terlalu intensif, penerangan yang kurang, terlalu

banyak objek dibelakang user baik itu berupa orang ataupun benda, jarak user

terhadap Kinect semakin mendekat tidak sesuai dengan jarak yang sudah

ditentukan yaitu 150 cm. Seperti yang disajikan dalam gambar 4.9.

4.3.5 Proses Menghitung Kecepatan Pukulan

Proses ini berjalan disaat proses Training Session berlangsung, saat salah

satu tangan telah terdeteksi oleh Kinect maka program akan memberi ID pada

tangan tersebut dan membuat sebuah stopwatch, stopwatch tersebut akan mulai

berjalan pada saat tangan yang melakukan pukulan berjarak 150 cm dari Kinect

dan akan berhenti setelah tangan berjarak 100 cm dari Kinect, kemudian waktu

(68)

analisa. Pada saat tangan kembali ke posisi awal dengan jarak 150 cm atau lebih

maka stopwatch akan direset. Berikut tabel keluaran kecepatan pukulan:

Tabel 4.4 Keluaran Kecepatan Pukulan

Pukulan Ke-

Waktu Tangan (detik) Kecepatan Tangan (m/s)

Kanan Kiri Kanan Kiri

1 0,18 0,22 2,84 2,29

2 0,40 0,17 1,26 3,03

3 0,25 0,23 1,98 2,21

4 0,22 0,25 2,30 2,02

5 0,32 0,23 1,58 2,16

6 0,19 0,20 2,58 2,45

7 0,16 0,19 3,21 2,67

8 0,12 0,14 4,10 3,47

9 0,15 0,17 3,40 2,92

10 0,19 0,20 2,63 2,70

Pengujian terhadap perhitungan kecepatan dilakukan dengan cara

melakukan pukulan secara bervariasi untuk melihat apakah timer dari stopwatch

berfungsi dengan semestinya. Seperti yang disajikan dalam gambar 4.9. Tabel

[image:68.595.94.543.154.705.2]

pengujian sebagai berikut.

Tabel 4.5 Uji Coba Menghitung Kecepatan Pukulan Test

Case ID

Tujuan Masukkan Keluaran yang

diharapkan Status

1. Mendeteksi variasi pukulan di antara 0,5-0.9 detik. Gerakan pukulan tangan dari jarak 150 cm sampai 100 cm, waktu dari stopwatch

- Timer sesuai data masukkan. -Timer Direset -Tidak ada delay pembacaan pukulan.

Ada delay apabila jeda antar pukulan

terlalu cepat,

mengakibatkan data

kecepatan tidak

sesuai masukan dari stopwatch. 2. Mendeteksi variasi pukulan di antara 0,1-0.5 detik. Gerakan pukulan tangan dari jarak 150 cm sampai 100 cm, waktu dari stopwatch

- Timer sesuai data masukkan. -Timer Direset -Tidak ada delay pembacaan pukulan.

Ada delay apabila jeda antar pukulan

terlalu cepat,

mengakibatkan data

kecepatan tidak

(69)

4.3.6 Proses Menghitung Kekuatan Pukulan

Proses ini berjalan setelah data dari kecepatan pukulan tersimpan kedalam

memori program. Yaitu dengan memasukkan parameter berupa kecepatan dan

berat tangan yang sudah ditentukan besarannya lalu dikalkulasikan menggunakan

rumus Energi Kinetik. Hasil dari perhitungan tersebut akan disimpan dan

digunakan untuk pembuatan grafis performa latihan serta digunakan untuk

mencari pukulan dengan tenaga terkuat dan tenaga terlemah dalam satu sesi

latihan yang bisa dicapai. Pengujian dilakukan dengan cara mengubah parameter

berat tangan dan melakukan pukulan dengan kecepatan yang bervariasi untuk

melihat apakah perhitungan berjalan sesuai harapan. Seperti yang disajikan dalam

gambar 4.9.

Tabel 4.6 Keluaran Kekuatan Pukulan

Pukulan Ke-

Kecepatan Tangan (m/s) Kekuatan Pukulan (Joule)

Kanan Kiri Kanan Kiri

1 2,84 2,29 10,46 6,82

2 1,26 3,03 2,07 11,91

3 1,98 2,21 5,06 6,35

4 2,30 2,02 6,88 5,31

5 1,58 2,16 3,25 6,07

6 2,58 2,45 8,61 7,79

7 3,21 2,67 13,32 9,27

8 4,10 3,47 21,78 15,63

9 3,40 2,92 15,00 11,09

[image:69.595.93.540.304.722.2]

10 2,63 2,70 8,98 9,47

Tabel 4.7 Uji Coba Menghitung Kekuatan Pukulan Test

Case ID

Tujuan Masukkan Keluaran yang

diharapkan Status

1.

Mendeteksi kekuatan pukulan di antara kecepatan 1-3 m/s

Gerakan pukulan tangan dari jarak 150 cm sampai 100 cm dengan kecepatan 1-4 m/s. Berat badan 55 Kg

- Kekuatan dalam Joule ditampilkan.

-Kekuatan harus diantara 1-15 Joule.

(70)

-Tidak ada keluaran berupa ‘Infinity’.

2.

Mendeteksi kekuatan pukulan di antara kecepatan 3-5 m/s atau lebih.

Gerakan pukulan tangan dari jarak 150 cm sampai 100 cm dengan kecepatan 3-5 m/s atau lebih. Berat badan 55 Kg

- Kekuatan dalam Joule ditampilkan.

-Kekuatan harus lebih besar dari 10-15 Joule.

-Tidak ada keluaran berupa ‘Infinity’.

[image:70.595.94.532.84.494.2]

Sesuai

Gambar 4.9 Proses perhitungan kecepatan, kekuatan pukulan

4.3.7 Proses Menampilkan Grafis Latihan

Proses ini dilakukan untuk menguji apakah grafis hasil latihan yang terdapat

dalam aplikasi dapat berfungsi sesuai yang diinginkan. Pengujian dilakukan

setelah user selesai berlatih dan tampilan grafis akan muncul dengan mengambil

parameter nilai yang telah diperoleh pada sesi training. Pada pengujian ini grafis

dapat muncul sesuai yang diharapkan, tetapi terdapat beberapa kekurangan

diantaranya apabila pada sesi training terdapat kesalahan perhitungan akibat jeda

antara Kinect dan aplikasi membuat grafis yang ditampilkan tidak sesuai

(71)

Gambar 4.10 Grafis Latihan

4.3.8 Proses Menampilkan Nilai Tertinggi

Proses ini dilakukan untuk menguji apakah fungsi perhitungan nilai tertinggi

yang terdapat dalam aplikasi dapat berfungsi sesuai yang diinginkan. Pengujian

dilakukan dengan cara memilih menu High Score pada aplikasi dan akan disajikan

5 nilai terbaik dari sesi latihan. Pada pengujian ini 5 nilai terbaik dapat

ditampilkan sesuai yang diinginkan, akan tetapi apabila terdapat nilai akibat jeda

pada sesi training dapat mengacaukan hasil 5 nilai terbaik yang telah ada.

(72)

4.4 Evaluasi

Setelah melakukan uji coba diatas maka berikut adalah hasil evaluasi dari

aplikasi Virtual Punch Training.

Tabel 4.8 Hasil Evaluasi

Proses Memenuhi Kriteria Faktor Hambatan

Mendeteksi gerakan user Ya -Delay apabila ruangan

banyak objek, atau user

terlalu dekat dengan

sensor.

-Eror apabila jarak tidak

sesuai dengan yang

ditentukan yaitu 100

centimeter sampai 150 centimeter dari Kinect

Navigasi Menu Ya -

Mengubah Settings Ya -

Training Session Ya -Tidak bisa melakukan

pukulan cepat dan

intensif

-Apabila jarak terlalu dekat maka akan terjadi jeda pada Kinect dan aplikasi

Menghitung Kecepatan

Pukulan

Ya -Tidak bisa melakukan

pukulan cepat dan

intensif

-Apabila jarak terlalu dekat maka akan terjadi jeda pada Kinect dan aplikasi

Menghitung Kekuatan

Pukulan

Ya -Apabila masukan

kecepatan terjadi delay maka hasil perhitungan tidak akurat

Menampilkan Grafis Ya -Apabila salah satu

tangan tidak terdeteksi saat melakukan latihan

maka grafis tangan

tersebut tidak dapat

ditampilkan

(73)

Berdasarkan pada tabel hasil evaluasi diatas maka dapat disimpulkan

sebagai berikut:

1. Aplikasi Virtual Punch Training dapat digunakan sebagai alat ukur

kekuatan pukulan virtual secara realtime. Dengan batasan kelemahan Kinect,

yaitu tidak dapat mendeteksi gerakan yang intensif dan cepat, tidak bisa

mendeteksi dengan baik apabila dibelakang user terdapat objek ataupun user lain

dibelakang user utama.

2. Aplikasi Virtual Punch Training dapat menampilkan informasi kecepatan

gerakan pukulan, waktu tempuhnya dan kekuatan yang dihasilkan dari pukulan

tersebut.

3. Jeda dari Kinect mengakibatkan hilangnya ID pada setiap tangan yang telah

diberikan sebelumnya oleh aplikasi Virtual Punch Training sehingga pencatatan

kecepatan, kekuatan dan grafis pukulan tidak sesuai yang diharapkan.

4. Besarnya waktu jeda dari Kinect bervariasi tergantung kecepatan dan

intensitas pukulan yang dilakukan, umumnya jeda tersebut terjadi apabila user

terlalu dekat dengan Kinect, pukulan terlalu intensif atau memukul menggunakan

kedua tangan bersamaan.

5. Untuk mengatasi jeda yang diakibatkan oleh Kinect, user harus memberi

waktu beberapa detik sampai posisi kursor kembali ke posisi awal atau

benar-benar melakukan tracking terhadap tangan, atau dengan merestart form pada

aplikasi agar Kinect bisa mendeteksi ulang user utama, disaat Kinect sedang

melakukan pendeteksian diharapkan user berdiri tegak posisi siap.

6. Dari hasil evaluasi dan data tabel keluaran bahwa berat badan dan berat

(74)

Semakin berat bobot user dan semakin cepat pukulan tersebut maka semakin

besar pula kekuatan yang dihasilkan.

7. Apabila terjadi kesalahan perhitungan kecepatan akibat jeda dari Kinect

ataupun salah mengisi data berat badan maka akan merusak hasil perhitungan

kekuatan pada aplikasi, sehingga nilai yang ditampilkan terkadang tidak sesuai

dari yang seharusnya.

8. Aplikasi ini masih memiliki delay yang cukup tinggi dalam menangkap

respon user yang disebabkan oleh Kinect dalam menangkap dan mengenali joint

(75)

BAB V

PENUTUP

5.1 Kesimpulan

Setelah dilakukan pembuatan analisis, perancangan sistem dan Aplikasi

Virtual Punch Training menggunakan Microsoft Xbox Kinect serta dilakukan

evaluasi hasil penelitiannya, maka dapat diambil kesimpulan bahwa :

1. Aplikasi ini dapat mendeteksi gerakan tangan user dan menghitung berapa

kecepatan dan tenaga pukulannya dalam satuan Joule.

2. Aplikasi Virtual Punch Training ini menggunakan rumus Energi Kinetik

dalam perhitungannya dan memberikan output berupa kecepatan pukulan,

kekuatan pukulan dan grafik pukulan.

3. Aplikasi ini dapat digunakan sebagai sarana latihan dengan mengalahkan

skor tertinggi yang telah dibuat sebelumnya, dengan mengalahkan skor

tersebut diharapkan performa kekuatan pukulan dapat meningkat setiap

latihan rutin.

5.2 Saran

Ada beberapa saran yang dapat disampaikan antara lain :

1. Aplikasi Virtual Punch Training ini masih memiliki kekurangan pada

peralatan sensor, sehingga mengakibatkan jeda yang cukup signifikan,

apabila diwaktu depan ada sensor yang lebih baik dari Kinect agar dapat

(76)

2. Aplikasi Virtual Punch Training yang dibuat masih belum cocok untuk PC

kelas low-end, sehingga u

Gambar

Gambar 3.2 Mengukur Kecepatan Jab 2
Gambar 3.3 Flowchart Inisialisasi Kinect
Gambar 3.5 Flowchart DrawPoint
Gambar 3.6 Flowchart pendeteksian kecepatan dan hantaman
+7

Referensi

Dokumen terkait

Dalam proses berkomunikasi terkadang seringkali komunikasi antara dua orang atau lebih tidak berjalan dengan baik karena mereka dapat saja menggunakan satu istilah

Penelitian yang berjudul kamera rekam dengan menggunakan sensor accelerometer berfungsi untuk merekam kejadian di sekitar mobil pada saat parkir ataupun pada saat

Hasil Non-manajerial adalah yang diperoleh dalam melaksanakan tugas teknis atau tugas lain yang tidak berhubungan dengan

Lofland dalam Moleong (2006: 157) data primer adalah data yang diperoleh atau dikumpulkan langsung oleh penelitian dari lapangan. Penelitian ini, data primer yang

Pernyataan Saya merasa tidak mampu menghadapi tugas pengabdian di ma’had Saya berusaha mendapatkan hasil yang maksimal disetiap tugas / tanggung jawab selama menjadi Musyrif/ah

Pemilihan penggunaan data kualitatif dalam penelitian ini didasarkan pada kasus yang akan diteliti yaitu pelaksanaan pengawasan pendidikan terdiri dari proses pelaksanaan

Apakah orang tuamu selalu memberikan penghargaan, baik berupa pujian atau hadiah untuk memberikan semangat agar prestasi yang kamu peroleh lebih baik?. Pernahkah orang

Abstrak dalam Bahasa Indonesia, berkisar antara 200 – 250 kata, berisi ringkasan singkat dan kesimpulan dari manuskrip, dilengkapi dengan 3 – 5 kata kunci (keywords),