SlideShare a Scribd company logo
1 of 6
Download to read offline
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 1
Abstrak—Saat ini teknologi informasi dan komunikasi pada
perangkat telepon pintar bergerak berkembang dengan pesat.
Ragam bentuk pertukaran informasi pun tidak hanya berupa teks
dan suara lagi, namun juga berkembang ke arah teknologi yang
lebih canggih, diantaranya foto digital, rekam suara, video,
koordinat peta, dan sebagainya. Oleh karena itu dikembangkan
perangkat lunak dengan inputan yang lebih inovatif, yaitu
perangkat lunak yang dapat membaca pola gerak gesture
pengguna.
Tugas akhir ini mengimplementasikan teknologi accelerometer
dan mobile tethering pada telepon pintar untuk menciptakan
sistem koordinasi berbasis gerak gesture. Sistem yang tertanam
pada telepon pintar mampu membaca gerak gesture yang
diberikan pengguna dan kemudian mengkomunikasikan ke
pengguna perangkat telepon pintar lainnya sebagai sebuah
koordinasi. Dengan mengimplementasikan teknologi
accelerometer inputan pengguna dapat dibaca berupa sebuah
rantai data, kemudian dengan mengimplementasikan algoritma
Hidden Markov Model (HMM) rantai data tersebut dapat
disimpulkan menjadi sebuah pola gerak tertentu.
Pengujian dilakukan terhadap kemampuan sistem
mencocokkan rekam pola gerak gesture baru dengan pola gerak
gesture patokan yang sudah disimpan, dari 5 buah sandi pola
gerak gesture yang telah ditentukan menghasilkan akurasi antara
60% - 90 %. Pengjujian yang kedua dilakukan terhadap koneksi
antar telepon pintar, sistem harus bekerja saat telepon pintar
menjadi host tethering maupun menjadi client biasa. Pertukaran
sandi antara telepon pintar untuk satu kali aktifitas pertukaran
sandi hanya diperlukan waktu dibawah 100 mili detik.
Kata Kunci—Sistem Koordinasi, Gesture Recognition, Hidden
Markov Model, User Datagram Protocol.
I. PENDAHULUAN
endeteksi dan mengklasifikasi aktifitas manusia dengan
sensor elektronik muncul sebagai bahan penelitian yang
menarik belakangan ini. Dengan adanya teknologi sensor
accelerometer di perangkat telepon pintar menghadirkan
sebuah inovasi di sisi masukan pengguna terhadap telepon
pintar yang dimilikinya. Dari awalnya pengguna hanya bisa
berinteraksi dengan telepon pintar melalui papan ketik fisik
dan kemudian muncul teknologi layar sentuh yang lebih halus
dan fleksibel, kini muncul teknologi sensor accelermoter yang
mendeteksi akselerasi pergerakan perangkat telepon pintar
sebagai media masukan. Menjadikan telepon pintar lebih
interaktif dan pintar menanggap keinginan penggunanya.
Sensor accelerometer lebih ditujukan untuk mendeteksi
gerak akselerasi, yaitu gerak percepatan dari satu titik ke titik
pindah yang lain. Perekaman pola gerak dengan sensor
accelerometer pada telepon pintar akan memberikan akurasi
yang cukup baik dan memberikan sebuah rantai data pola
gerak yang bisa dianalisis [1].
Koneksi lokal telepon pintar saat ini juga mengalami
perkembangan yang pesat. Dulu hanya melalui Infrared,
Bluetooth, dan WiFi. Sekarang telepon pintar dibekali sebuah
teknologi yang mampu berfungsi sebagai tethering WiFi,
berlaku sebagai router memberi IP pada client yang
tersambung dan menyediakan koneksi antar lokal maupun
interlokal.
Dengan perkembangan trend teknologi seperti di atas, maka
penulis mengusulkan sebuah sistem berbasis telepon pintar
yang mampu mendeteksi sebuah pola gerak gesture yang
diberikan dan memberitahukan hasilnya ke seluruh sistem yang
terkoneksi dalam satu lingkungan nirkabel. Gerak gesture yang
diberikan akan direkam dengan accelerometer dan
menghasilkan sebuah rantai data. Selanjutnya rantai data
tersebut akan dianalisis dengan mengadopsi metode Hidden
Markov Models (HMM) yang akan memberikan akurasi cukup
baik [2]. Kemudian sistem akan mengkomunikasikan hasilnya
ke semua sistem yang terhubung dalam jaringan yang sama.
Dalam mengkomunikasikan hasilnya tersebut, penulis memilih
Java Script Object Notation (JSON) untuk merepresentasikan
data [3].
II. DASAR TEORI
A. Accelerometer
Accelerometer adalah sebuah sensor tranduser yang
berfungsi untuk mengukur percepatan, mendeteksi dan
mengukur getaran, ataupun untuk mengukur percepatan akibat
gravitasi bumi. Accelerometer juga dapat digunakan untuk
mengukur getaran yang terjadi pada kendaraan, bangunan,
mesin, dan juga bisa digunakan untuk mengukur getaran yang
terjadi di dalam bumi, getaran mesin, jarak yang dinamis, dan
kecepatan dengan ataupun tanpa pengaruh gravitasi bumi [4].
Accelerometer multi-axis menghasilkan tiga jenis data.
Yaitu data aksis X yang mewakili gerak kanan dan kiri, data
Rancang Bangun Sistem Koordinasi Berbasis
Gesture Pada Smartphone
Mohammad Ibnu Hallaz, Waskitho Wibisono
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember
(ITS)
Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia
e-mail: waswib@if.its.ac.id
M
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 2
aksis Y yang mewakili gerak depan dan belakang, dan data
aksis Z yang mewakili gerak atas dan bawah [5].
Accelerometer pada telepon pintar memiliki konduktor yang
bekerja terhadap gravitasi bumi sebagai medan magnet. Oleh
karena itu, ketika perangkat telepon pintar berada dalam
keadaan diam Accelerometer akan memberikan nilai g = 9.81
m/s^2 (Magnitude gravity) atau ketika device jatuh bebas ke
tanah accelerometer akan memberi nilai 0 m / s ^ 2 [6].
B. Hight Pass Filter
High pass filter digunakan untuk menghilangkan nilai
gravitasi dalam nilai accelerometer. Nilai gravitasi didapat
melalui rumus:
g = alpha * g + (1 – alpha) * v
dimana :
g = nilai gravitasi
alpha = t / (t+ dT), untuk t adalah nilai konstans
gravitasi dan dT adalah interval data rate
accelerometer.
v = data accelerometer / nilai akselerasi
Tiap data accelerometer yang direkam dikurangi terlebih
dahulu dengan nilai gravitasi hasil perhitungan di atas [7].
C. Hidden Markov Model
Hidden Markov Model (HMM) merupakan pengembangan
model statistik dari model Markov. Aplikasi awal HMM
adalah untuk program pengenalan suara (speech recognizing).
Proses yang terjadi dalam HMM merupakan finite-state yang
homogen dari Markov Model dan tidak dapat diamati [9].
Proses kedua merupakan aliran variabel acak kondisional yang
diberikan oleh Markov Model. Pada saat apapun, distribusi
untuk setiap variabel acak dipengaruhi oleh nilai Markov
Model pada waktu tersebut saja.
D. Markov Model
Markov Model biasa disebut sebagai Markov Chain atau
Markov Process dan merupakan bagian dari proses stokastik
yang memiliki properti Markov. Dengan memiliki properti
tersebut berarti, apabila diberikan inputan keadaan saat ini,
keadaan akan datang dapat diprediksi dan ia lepas dari
keadaan di masa lampau. Artinya deskripsi kondisi saat ini
menangkap semua informasi yang mempengaruhi evolusi dari
suatu sistem dimasa depan. Dengan kata lain, kondisi masa
depan dituju dengan menggunakan probabilitas bukan dengan
determinitas.
Model ini merupakan bagian dari finite state atau finite
automaton. Finite automation sendiri adalah kumpulan state
yang transisi antar state-nya dilakukan berdasarkan masukan
observasi [8]. Pada Markov Chain, setiap busur antar state
berisi probabilitas yang mengindikasikan kemungkinan jalur
tersebut akan diambil. Jumlah probabilitas semua busur yang
keluar dari sebuah simpul adalah satu. Untuk lebih jelasnya
probabilitas dan transaksi antar state bisa dilihat pada gambar
1.
Gambar 1. Probabilitas transaksi
E. Pengaplikasian Hidden Markov Model
Dalam Markov Model biasa, setiap keadaan dapat terlihat
langsung oleh pengamat. Oleh karena itu, kemungkinan dari
transisi antar kondisi menjadi satu- satunya parameter teramati.
Dalam HMM, keadaan tidak terlihat secara langsung. Tetapi
output yang bergantung terhadap keadaan tersebut terlihat [8].
Setiap kondisi memiliki distribusi kemungkinan di setiap
output yang mungkin. Oleh karena itu, urutan langkah yang
dibuat oleh HMM memberikan suatu informasi tentang urutan
dari keadaan. Gerakan yang diberikan merupakan keadaan
yang tidak bisa diamati langsung, satu-satunya parameter
pengamatan hanya bisa dilakukan pada data akselerasi gerak
yang direkam oleh accelerometer. Kemudian setiap gerak
disebut state tersembunyi dan data akselerasi gerak disebut
data observasi. Representaasi parameter Hidden Markov
Model dapat dilihat dari gambar 2.
Gambar 2. Representasi Hidden Markov Model
F. User Datagram Protocol
User Datagram Protocol adalah protocol yang sangat
sederhana dengan overhead yang minimum, karena UDP tidak
memberikan service reability apapun kecuali komunikasi
process-to-process dan host- to-host dan sedikit pemeriksaan
kesalahan terhadap paketnya. Jika suatu proses perlu untuk
mengirim pesan yang realatif kecil dan tidak terlalu
mementingkan kehandalan, tepat jika menggunakan UDP.
Pengiriman pesan kecil menggunakan UDP membutuhkan
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 3
interaksi antara pengirim dan penerima lebih sedikit
dibandingkan bila menggunakan Transmission Control
Protocol (TCP). UDP menggunakan sebuah port sebagai
mekanisme yang mengizinkan sebuah interface jaringan untuk
mendukung beberapa sesi koneksi dengan interface lainnya
dan aplikasi di dalam jaringan. Port dapat mengidentifikasikan
aplikasi dan layanan yang menggunakan koneksi di dalam
jaringan [10].
III. ANALISIS DAN PERANCANGAN
A. Analisis Sample Gerak Gesture Untuk Menentukan
CodeBook Sebagai Acuan Proses Identifikasi
Ketiga aksis X, Y, dan Z menjadi dasar analisa sample
gerak gesture untuk menentukan CodeBook sebagai acuan
proses identifikasi. CodeBook merepresentasikan kode-kode
urutan nilai bobot arah gerak kanan dan kiri, nilai bobot arah
gerak atas dan bawah, serta nilai bobot arah gerak depan dan
belakang yang membentuk sebuah pola gerak gesture. Sebagai
Contoh pada gerak Kiri - kanan yang paling dominan adalah
nilai X. Data accelerometer gerak kanan - kiri yang telah
ditransformasikan ke dalam grafik ditunjukkan oleh gambar 3.
Gambar 3. Data accelerometer
Terlihat data aksis X mengalami 3 kali lonjakan besar
diiringi lonjakan data pada aksis lainnya yang tidak seberapa
besar, hal ini karena gerak tangan manusia sangat sulit untuk
melakukan gerak presisi. Dari ke-3 lonjakan tersebut dapat
disimpulkan:
A. Pertama kali X mengalami lonjakan positif berarti
perangkat mendapat gaya ke arah kanan terhadap
kondisi acuannya yaitu kondisi diam, dapat
disimpulkan gerakan perangkat ke kanan.
B. Ketika X mengalami lonjakan negatif berarti
perangkat mendapat gaya berlawanan terhadap
acuannya yaitu kondisi X bergerak positif, dapat
disimpulkan gerakan X dapat menyebabkan perangkat
bergerak ke kiri jika gaya negatif lebih besar
terhadap gaya positif, atau perangkat berhenti diam
jika kedua gaya positif dan negative relatif sama.
C. X mengalami lonjakan positif berarti perangkat
mendapat gaya berlawanan terhadap acuannya yaitu
kondisi X bergerak negatif, seperti pada nomer 2
dapat disimpulkan bahwa gerakan X dapat
menyebabkan perangkat bergerak ke kanan jika gaya
positif lebih besar terhadap gaya negatif atau
perangkat berhenti diam jika kedua gaya positif dan
negatif relatif sama.
Dari ketiga poin di atas, untuk poin 1 dapat diambil
kesimpulan pasti karena acuan gerak adalah kondisi diam.
Sedangkan poin 2 dan 3 perlu perhitungan gaya untuk
menentukan jenis gerakannya. Dikarenakan accelerometer
menghitung akselerasi bukan besarnya gaya maka dari analisa
beberapa percobaan maka dapat disimpulkan bahwa besarnya
akselerasi yang diwakili oleh nilai aksis dapat dijadikan nilai
probabilitas dengan menghitung presentase besaran nilai antar
lonjakan. Dari analisa tersebut dapat disimpulkan bahwa kode
CodeBook untuk gerak kanan kiri adalah 1 untuk nilai X
positif dan 0 untuk nilai X negatif, Jadi urutan kode biner
untuk CodeBook kanan – kiri adalah 1-0. Hasil keseluruhan
analisa tiap pola gerak gesture ditunjukkan pada tabel 1.
Analisa dilakukan pada beberapa sampel tiap pola gerak
gestur.
Tabel 1. Hasil Analisa CodeBook Pola Gerak Gesture
Nama Pola
Gerak
Gerak Dasar
Kanan dan
Kiri
Gerak Dasar
Atas dan
Bawah
Gerak Dasar
Depan dan
Belakang
Kanan Kiri 1 – 0 - -
Atas Bawah - 1 – 0 -
Depan
Belakang
- - 1 – 0
B. Perancangan Identifikasi Gerak Gesture Oleh Algoritma
Hidden Markov Model
Hal pertama yang dilakukan adalah menentukan nilai N
sebagai nilai acuan standar sebuah nilai aksis dianggap diam
dan menentukan nilai absolut noise. Selanjutnya setiap aksis
X, Y, dan Z data yang kemudian disebut obserable data
dievaluasi dikelompokkan menjadi objek - objek observed
menurut tiap-tiap wave atau lonjakan nilainya. Setiap objek
observed dari ketiga aksis dikelompokan menjadi deretan
state baru sesuai waktu terjadi lonjakan. State tersebut adalah
“model” yang “hidden” tersembunyi dalam konsep Hidden
Markov Model (HMM). Presentasi lonjakan nilai X, Y, dan Z
tiap state menjadi acuan nilai probabilitas objek “hidden”
tersembunyi. Lebih jelasnya dapat ditunjukkan gambar 4.
Gambar 4. Identifikasi gerak oleh Hidden Markov Model
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 4
Pada Gambar yang diobservasi dalam metode HMM
aksis X, Y, dan Z. sedangkan “hidden” state adalah RL (Right-
Left), UD (Up-Down), dan FB (Forward-Backward). Bi
adalah himpunan semua probabilitas untuk hidden state I,
sedangkan aij adalah probabilitas transisi dari state i ke state j.
Oleh karena itu selanjutnya tiap state yang berisi observed
dari setiap aksis dihitung presentasenya terhadap nilai
observed lainnya sesuai nilai absolut lonjakan pada masing –
masing aksis dan disimpan dalam objek state. Setiap state
membentuk sebuah urutan yang kemudian dicocokan dengan
kode dari CodeBook untuk mendapatkan jenis gerakan.
Selanjutnya presentase lonjakan tiap state yang telah dihitung
tadi dibandingkan untuk menentukan probabilitas gerakan,
probabilitas yang terbesar ditampilkan sebagai hasil. Untuk
lebih jelasnya proses pengidentifikasian gerak gesture
digambarkan oleh diagram 1 berikut.
Diagram Alir 1. Proses identifikasi gerak gesture
IV. IMPLEMENTASI
A. Filter Data Accelerometer Dengan Hight Pass Filter
Pada implementasi penangkapan data sensor accelerometer
dengan high pass filter, untuk data accelerometer terdapat 3
buah data yaitu data aksis X, data aksis Y, dan data aksis Z
dilakukan filtering data seperti pada gambar 5.
Procedure listenerOnSensorChanged(SensorEvent event) {
IF event.getType() is equal Sensor.TYPE_ACCELEROMETER
AND
record is equal true
alpha <- 0.8f
gravity <- alpha * gravity + (1 – alpha) * event.values
data_accelero <- event.values – gravity
ENDIF
}
Hight Pass Gambar 5. Implementasi Filter
B. Implementasi Pengambilan nilai N Sebagai Nilai Awal
Observasi
Nilai N diambil dari rata – rata seluruh lonjakan yang
nilainya di atas basis noise 0.05. Dilakukan perulangan untuk
menentukan nilai N pada tiap – tiap sumbu aksis. Pada
gambar 6 akan dijelaskan implementasi pengambilan nilai N
sebagai nilai awal observasi
Procedure getN(data aksis) {
Noise <- 0.005
hasil <- 0
i <- 1
WHILE i is less than data.length()
IF data[i] – data[i-1] is less than noise
hasil <- hasil + data[i] / 2
ENDIF
i ++
ENDWHILE
return hasil
}
Gambar 6. Implementasi Pengambilan Nilai N Sebagai Nilai
Awal Observasi
C. Implementasi Alogoritma Forward pada Proses
Evaluasi Data Obserable
Dalam Implementasi algoritma forward untuk melakukan
evaluasi pada oberable data dicari berbagai nilai dari deretan
data yang masuk dalam satu siklus lonjakan akselerasi.
Dimulai dari titik dimana data mulai lebih besar atau lebih
kecil dari nilai N, titik puncak poin tertinggi , dan titik dimana
data kembali lagi masuk dalam skala nilai N. Selanjutnya data
yang terpilih disebut observed data. Pada Gambar 7 akan
dijelaskan implementasi algoritma forward pada evaluasi data
obserable.
Procedure evaluateObserved(data[]) {
observed <-array
tempObserved <- new Observed()
WHILE i < data.lenght()
IF absolute(data[i]) >= n
tempObserved.addValue <- data[i]
IF tempObserved.Max_point is equal 0
tempObserved.Max_point <- data[i]
ENDIF
IF tempObserved.Start_point is equal 0
tempObserved.Start_point<-data[i]
ENDIF
IF tempObserved.Max_point is less than data[i]
tempObserved.Max_point <- data[i]
ENDIF
ENDIF
ELSE IF tempObserved is not empty
observed add tempObserved
tempObserved <- new Observed()
ENDIF
ENDWHILE
Return observed
}
Gambar 7. Implementasi Algoritma Forward pada Proses
Evaluasi Data Obserable
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 5
D. Implementasi Algoritma Forward untuk Membentuk
State Observed Data
Dilakukan proses penggabungan data – data observed
aksis X, aksis Y, dan aksis Z yang berada dalam siklus
lonjakan ke dalam sebuah state. Kemudian di setiap state
ditentukan presentasi besaran poin tertinggi tiap aksis. Detil
alur implementasi algoritma forward untuk membentuk state
observed data ditunjukkan pada Gambar 8.
Procedure forwardObserved (observed1[], observed2[], observed3[])
{
State ← array
tempobserved[][] ← arrangeLongest(observed1, observed2,
observed3)
observed longest[] ← tempObserved[0][]
observed secondLongest[] ← tempObserved[1][]
observed thirdLongest[] ← tempObserved[2][]
WHILE i < longest.lenght()
tempState
WHILE j < secondLongest.lenght()
IF seondLongest[j].nodes is between longest[i].nodes
tempState add longest[i] + secondLongest[j]
ENDIF
ENDWHILE
WHILE j < thirdLongest.lenght()
IF thirdLongest[j].nodes is between longes[i].nodes
tempState add longest[i] + thirdLongest[j]
ENDIF
ENDWHILE
tempState ← setPercent()
state add tempState
ENDWHILE
return state[]
}
Gambar 8. Implementasi Algoritma Forward untuk Membentuk
State Observed Data
E. Implementasi Algoritma Viterbi pada Deretan Data
State untuk Mengenali Pola Gerak
Dalam Implementasi algoritma Viterbi pada deretan data
state untuk mengenali pola gerak, sebelum semua state dicari
probabilitasnya terlebih dahulu state dicocokan dengan
Codebook. Jika sederet state memiliki satu atau lebih
Codebook maka diantara deretan state tersebut dicari
probabilitas transaksi antara state-nya. probabilitas hasil kali
presentase nilai sebuah aksis terhadap aksis lainnya dikali
probabilitas transaksi antar state terbesar yang menjadi hasil
identifikasi terbaik. Proses alur algoritma Viterbi pada deretan
daretan state untuk mengenali pola gerak ditunjukkan pada
Gambar 4.7.
Procedure operationMediator(codebook[], state[]) {
Result[]
WHILE i < codebook.lenght()
IF codebook[i] contain state.biner
result ← getProbability(state)
ENDIF
ENDWHILE
result ← sort()
return result ← last()
}
procedure getProbability(state[]) {
transactionProbability[][]
probability
WHILE i < state.lenght() - 1
probability add state[i].percent * state[i+1].percent*
ransactionProbability(state[i] , state[i+1])
ENDWHILE
return probability / state.lenght()
}
Gambar 9. Implementasi Algoritma Forward
V. PENGUJIAN DAN EVALUASI
A. Pengujian Pendeteksian Gerak Gesture
Percobaan dilakukan sebanyak 10 kali tiap jenis gerakan
dan ditampilkan dalam confusion matrix agar terlihat
presentase keberhasilan dan peluang kesalahan tiap gerakan
terhadap gerakan lainnya. Adapun hasil dari uji coba
dipaparkan pada Tabel 2 confusion matrix berikut.
Tabel 2. Confusion matrix percobaan
pendeteksian gerak gesture dengan gerakan terukur
RL
(p)
LR
(p)
FB
(p)
BF
(p)
UD
(p)
jumlah a/p
RL
(a)
7 3 0 0 0 10 70 %
LR
(a)
2 8 0 0 0 10 80%
FB
(a)
0 0 6 4 0 10 60%
BF
(a)
0 0 1 9 0 10 90%
UD
(a)
0 0 1 1 8 10 80%
Keterangan :
 p = hasil yang diharapkan
 a = hasil yang keluar
 RL = Kanan – kiri (Righ-Left)
 LR = Kiri – kanan (Left-Right)
 FB = Depan – belakang (Forward-Backward)
 BF = Belakang depan (Backward – Borward)
 UD = Atas Bawah (Up – Down)
