Sistem Deteksi Gerakan Kepala sebagai Kontrol Kursor Mouse dengan Metode Complementary Filter

  Vol. 3, No. 1, Januari 2019, hlm. 8448-8454 http://j-ptiik.ub.ac.id

  

Sistem Deteksi Gerakan Kepala sebagai Kontrol Kursor Mouse dengan

Metode Complementary Filter 1 2 3 Latief Nurrohman Alfansuri , Dahnial Syauqy Mochammad Hannats Hanafi Ichsan

  Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: latief.nurrohman@gmail.com, dahnial87@ub.ac.id, hanas.hanafi@ub.ac.id

  

Abstrak

  Berkembangnya teknologi membuat manusia menginginkan berkomunikasi dengan komputer secara semakin natural, salah satu media komunikasi manusia dengan komputer adalah menggunakan mouse sebagai perangkat input untuk mengendalikan komputer, mouse konvensional yang umum dipakai dirasa kurang natural, terutama bagi mereka yang memiliki kekurangan pada bagian tubuh (disabilitas). Berdasarkan itu dibutuhkan sistem yang mampu menggendalikan kursor mouse berdasarkan pergerakan alami dari tubuh manusia, sistem ini yang nantinya mampu membaca nilai pergerakan kepala dari pengguna dan menggunakannya sebagai nilai input untuk menggerakkan kursor mouse, untuk membaca pergerakan kepala akan menggunakan sensor MPU6050 dan arduino nano sebagai mikrokontrolernya, pengiriman data pada sistem ini akan dilakukan secara wireless oleh karena itu akan menggunakan modul nRF24L01 dan arduno leonardo yang akan digunakan untuk mengedalikan kursor mouse.

  

Complementary filter akan digunakan untuk mengurangi nilai error yang terjadi, Complementary filter

  akan diuji dengan membandingkan nilai hasil menggunakan filter dengan nilai yang tanpa menggunakan o filter. Nilai error yang dihasilkan oleh perhitungan Complementary filter kurang dari 2 . Dari pengujian secara korespoden, sistem mampu mendapakan rata-rata kategori baik berdasarkan umpan balik dari 30 orang pengguna.

  Kata kunci: kendali kursor, deteksi gerakan kepala, complementary filter

Abstract

The development of technology makes people want to communicate with computers more natural, one

way people communicate with computers is to use the mouse as an input device to control the computer,

conventional mouse commonly used is less natural, especially for those who have deficiencies in the

body (disability). Based on that required a system capable of controlling the mouse cursor based on the

natural movement of the human body, this system which later can read the value of the head movement

of the user and use as the input value to move the mouse cursor, to read the movement of the head will

use MPU6050 and Arduino Nano as microcontroller, data transmissionson this system will be done

wirelessly therefore will use nRF24L01 and arduino leonardo modules which will be used to control the

mouse cursor. Complementary filter will be used to reduce the error value, Complementary filter will

be tested by comparing with system output value without using filter. The error value generated by

o

Complementary filter calculation is less than 2 . From corespodent testing, the system was able to obtain

a good category average based on feedback from 30 users.

  Keywords: cursor control, head movement, complementary filter

  manusia mengingikan komunikasi dengan 1. komputer atau teknologi lainnya lebih natural

   PENDAHULUAN atau sesuai dengan pergerakan tubuh manusia.

  Perkembangan teknologi komputer sudah Salah satu media komunikasi yang digunakan semakin pesat terutama pada teknologi bidang oleh manusia agar terhubung dengan komputer komunikasi. Baik itu komunikasi manusia adalah mouse, Mouse merupakan kategori unit dengan manusian ataupun manusian dengan input pada komputer, dengan mouse manusia komputer atau teknologi lainnya. Semakin mampu memberikan perintah pada komputer pesatnya perkembangan teknologi menyebabkan

  Fakultas Ilmu Komputer Universitas Brawijaya

