BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

PEMBELAJARAN BAHASA ISYARAT DENGAN KINECT DAN METODE DYNAMIC TIME WARPING

PERANCANGAN DAN IMPLEMENTASI APLIKASI PENERJEMAH BAHASA ISYARAT MENJADI SUARA BERBASIS KINECT MENGGUNAKAN METODE DYNAMIC TIME WARPING

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

PERANCANGAN PROGRAM APLIKASI PEMBELAJARAN BAHASA ISYARAT DENGAN METODE DYNAMIC TIME WARPING ABSTRACT

SENSOR GERAK DENGAN LEAP MOTION UNTUK MEMBANTU KOMUNIKASI TUNA RUNGU/WICARA

BAB 4 HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

Bab 1 Pendahuluan 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ANALISA PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. Program yang telah dibuat melakukan proses deteksi dan pembelajaran. Proses deteksi

BAB III METODE PENELITIAN. Tujuan tugas akhir ini akan membangun suatu model sistem yang

Yoga Satria Putra 1, Astri Novianty, S.T., M.T. 2, Nurfitri Anbarsanti, S.T., M.T. 3

BAB III ANALISIS DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

SISTEM PENERJEMAH SANDI SEMAPHORE MENGGUNAKAN SENSOR KINECT DENGAN PENGENALAN POLA DELAPAN TITIK

Agustinus 1, Asep Mulyana, ST., MT. 2, Andrew Brian O., ST., MT. 3

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB 3 PERANCANGAN SISTEM


BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. maupun non verbal. Komunikasi secara verbal menggunakan kata-kata lisan untuk. mengungkapkan ekspresi penggunanya.

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB 3 METODE PENELITIAN. pendapat para responden mengenai Augmented Reality, aplikasi Virtual dressing

BAB IV IMPLEMENTASI DAN PENGUJIAN

ANALISIS DAN DESAIN SISTEM

PERANCANGAN APLIKASI TARI TRADISIONAL DENGAN MENGENALI GERAK TUBUH MANUSIA MENGGUNAKAN METODE DYNAMIC TIME WARPING

BAB 3 PERANCANGAN SISTEM. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai

BAB III PERANCANGAN SISTEM

BAB III ANALISIS DAN RANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB I PENDAHULUAN. Suara merupakan salah satu media komunikasi yang paling sering dan

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Implementasi Skeletal Tarcking dalam Sistem Navigasi Mobile Robot Menggunakan Sensor Kinect

BAB IV IMPLEMENTASI DAN UJI COBA. Pengenalan Pola dengan Algoritma Eigen Image, dibutuhkan spesifikasi

BAB III METODOLOGI. Dalam penelitian ini digunakan perangkat keras komputer dengan spesifikasi sebagai berikut:

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB IV HASIL PENELITIAN DAN PEMBAHASAN. 4.1 Pengembangan Sistem Pengenalan Wajah 2D

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

IMPLEMENTASI KINECT PADA PENERJEMAH BAHASA ISYARAT. Naskah Publikasi. diajukan oleh Nuruddin Wiranda

BAB I PENDAHULUAN. seperti tunarungu dan tunawicara. Tunarungu dan tunawicara merupakan

IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI SISTEM DAN EVALUASI. Aplikasi Virtual Punch Training ini membutuhkan Kinect sebagai media

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

PERANCANGAN DAN IMPLEMENTASI METODE DYNAMIC TIME WRAPPING (DTW) PADA KENDALI SMART ROOM MENGGUNAKAN SENSOR KINECT BERBASIS MIKROKONTROLER

BAB 3 PEMBAHASAN. 3.1 Sistem Absensi Berbasis Webcam

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN. media penyimpanan data yang memiliki ukuran hingga ratusan gigabyte bahkan

Bab 3. Perancangan Sistem

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI. 2.1 Menghitung Kecepatan Menggunakan Kinect. Microsoft, 2012). Nilai masukan dapat diperoleh dari Runtime Tracking atau

