• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

Untuk merancang aplikasi ini dibutuhkan landasan teori yang dapat membantu dalam merancang aplikasi. Berikut adalah beberapa teori yang dipergunakan dalam perancangan aplikasi ini.

1.1 Bahasa Isyarat

Dalam Kamus Besar Bahasa Indonesia (KBBI), bahasa isyarat artinya bahasa yang tidak menggunakan bunyi ucapan manusia atau tulisan di sistem perlambangannya. Bahasa isyarat menggunakan isyarat berupa gerak tangan, kepala, badan dan sebagainya, yang khusus diciptakan oleh kaum tuna rungu dan untuk kaum tuna rungu (kadang untuk kaum pendengar).

Bahasa isyarat unik dalam jenisnya di setiap negara. Bahasa isyarat bisa saja berbeda di negara-negara yang berbahasa sama. Contohnya, Amerika Serikat dan Inggris meskipun memiliki bahasa tertulis yang sama, mereka memiliki bahasa isyarat berbeda (American Sign Language dan British Sign Language). Hal yang sebaliknya juga berlaku. Ada negara-negara yang memiliki bahasa tertulis yang berbeda (contoh: Inggris dengan Spanyol), namun menggunakan bahasa isyarat yang sama.

Untuk Indonesia, sistem yang sekarang umum digunakan adalah Sistem Isyarat Bahasa Indonesia (SIBI) yang sama dengan bahasa isyarat America (ASL - American Sign Language). Pada gambar 2.1 dapat dilihat sketsa contoh gerakan dasar bahasa isyarat ASL.

(2)

Gambar 2.1 Sketsa contoh gerakan bahasa isyarat 1.2 Computer Vision

Computer Vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek yang diamati atau diobservasi. Gambar yang diperoleh dapat diperoleh dari beberapa sumber seperti video, scanner, atau digital image (Zhu, 2008).

Secara umum bidang didalam computer vision dapat dibagi menjadi: 1. Recognition

Merupakan permasalah mendasar dari computer vision yaitu mengenali apakah didalam sebuah image terdapat objek-objek dan aktivitas-aktivitas tertentu. bagi komputer pemasalah ini merupakan hal yang tidak mudah bentuk mengenali secara langsung untuk mengenali suatu objek dan aktivitas tertentu.

(3)

2. Motion Tracking

Berkaitan dengan gerakan yang akan diamati yang mana image diolah merupakan urutan dari sebuah kegiatan tertentu atau pergerakan dari sebuah objek yang telah dikenali. dalam tahap ini, objek tersebut tentunya telah di kenali terlebih dahulu. Sehingga objek yang diamati pergerakannya berfokus pada objek itu sendiri. contohnya pergerakan mobil, pergerakan manusia.

3. Scene Recontruction

Pada Bagian ini, berkaitan dengan mengatur urutan dari image menjadi sebuah grafik video setelah diketahui tindakan apa yang dilakukan oleh masing-masing gambar. Merupakan proses kelanjutan dari bagian motion tracking. Banyak digunakan pada permainan-permainan komputer yang dinamis untuk memperkecil ukurang program sebagain respon dari pemain.

1.3 Metode Dynamic Time Warping

Metode dynamic time warping (DTW) pertama kali diperkenalkan pada tahun 1960-an oleh (R. Bellman, 1959), dan di eksplorasi secara luas pada tahun 1970-an untuk aplikasi pengenalan suara oleh (C. Myers, 1980). Saat ini, metode dynamic time warping sudah diterapkan dalam berbagai bidang, diantaranya: handwriting dan online signature matching oleh (C. C. Tappert, 1990), computer vision dan computer animation oleh (Muller, 2007), protein sequence alignment dan chemical engineering oleh (J. Vial, 2008), dan lain – lain (Senin, 2008, p. 3).

Menurut (Sakoe dan Chiba 1978), dynamic time warping (DTW) adalah metode untuk menghitung kesamaan antara dua deret waktu (time series) yang mungkin berbeda

(4)

dalam waktu dan kecepatan (BlazStrle, 2003). Contohnya, dalam kasus mendeteksi kesamaan pola gerakan berjalan, dimana data yang pertama menunjukan seseorang berjalan secara perlahan-lahan dan data lainnya menunjukan seseorang tersebut berjalan lebih cepat.

Misalkan terdapat dua deret waktu yaitu dan