8448 untuk membuka dokumen, menjalankan aplikasi, bermain game dan lain-lain (Utomo & Purwidiantoro, 2015).

  Penggunaan mouse konvensinal adalah dengan cara menggeser perangkat mouse konvensional pada bidang datar menggunakan tangan manusia, hal ini dirasa kurang natural apa bila dibandingka dengan pergerakan dari tubuh manusia, hal ini juga merupakan kekurangan dari perangkat mouse konvesional, apabila orang tersebut memiliki kekurangan pada anggota badannya terutama bagian tangan atau difabel maka orang tersebut tidak dapat menggunakan

  pass filter dilakukan pada hasil pembacaan oleh accelerometer

  2.1.1. Perancangan Hardware

  software .

  Perancangan sistem akan terbagi menjadi perancangan hardware dan perancangan

  2.1. Perancangan Sistem

  Berikut adalah proses perancangan dan implementasi dari sistem.

  IMPLEMENTASI

  2. PERANCANGAN DAN

  Sistem ini nantinya akan mendeteksi pergerakan kepala dan menetukan gerakan tersebut kedalam gesture yang telah disediakan sebelumnya, pergerakan kepala yang dapat diproses adalah mendongak keatas, menunduk kebawah, menoleh kekanan dan kekiri, dan miring kekanan dan kekiri.

  Data hasil pembacaan tersebut akan dikirimkan secara nirkabel ke arduno leonardo yang berfungsi sebagai pemroses untuk menggerakkan kursor mouse , untuk mengirimkan data tersebut akan menggunakan modul nRF24L01, modul tersebut akan terhubung pada arduino nano yang terpasang pada kepala pengguna dan arduino leonardo yang terhubung pada komputer, pengujian pada penelitian ini nantinya akan menggunakan data yang berasal dari umpan balik pengguna, data tersebut akan diproses menggunakan skala likert, skala likert adalah tipe skala angket yang ditentukan distribusi dari respon setuju dan tidak setuju (Risnita, 2012).

  acceleromter maupun hasil pembacaan gyroscope .

  kekurangan dari hasil pembacaan oleh

  complementary filter mampu saling menutupi

  (Colton, 2007). Dengan memanfaatkan dua hasil pembacaan tersebut

  didapat dari pembacaan gyroscope dan high-

  mouse konvensional. oleh karena itu telah

  filter , low-pass filter dilakukan pada nilai yang

  gabungan dari low-pass filter dan high-pass

  Complementary filter sendiri merupakan

  complementary filter untuk mengurangi nilai error dan meminimalisir terjadinya fenomena drift yang dihasilkan pada proses pembacaan oleh sensor MPU6050.

  karena itu pada penelitian ini akan menggunakan

  dritf pada hasil pembacaan gyroscope, oleh

  Pada penelitian ini akan memanfaatkan pergerakan kepala terahadap sumbu X, Y dan Z. Untuk membaca perubahan posisi kepala akan menggunakan sensor MPU6050, sensor ini merupakan gabungan dari dua sensor yaitu sensor accelerometer dan gyroscope (arduino.cc, 2014), data yang dibaca oleh sensor ini akan diproses oleh arduino nano dan akan menghasilkan data dari perubahan posisi kepala. Akan tetapi data yang dihasilkan oleh pembacaan sensor MPU6050 akan terdapat banyak error dan juga akan terjadi fenomena

  digunakan sebagai dasar untuk dilakukan penelitian ini.

  mouse . Kedua penelitian tersebut akan

  ” yang dilakukan oleh (Umami, 2017), pada penelitian itu akan mendeteksi pergerakan kepala menggunakan kamera dan memanfaatkan kedipan mata untuk melakukan event klik

  Hand Motion Tracking Pengendali Pointer Pada Virtual Mouse Dengan Metode Optical Flow

  ” Penerapan

  ” yang dilakukan oleh (Andriana, 2016), fokus pada penelitian itu adalah mengendalikan kursor mouse berdasarkan suara pengguna yang digunakan sebagai input perintah untuk menggerakkan kursor dan penelitian yang berjudul

  dilakukan beberapa penelitian seperti “Speech Recognition Sebagai Fungsi Mouse Untuk Membantu Pengguna Komputer Dengan Keterbatasan Khusus

  Sistem akan dirancang menggunakan sensor MPU6050 sebagai pembaca perubahan posisi kepala, arduino nano, sebagai pemroses data dari MPU6050, modul nRF24L01 sebagai media untuk mengirimkan data secara wireless dan arduino leonardo sebagai pemroses untuk menggerakkan kursor mouse, sistem ini akan membaca perubahan posisi kepala dari titik netralnya dan memproses data tersebut menjadi sudut derajat, data tersebut akan dikirim secara wireless, dan berdasarkan data tersebut akan menggerakkan kursor mouse. Gambar 1 Diagram Block Hardware Pada Gambar 1, sensor MPU6050 dihubungkan pada Arduino nano menggunakan protocol I2C, data pembacaan sudut dari MPU6050 diproses oleh Arduino nano menggunakan complementary filter untuk mengurangi error dan menyetabilkan hasil keluaran, data tersebut dikirimkan ke Arduino Leonardo menggunakan modul nRF24L01. Data yang diterima oleh Arduino Leonardo akan diproses untuk menggerakkan kursor dan melakukan operasi klik kiri dan klik kanan.

  Proses perancangan software akan terbagi pada perancangan software kendali kursor dan perancangan software deteksi gerak kepala. Berikut alur perancangan program dapat dilihat pada flowchart dibawah ini:

  Gambar 2 Perancangan Software Kendali Kursor

  Berdasakan Gambar 2, alur perancangan

  software dimulai dengan menginisialisasi variable dan library yang digunakan dilanjutkan

  dengan mengambil data dari Arduino nano, data tersebut akan digunakan untuk menggerakkan kursor dan melakukan operasi klik kiri dan klik kanan.