BAB I PENDAHULUAN. lumrah. Hal ini disebabkan karena pada hakikatnya teknologi adalah pengetahuan

BAB IV IMPLEMENTASI DAN EVALUASI. akan dilakukan untuk mengetahui kelebihan dan kekurangan aplikasi. Untuk itulah,

BAB IV HASIL DAN UJI COBA

Program Aplikasi Komputer Pengenalan Angka Dengan Pose Jari Tangan Sebagai Media Pembelajaran Interaktif Anak Usia Dini

BAB III ANALISA DAN PERANCANGAN SISTEM

SISTEM PENGENALAN WAJAH MENGGUNAKAN WEBCAM UNTUK ABSENSI DENGAN METODE TEMPLATE MATCHING

BAB III ANALISIS DAN DESAIN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN

BAB 4 HASIL DAN PEMBAHASAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III METODE PENELITIAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN PERANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. Aplikasi ini bekerja dengan memindahkan bit-bit pesan, menampungnya dalam

BAB II TINJAUAN PUSTAKA

BAB 3 ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN. perangkat. Alat dan bahan yang digunakan sebelum pengujian:

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. Nama program yang hendak dikembangkan adalah Viola Jones Simulator. Tujuan dari

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

Bab 3 Metode Penelitian

BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN. meliputi pembahasan mengenai proses perekaman gambar berdasarkan interval

BAB III ANALISA DAN PERANCANGAN APLIKASI

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI DAN EVALUASI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN EVALUASI. spesifikasi tertentu untuk computer yang digunakan yaitu: Pentium IV 2.0 Ghz. Memory 512 MB.

BAB 3 PE GEMBA GA METODE DA ALGORITMA PEMESI A MULTI AXIS

BAB III ANALISIS DAN PERANCANGAN SISTEM. sasaran. Punch termasuk gerakan pertahanan yang digunakan untuk memberi

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Bab 4 Studi Kasus. 4.1 Tampilan Awal Aplikasi Perangkat Lunak

BAB III METODOLOGI PENELITIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

PENGENALAN ABJAD SISTEM ISYARAT BAHASA INDONESIA (SIBI) BERBASIS KAMERA DEPTH

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

BAB III ANALISA DAN PERANCANGAN

Transkripsi:

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM Sesuai dengan pemodelan proses Waterfall yang telah dijelaskan pada bab 2 maka dibutuhkan analisis dan perancangan sebelum memulai membuat suatu program. Berikut akan disajikan analisis kebutuhan sistem yang digunakan. 1.1 Analisis Kebutuhan User Bahasa isyarat umumnya digunakan bagi mereka yang menderita tuna wicara dan tuna rungu. Di Indonesia sendiri, Jumlah penyandang cacat tuna rungu dan tuna wicara berdasarkan hasil Survei Sosial Ekonomi Nasional (Susenas) Tahun 2004 adalah sebanyak 602.784 jiwa (Dr. Imran Agus Nurali, 2011). Walaupun jumlah tersebut hanya mencakup 0.25% dari jumlah total penduduk Indonesia saat itu, namun mengacu pada pendapat dari Hellen Keller seorang tuna rungu-wicara (1880 1968) yang diterjemahkan oleh (Gertakin, 2011) menyatakan hal sebagai berikut:, Masalah ketunarunguan lebih mendalam dan komplek, kalaupun mungkin lebih berat daripada kebutaan. Ketunarungan merupakan musibah yang buruk, karena berarti kehilangan rangsangan yang paling vital; suara manusia yang membawa bahasa yang dapat menggugah pikiran dan menempatkan kita dalam jajaran manusia intektual. Pernyataan tersebut tentunya mempertegas bahwa permasalahan tuna rungu dan tuna wicara tidak bisa dipandang sebelah mata. Kurangnya tenaga pengajar guru di beberapa sekolah luar biasa (SLB) di Indonesia, menunjukan minimnya sumber daya pengajar untuk bidang bahasa isyarat (Muchtar, 2011). Oleh karena itu, dibutuhkan program yang dapat menjadi media

