Sistem ini mengembangkan teknologi accelerometer dan mobile tethering pada telepon pintar untuk mendeteksi pola gerak gesture pengguna dan mengirimkan hasilnya ke perangkat lain melalui jaringan nirkabel dalam waktu kurang dari 100 milidetik.
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.