B. Pengujian Peforma Pendeteksian Gerak Gesture
Pengujian dilakukan dengan membandingkan waktu mili
detik dari sistem operasi sebelum data sensor accelerometer
diolah oleh algoritma Hidden Markov Model (HMM) dan
sesudah hasil didapatkan dari algoritma HMM tersebut.
Pengujian dilakukan berulang sampai didapatkan panjang data
sensor accelerometer yang serupa. Hasil dari pengujian
performa pendeteksian pola gerak gesture dapat dilihat pada
tabel 3.
JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 6
Tabel 3. Hasil pengujian peforma pendeteksian pola gerak
gesture oleh aplikasi
Perangkat Panjang
data
Waktu
sebelum
algoritma
dijalankan
Waktu
sesudah
algoritma
dijalankan
Waktu
yang
dibutuhkan
algoritma
LG Nexus
5
42 14345166
47774
14345166
47782
8 ms
Xiaomi
Mi2
42 14345170
72975
14345170
73030
55 ms
LG
Optimus
46 14345224
12070
14345224
12120
50 ms
VI. KESIMPULAN DAN SARAN
A. Kesimpulan
Pengamatan yang telah dilakukan dari tahap perancangan,
kemudian implementasi, hingga uji coba perangkat lunak,
dapat ditarik kesimpulan sebagai berikut:
1. Dengan mengadopsi algoritma Hidden Markov Model
(HMM) aplikasi dapat membaca pola gerak yang
diberikan melalui sensor accelerometer dengan cukup
baik. Terbukti dengan sample gerak Kanan – kiri, Kiri-
kanan, Depan-belakang, Belakang-depan, dan Atas-
bawah dikenali dengan akurasi antara 60% - 80%.
Sedangkan dari sisi performa satu pola gerak mampu
dikenali dengan sangat cepat, yaitu bekisar 8 millisecond
– 55 millisecond.
2. Untuk mendapatkan alamat Network Interface nirkabel di
perangkat berbasis sistem operasi Android harus terlebih
dahulu memeriksa kondisi tethering perangkat tersebut.
Jika dalam kondisi tethering mendapatkan network
interface dari java.net API. Sedangkan jika hanya sebagai
client mendapatkan network interface dari dhcpInfo WiFi
Manager Android API.
3. Dengan menggunakan User Datagram Protocol(UDP)
pertukaran data sandi bisa dioptimalkan dari segi
kecepatan dan cost operasi arsitektur client – server yang
sangat rendah.
B. Saran
Beberapa saran yang diberikan untuk pengembangan sistem
lebih lanjut di masa yang akan datang jika dilihat dari hasil
perancangan, implementasi, dan uji coba yang telah dilakukan
antara lain:
1. Untuk meminimalkan loncatan data sensor yang tidak
disengaja perlu dikembangkan pendeteksian noise
menggunakan data sensor Gyroscope.
2. Perbedaan sensitifitas sensor setiap perangkat
menyulitkan dalam menentukan batas nilai threshold
noise. Perlu dikembangkan metode learning dari data –
data sebelumnya untuk mendapatkan threshold yang
baik.
UCAPAN TERIMA KASIH
Penulis M. Ibnu Hallaz mengucapkan terima kasih kepada
Bapak Waskitho Wibisono, S.Kom., M.Eng., Ph.D., Bapak
Dr.Eng. Radityo Anggoro, S.Kom., M.Sc., Ibu Dr.Eng. Nanik
Suciati, S.Kom., M.Kom., Ibu Henning Titi Ciptaningtyas,
S.Kom., M.Kom., dan Ibu Anny Yuniarti, S.Kom.,
M.Comp.Sc. yang telah banyak membantu dan memberi
bimbingan, serta kepada orang tua penulis dan seluruh
keluarga yang telah memberikan dukungan dan semangat.
DAFTAR PUSTAKA
[1] Anonim. Motion recognition with smart phone embedded
3-axis accelerometer sensor,
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=tr
ue&arnumber=6377845 diakses pada tanggal 18
Nopember 2013.
[2] Whitehead, Anthony D., 2014. Gesture Recognition with
Accelerometers for Game Controllers, Phones and
Wearables. GSTF International Journal on Computing
(JoC) Vol.3 No.4.
[3] Anonim ECMA-404 The JSON Data Interchange
Standard, Introducing JSON. http://http://json.org/
diakses pada tanggal 31 Maret 2015.
[4] Adi Gumilar, Baskoro. 2010. Tugas Sensor. Sermatutar
no aka 2010 409.
[5] Schirmer M.Sc, Maximilian. 2013. Smartphone Hardware
Sensors. Mobile Media Group.
[6] Dey, Sanorita. 2014. AccelPrint: Imperfections of
Accelerometers Make Smartphones Trackable.
University of Illinois at Urbana-Champaign.
[7] Developer, Android. SensorEvent.
http://developer.android.com/reference/android/hardware
/SensorEvent.html diakses pada tanggal 15 Januari 2014.
[8] Eko Budi Prasetyo, Muhammad. 2011. Teori Dasar
Hidden Markov Model. Makalah II2092 Probabilitas dan
Statistik, Institut Teknologi Bandung.
[9] Ephraim Y, Merhav N (June 2002). "Hidden Markov
processes". IEEE Trans. Inform Theory 48: 1518-1569.
[10] Futures, Techwriters. UDPUserdatagramProtocol.
http://ipv6.com/articles/general/Pengguna-Datagram-
Protocol.htm. diakses pada tanggal 25 Mei 2015.