25 pembelajaran bahasa isyarat, yang dapat memberikan visualisasi contoh gerakan serta penilaian terhadap bahasa isyarat yang dilakukan. 1.2 Analisis Perancangan Sistem (System Enginering) Untuk merancang program pembelajaran bahasa isyarat dibutuhkan suatu media yang dapat digunakan untuk referensi pembelajaran pola gerakan bahasa isyarat. Media yang akan digunakan adalah sebuah file media berupa video yang berisikan tentang seorang model yang melakukan pola gerakan. Dari video tersebut, user dapat melihat sampel contoh pola gerakan ASL yang ingin dipelajari. Dalam perancangan program ini dibutuhkan sistem penilaian tentang pola gerakan yang dilakukan user. Oleh karena itu dibutuhkan sebuat hardware yang dapat medeteksi rangka tubuh user, sehingga dapat di analisis pola gerakannya. Sensor yang digunakan adalah sensor kinect dari perangkat Xbox. Sensor ini dapat mendeteksi rangka digital user lebih akurat disbanding dengan sensor yang telah ada sebelumnya. 1.3 Analisis Kebutuhan Piranti Lunak (Software Requirement Analysis) Dalam perancangan program aplikasi pembelajaran bahasa isyarat ini mengunakkan perangkat keras sensor kinect dari microsoft dan hanya dapat dikembangkan dalam operation system (OS) windows 7 dengan menggunakan SDK yang telah disediakan dari microsoft. Dalam proses pembelajaran fungsi-fungsi yang dibutuhkan meliputi fungsi tampilan video tutorial, fungsi menghitung rating gerakan dan fungsi merekam gerakan.

26 1.4 Analisis Perancangan (Design) Analisis Perancangan (Design) dibagi dalam beberapa subsistem, dimana setiap subsistem memiliki peranan yang saling mendukung untuk tahap-tahap pembuat program. Tahapan tahapan tersebut dapat dilihat pada gambar 3.1. Analisis Perancangan (Design) Pengambilan gambar dengan sensor kinect Pengenalan objek rangka Normalisasi data Pengenalan pola gerakan dengan metode DTW Gambar 3.1 Alur proses sistem 1.4.1 Analisis Pengambilan Gambar dengan Sensor Kinect Pada awalnya, sensor kinect hanya dapat digunakan oleh pekerangkat game XBox 360. Namun Dengan tersedianya driver dari kinect SDK untuk sensor kinect, maka sensor kinect dapat dikenali oleh komputer dan dijadikan media untuk menghasilkan input bagi program. Dalam perancangan program, jumlah frame yang masuk perdetiknya tidak dapat ditentukan, hal ini dikarenakan kinect SDK tidak menyediakan pengaturan untuk aliran frame yang masuk perdetiknya (frame rate/latency). Banyaknya frame yang masuk perdetiknya tergantung pemakaian resource pada PC. Semakin banyak pemakaian

27 resource, maka frame rate/latency semakin kecil begitu juga sebaliknya semakin sedikit pemakaian resource, maka frame rate/latency semakin besar. 1.4.2 Analisis Pengenalan Objek Kerangka Pengenalan objek kerangka didapatkan berdasarkan fitur depth sensor dari sensor kinect dan fitur skeletal tracking dari kinect SDK. Dengan kombinasi kedua fitur tersebut, program dapat mengenali (recognition) dan mendeteksi gerakan (motion tracking) 20 sendi tubuh manusia. Setiap titik sendi tersebut memiliki variabel koordinat x, y, dan z yang didasari dari posisi gambar diambil dengan sensor kinect. Dalam perancangan program ini, hanya digunakan 8 titik sendi saja dan 2 titik koordinat saja yaitu x dan y. Titik-titik sendi yang digunakan adalah tangan kanan (hand right), tangan kiri (hand left), pergelangan tangan kanan (wrist right), pergelangan tangan kiri (wrist left), siku kanan (elbow right), siku kiri (elbow left), bahu kanan (shoulder right) dan bahu kiri (shoulder left). Pada perancangan program ini, bahu kanan (shoulder right) dan bahu kiri (shoulder left) akan digunakan sebagai objek referensi yang tidak berubah selama proses pengenalan gerakan. Kedua sendi tersebut dipilih karena sifat/karakteristiknya yang bersifat kaku (rigid). Oleh karena itu dalam pengenalan pola gerakan, hanya akan membandingkan 6 titik sendi saja yaitu tangan kanan (hand right), tangan kiri (hand left), pergelangan tangan kanan (wrist right), pergelangan tangan kiri (wrist left), siku kanan (elbow right), siku kiri (elbow left).