2.1.2. Perancangan Software

  Gambar 3 Perancangan Software Deteksi Gerak Kepala

  Berdasarkan Gambar 3, perancangan

  software deteksi gerak kepala diawali dengan

  inisialisasi variabel, dilanjutkan dengan membaca nilai accelerometer dan gyroscope, selanjutnya memasukkan nilai accelerometer kedalam persaamaan untuk mendapatkan nilai

  roll dan pitch sedangkan untuk nilai gyroscope

  akan diubah kedalam derajat dari yang awalnya radian. Nilai roll, pitch dan gyroscope akan dimasukkan ke dalam persamaan

  complementary filter dan akan menghasilkan

  nilai perubahan pada sumbu X dan Y sedangkan untuk nilai Z akan memanfaatkan nilai dari

  gyroscope , nilai-nilai tersebut akan dikirimkan

  ke Arduino Leonardo untuk mengendalikan kursor.

2.2. Implementasi Sistem

  3.1. Pengujian Sensor

  Implementasi sistem akan terbagi menjadi Pada pengujian ini dilakukan untuk implementasi hardware dan implmentasi mengetaui apakah sensor mampu membaca . perubah sudut, pengujian ini memanfaat serial

  software

  monitor pada Arduino IDE. Hasil pengujian

  2.2.1. Implementasi Hardware dapat dilihat pada Tabel 1 dan Tabel 2.

  Hasil dari implementasi hardware setelah Tabel 1. Hasil Pengujian Sensor Pada Sumbu X melakukan perancangan pada Gambar 4 dan

  Gambar 5.

  Sudut Sebenarnya Keluaran Sensor Deviasi No. (Derajat) (Derajat) (Derajat) 1 120 121,29

  • 1,29 2 120 121,33 -1,33 3 120 120,7 -0,70 4 120 121,8 -1,80 5 120 120,18 -0,18 6 120 121,06 -1,06 7 120 120,18 -0,18 8 120 120,49 -0,49 9 120 119,88 0,12 10 120 120,17 -0,17

  Gambar 4. Hasil Implementasi Hardware

  RMSE 0,92

  Deteksi Gerak Kepala Tabel 2. Hasil Pengujian Sensor Pada Sumbu Y

  Pada Gambar 4, sistem dipasangkan pada sebelah kiri kepala dari pengguna, sistem harus

  Sudut Sebenarnya Keluaran Sensor Deviasi No. (Derajat) (Derajat) (Derajat)

  dipasangkan pada posisi sejajar dengan kepala

  1 45 46,15

  • 1,15

  pengguna, hal ini dikarenakan akan

  2 45 45,93 -0,93

  mempengarui hasil pembacaan dari pergerakan

  3 45 46,2 -1,20 kepala pengguna.

  4 45 46,24 -1,24

  5 45 45,36 -0,36

  6 45 46,9 -1,90

  7 45 45,63 -0,63

  8 45 45,83 -0,83

  9 45 45,33 -0,33

  10 45 46,91 -1,91 RMSE 1,17

  Hasil dari pengujian menunjukkan bahwa sensor mampu membaca sudut dengan nilai error o kurang dari 1 akan tetapi karena pembacaan Gambar 5. Hasil Implementasi Hardware hanya berdasarkan accelerometer atau

  Kendali Kursor

  gyroscepe maka nilai yang dihasilkan akan Pada Gambar 5, sistem dihubungkan pada dipenuhi error dan akan terjadi fenomena drift.

  komputer melalui port USB, fungsi dari sistem

  3.2. Pengujian Complementary filter

  kendali kursor adalah untuk menerima data dari Pada pengujian ini akan dua grafik yaitu

  Arduino Nano dan memprosesnya yang akan o o digunakan untuk mengendalikan kursor. pengujian sudut 45 dan -90 pada sumbu X dan o o sudut 20 dan 80 pada sumbu Y.