More Related Content

Similar to PUBLIKASI_S1_ITS_5108100001

Primakara 1401030019 tugas_makalah
Primakara 1401030019 tugas_makalahPrimakara 1401030019 tugas_makalah
Primakara 1401030019 tugas_makalahFitriaa Febrii
 
Presentation kelompok 1
Presentation kelompok 1Presentation kelompok 1
Presentation kelompok 1DiJe MaMoo
 
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...Yazid Muchlisin
 
4_Implementasi Sensor pada IoT.pdf
4_Implementasi Sensor pada IoT.pdf4_Implementasi Sensor pada IoT.pdf
4_Implementasi Sensor pada IoT.pdfBonawanKambumily
 
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...arwicaksono
 
Teori dasar komunikasi data
Teori dasar komunikasi dataTeori dasar komunikasi data
Teori dasar komunikasi datakhoerul umam
 
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...pasek_andi
 
Power Point Presentasi Komunikasi Data
Power Point Presentasi Komunikasi DataPower Point Presentasi Komunikasi Data
Power Point Presentasi Komunikasi Datadodolbetawi
 
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...Siti Nur Rohadatul Aisy
 
W sn untuk monitoring parameter motor induksi
W sn untuk monitoring parameter motor induksiW sn untuk monitoring parameter motor induksi
W sn untuk monitoring parameter motor induksiHeru Sitorus
 