28 1.4.3 Analisis Normalisasi Data Nilai dari koordinat titik-titik sendi manusia (x,y) yang diperoleh sebelumnya, berpusat pada koordinat (0,0) diujung kiri atas gambar. Normalisasi data bertujuan untuk menentukan koordinat baru berdasarkan titik tengah dari kedua bahu user. Hal ini dilakukan untuk menghindari perubahan nilai akibat translasi dan dilatasi karena posisi user didepan kamera yang tidak pasti (Steve, 2011). Berikut adalah simulasi tentang normalisasi data-data tersebut: Gambar 3.2 Perbandingan kerangka digital dengan perbedaan posisi user Pada Gambar 3.2 dapat dilihat bahwa data koordinat yang diperoleh berbeda, meskipun pola gerakan memiliki arti yang sama. Oleh karena itu, untuk mendapatkan data yang sama walaupun posisi titik berbeda secara transalasi maka dilakukan normalisasi dengan persamaan berikut: Dimana : i = Koordinat posisi tangan kanan, tangan kiri, pergelangan tangan kanan, pergelangan tangan kiri, siku kanan, dan siku kiri.

29 Setelah melalui proses dengan rumus diatas, maka masalah terhadap translansi dapat dipecahkan. Hal ini dikarenakan titik pusat tidak lagi berpusat pada sudut kiri atas (0,0), melainkan berpusat pada titik tengah dari kedua bahu user Sehingga walau user berdiri diposisi yang berbeda, titik akan dianggap sama. Gambar 3.3 Perbandingan kerangka digital dengan perbedaan jarak user Pada Gambar 3.3 dapat dilihat juga bahwa data koordinat yang akan diperoleh berbeda. Ketika user semakin dekat terhadap sensor kinect, maka kerangka digital yang dihasilkan akan lebih besar dan jika semakin jauh jarak user terhadap sensor kinect, maka semakin kecil kerangka digital yang dihasilkan. Masalah tersebut merupakan permasalah akibat dilatasi titik. Untuk mengatasi masalah dilatasi tersebut, maka digunakan persamaan berikut : Dimana : i = Koordinat posisi tangan kanan, tangan kiri, pergelangan tangan kanan, pergelangan tangan kiri, siku kanan, dan siku kiri.