, dalam bentuk grafik seperti pada gambar 2.2.

Gambar 2.2 Grafik perbandingan nilai X dan Y (Senin, 2008)

Pada gambar diatas, terdapat dua grafik yang menunjukan dua deret waktu. Dua deret waktu tersebut memiliki pola yang sama, namun letak posisi yang berbeda. Hal tersebut terjadi karena, adanya perbedaan selang waktu antara dan . Permasalahannya adalah bagaimana mengindentifikasi kedua deret tersebut dapat dianggap sama walaupun memiliki dua rentang waktu yang berbeda.

Dengan metode dynamic time waping, masalah diatas dapat dipecahkan. Konsep dari dynamic time warping itu sendiri adalah membandingkan optimal path warping.

(5)

Dimana optimal path warping adalah jalur dengan cost terpendek dari selisih perbandingan X dan Y.

(a) (b)

Gambar 2.3 Perbandingan X dan Y dengan kasus yang berbeda (a) input sama dengan reference (b) input tidak sama dengan reference Pada gambar 2.3(a), input dan reference sama sehingga optimal path warping berbentuk diagonal lurus berhimpitan dengan diagonal X=Y. Sedangkan pada gambar 2.3(b), input dan reference berbeda, sehingga terjadi beberapa warping pada optimal path warpingnya. Dari perbandingan tersebut dapat dilihat bahwa untuk input dan reference yang sama, cost optimal path warpingnya akan lebih kecil dari pada cost optimal path warping yang memiliki input dan reference yang berbeda. Jika semakin kecil selisih perbandingan optimal path warpingnya, maka dapat disimpulkan bahwa pada gambar 2.3(b), input dan referencenya juga akan mirip. Dalam mencari optimal path warping itu sendiri, dibutuhkan kriteria-kriteria tertentu. Berikut algoritma dan kriteria yang diuraikan oleh (Senin, 2008) untuk menghitung optimal path warping:

(6)

Metode ini, diawali dengan menentukan matriks cost yang memiliki dimensi c . Matriks cost adalah matriks yang merepresentasikan selisih dari Himpunan X dan Y. Masing-masing elemen matriks dapat dihitung dengan persamaan berikut :

Dimana : (1)

Nilai dari cost setiap matriksnya, digunakan untuk mencari jalur dengan cost terendah dari kolom pertama sampai kolom terakhir.

2. Menentukan optimal warping path

Setelah matriks cost terbentuk, algoritma ini akan mencari jalur warping dengan

cost terendah dengan dan

(7)

Gambar 2.4 Optimal path warping dari dua deret waktu X dan Y (Senin, 2008) Dengan Jalur warping yang akan dicari harus memenuhi kriteria-kriteria sebagai berikut:

a. Boundary condition: dan . Awal dan akhir jalur harus merupakan titik awal dan titik akhir dari deret waktu. (2) b. Monotonicity condition: dan . kondisi

ini akan mempertahankan deret urutan waktu. (3) c. Step size condition: membatasi pergeseraan path/jalur yang terlalu jauh. (4)

3. Menentukan matriks DTW

Berdasarkan definisi dari optimal warping path dalam pencarian jalur dengan matriks cost, diperlukan pengujian ke setiap jalur antara dan . Hal ini tentu saja tidak

(8)

efisien, karena kemungkinan jalur yang berpotensi untuk dilewati juga akan semakin banyak seiring dengan panjang deret waktu dan .

Untuk mangatasi masalah diatas, digunakan dynamic programming sebagai optimasi pencarian jalur dengan cepat. Menurut (Levitin, 2006) dynamic programming adalah sebuah teknik untuk menyelesaikan masalah dengan cara membagi masalah dalam beberapa sub masalah (stage) sehingga solusi dari masalah dapat dipandang dari sekerangkaian keputusan yang saling berkaitan.

Dalam kasus ini dilakukan perhitungan untuk total cost setiap pencarian jalur yang mungkin dilewati (stage). Semua jalur yang telah dilewati diakumulasi terlebih dahulu. Matriks akumulasi yang akan digunakan didefinisikan sebagai berikut:

Dimana perhitungan akumulasi untuk matriks DTW adalah sebagai berikut:

a. Baris pertama: b. Kolom pertama:

c. Semua elemen matriks:

4. Menentukan cost optimal warping path