2.2.3. Implementasi Software

  Implementasi software berupa program dan beberapa library tambahan yang dibutuhkan oleh sistem yang diupload kedalam arduino nano dan arduno leonardo. Library yang digunakan antara lain MPU6050, RF24.h dan Mouse.h.

3. PENGUJIAN DAN ANALISIS

  Pengujian terbagi atas pengujian sensor, Gambar 4 Grafik hasil pengujian pengujian complementary filter, pengujian o

  complementary filter sudut 45 pada sumbu X sistem dan pengujian koresponden. Gambar 5 Grafik hasil pengujian

  complementary filter sudut -90 o

  4 5 0 - 20

  Sudut Uji (Derajat) Sumbu Z (Derajat) Deviasi (Derajat) 1 0 - 20

  16

  4 2 0 - 20

  16

  4 3 0 - 20

  16

  4 4 0 - 20

  16

  16

  RMSE 1,72

  4 6 0 - 60

  48

  12 7 0 - 60

  48

  12 8 0 - 60

  48

  12 9 0 - 60

  48

  12

  Berdasarkan hasil pengujian pada Tabel 4, sistem mampu membaca perubahan nilai pada sumbu Y saat sistem mendongak keatas dan kebawah dengan nilai error sebesar 1,72 o . Tabel 5 Pengujian Sistem pada Sumbu Z No.

  Sudut Uji (Derajat) Compementary Filter (Derajat) Deviasi (Derajat) 1 0 - 40 42,43 2,43 2 0 - 40 42,49 2,49 3 0 - 40 42,53 2,53 4 0 - 40 41,57 1,57 5 0 - 40 41,60 1,60 6 0 - (-90) -90,83 0,83 7 0 - (-90) -91,28 1,28 8 0 - (-90) -91,31 1,31 9 0 - (-90) -91,32 1,32 10 0 - (-90) -90,52 0,52

  pada sumbu X Berdasarkan hasil pengujian sumbu X pada

  pada sumbu Y Berdasarkan hasil pengujian sumbu Y pada

  Gambar 4 dan Gambar 5, nilai error yang didapat sebesar 0,028 o pada sudut 45 o dan nilai

  error sebesar 0,23 o

  pada sudut -90 o , berdasarkan grafik tersebut nilai complementary filter lebih mendekati nilai sebenarnya dari pada hasil pembacaan sensor tanpa menggunakan

  complementary filter .

  Gambar 6 Grafik hasil pengujian

  complementary filter sudut -20 o

  pada sumbu Y Gambar 7 Grafik hasil pengujian

  complementary filter sudut -20 o

  Gambar 6 dan Gambar 7, nilai error yang didapat sebesar 0,55 o pada sudut 20 o dan nilai

  Berdasarkan hasil pengujian pada Tabel 3, sistem mampu membaca perubahan nilai pada sumbu X saat sistem miring kekiri dan miring kekanan dengan nilai error sebesar 1,90 o . Tabel 4 Pengujian Sistem pada Sumbu Y No.

  error sebesar 0,053 o

  pada sudut -80 o , berdasarkan grafik tersebut nilai complementary

  filter lebih mendekati nilai sebenarnya dari pada

  hasil pembacaan sensor tanpa menggunakan complementary filter .

  Pengujain sistem bertujuan untuk mengetahui apakah sistem mampu membaca perubahan sudut pada saat digerakkan, pengujian akan dilakukan pada setiap sumbu.

  Berikut adalah tabel hasil pengujian sistem.

  Tabel 3 Pengujian Sistem pada Sumbu X No.

  Sudut Uji (Derajat) Compementary Filter (Derajat) Deviasi (Derajat) 1 0 - 30 31,43 1,43 2 0 - 30 31,69 1,69 3 0 - 30 32,15 2,15 4 0 - 30 32,29 2,29 5 0 - 30 31,91 1,91 6 0 - (-110) -112,15 2,15 7 0 - (-110) -112,37 2,37 8 0 - (-110) -111,87 1,87 9 0 - (-110) -111,42 1,42 10 0 - (-110) -111,52 1,52

  RMSE 1,90

3.3. Pengujian Sistem

  10 0 - 60