30 Persamaan diatas, digunakan untuk menentukan nilai baru dari koordinat yang akan dibandingkan. Nilai baru tersebut didapat dengan cara membandingkan antara titik dengan jarak. Dalam kasus ini, titik-titik sendi akan dibagi dengan jarak antara kedua bahu. Karena jarak antara bahu bersifat konstan, maka jarak antara bahu tesebut digunakan sebagai skala untuk pembandingan dilatasi. Setelah melakukan tahap-tahap tersebut, data-data telah bersifat normal, sehingga data tersebut dapat digunakan untuk tahap selanjutnya. 1.4.4 Analisis Pengenalan Gerakan dengan Metode Dynamic Time Warping Pola gerakan yang biasanya diperoleh, memiliki deret waktu yang berbeda dengan data perbandingan (reference). Ini dikarenakan dalam melakukan suatu pola gerakan, manusia biasanya mengabaikan deret waktu dan hanya berfokus pada pola gerakannya saja. Oleh karena itu gerakan yang telah dilakukan bisa saja lebih cepat atau lebih lambat dari gerakan reference. Agar program dapat mengenali pola gerakan merupakan pola gerakan yang sama meski waktu operasi pola gerakan tersebut berbeda, digunakanlah metode dynamic time warping untuk mengatasi masalah terhadap perbedaan deret waktu tersebut. Dalam proses pengenalan program ini, pertama-tama program akan membaca file yang berisikan nama gerakan dan deret 32 frame. Setiap frame memiliki data 6 titik sendi dengan koordinat (x,y). Data-data tersebut akan digunakan sebagai data perbandingan (reference). Input diperoleh dari streaming video secara langsung dengan sensor kinect. Deret frame yang didapat disusun (scene reconstruction) secara berurutan. Ketika streaming video dilakukan, frame - frame yang diperoleh akan digunakan sebagai input. Deret

31 frame tersebut akan disimpan kedalam sebuah array dengan maximum data sebanyak 32 frame. Data yang ditampung tersebut bersifat FIFO (first in first out). Dimana ketika jumlah frame yang disimpan telah melebih 32 frame, maka frame dengan urutan pertama akan di remove. Hal ini bertujuan agar pengenalan pola dapat dilakukan secara realtime. Ilustrasi data input tersebut dapat dilihat pada gambar 3.4. Array [0] [1] [2] [3] [31] Input [0] [1] [2] [3] [31] Gambar 3.4 Ilustrasi input frame untuk program Pada program ini, metode dynamic time warping akan membandingkan dua urutan pola gerakan yaitu: A = [,, ], B = [,, ] Dimana A adalah pola gerakan user yang ditangkap sensor kinect dan dijadikan sebagai input dalam program dan B adalah pola gerakan yang digunakan sebagai data pembanding (reference) dengan pola gerakan input. Variabel,, dan,, adalah urutan frame dari pola gerakan yang masing-masing memiliki 6 himpunan nilai koordinat (x,y).

32 Setelah mengindentifikasi dua pola gerakan yang ingin dibandingkan, tahap berikutnya adalah melakukan perhitungan matriks cost dengan setiap elemennya dihitung dengan persamaan berikut: Berdasarkan pada dasar teori di bab 2 halaman 11 tentang metode dynamic time warping, algoritma yang digagaskan oleh (Senin, 2008) dalam menentukan matriks DTW dapat disusun sebagai berikut: Algoritma Matriks cost DTW 1: n A // n diisi dengan banyaknya himpunan input 2: m B // m diisi dengan banyaknya himpunan reference 3: dtw[] new [n m] // membuat matriks dengan dimensi (n,m) 4: dtw(0, 0) 0 // membuat Boundary condition seperti pada persamaan (2) 5: for i = 1; i n; i + + do // perulangan untuk memenuhi persamaan (5) tahap 1 6: dtw(i, 1) dtw(i 1, 1) + c(i, 1) // baris pertama dihitung akumulasi cost 7: end for 8: for j = 1; j m; j + + do // perulangan untuk memenuhi persamaan (5) tahap 2 9: dtw(1, j) dtw(1, j 1) + c(1, j) // kolom pertama dihitung akumulasi cost 10: end for 11: for i = 1; i n; i + + do 12: for j = 1; j m; j + + do // perulangan untuk memenuhi persamaan (5) tahap 3 13: dtw(i, j) c(i, j)+min {dtw(i 1, j); dtw(i, j 1); dtw(i 1, j 1)} // semua elemen lainnya dihitung akumulasi cost 14: end for 15: end for 16: return dtw // return matriks dtw