Setelah menghitung matriks DTW, maka untuk menentukan total dari cost jarak yang melewati jalur warping dapat menggunakan persamaan berikut:

(9)

Dengan cost dari optimal warping path adalah cost akumulasi minimum pada kolom terakhir.

Menurut (Senin, 2008) perlu dilakukan modifikasi algoritma dynamic time warping untuk meningkatkan kualitas kinerja dan penyesuaian sensitivitas algoritma dasar metode dari dynamic time warping. Modifikasi tersebut salah satunya adalah step size conditions. Contoh keselarasan yang optimal antara deret waktu dapat dilihat pada gambar 2.5.

Gambar 2.5 Keselarasan yang optimal antara deret waktu (Senin, 2008) 1.3.1 Modifikasi : Step Function (Slope Constraint)

Ketika tidak adanya perbedaan deret waktu, maka jalur warping yang terbentuk akan berhimpitan dengan garis diagonal . Tetapi ketika perbedaan deret waktu semakin membesar, maka penyimpangan jalur warping juga akan semakin besar. Dalam pencarian jalur yang optimal, terkadang jalur tersebut cenderung membuat jalur korespondensi yang tidak realistis antara deret waktu. Hal ini berdasarkan adanya deret waktu yang pendek pada deret waktu yang pertama dan deret waktu yang panjang pada

(10)

deret waktu yang kedua untuk pola yang sama. Fenomena pergeseran dapat dilihat pada gambar 2.6.

Gambar 2.6 Graph pergeseraan deret waktu (Senin, 2008)

Pada gambar 2.6, deret waktu yang berwarna merah bergeser kearah kanan untuk mencocokan deret waktu yang berwarna biru. Untuk mencegah fenomena diatas, jalur warping harus memiliki batasan untuk setiap langkahnya. Batasan ini diimplementasikan dalam hubungan relasi antara titik jalur secara berturut-turut. Misalkan pada gambar 2.7 ketika jalur warping bergerak kearah yang sama (horizontal)

(11)

Gambar 2.7 Batasan step function 1.4 Sensor Kinect

Kinect adalah produk dari Microsoft yang awalnya dibuat khusus untuk pekerangkat game Xbox 360, dimana memperkenalkan teknologi motion gaming sebagai fitur utamanya. Motion gaming maksudnya adalah membuat pemain dapat berinteraksi ketika bermain game tanpa menggunakan game controller. Sehingga melalui kinect, pemain dapat bermain game cukup hanya dengan menggunakan gerakan tangan atau gerakan tubuh lainnya (Metcalf, 2009).

Fitur-fitur yang ada pada teknologi sensor kinect meliputi kamera RGB, depth sensor, motorized tilt, dan multi-array microphone. Dari keempat fitur yang dimiliki sensor kinect, depth sensor lah yang berperan penting dalam sistem motion gaming tersebut. Depth sensor bertujuan untuk mendapatkan data video dalam kondisi tiga dimensi didalam kondisi ambient light (menyesuaikan sumber cahaya yang ada dilingkungan tersebut). Pada gambar 2.8 dapat dilihat bentuk dari pekerangkat keras kinect.

(12)

Gambar 2.8 Pekerangkat keras sensor kinect

Depth sensor terdiri atas kombinasi dari infrared laser projector dan monochrome CMOS sensor (Mathe, 2011). Infrared laser projector berfungsi dalam mentransmisikan cahaya invisible near - infrared ke seluruh bagian ruangan yang terjangkau oleh sensor kinect seperti pada gambar 2.9.

Gambar 2.9 Cara kerja depth sensor pada pekerangkat sensor kinect (Mathe, 2011) Cahaya near - infrared tidak dapat dilihat secara kesat mata dan menggunakan laser kelas 1 yang aman untuk tubuh manusia (Klug, 2010). Cahaya near - infrared tersebut hanya dapat dilihat dengan menggunakan kamera night vision seperti gambar 2.10.

(13)

Gambar 2.10 Hasil proyeksi dari infrared laser projector

Sedangkan fungsi dari monochrome CMOS sensor adalah mengukur waktu penerbangan cahaya setelah terpantul oleh objek didepannya. Sistem ini bekerja layaknya sebuah sonar, bila diketahui berapa lama waktu yang dibutuhkan untuk cahaya tersebut kembali, maka dapat diketahui jarak suatu objek dari sensor (Carmody, 2010). Hal ini dapat dilihat seperti gambar 2.11.