Pertemuan 1.pptx
Pertemuan 1.pptxPertemuan 1.pptx
Pertemuan 1.pptxThony78
 
Internet of Things 4
Internet of Things 4Internet of Things 4
Internet of Things 4Lusiana Diyan
 
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan KomputerUswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputerbelajarkomputer
 
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiProposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiAfif Efendi
 
Mengenal Wireless Sensor Network
Mengenal Wireless Sensor NetworkMengenal Wireless Sensor Network
Mengenal Wireless Sensor NetworkAgus Kurniawan
 
artikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdfartikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdfstaffpengajar
 

Similar to PUBLIKASI_S1_ITS_5108100001 (20)

Primakara 1401030019 tugas_makalah
Primakara 1401030019 tugas_makalahPrimakara 1401030019 tugas_makalah
Primakara 1401030019 tugas_makalah
 
Kelompok 1
Kelompok 1Kelompok 1
Kelompok 1
 
Presentation kelompok 1
Presentation kelompok 1Presentation kelompok 1
Presentation kelompok 1
 
Kelompok 1
Kelompok 1Kelompok 1
Kelompok 1
 
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...
IMPLEMENTATION OF MOTORCYCLE TRACKING SYSTEM USING GPS AND GPRS WITH INTEGRAT...
 