12 RMSE 8,94

  Modul sensor IMU MPU-6050 yang merupakan gabungan dari dua sensor yaitu sensor accelerometer dan gyroscope yang digunakan untuk membaca perubahan sudut pada setiap sumbu.

  11 Apakah penggunaan head mouse untuk mengendalikan kursor sudah baik saat digunakan?

  12 Apakah anda merasa nyaman saat menggunakan head mouse untuk mengendalikan kursor?

  Hasil pengujian berdasarkan Tabel 6 sistem mampu mendapatkan nilai baik pada setiap setiap kategori yang ditanyakan.

  4. KESIMPULAN

  Berdasarkan hasil tahapan perancangan, implementasi dan pengujian serta analisis dapat ditarik kesimpulan sebagai berikut :

  metode penyaring noise yang terdiri dari gabungan low-pass filter dan high-pass filter.

  Complementary filter merupakan sebuah

  10 Perasaan Apakah anda senang saat menggunakan head mouse untuk mengendalikan kursor mouse?

  Berdasarkan hasil pengujian, nilai

  complementary filter lebih mendekati nilai

  sebenarnya dibandingkan dengan nilai hasil pembacaan sensor tanpa menggunakan

  complementary filter .

  Berdasarkan hasil pengujian koresponden, sistem mampu medapatkannnilai BAIK pada setiap kategori yang diberikan yaitu, kesesuaian,

  73,61% Baik

  9 Pada saat menggunakan head mouse, apakah mudah saat mengendalikan pergerakan mendongak keatas dan ke kebawah?

  48

  8 Pada saat menggunakan head mouse, apakah mudah saat mengendalikan pergerakan menoleh ke kiri dan ke kanan?

  7 Kemudahan Apakah dalam penggunaan head mouse ini mudah digunakan? 71,38% Baik

  Berdasarkan data hasil pengujian pada Tabel 5, sistem mampu membaca perubahan nilai saat sistem digerakkan menoleh kekiri dan menoleh kekanan akan tetapi dengan nilai error yang dihasilkan oleh sistem cukup besar yaitu sebesar 8,94 o , hal ini dikarenakan pembacaan pada sumbu Z hanya berdasarkan nilai dari gyroscope, selain itu nilai pada sumbu Z akan mengalami fenomena drift, oleh karena itu dibutuhkan modifikasi pada program untuk mengurangi terjadinya fenomena tersebut.

3.4 Pengujian Sistem Korespondensi

  71,94% Baik

  4 Nilai Pada saat penggunaan head mouse, bagaimana tingkat kestabilan dari head mouse tersebut?

  3 Dalam penggunaan head mouse dan mouse konvensional manakah yang anda sukai?

  5 Pada saat penggunaan head mouse, bagaimana tingkat sensitifitas dari head mouse tersebut saat digunakan untuk menoleh ke kanan dan kekiri?

  67,5% Baik

  1 Kesesuaian Apakah penggunaan mampu menggunakan head mouse?

  No Kategori Pertanyaan Nilai Ket

  Berikut adalah tabel hasil pengujian sistem korespondesi. Tabel 6. Hasil Pengujian Sistem Korespondesi

  Rumus Indeks % = Total Skor / Y x 100 Y adalah nilai skor tertinggi yang dapat diperoleh dari pertanyaan yang diberikan.

  Pada pengujian dilakukan dengan mencoba sistem kepada 30 orang pengguna dan mengumpalkan umpan balik dari hasil percobaan tersebut. Untuk mendapat nilai dari percobaan sistem korespondensi menggunakan persamaan pada skala likert yaitu:

  6 Pada saat penggunaan head mouse, bagaimana tingkat sensitifitas dari head mouse tersebut saat digunakan untuk mendongak keatas dan kebawah?

  2 Apakah penggunaan head mouse ini sudah bagus dibandingkan dengan menggunakan mouse konvensional? nilai, kemudahan dan perasaan.

5. DAFTAR PUSTAKA

  Andriana, O. V., 2016. Speech Recognition Sebagai Fungsi Mouse Untuk Membantu Pengguna Komputer Dengan Keterbatasan Khusus. Seminar Nasional Sains dan Teknologi 2016. arduino.cc, 2014.

  playground.arduino.cc.

  [Online] Available at: https://playground.arduino.cc/Main/MPU- 6050 [Accessed 06 June 2018].

  Colton, S., 2007. The Balance Filter, s.l.: s.n. Risnita, 2012. PENGEMBANGAN SKALA MODEL LIKERT. Edu-Bio, Volume 3.

  Umami, R., 2017. Penerapan Hand Motion Tracking Pengendali Pointer Pada Virtual Mouse Dengan Metode Optical Flow.

  Utomo, F. S. & Purwidiantoro, M. H., 2015.

  Virtual Mouse Menggunakan Algoritma Haarcascade Dan Hough Transform Sebagai Media Interaksi Manusia Dengan Komputer Bagi Penyandang Disabilitas.

  Jurnal Telematika, Volume Vol 8, p. 55.