(14)

1.5 Kinect Software Development Kit (SDK)

Kinect untuk Windows Software Development Kit (SDK) dari Microsoft Research adalah starter kit untuk pengembang aplikasi dengan mengunakan sensor kinect. Diharapkan dengan SDK ini, kinect dapat digunakan pada bidang pendidikan, robotika, atau hal lainnya di luar XBox. Library dan dokumentasi tentang dari kinect SDK tersedia pada website http://www.microsoft.com/en-us/kinectforwindows/. Dalam perancangan program juga dibutuhkan toolkit tambahan untuk membangun visualisasi kerangka digital. toolkit tersebut tersedia pada website http://c4fkinect.codeplex.com/.

Kinect untuk Windows SDK dilengkapi driver untuk aliran sensor dan pelacakan gerak manusia. Kinect SDK ini, di rilis oleh Microsoft untuk pengembangan teknologi dengan aplikasi C + +, C #, atau Visual Basic dengan menggunakan Microsoft Visual Studio 2010.

Fitur-fitur kinect SDK yang digunakan pada penulisan ini adalah: 1. Raw Sensor Streams

Akses ke stream data mentah dari sensor kedalaman (depth sensor), sensor kamera, dan empat-elemen array mikrofon.

2. Skeletal Tracking

Kemampuan untuk melacak gambar kerangka satu atau dua orang yang bergerak dalam bidang pandang sensor kinect, Sehingga mempermudah dalam membuat program berbasis gerakan.

1.5.1 Skeletal Tracking

Sketal tracking merupakan fitur yang diberikan oleh kinect SDK, dimana dengan fitur ini memungkinkan sensor kinect dapat melacak titik sendi utama tubuh manusia.

(15)

Teknologi dibalik skeletal tracking ini sendiri adalah penggunaan depth sensor. Depth sensor awalnya akan memetakan objek yang ditangkapnya berdasarkan jarak seperti gambar 2.12. Gambar tersebut akan dibandingkan dengan data hasil training sebelumnya. Data training tersebut dibuat oleh para peneliti dengan mengunakan 100.000 frame gambar objek manusia yang diambil dengan posisi yang berbeda – beda (Aron, 2011).

Gambar 2.12 Pemetaan objek dengan depth sensor

Setelah menemukan titik sendi manusia, maka sendi tersebut dapat dihubungkan sehingga membentuk kerangka digital. pada gambar 2.13 dapat dilihat titik kerangka yang dapat di lacak oleh sensor kinect dengan kinect SDK.

(16)

Gambar 2.13 Titik sendi manusia yang dapat dideteksi sensor kinect (Mathe,2011) 1.6 AForge.NET

AForge.NET merupakan library yang digunakan dalam bidang Computer Vision dan Artificial Intelegent. Framework .NET yang Dikembang oleh Andrew Kirillov ini, digunakan dalam bahasa pemrograman C# dan C++. Library dan dokumentasi tentang dari Aforge.NET tersedia pada website www.aforge.net.

Pada penulisan ini, fitur-fitur yang digunakan adalah fitur AVIWriter. Dimana fitur ini memungkinkan membuat file video berformat avi dengan beberapa deret frame gambar.

1.7 Software Develoment Life Circle (SDLC)

Software Develoment Life Circle (SDLC) merupakan siklus pengembangan aplikasi yang meliputi prosedur dan langkah-langkah yang membimbing suatu proyek secara teknis dari awal sampai akhir. Secara garis besar tahapan dibagi menjadi empat kegiatan utama, yaitu analisis, desain, impelemtasi, dan perawatan. Software yang dikembangkan berdasarkan SDLC akan menghasilkan sistem dengan kualitas yang

(17)

tinggi, memenuhi harapan penggunanya, tepat dalam waktu dan biaya, bekerja dengan efektif dan efisien dalam infrastruktur teknologi informasi yang ada atau yang direncanakan, serta murah dalam perawatan dan pengembangan lebih lanjut (Pressman, 2005).

SDLC memiliki banyak bentuk model, salah satu yang terkenal dan sering dipakai adalah model waterfall. Model waterfall diagram prosesnya mirip dengan air terjun yang bertingkat dapat dilihat pada gambar 2.14 yang meliputi tahapan - tahapan sebagai berikut :