33 Namun untuk kasus gesture recognition dengan sensor kinect, (Steve, 2011) mengagaskan metode dynamic time warping yang dimodifikasi dengan step function (slope constraint). Modifikasi tersebut bertujuan untuk meningkatkan sensitivitas pengenalan pola. Berikut adalah pembahasaan metode dynamic time warping yang telah dimodifikasi oleh (Steve, 2011) : Pada awalnya deret frame pada pola gerakan input dan reference akan di reverse. Hal ini bertujuan untuk mendeteksi terlebih dahulu selisih jarak kondisi akhir dari pola gerakan, sehingga lebih cepat mengidentifikasi pola gerakan yang dilakukan oleh user. Nilai dari A dan B setelah di reverse dapat dilihat pada persamaan dibawah berikut: A = [ ] B = [ ] Setelah melakukan tahapan diatas, dibuat tiga matriks yaitu matriks DTW, matriks slopen, dan matriks slopem. Matriks DTW digunakan sebagai matriks bobot akumulasi cost, sedangkan matriks slopen dan slopem digunakan untuk mengidentifikasi arah jalur yang telah dilewati. Nilai awal semua elemen pada matriks DTW adalah positif tak hingga, kecuali elemen pada matriks DTW (0,0) bernilai 0. Sedangkan nilai awal pada semua elemen matriks slopen dan slopem adalah 0. slope-n

34 slope-m Setelah menentukan matriks awal, langkah berikut adalah menghitung nilai baru untuk matriks DTW dengan algortima berikut: Algoritma perhitungan nilai matriks DTW dengan slope constrain 1: // n diisi dengan banyaknya himpunan input 2: // m diisi dengan banyaknya himpunan input 3: dtw [] // membuat matriks dtw dengan dimensi 4: slopen [] // membuat matriks slopen dengan dimensi 5: slopem [] // membuat matriks slopem dengan dimensi 6: for do 7: for j do 8: //inisialisasi matriks awal 9: end for 10: end for 11: dtw // membuat Boundary condition seperti pada persamaan (2) 11: for do 12: for j do 13: if dtw(i,j 1) < dtw(i 1,j 1) & dtw(i,j 1) < dtw(i 1,j) & slopen(i,j 1)<maxslope then //kondisi jalur (i,j 1) memiliki cost terendah dari jalur yang lainnya serta jalur belum (i,j 1) masih bisa dilalui. 14 : (i, j) c(i 1, j 1) + (i, j 1) //jalur cost melewati (i,j 1) 15: slopen(i, j) slopen(i, j 1) + 1 // penanda jalur (i,j 1) telah dilalui 16: slopem(i, j) ) 0 // penanda jalur (i,j 1) di reset

35 17: elseif dtw(i 1,j) < dtw(i 1,j 1) & dtw(i 1,j) < dtw(i,j 1) & slopen(i,j 1)<maxslope then //kondisi jalur (i 1,j) memiliki cost terendah dari jalur yang lainnya serta jalur belum (i 1,j) masih bisa dilalui. 18: (i, j) c(i 1, j 1) + (i-1, j) //jalur cost melewati (i 1,j) 19: slopen(i, j) 0 // penanda jalur (i,j 1) di reset 20: slopem(i, j) ) slopem(i 1, j) + 1// penanda (i 1,j) telah dilalui 21: else 22: (i, j) c(i 1,j 1)) + (i-1, j-1) //jalur cost melewati (i 1,j 1) 23: slopen(i, j) 0 // penanda jalur (i,j 1) di reset 24: slopem(i, j) ) 0 // penanda jalur (i,j 1) di reset 25: end if 26: end for 27: end for 28: return dtw // return matriks akumulasi DTW Setelah melakukan perhitungan matriks DTW, untuk mencari cost dari optimal warping path digunakan persamaan berikut: Berikut adalah algoritma pencarian dari optimal path warping Algoritma perhitungan DTW 1: 2: // n diisi dengan banyaknya himpunan input 3: // m diisi dengan banyaknya himpunan reference 4: for do 5: if ( (i, m) < ) then 6: = [i, m] // mencari cost optimal warping path