4_Implementasi Sensor pada IoT.pdf
4_Implementasi Sensor pada IoT.pdf4_Implementasi Sensor pada IoT.pdf
4_Implementasi Sensor pada IoT.pdf
 
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...
Rancang Bangun Sistem Pelacak Posisi Kendaraan Menggunakan Global Positioning...
 
Teori dasar komunikasi data
Teori dasar komunikasi dataTeori dasar komunikasi data
Teori dasar komunikasi data
 
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
 
Power Point Presentasi Komunikasi Data
Power Point Presentasi Komunikasi DataPower Point Presentasi Komunikasi Data
Power Point Presentasi Komunikasi Data
 
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...
Si pi, siti nur rohadatul 'aisy, hapzi ali, telekomunikasi, internet, dan tek...
 
W sn untuk monitoring parameter motor induksi
W sn untuk monitoring parameter motor induksiW sn untuk monitoring parameter motor induksi
W sn untuk monitoring parameter motor induksi
 
Pertemuan 1.pptx
Pertemuan 1.pptxPertemuan 1.pptx
Pertemuan 1.pptx
 
Internet of Things 4
Internet of Things 4Internet of Things 4
Internet of Things 4
 
Teknologi 3G
Teknologi 3GTeknologi 3G
Teknologi 3G
 
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan KomputerUswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
 
Social Aware
Social AwareSocial Aware
Social Aware
 
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiProposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
 
Mengenal Wireless Sensor Network
Mengenal Wireless Sensor NetworkMengenal Wireless Sensor Network
Mengenal Wireless Sensor Network
 
artikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdfartikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdf
 