1. Perancangan Sistem (Sistem Engineering)

Perancangan sistem diperlukan untuk bagian dari suatu sistem yang lebih besar nantinya Pembuatan sebuah piranti lunak dapat dimulai dengan melihat dan mencari apa yang dibutuhkan oleh sistem. Dari kebutuhan sistem tersebut akan diterapkan kedalam piranti lunak yang dibuat.

2. Analisa Kebutuhan Piranti Lunak (Software Requirement Analysis)

Merupakan proses pengumpulan kebutuhan piranti lunak. Untuk memahami dasar dari program yang akan dibuat, seorang analisis harus mengetahui ruang lingkup informasi, fungsi-fungsi yang dibutuhkan, kemampuan kinerja yang ingin dihasilkan dan perancangan antarmuka pemakai piranti lunak tersebut.

3. Perancangan (Design)

Perancangan piranti lunak terbagi atas 4 tahapan penting, yaitu: Struktur data, arsitektur piranti lunak, detil prosedur, dan karakteristik user interface.

(18)

4. Pengkodean (Coding)

Pengkodean piranti lunak merupakan proses penulisan kedalam bahasa pemograman agar piranti lunak tersebut dapat digunakan oleh mesin.

5. Pengujian (Testing)

Proses ini akan menguji kode program yang telah dibuat dengan memfokuskan pada bagian dalam piranti lunak. Tujuannya untuk memastikan bahwa semua pernyataan telah diuji dan memastikan juga bahwa input yang digunakan akan menghasilkan output yang sesuai. Pada tahap ini pengujian ini dibagi menjadi dua bagian, pengujian internal dan pengujian eksternal. Pengujian internal bertujuan menggambarkan bahwa semua statement sudah dilakukan pengujian, sedangkan pengujian eksternal bertujuan untuk menemukan kesalahan serta memastikan output yang dihasilkan sesuai dengan yang diharapkan.

6. Pemeliharaan (Maintenance)

Proses ini dilakukan setelah piranti lunak telah digunakan oleh user. Suatu Perubahan akan dilakukan jika terdapat kesalahan dan penyesuaian akan perubahan kebutuhan yang diinginkan user.

Gambar

Gambar 2.1 Sketsa contoh gerakan bahasa isyarat  1.2  Computer Vision
Gambar 2.2 Grafik perbandingan nilai X dan Y (Senin, 2008)
Gambar 2.4 Optimal path warping dari dua deret waktu X dan Y (Senin, 2008)  Dengan Jalur warping yang akan dicari harus memenuhi kriteria-kriteria sebagai  berikut:
Gambar 2.5 Keselarasan yang optimal antara deret waktu (Senin, 2008)  1.3.1  Modifikasi : Step Function (Slope Constraint)
+7

Referensi

Dokumen terkait

Setelah memadat, diambil 1 ose bakteri yang telah diukur berdasarkan standar Mc.Farland 108 kol/ mL, kemudian digores secara merata pada permukaan medium, kemudian dimasukkan

Aktivitas yang dilakukan para siswa berupa puasa sunnah senin - kamis di MTs Mafatihul Akhlaq diharapkan bisa menjadi penerang jiwa dan suri tauladan bagi

sampling ini peneliti menggunakan sampling jenuh, dimana semua anggota populasi digunakan sebagai sampel. Tes yang digunakan dalam pengumpulan data adalah tes tertulis. Pada

Berdasarkan pengujian hipotesis yang telah dilakukan menurut teknik analisis linier berganda, maka dapat disimpulkan bahwa hasil pengujian secara parsial, menunjukan

Islam juga melarang kita mendekati perbuatan zina (melakukan hubungan seks bukan dengan isteri/suami) karena zina merupakan perbuatan keji dan buruk. Mendekati zina

Kegiatan ini dilaksanakan untuk melakukan koordinasi dengan SKPD teknis yang menjadi mitra Bidang Perencanaan Pemerintahan, Bappeda Kota Bandung untuk mensinkronkan

Hasil dari penelitian adalah sebagai berikut : Dalam penerapan PSAK 45 panti asuhan ini belum menerapkan sesuai dengan standar yang berlaku, karena minimnya pengetahuan mengenai

 Walau pun sedang menjalani pemeriksaan bersama dengan seseorang dari departemen lain, pihak luar atau bahkan presiden sekali pun atau setiap orang yang pada