36 7: endif 8: end for 9: / m //menghitung rata-rata cost 10: return cost cost yang didapat akan dibandingkan dengan nilai toleransi (threshold) yang sudah ditentukan. Jika cost masih dalam batas toleransi, maka gerakan yang dilakukan akan dianggap sama dengan data pada reference. Berikut adalah perbandingan antara penggunaan metode dynamic time warping yang tidak menggunakan slope constraint dan dynamic time warping yang menggunakan slope constraint : Input = { 1, 3, 7, 4} Reference = { 3, 1, 3, 4, 10, 11, 4} (p1) (p2) (p3) Optimal path warping DTW = = 9 (p4) Optimal path warping DTW with slope = = 12 (p5)

37 Dalam perhitungan (p1), dihitung nilai matriks cost dengan menggunakan persamaan (1). Selanjutnya matriks cost tersebut akan dihitung akumulasi matriks cost nya untuk mendapatkan optimal warping path. Pada perhitungan (p2), pencarian optimal warping path selalu mencari nilai terendah tanpa memiliki batasan pergerakan horizontal dan vertical. Sedangkan pada perhitungan (p3) percarian optimal warpting path selalu mencari nilai terendah dengan batasan pergerakan horizontal dan vertical. Dapat dilihat pada perhitungan (p4) dan (p5) bahwa nilai dari perhitungan (p4) akan lebih kecil daripada perhitungan (p5). Hal ini dikarenakan dengan menggunakan batasan slope, sensitivitas pencocokan gerakan lebih besar. Ketika pola gerakan yang dilakukan user tidak dikenali, maka tingkat akurasi akan bernilai 0%. Sedangkan jika gerakan dikenali, maka akan ditampilkan tingkat akurasi kemiripan pola gerakan user dengan pola gerakan reference dengan persamaan berikut: 1.5 Pengumpulan Data Reference Data reference didapatkan dari hasil studi pada pola gerakan American Sign Language (ASL). Namun pada pengumpulan data reference itu sendiri, tidak semua gerakan ASL dapat digunakan untuk pengenalan program. Gerakan ASL yang diambil disesuaikan dengan ruang lingkup dari program yang akan dibuat. Setelah menentukan pola gerakan yang akan digunakan sebagai data reference, maka selanjutnya akan dilakukan pengambilan gambar sebanyak 32 frame dari beberapa satuan waktu. Misalkan gambar yang diambil pada detik pertama sebanyak 30 frame maka dibutuhkan 2 frame dari detik kedua.

38 Dalam perekaman untuk mengambil pola gerakan yang memerlukan waktu yang lebih lama, maka dibutuhkan loncatan frame (ignore). Semakin besar nilai dari ignore, maka membutuhkan waktu yang lebih lama dalam pengambilan gambar. Untuk menentukan frame yang diambil dengan ignore dapat dilihat pada gambar 3.5. Detik pertama Detik kedua Frame1 Frame2 Frame30 Frame31 Frame32.. Ignore=1 Frame1 Frame2 Frame3 Frame4 Frame5.. Frame32 Ignore=2 Frame1 Frame2 Frame3 Frame4 Frame5.. Frame64 Gambar 3.5 Ilustrasi penentuan frame yang akan digunakan sebagai reference 1.6 Rancangan Sistem Berikut ini merupakan detil rancangan sistem yang akan dibuat pada program aplikasi ini yang meliputi: 1.6.1 Rancangan Program Pada bagian rancagan program ini, akan digunakan flowchart untuk menunjukan alur kontrol dari program. Flowchart dari alur program tersebut dapat dilihat pada gambar 3.6. Dalam program ini terdapat dua tab, yaitu tab pengenalan dan perekaman. Ketika program di jalankan, user dapat memilih salah satu dari tab tersebut.

Gambar 3.6 Flowchart alur program 39