PUBLIKASI_S1_ITS_5108100001

  • 1. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 1 Abstrak—Saat ini teknologi informasi dan komunikasi pada perangkat telepon pintar bergerak berkembang dengan pesat. Ragam bentuk pertukaran informasi pun tidak hanya berupa teks dan suara lagi, namun juga berkembang ke arah teknologi yang lebih canggih, diantaranya foto digital, rekam suara, video, koordinat peta, dan sebagainya. Oleh karena itu dikembangkan perangkat lunak dengan inputan yang lebih inovatif, yaitu perangkat lunak yang dapat membaca pola gerak gesture pengguna. Tugas akhir ini mengimplementasikan teknologi accelerometer dan mobile tethering pada telepon pintar untuk menciptakan sistem koordinasi berbasis gerak gesture. Sistem yang tertanam pada telepon pintar mampu membaca gerak gesture yang diberikan pengguna dan kemudian mengkomunikasikan ke pengguna perangkat telepon pintar lainnya sebagai sebuah koordinasi. Dengan mengimplementasikan teknologi accelerometer inputan pengguna dapat dibaca berupa sebuah rantai data, kemudian dengan mengimplementasikan algoritma Hidden Markov Model (HMM) rantai data tersebut dapat disimpulkan menjadi sebuah pola gerak tertentu. Pengujian dilakukan terhadap kemampuan sistem mencocokkan rekam pola gerak gesture baru dengan pola gerak gesture patokan yang sudah disimpan, dari 5 buah sandi pola gerak gesture yang telah ditentukan menghasilkan akurasi antara 60% - 90 %. Pengjujian yang kedua dilakukan terhadap koneksi antar telepon pintar, sistem harus bekerja saat telepon pintar menjadi host tethering maupun menjadi client biasa. Pertukaran sandi antara telepon pintar untuk satu kali aktifitas pertukaran sandi hanya diperlukan waktu dibawah 100 mili detik. Kata Kunci—Sistem Koordinasi, Gesture Recognition, Hidden Markov Model, User Datagram Protocol. I. PENDAHULUAN endeteksi dan mengklasifikasi aktifitas manusia dengan sensor elektronik muncul sebagai bahan penelitian yang menarik belakangan ini. Dengan adanya teknologi sensor accelerometer di perangkat telepon pintar menghadirkan sebuah inovasi di sisi masukan pengguna terhadap telepon pintar yang dimilikinya. Dari awalnya pengguna hanya bisa berinteraksi dengan telepon pintar melalui papan ketik fisik dan kemudian muncul teknologi layar sentuh yang lebih halus dan fleksibel, kini muncul teknologi sensor accelermoter yang mendeteksi akselerasi pergerakan perangkat telepon pintar sebagai media masukan. Menjadikan telepon pintar lebih interaktif dan pintar menanggap keinginan penggunanya. Sensor accelerometer lebih ditujukan untuk mendeteksi gerak akselerasi, yaitu gerak percepatan dari satu titik ke titik pindah yang lain. Perekaman pola gerak dengan sensor accelerometer pada telepon pintar akan memberikan akurasi yang cukup baik dan memberikan sebuah rantai data pola gerak yang bisa dianalisis [1]. Koneksi lokal telepon pintar saat ini juga mengalami perkembangan yang pesat. Dulu hanya melalui Infrared, Bluetooth, dan WiFi. Sekarang telepon pintar dibekali sebuah teknologi yang mampu berfungsi sebagai tethering WiFi, berlaku sebagai router memberi IP pada client yang tersambung dan menyediakan koneksi antar lokal maupun interlokal. Dengan perkembangan trend teknologi seperti di atas, maka penulis mengusulkan sebuah sistem berbasis telepon pintar yang mampu mendeteksi sebuah pola gerak gesture yang diberikan dan memberitahukan hasilnya ke seluruh sistem yang terkoneksi dalam satu lingkungan nirkabel. Gerak gesture yang diberikan akan direkam dengan accelerometer dan menghasilkan sebuah rantai data. Selanjutnya rantai data tersebut akan dianalisis dengan mengadopsi metode Hidden Markov Models (HMM) yang akan memberikan akurasi cukup baik [2]. Kemudian sistem akan mengkomunikasikan hasilnya ke semua sistem yang terhubung dalam jaringan yang sama. Dalam mengkomunikasikan hasilnya tersebut, penulis memilih Java Script Object Notation (JSON) untuk merepresentasikan data [3]. II. DASAR TEORI A. Accelerometer Accelerometer adalah sebuah sensor tranduser yang berfungsi untuk mengukur percepatan, mendeteksi dan mengukur getaran, ataupun untuk mengukur percepatan akibat gravitasi bumi. Accelerometer juga dapat digunakan untuk mengukur getaran yang terjadi pada kendaraan, bangunan, mesin, dan juga bisa digunakan untuk mengukur getaran yang terjadi di dalam bumi, getaran mesin, jarak yang dinamis, dan kecepatan dengan ataupun tanpa pengaruh gravitasi bumi [4]. Accelerometer multi-axis menghasilkan tiga jenis data. Yaitu data aksis X yang mewakili gerak kanan dan kiri, data Rancang Bangun Sistem Koordinasi Berbasis Gesture Pada Smartphone Mohammad Ibnu Hallaz, Waskitho Wibisono Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail: waswib@if.its.ac.id M
  • 2. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 2 aksis Y yang mewakili gerak depan dan belakang, dan data aksis Z yang mewakili gerak atas dan bawah [5]. Accelerometer pada telepon pintar memiliki konduktor yang bekerja terhadap gravitasi bumi sebagai medan magnet. Oleh karena itu, ketika perangkat telepon pintar berada dalam keadaan diam Accelerometer akan memberikan nilai g = 9.81 m/s^2 (Magnitude gravity) atau ketika device jatuh bebas ke tanah accelerometer akan memberi nilai 0 m / s ^ 2 [6]. B. Hight Pass Filter High pass filter digunakan untuk menghilangkan nilai gravitasi dalam nilai accelerometer. Nilai gravitasi didapat melalui rumus: g = alpha * g + (1 – alpha) * v dimana : g = nilai gravitasi alpha = t / (t+ dT), untuk t adalah nilai konstans gravitasi dan dT adalah interval data rate accelerometer. v = data accelerometer / nilai akselerasi Tiap data accelerometer yang direkam dikurangi terlebih dahulu dengan nilai gravitasi hasil perhitungan di atas [7]. C. Hidden Markov Model Hidden Markov Model (HMM) merupakan pengembangan model statistik dari model Markov. Aplikasi awal HMM adalah untuk program pengenalan suara (speech recognizing). Proses yang terjadi dalam HMM merupakan finite-state yang homogen dari Markov Model dan tidak dapat diamati [9]. Proses kedua merupakan aliran variabel acak kondisional yang diberikan oleh Markov Model. Pada saat apapun, distribusi untuk setiap variabel acak dipengaruhi oleh nilai Markov Model pada waktu tersebut saja. D. Markov Model Markov Model biasa disebut sebagai Markov Chain atau Markov Process dan merupakan bagian dari proses stokastik yang memiliki properti Markov. Dengan memiliki properti tersebut berarti, apabila diberikan inputan keadaan saat ini, keadaan akan datang dapat diprediksi dan ia lepas dari keadaan di masa lampau. Artinya deskripsi kondisi saat ini menangkap semua informasi yang mempengaruhi evolusi dari suatu sistem dimasa depan. Dengan kata lain, kondisi masa depan dituju dengan menggunakan probabilitas bukan dengan determinitas. Model ini merupakan bagian dari finite state atau finite automaton. Finite automation sendiri adalah kumpulan state yang transisi antar state-nya dilakukan berdasarkan masukan observasi [8]. Pada Markov Chain, setiap busur antar state berisi probabilitas yang mengindikasikan kemungkinan jalur tersebut akan diambil. Jumlah probabilitas semua busur yang keluar dari sebuah simpul adalah satu. Untuk lebih jelasnya probabilitas dan transaksi antar state bisa dilihat pada gambar 1. Gambar 1. Probabilitas transaksi E. Pengaplikasian Hidden Markov Model Dalam Markov Model biasa, setiap keadaan dapat terlihat langsung oleh pengamat. Oleh karena itu, kemungkinan dari transisi antar kondisi menjadi satu- satunya parameter teramati. Dalam HMM, keadaan tidak terlihat secara langsung. Tetapi output yang bergantung terhadap keadaan tersebut terlihat [8]. Setiap kondisi memiliki distribusi kemungkinan di setiap output yang mungkin. Oleh karena itu, urutan langkah yang dibuat oleh HMM memberikan suatu informasi tentang urutan dari keadaan. Gerakan yang diberikan merupakan keadaan yang tidak bisa diamati langsung, satu-satunya parameter pengamatan hanya bisa dilakukan pada data akselerasi gerak yang direkam oleh accelerometer. Kemudian setiap gerak disebut state tersembunyi dan data akselerasi gerak disebut data observasi. Representaasi parameter Hidden Markov Model dapat dilihat dari gambar 2. Gambar 2. Representasi Hidden Markov Model F. User Datagram Protocol User Datagram Protocol adalah protocol yang sangat sederhana dengan overhead yang minimum, karena UDP tidak memberikan service reability apapun kecuali komunikasi process-to-process dan host- to-host dan sedikit pemeriksaan kesalahan terhadap paketnya. Jika suatu proses perlu untuk mengirim pesan yang realatif kecil dan tidak terlalu mementingkan kehandalan, tepat jika menggunakan UDP. Pengiriman pesan kecil menggunakan UDP membutuhkan
  • 3. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 3 interaksi antara pengirim dan penerima lebih sedikit dibandingkan bila menggunakan Transmission Control Protocol (TCP). UDP menggunakan sebuah port sebagai mekanisme yang mengizinkan sebuah interface jaringan untuk mendukung beberapa sesi koneksi dengan interface lainnya dan aplikasi di dalam jaringan. Port dapat mengidentifikasikan aplikasi dan layanan yang menggunakan koneksi di dalam jaringan [10]. III. ANALISIS DAN PERANCANGAN A. Analisis Sample Gerak Gesture Untuk Menentukan CodeBook Sebagai Acuan Proses Identifikasi Ketiga aksis X, Y, dan Z menjadi dasar analisa sample gerak gesture untuk menentukan CodeBook sebagai acuan proses identifikasi. CodeBook merepresentasikan kode-kode urutan nilai bobot arah gerak kanan dan kiri, nilai bobot arah gerak atas dan bawah, serta nilai bobot arah gerak depan dan belakang yang membentuk sebuah pola gerak gesture. Sebagai Contoh pada gerak Kiri - kanan yang paling dominan adalah nilai X. Data accelerometer gerak kanan - kiri yang telah ditransformasikan ke dalam grafik ditunjukkan oleh gambar 3. Gambar 3. Data accelerometer Terlihat data aksis X mengalami 3 kali lonjakan besar diiringi lonjakan data pada aksis lainnya yang tidak seberapa besar, hal ini karena gerak tangan manusia sangat sulit untuk melakukan gerak presisi. Dari ke-3 lonjakan tersebut dapat disimpulkan: A. Pertama kali X mengalami lonjakan positif berarti perangkat mendapat gaya ke arah kanan terhadap kondisi acuannya yaitu kondisi diam, dapat disimpulkan gerakan perangkat ke kanan. B. Ketika X mengalami lonjakan negatif berarti perangkat mendapat gaya berlawanan terhadap acuannya yaitu kondisi X bergerak positif, dapat disimpulkan gerakan X dapat menyebabkan perangkat bergerak ke kiri jika gaya negatif lebih besar terhadap gaya positif, atau perangkat berhenti diam jika kedua gaya positif dan negative relatif sama. C. X mengalami lonjakan positif berarti perangkat mendapat gaya berlawanan terhadap acuannya yaitu kondisi X bergerak negatif, seperti pada nomer 2 dapat disimpulkan bahwa gerakan X dapat menyebabkan perangkat bergerak ke kanan jika gaya positif lebih besar terhadap gaya negatif atau perangkat berhenti diam jika kedua gaya positif dan negatif relatif sama. Dari ketiga poin di atas, untuk poin 1 dapat diambil kesimpulan pasti karena acuan gerak adalah kondisi diam. Sedangkan poin 2 dan 3 perlu perhitungan gaya untuk menentukan jenis gerakannya. Dikarenakan accelerometer menghitung akselerasi bukan besarnya gaya maka dari analisa beberapa percobaan maka dapat disimpulkan bahwa besarnya akselerasi yang diwakili oleh nilai aksis dapat dijadikan nilai probabilitas dengan menghitung presentase besaran nilai antar lonjakan. Dari analisa tersebut dapat disimpulkan bahwa kode CodeBook untuk gerak kanan kiri adalah 1 untuk nilai X positif dan 0 untuk nilai X negatif, Jadi urutan kode biner untuk CodeBook kanan – kiri adalah 1-0. Hasil keseluruhan analisa tiap pola gerak gesture ditunjukkan pada tabel 1. Analisa dilakukan pada beberapa sampel tiap pola gerak gestur. Tabel 1. Hasil Analisa CodeBook Pola Gerak Gesture Nama Pola Gerak Gerak Dasar Kanan dan Kiri Gerak Dasar Atas dan Bawah Gerak Dasar Depan dan Belakang Kanan Kiri 1 – 0 - - Atas Bawah - 1 – 0 - Depan Belakang - - 1 – 0 B. Perancangan Identifikasi Gerak Gesture Oleh Algoritma Hidden Markov Model Hal pertama yang dilakukan adalah menentukan nilai N sebagai nilai acuan standar sebuah nilai aksis dianggap diam dan menentukan nilai absolut noise. Selanjutnya setiap aksis X, Y, dan Z data yang kemudian disebut obserable data dievaluasi dikelompokkan menjadi objek - objek observed menurut tiap-tiap wave atau lonjakan nilainya. Setiap objek observed dari ketiga aksis dikelompokan menjadi deretan state baru sesuai waktu terjadi lonjakan. State tersebut adalah “model” yang “hidden” tersembunyi dalam konsep Hidden Markov Model (HMM). Presentasi lonjakan nilai X, Y, dan Z tiap state menjadi acuan nilai probabilitas objek “hidden” tersembunyi. Lebih jelasnya dapat ditunjukkan gambar 4. Gambar 4. Identifikasi gerak oleh Hidden Markov Model
  • 4. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 4 Pada Gambar yang diobservasi dalam metode HMM aksis X, Y, dan Z. sedangkan “hidden” state adalah RL (Right- Left), UD (Up-Down), dan FB (Forward-Backward). Bi adalah himpunan semua probabilitas untuk hidden state I, sedangkan aij adalah probabilitas transisi dari state i ke state j. Oleh karena itu selanjutnya tiap state yang berisi observed dari setiap aksis dihitung presentasenya terhadap nilai observed lainnya sesuai nilai absolut lonjakan pada masing – masing aksis dan disimpan dalam objek state. Setiap state membentuk sebuah urutan yang kemudian dicocokan dengan kode dari CodeBook untuk mendapatkan jenis gerakan. Selanjutnya presentase lonjakan tiap state yang telah dihitung tadi dibandingkan untuk menentukan probabilitas gerakan, probabilitas yang terbesar ditampilkan sebagai hasil. Untuk lebih jelasnya proses pengidentifikasian gerak gesture digambarkan oleh diagram 1 berikut. Diagram Alir 1. Proses identifikasi gerak gesture IV. IMPLEMENTASI A. Filter Data Accelerometer Dengan Hight Pass Filter Pada implementasi penangkapan data sensor accelerometer dengan high pass filter, untuk data accelerometer terdapat 3 buah data yaitu data aksis X, data aksis Y, dan data aksis Z dilakukan filtering data seperti pada gambar 5. Procedure listenerOnSensorChanged(SensorEvent event) { IF event.getType() is equal Sensor.TYPE_ACCELEROMETER AND record is equal true alpha <- 0.8f gravity <- alpha * gravity + (1 – alpha) * event.values data_accelero <- event.values – gravity ENDIF } Hight Pass Gambar 5. Implementasi Filter B. Implementasi Pengambilan nilai N Sebagai Nilai Awal Observasi Nilai N diambil dari rata – rata seluruh lonjakan yang nilainya di atas basis noise 0.05. Dilakukan perulangan untuk menentukan nilai N pada tiap – tiap sumbu aksis. Pada gambar 6 akan dijelaskan implementasi pengambilan nilai N sebagai nilai awal observasi Procedure getN(data aksis) { Noise <- 0.005 hasil <- 0 i <- 1 WHILE i is less than data.length() IF data[i] – data[i-1] is less than noise hasil <- hasil + data[i] / 2 ENDIF i ++ ENDWHILE return hasil } Gambar 6. Implementasi Pengambilan Nilai N Sebagai Nilai Awal Observasi C. Implementasi Alogoritma Forward pada Proses Evaluasi Data Obserable Dalam Implementasi algoritma forward untuk melakukan evaluasi pada oberable data dicari berbagai nilai dari deretan data yang masuk dalam satu siklus lonjakan akselerasi. Dimulai dari titik dimana data mulai lebih besar atau lebih kecil dari nilai N, titik puncak poin tertinggi , dan titik dimana data kembali lagi masuk dalam skala nilai N. Selanjutnya data yang terpilih disebut observed data. Pada Gambar 7 akan dijelaskan implementasi algoritma forward pada evaluasi data obserable. Procedure evaluateObserved(data[]) { observed <-array tempObserved <- new Observed() WHILE i < data.lenght() IF absolute(data[i]) >= n tempObserved.addValue <- data[i] IF tempObserved.Max_point is equal 0 tempObserved.Max_point <- data[i] ENDIF IF tempObserved.Start_point is equal 0 tempObserved.Start_point<-data[i] ENDIF IF tempObserved.Max_point is less than data[i] tempObserved.Max_point <- data[i] ENDIF ENDIF ELSE IF tempObserved is not empty observed add tempObserved tempObserved <- new Observed() ENDIF ENDWHILE Return observed } Gambar 7. Implementasi Algoritma Forward pada Proses Evaluasi Data Obserable
  • 5. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 5 D. Implementasi Algoritma Forward untuk Membentuk State Observed Data Dilakukan proses penggabungan data – data observed aksis X, aksis Y, dan aksis Z yang berada dalam siklus lonjakan ke dalam sebuah state. Kemudian di setiap state ditentukan presentasi besaran poin tertinggi tiap aksis. Detil alur implementasi algoritma forward untuk membentuk state observed data ditunjukkan pada Gambar 8. Procedure forwardObserved (observed1[], observed2[], observed3[]) { State ← array tempobserved[][] ← arrangeLongest(observed1, observed2, observed3) observed longest[] ← tempObserved[0][] observed secondLongest[] ← tempObserved[1][] observed thirdLongest[] ← tempObserved[2][] WHILE i < longest.lenght() tempState WHILE j < secondLongest.lenght() IF seondLongest[j].nodes is between longest[i].nodes tempState add longest[i] + secondLongest[j] ENDIF ENDWHILE WHILE j < thirdLongest.lenght() IF thirdLongest[j].nodes is between longes[i].nodes tempState add longest[i] + thirdLongest[j] ENDIF ENDWHILE tempState ← setPercent() state add tempState ENDWHILE return state[] } Gambar 8. Implementasi Algoritma Forward untuk Membentuk State Observed Data E. Implementasi Algoritma Viterbi pada Deretan Data State untuk Mengenali Pola Gerak Dalam Implementasi algoritma Viterbi pada deretan data state untuk mengenali pola gerak, sebelum semua state dicari probabilitasnya terlebih dahulu state dicocokan dengan Codebook. Jika sederet state memiliki satu atau lebih Codebook maka diantara deretan state tersebut dicari probabilitas transaksi antara state-nya. probabilitas hasil kali presentase nilai sebuah aksis terhadap aksis lainnya dikali probabilitas transaksi antar state terbesar yang menjadi hasil identifikasi terbaik. Proses alur algoritma Viterbi pada deretan daretan state untuk mengenali pola gerak ditunjukkan pada Gambar 4.7. Procedure operationMediator(codebook[], state[]) { Result[] WHILE i < codebook.lenght() IF codebook[i] contain state.biner result ← getProbability(state) ENDIF ENDWHILE result ← sort() return result ← last() } procedure getProbability(state[]) { transactionProbability[][] probability WHILE i < state.lenght() - 1 probability add state[i].percent * state[i+1].percent* ransactionProbability(state[i] , state[i+1]) ENDWHILE return probability / state.lenght() } Gambar 9. Implementasi Algoritma Forward V. PENGUJIAN DAN EVALUASI A. Pengujian Pendeteksian Gerak Gesture Percobaan dilakukan sebanyak 10 kali tiap jenis gerakan dan ditampilkan dalam confusion matrix agar terlihat presentase keberhasilan dan peluang kesalahan tiap gerakan terhadap gerakan lainnya. Adapun hasil dari uji coba dipaparkan pada Tabel 2 confusion matrix berikut. Tabel 2. Confusion matrix percobaan pendeteksian gerak gesture dengan gerakan terukur RL (p) LR (p) FB (p) BF (p) UD (p) jumlah a/p RL (a) 7 3 0 0 0 10 70 % LR (a) 2 8 0 0 0 10 80% FB (a) 0 0 6 4 0 10 60% BF (a) 0 0 1 9 0 10 90% UD (a) 0 0 1 1 8 10 80% Keterangan :  p = hasil yang diharapkan  a = hasil yang keluar  RL = Kanan – kiri (Righ-Left)  LR = Kiri – kanan (Left-Right)  FB = Depan – belakang (Forward-Backward)  BF = Belakang depan (Backward – Borward)  UD = Atas Bawah (Up – Down) B. Pengujian Peforma Pendeteksian Gerak Gesture Pengujian dilakukan dengan membandingkan waktu mili detik dari sistem operasi sebelum data sensor accelerometer diolah oleh algoritma Hidden Markov Model (HMM) dan sesudah hasil didapatkan dari algoritma HMM tersebut. Pengujian dilakukan berulang sampai didapatkan panjang data sensor accelerometer yang serupa. Hasil dari pengujian performa pendeteksian pola gerak gesture dapat dilihat pada tabel 3.
  • 6. JURNAL TEKNIK ITS Vol. 4, No. 1, (2015) ISSN: 2337-3539 (2301-9271 Print) 6 Tabel 3. Hasil pengujian peforma pendeteksian pola gerak gesture oleh aplikasi Perangkat Panjang data Waktu sebelum algoritma dijalankan Waktu sesudah algoritma dijalankan Waktu yang dibutuhkan algoritma LG Nexus 5 42 14345166 47774 14345166 47782 8 ms Xiaomi Mi2 42 14345170 72975 14345170 73030 55 ms LG Optimus 46 14345224 12070 14345224 12120 50 ms VI. KESIMPULAN DAN SARAN A. Kesimpulan Pengamatan yang telah dilakukan dari tahap perancangan, kemudian implementasi, hingga uji coba perangkat lunak, dapat ditarik kesimpulan sebagai berikut: 1. Dengan mengadopsi algoritma Hidden Markov Model (HMM) aplikasi dapat membaca pola gerak yang diberikan melalui sensor accelerometer dengan cukup baik. Terbukti dengan sample gerak Kanan – kiri, Kiri- kanan, Depan-belakang, Belakang-depan, dan Atas- bawah dikenali dengan akurasi antara 60% - 80%. Sedangkan dari sisi performa satu pola gerak mampu dikenali dengan sangat cepat, yaitu bekisar 8 millisecond – 55 millisecond. 2. Untuk mendapatkan alamat Network Interface nirkabel di perangkat berbasis sistem operasi Android harus terlebih dahulu memeriksa kondisi tethering perangkat tersebut. Jika dalam kondisi tethering mendapatkan network interface dari java.net API. Sedangkan jika hanya sebagai client mendapatkan network interface dari dhcpInfo WiFi Manager Android API. 3. Dengan menggunakan User Datagram Protocol(UDP) pertukaran data sandi bisa dioptimalkan dari segi kecepatan dan cost operasi arsitektur client – server yang sangat rendah. B. Saran Beberapa saran yang diberikan untuk pengembangan sistem lebih lanjut di masa yang akan datang jika dilihat dari hasil perancangan, implementasi, dan uji coba yang telah dilakukan antara lain: 1. Untuk meminimalkan loncatan data sensor yang tidak disengaja perlu dikembangkan pendeteksian noise menggunakan data sensor Gyroscope. 2. Perbedaan sensitifitas sensor setiap perangkat menyulitkan dalam menentukan batas nilai threshold noise. Perlu dikembangkan metode learning dari data – data sebelumnya untuk mendapatkan threshold yang baik. UCAPAN TERIMA KASIH Penulis M. Ibnu Hallaz mengucapkan terima kasih kepada Bapak Waskitho Wibisono, S.Kom., M.Eng., Ph.D., Bapak Dr.Eng. Radityo Anggoro, S.Kom., M.Sc., Ibu Dr.Eng. Nanik Suciati, S.Kom., M.Kom., Ibu Henning Titi Ciptaningtyas, S.Kom., M.Kom., dan Ibu Anny Yuniarti, S.Kom., M.Comp.Sc. yang telah banyak membantu dan memberi bimbingan, serta kepada orang tua penulis dan seluruh keluarga yang telah memberikan dukungan dan semangat. DAFTAR PUSTAKA [1] Anonim. Motion recognition with smart phone embedded 3-axis accelerometer sensor, http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=tr ue&arnumber=6377845 diakses pada tanggal 18 Nopember 2013. [2] Whitehead, Anthony D., 2014. Gesture Recognition with Accelerometers for Game Controllers, Phones and Wearables. GSTF International Journal on Computing (JoC) Vol.3 No.4. [3] Anonim ECMA-404 The JSON Data Interchange Standard, Introducing JSON. http://http://json.org/ diakses pada tanggal 31 Maret 2015. [4] Adi Gumilar, Baskoro. 2010. Tugas Sensor. Sermatutar no aka 2010 409. [5] Schirmer M.Sc, Maximilian. 2013. Smartphone Hardware Sensors. Mobile Media Group. [6] Dey, Sanorita. 2014. AccelPrint: Imperfections of Accelerometers Make Smartphones Trackable. University of Illinois at Urbana-Champaign. [7] Developer, Android. SensorEvent. http://developer.android.com/reference/android/hardware /SensorEvent.html diakses pada tanggal 15 Januari 2014. [8] Eko Budi Prasetyo, Muhammad. 2011. Teori Dasar Hidden Markov Model. Makalah II2092 Probabilitas dan Statistik, Institut Teknologi Bandung. [9] Ephraim Y, Merhav N (June 2002). "Hidden Markov processes". IEEE Trans. Inform Theory 48: 1518-1569. [10] Futures, Techwriters. UDPUserdatagramProtocol. http://ipv6.com/articles/general/Pengguna-Datagram- Protocol.htm. diakses pada tanggal 25 Mei 2015.