40 1.6.2 Rancangan Struktur Menu Program ini memiliki tiga menu utama, yaitu menu file, menu program utama, dan menu lainnya. Gambar 3.7 Gambar rancangan struktur menu program Pada gambar 3.7 menunjukan struktur menu program yang akan dibuat, dimana menu utama terbagi atas 3 submenu yaitu menu file, menu program, dan menu lainnya. Menu file yang memiliki submenu exit, berfungsi untuk menutup program. Menu lainnya memiliki submenu about dimana menu ini berfungsi untuk menampilkan informasi tentang pembuat program dan informasi lainnya. Sedangkan menu program memiliki submenu pengenalan, perekaman, tutorial dan pengaturan. Submenu pengenalan bertujuan untuk menterjemahkan bahasa isyarat yang dilakukan didepan sensor kinect menjadi hasil penerjamahan dalam bentuk text/tulisan. Untuk melakukan proses pengenalan pola gerakan bahasa isyarat, dilakukan langkahlangkah sebagai berikut:

41 1. Pengambilan gambar dengan sensor kinect 2. Pengenalan objek kerangka 3. Normalisasi data 4. Pengenalan dengan metode dynamic time warping Sedangkan submenu perekaman bertujuan untuk merekam pola gerakan yang dilakukan didepan sensor kinect, dimana pola gerakan tersebut nantinya dapat digunakan untuk dijadikan pola gerakan untuk pembelajaran. Dalam proses perekaman itu sendiri meliputi langkah-langkah sebagai berikut: 1. Pengambilan gambar dengan sensor kinect 2. Pengenalan objek kerangka 3. Normalisasi data 4. Generate data reference Submenu tutorial bahasa isyarat, bertujuan memberikan informasi berupa contoh video pola gerakan yang dapat dilakukan. Sedangkan Submenu pengaturan bertujuan untuk mengatur sudut vertikal dari sensor kinect. 1.6.3 Rancangan Layar Form Tab Pengenalan Ketika program dijalankan, maka tampilan tab pengenalan akan muncul pertama kali. Tab ini, menampilkan gambar kerangka digital yang di hasilkan dari depth sensor. Didalam form ini, terdapat 3 panel informasi yaitu status, akurasi dan pengenalan. Panel informasi status memberikan informasi tentang status program dan error log. Panel informasi akurasi berfungsi untuk indikator akurasi pola kemiripan gerakan yang dilakukan dengan pola gerakan reference. Sedangkan panel informasi pengenalan, memberikan informasi tentang apakah pola gerakan dikenali atau tidak oleh program.

42 Pada tab ini juga, terdapat beberapa contoh berupa video pola gerakan yang dapat diputar dan dipelajari. Serta terdapat pengaturan, pengaturan sudut vertikal dari sensor kinect dengan akses driver motorik sensor melalui program. Rancangan layar form tab pengenalan dapat dilihat pada gambar 3.8. Gambar 3.8 Gambar rancangan form tab pengenalan 1.6.4 Rancangan Layar Form Tab Perekaman Pada tab ini, terdapat panel konversi kerangka tubuh serta panel video streaming yang digunakan sebagai cermin terdapat tombol rekam yang berfungsi untuk memulai perekaman video yang kemudian dapat disimpan dalam bentuk file video yang berformat avi. Sedangkan tombol simpan digunakan untuk menambahkan pola gerakan yang telah direkam sebelumnya kedalam data reference. Terdapat juga tombol lihat data untuk melihat data reference yang telah direkam sebelumnya. Rancangan layar untuk form tab perekaman dapat dilihat pada gambar 3.9.

43 Gambar 3.9 Gambar rancangan form tab perekaman 1.6.5 Rancangan Layar Tampilan About Ketika user memilih menu lainnya kemudian user memilih menu about, Maka akan muncul tampilan layar about. Pada tampilan layar ini, ditampilan informasi tentang pembuat program dan pembimbing dalam pembuatan program ini. Rancangan layar tab tampilan About dapat dilihat pada gambar 3.10. Gambar 3.10 Gambar rancangan layar about