Top Banner
PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN COMPUTER VISION UNTUK SPACESHIP PADA GAME ORBITER SPACE FLIGHT SIMULATOR Suryawan Bimantoro, Imam Kuswardayan, Sarwosri Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60111, Indonesia Abstrak Teknologi informasi dan proses komputerisasi menjadi tren baru saat ini. Dengan teknologi informasi memungkinkan untuk dilakukan proses komputerisasi pada citra yang ditangkap oleh kamera. Salah satu proses tersebut sudah diterapkan pada mesin XBOX360 yang bernama KINECT, sebuah pengendali yang memanfaatkan penggunaan kamera. Orbiter Space Flight Simulator merupakan sebuah game simulasi pesawat luar angkasa gratis, namun tidak berupa game open source. Walau demikian pada game ini dapat dilakukan modifikasi dengan menambahkan modul dengan menggunakan Orbiter SDK yang tersedia langsung pada file instalasinya. Orbiter secara default menggunakan keyboard sebagai pengendali pesawatnya. Cara pengendalian dengan keyboard ini pada game ini memiliki terlalu banyak fungsi-fungsi tombol pengendalian penting yang digunakan. Dengan banyaknya fungsi tombol tersebut pengguna game yang menggunakan laptop tentu akan merasa kesulitan. Di sisi lain XBOX360 dengan KINECT-nya sudah bisa melakukan pengendalian dengan menggunakan kamera. Untuk menjadikan Orbiter mampu melakukan pengendalian dengan menggunakan kamera seperti pada XBOX360, salah satu alternatifnya adalah dengan membuat modul alat kemudi tambahan yang mampu mengendalikan pesawat dengan menggunakan kamera. Pengendalian ini dapat dilakukan dengan memanfaatkan library OpenCV untuk proses analisa citra tangkapan kamera dan library OrbiterSDK sebagai pengirim perintah pengendaliannya ke sistem Orbiter. Sedangkan untuk memudahkan pengguna dalam mengingat fungsi-fungsi tombol, akan dilakukan pendesainan cetakan panel kemudi yang mudah dimengerti. Target yang ingin diperoleh dalam pembuatan modul tambahan ini adalah untuk menjadikan game Orbiter Space Flight Simulator mampu melakukan pengendalian dengan menggunakan kamera secara real time. Dengan memperoleh target ini, game Orbiter dapat melakukan pengendalian dengan menggunakan kamera. Keuntungan lain yang diperoleh adalah pengguna laptop merasa lebih mudah melakukan pengendalian dengan modul kemudi daripada dengan menggunakan keyboard. Kata Kunci: Analisa citra kamera, OpenCV, Orbiter SDK, Orbiter Space Flight Simulator. I. PENDAHULUAN A. Orbiter Space Flight Simulator Orbiter Space Flight Simulator adalah sebuah game simulasi penerbangan luar angkasa yang berbasiskan pada gaya mekanika Newton[1]. Lingkungan bermainnya adalah sistem tata surya kita dengan beberapa objek utama seperti matahari, planet, dan bulan. Pemain memiliki kendali pada sebuah pesawat luar angkasa –baik itu pesawat luar angkasa yang memiliki nilai sejarah, berdasarkan hipotesis, ataupun murni sebuah fiksi ilmiah. Permainan Orbiter ini dapat diperoleh secara gratis pada salah satu dari beberapa situs mirror Orbiter yang terdapat di internet. Pengguna dapat memperoleh alamat ke mirror-mirror tersebut dengan membuka halaman unduhan di situs Orbiter, http://orbit.medphys.ucl.ac.uk/ . B. Orbiter SDK Orbiter SDK merupakan sebuah library yang digunakan untuk membuat modul tambahan yang dapat digunakan oleh sistem Orbit Space Flight Simulator dalam bentuk *.dll (Dynamic Library). Ruang lingkup pemrograman yang disediakan oleh Orbiter SDK akan memungkinkan pengembang modul pihak ketiga untuk melakukan peningkatan fungsionalitas sistem Orbiter Space Flight Simulator[2]. Pengenalan modul oleh Orbiter dilakukan dengan memanggil fungsi InitModule yang terdapat pada modul DLL. Fungsi tersebut hanya dipanggil satu kali per sesi Orbiter, tidak peduli berapa kali modul DLL tersebut digunakan selama simulasi. Modul DLL tidak akan dipanggil lagi ketika pengguna keluar dari simulasi dan kembali ke jendela Orbiter Launchpad, dan menjalankan skenario lainnya. Pengembang bisa menggunakan fungsi InitModule untuk menginisialisasi parameter global (bukan instansi spesifik dan bukan sesi spesifik). Di saat berakhirnya proses simulasi, Orbiter akan memanggil fungsi ExitModule untuk setiap modul DLL yang disiapkan sebelumnya. Jika pengembang modul menjalankan berbagai macam alokasi memori dinamis pada fungsi InitModule, fungsi ExitModule adalah tempat yang tepat untuk
8

PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

Mar 08, 2019

Download

Documents

buidat
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN COMPUTER VISION UNTUK SPACESHIP PADA GAME ORBITER SPACE FLIGHT SIMULATOR

Suryawan Bimantoro, Imam Kuswardayan, Sarwosri Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember

Kampus ITS Sukolilo Surabaya, 60111, Indonesia

Abstrak Teknologi informasi dan proses komputerisasi menjadi tren baru saat ini. Dengan teknologi informasi memungkinkan untuk dilakukan proses komputerisasi pada citra yang ditangkap oleh kamera. Salah satu proses tersebut sudah diterapkan pada mesin XBOX360 yang bernama KINECT, sebuah pengendali yang memanfaatkan penggunaan kamera. Orbiter Space Flight Simulator merupakan sebuah game simulasi pesawat luar angkasa gratis, namun tidak berupa game open source. Walau demikian pada game ini dapat dilakukan modifikasi dengan menambahkan modul dengan menggunakan Orbiter SDK yang tersedia langsung pada file instalasinya. Orbiter secara default menggunakan keyboard sebagai pengendali pesawatnya. Cara pengendalian dengan keyboard ini pada game ini memiliki terlalu banyak fungsi-fungsi tombol pengendalian penting yang digunakan. Dengan banyaknya fungsi tombol tersebut pengguna game yang menggunakan laptop tentu akan merasa kesulitan. Di sisi lain XBOX360 dengan KINECT-nya sudah bisa melakukan pengendalian dengan menggunakan kamera.

Untuk menjadikan Orbiter mampu melakukan pengendalian dengan menggunakan kamera seperti pada XBOX360, salah satu alternatifnya adalah dengan membuat modul alat kemudi tambahan yang mampu mengendalikan pesawat dengan menggunakan kamera. Pengendalian ini dapat dilakukan dengan memanfaatkan library OpenCV untuk proses analisa citra tangkapan kamera dan library OrbiterSDK sebagai pengirim perintah pengendaliannya ke sistem Orbiter. Sedangkan untuk memudahkan pengguna dalam mengingat fungsi-fungsi tombol, akan dilakukan pendesainan cetakan panel kemudi yang mudah dimengerti.

Target yang ingin diperoleh dalam pembuatan modul tambahan ini adalah untuk menjadikan game Orbiter Space Flight Simulator mampu melakukan pengendalian dengan menggunakan kamera secara real time. Dengan memperoleh target ini, game Orbiter dapat melakukan pengendalian dengan menggunakan kamera. Keuntungan lain yang diperoleh adalah pengguna laptop merasa lebih mudah melakukan pengendalian dengan modul kemudi daripada dengan menggunakan keyboard.

Kata Kunci: Analisa citra kamera, OpenCV, Orbiter SDK, Orbiter Space Flight Simulator. I. PENDAHULUAN A. Orbiter Space Flight Simulator

Orbiter Space Flight Simulator adalah sebuah game simulasi penerbangan luar angkasa yang berbasiskan pada gaya mekanika Newton[1]. Lingkungan bermainnya adalah sistem tata surya kita dengan beberapa objek utama seperti matahari, planet, dan bulan. Pemain memiliki kendali pada sebuah pesawat luar angkasa –baik itu pesawat luar angkasa yang memiliki nilai sejarah, berdasarkan hipotesis, ataupun murni sebuah fiksi ilmiah.

Permainan Orbiter ini dapat diperoleh secara gratis pada salah satu dari beberapa situs mirror Orbiter yang terdapat di internet. Pengguna dapat memperoleh alamat ke mirror-mirror tersebut dengan membuka halaman unduhan di situs Orbiter, http://orbit.medphys.ucl.ac.uk/.

B. Orbiter SDK

Orbiter SDK merupakan sebuah library yang digunakan untuk membuat modul tambahan yang dapat digunakan oleh sistem Orbit Space Flight Simulator dalam bentuk *.dll (Dynamic Library).

Ruang lingkup pemrograman yang disediakan oleh Orbiter SDK akan memungkinkan pengembang modul pihak ketiga untuk melakukan peningkatan fungsionalitas sistem Orbiter Space Flight Simulator[2].

Pengenalan modul oleh Orbiter dilakukan dengan memanggil fungsi InitModule yang terdapat pada modul DLL. Fungsi tersebut hanya dipanggil satu kali per sesi Orbiter, tidak peduli berapa kali modul DLL tersebut digunakan selama simulasi. Modul DLL tidak akan dipanggil lagi ketika pengguna keluar dari simulasi dan kembali ke jendela Orbiter Launchpad, dan menjalankan skenario lainnya. Pengembang bisa menggunakan fungsi InitModule untuk menginisialisasi parameter global (bukan instansi spesifik dan bukan sesi spesifik).

Di saat berakhirnya proses simulasi, Orbiter akan memanggil fungsi ExitModule untuk setiap modul DLL yang disiapkan sebelumnya. Jika pengembang modul menjalankan berbagai macam alokasi memori dinamis pada fungsi InitModule, fungsi ExitModule adalah tempat yang tepat untuk

Page 2: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

1

melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang dipakai.

Gambar 1 Fungsi InitModule

Gambar 2 Fungsi ExitModule

C. OpenCV OpenCV atau Open Source Computer Vision

Library adalah sebuah library dari sekumpulan beberapa fungsi pemrograman yang difokuskan untuk melakukan pemrosesan visi komputer secara real-time[3]. OpenCV dapat digunakan untuk melakukan sekitar 500 fungsi implementasi visi komputer, pemrosesan citra, dan beberapa penggunaan umum dari algoritma numerik[4].

Pendeteksian objek dengan menggunakan OpenCV bertujuan untuk menemukan satu atau beberapa objek yang telah didefinisikan pada sebuah kelas, dimana objek tersebut bisa terdapat di dalam sebuah citra statis ataupun citra di dalam video. Metode yang digunakan untuk mendeteksi objek tergantung pada jenis objek yang akan dideteksi. Apakah objek tersebut merupakan objek sederhana ataukah objek tersebut merupakan objek yang kompleks?

Metode untuk mendeteksi objek sederhana dapat dilakukan dengan mengekstraksi fitur citra tertentu, seperti tepi, warna, daerah, tekstur, kontur, dan lain sebagainya. Sedangkan untuk mendeteksi objek kompleks perlu dilakukan pembelajaran pada program untuk dapat mengenali objek kompleks tersebut secara cepat. Salah satu metode yang dapat digunakan untuk mendeteksi objek kompleks adalah dengan menggunakan metode Ferns.

Metode Ferns merupakan sebuah metode yang memanfaatkan kesesuaian titik kunci (keypoint) sebuah citra. Umumnya, metode ini digunakan untuk mendeteksi objek yang berupa bidang datar[5].

Pada metode Ferns, mengidentifikasi petak tekstur yang dikelilingi oleh titik kunci pada citra diperoleh dari beragam bentuk dan kondisi pencahayaan. Hasil yang diperoleh dapat digunakan untuk mencatat perbedaan sudut pandang dari keadaan yang sama, mengekstraksi informasi objek 3D, atau mengikuti objek dalam video.

Pengenalan petak adalah tahap pertama dan yang paling penting dalam alur algoritma, ketahanan dan kecepatan adalah kunci untuk keberhasilan secara keseluruhan dan keefisienan aplikasi yang diinginkan. Mendapatkan keduanya cukup sulit untuk dilakukan karena kemunculan permukaan di sekitar titik kunci dapat bervariasi secara drastis, tergantung bagaimana citra ditangkap.

Ferns menggunakan stuktur non-hirarki untuk mengklasifikasikan petak. Setiap petak mengandung tes binari dan mengembalikan kemungkinan sebuah petak dimiliki oleh salah satu bagian dari kelas yang telah dilakukan pelatihan sebelumnya. Respon ini kemudian digabungkan dengan metode Naive Bayesian, sebuah klasifikasi kemungkinan yang berdasarkan pada teorema Bayes[6](kemungkinan bersyarat[7]). Seperti sebelumnya, pengklasifikasi pada proses pelatihan dilakukan dengan mensintesis titik kunci yang diperoleh dari citra pelatihan.

Tes binari diambil secara acak, dengan tujuan agar Ferns dapat melakukan klasifikasi dengan performa yang baik.

Gambar 3 Ferns dalam mendeteksi objek bidang

datar

II. METODOLOGI A. Arsitektur Sistem

Arsitektur sistem disini akan memberikan sebuah gambaran singkat tentang sistem yang akan dibuat. Sistem ini terdiri dari sebuah modul kemudi OpenCVController yang digunakan untuk mengendalikan pesawat luar angkasa, dan game Orbiter Space Flight Simulator sendiri. Modul kemudi digunakan untuk mengontrol kendali yang diingikan pengguna dan sistem orbiter sendiri adalah sasaran kendali yang diinginkan pengguna. Pengguna dapat memilih bagaimana dia berinteraksi dengan

DLLCLBK void ExitModule (HINSTANCE hModule) {

// lakukan pembersihan modul disini }

#define ORBITER_MODULE #include "orbitersdk.h" HINSTANCE g_hDLL; DLLCLBK void InitModule (HINSTANCE hModule) {

g_hDLL = hModule; // lakukan inisialisasi modul global //disini

}

Page 3: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

2

modul, pengguna dapat secara langsung menggunakan jendela pengendali yang disediakan modul, atau pengguna berinteraksi dengan menggunakan bantuan kamera.

Gambar 4 Arsitektur modul kemudi

OpenCVController

B. Diagram Use Case Diagram use case disini terdiri dari “Modul

Kemudi OpenCVController untuk Orbiter Space Flight Simulator” dan “Aplikasi Pembuat Data Pelatihan” atau “Aplikasi Pelatihan”. Pada use case modul kemudi OpenCVController digambarkan tentang aksi yang dapat dilakukan seorang pemain game terhadap modul kemudi OpenCVController, masing-masing aksi tersebut memberikan respon yang sesuai dengan tujuan pembuatannya. Use case modul kemudi ini secara mendetail dapat dilihat pada Gambar 5. Kemudian pada use case aplikasi pelatihan digambarkan tentang aksi yang dilakukan seorang pemain game terhadap sistem aplikasi pelatihan, masing-masing aksi tersebut akan melakukan respon sesuai dengan tujuan pembuatannya. Use case aplikasi pelatihan dapat dilihat pada Gambar 6.

C. Perancangan Modul a. Data Pelatihan

Data pelatihan pada modul kemudi OpenCVController dan Aplikasi Pelatihan ini dibuat dengan menggunakan library OpenCV. Aplikasi Pelatihan dapat dijalankan untuk melakukan pelatihan secara otomatis jika data pelatihan (DetectorPattern.model) tidak dapat ditemukan pada direktori DetectorPattern yang ditambahkan manual di tempat dimana sistem Orbiter terpasang. Proses pelatihan bisa dilakukan dengan syarat citra panel kemudi (DetectorPattern.jpg) juga dapat ditemukan pada direktori DetectorPattern tersebut terlebih dahulu.

Apabila data pelatihan tidak dapat ditemukan dan proses pelatihan otomatis juga gagal dilakukan, maka fungsi kamera tidak akan dinonaktfkan. Apabila citra panel kemudi tidak ditemukan dan atau

data pelatihan juga tidak ditemukan, maka fungsi kamera juga akan dinonaktifkan.

Gambar 5 Diagram use case modul kemudi

OpenCVController

Gambar 6 Diagram use case aplikasi Trainer

Data pelatihan berisikan hasil penghitungan titik-titik kunci yang dianggap paling stabil pada citra cetakan panel kemudi. Pelatihan dilakukan dengan cara mengambil titik paling stabil pada citra terlebih dahulu. Titik kunci yang paling sering ditemukan pada citra tersebut kemudian diberi nomer kelas yang unik. Dari kelas tersebut akan dilakukan penarikan contoh dengan melakukan berbagai macam perubahan bentuk, seperti perbedaan sudut pandang, rotasi, dan sebagainya. Selanjutnya dari kelas tersebut akan diklasifikasi berdasarkan pada kondisi kemungkinan yang menggunakan metode Naive Bayesian untuk mendapatkan penarikan contoh pelatihan. Hasil penarikan contoh pelatihan tersebut kemudian disimpan pada berkas DetectorPattern.model.

b. Proses Utama i. Mempersiapkan Modul

Proses mempersiapankan modul kemudi OpenCVController dilakukan saat sistem Orbiter mulai dijalankan oleh pengguna dan pada saat pengguna menjalankan simulasi, kemudian pengguna mengaktifkan modul kemudi OpenCVController. Proses saat sistem Orbiter dijalankan, dilakukan persiapan berbagai keperluan sebelum modul dapat digunakan oleh pengguna. Pada saat proses inisialisasi modul, akan dilakukan penanganan modul tambahan, meregistrasi modul ke sistem orbiter, dan

Page 4: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

3

pembuatan objek penganalisa kamera. Sedangkan saat proses sebelum pengguna mengaktifkan modul, modul akan mengosongkan jendela pengendali terlebih dahulu, menonaktifkan fungsi kamera, kamera diset belum ditemukan, dan data pelatihan juga diset belum ditemukan.

ii. Pengendalian Selama Simulasi

Proses pengendalian selama simulasi ini berlangsung selama pengguna menjalankan simulasi pada sistem Orbiter. Pengguna ikut berperan pada proses ini dengan menggunakan jendela pengendali ataupun kamera. Proses pengendalian dengan menggunakan jendela pengendali terbagi menjadi dua, proses saat pergantian frame simulasi, dan proses saat pengguna menggunakan jendela pengendali secara langsung.

iii. Menganalisa Kamera Proses analisa citra tangkapan kamera

berlangsung selama proses simulasi dan kamera diaktifkan oleh pengguna selama proses simulasi berlangsung. Proses ini berjalan dengan menggunakan thread agar tidak mengganggu proses simulasi. Proses ini ditujukan untuk melakukan analisa citra untuk mengetahui aksi pengguna dengan menggunakan kamera. iv. Pembuatan Data Pelatihan

Proses pembuatan data pelatihan berlangsung saat pengguna menjalankan aplikasi pelatihan melalui jendela Windows Explorer. Pada proses ini, perlu ditemukan ada tidaknya cetakan panel kemudi terlebih dahulu. Jika sudah ditemukan, maka proses pembuatan data pelatihan barulah bisa dilakukan. Namun pembuatan data pelatihan juga hanya dilakukan jika data pelatihan belum dibuat. Citra cetakan panel kemudi haruslah pertama kali ditemukan, karena proses pembuatan data pelatihan membutuhkan analisa citra yang terdapat pada citra cetakan panel kemudi.

c. Antarmuka i. Halaman Jendela Pengendali

Jendela pengendali pada modul kemudi OpenCVController ini dapat dijalankan saat pengguna sedang menjalankan sebuah simulasi skenario yang disediakan oleh sistem Orbiter. Kemudian pengguna mengaktifkan modul kemudi OpenCVController lewat jendela “Custom Function” yang disediakan sistem Orbiter dengan menekan tombol Ctrl + F4 pada keyboard pengguna.

Untuk rancangan antarmuka jendela pengendali pada modul kemudi OpenCVController ini dapat dilihat pada Gambar 7.

Gambar 7 Rancangan antarmuka jendela pengendali

pesawat

ii. Cetakan Citra Panel Kemudi Cetakan citra panel kemudi ini bisa digunakan

jika pengguna mengaktifkan fungsi kamera dan memperlihatkan cetakan citra panel kemudi ke kamera. Untuk rancangan citra cetakan panel kemudi yang digunakan pada modul kemudi OpenCVController ini dapat dilihat pada Gambar 8.

Gambar 8 Rancangan cetakan panel kemudi dan

penutup digital mark

III. UJI COBA A. Lingkungan Uji Coba

Uji coba pada modul kemudi OpenCVController dan aplikasi pelatihan dilakukan dengan menggunakan sebuah laptop dan komputer. Pengujian Perangkat lunak ini menggunakan metode pengujian black box yang berfokus pada kebutuhan fungsional dan nonfungsional modul kemudi dan aplikasi trainer. Lingkungan uji coba dilakukan pada komputer A dan komputer B, dimana komputer A adalah tempat dimana modul kemudi ini dikembangkan dan dikompilasi, sedangkan komputer B adalah komputer lain yang sudah terpasang game Orbiter dan juga modul kemudi yang telah dikompilasi pada komputer A.

Page 5: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

4

Komputer A yang digunakan sebagai tempat modul dilakukan kompilasi dan pengujian memiliki spesifikasi Prosesor : Intel Pentium Dual CPU T2370

1.73GHz Memory : 2560 MB VGA Card : Mobile Intel 965 Express Sistem Operasi : Windows 7 Ultimate Edition Versi DirectX : DirectX11

Komputer B yang digunakan sebagai tempat modul dilakukan kompilasi dan pengujian memiliki spesifikasi Prosesor : Intel Core 2 Duo CPU E7200

2.53GHz Memory : 2048 MB VGA Card : NVidia GeForce 8600 GT Sistem Operasi : Windows XP Service Pack 2 Versi DirectX : DirectX9.0c B. Pengujian Kebutuhan Fungsional

Berikut ini akan dijelaskan mengenai pengujian yang dilakukan pada modul kemudi OpenCVController dan aplikasi pelatihan berdasarkan proses-proses sesuai dengan urutan use case yang telah dijabarkan sebelumnya. Sedangkan komputer yang digunakan pada pengujian ini adalah dengan menggunakan komputer A.

i. Pengujian Pengendalian dengan Jendela

Pengendali Berikut ini adalah cuplikan dari proses

pengendalian pesawat dengan menggunakan jendela pengendali saat dilakukan uji coba. Gambar 9 merupakan hasil uji coba ini.

ii. Pengujian Pengendalian dengan Kamera

Berikut ini adalah cuplikan dari proses pengendalian pesawat dengan menggunakan kamera saat dilakukan uji coba. Gambar 10, Gambar 11, dan Gambar 12 merupakan hasil uji coba.

iii. Pengujian Pembuatan Data Pelatihan

Berikut ini adalah cuplikan dari proses pembuatan data pelatihan oleh pengguna dengan menggunakan aplikasi trainer ketika dilakukan uji coba. Gambar 13 merupakan hasil uji coba ini. Evaluasi Pengujian Kebutuhan Fungsional

Seluruh kebutuhan fungsional yang telah direncanakan sebelumnya telah dilakukan uji coba. Hasil pengujian menunjukkan hasil positif. Dengan hasil positif tersebut, modul telah berhasil diimplementasikan untuk memenuhi kebutuhan-kebutuhan pengendalian penguna.

(a)

(b)

Gambar 9 Pengujian pengendalian dengan jendela pengendali untuk fungsi pengendalian tenaga mesin

utama sebelum (a) dan sesudah (b) dilakukan pengendalian

(a)

(b)

Gambar 10 Pengujian pengendalian dengan kamera untuk pengendalian tenaga mesin hover sebelum (a)

dan sesudah (b)

Page 6: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

5

(a)

(b)

Gambar 11 Pengujian pengendalian dengan kamera untuk pengendalian aksi tidak valid sebelum (a) dan

sesudah (b)

(a)

(b)

Gambar 12 Pengujian pengendalian dengan kamera untuk pengendalian tidak menunjukkan cetakan panel

kemudi ke kamera saat sebelum (a), sesudah (b)

Gambar 13 Pengujian proses pelatihan dengan

menggunakan aplikasi C. Pengujian Kebutuhan Nonfungsional i. Pengujian Kecepatan Analisa Citra

Berikut ini adalah cuplikan dari kecepatan analisa citra pada modul kemudi ketika dilakukan uji coba. Ketentuan pada kecepatan analisa ini haruslah real-time, syarat dari real-time sendiri adalah jumlah analisa perdetik (fps) tidak kurang dari 3 fps (lebih cepat dari 333.33ms), digunakan angka 3 fps karena melakukan kegiatan dengan waktu tersebut sangatlah lambat. Sedangkan maksud dari real-time sendiri adalah setiap kegiatan yang dilakukan pengguna dapat dilakukan hampir setiap saat. Gambar 14 merupakan hasil perbandingan kecepatan penganalisaan citra yang dilakukan oleh komputer A dan komputer B. Pada gambar tersebut menunjukan bahwa hasil pemrosesan memenuhi syarat kecepatan real-time.

Gambar 14 Diagram perbandingan kecepatan analisa

modul kemudi pada dua Komputer ii. Pengujian Portabilitas dengan Instalasi Orbiter

Lain Berikut ini adalah cuplikan dari menjalankan

modul ketika dilakukan uji coba menjalankan modul pada instalasi game Orbiter yang terdapat pada komputer lain (Komputer B). Gambar 15 menunjukkan hasil modul dijalankan pada instalasi game Orbiter yang terpasang pada komputer A dan komputer B.

0

2

4

6

8

10

12

0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96Jum

lah

Fra

me

per

Det

ik

(FP

S)

Waktu (detik)Komputer A Komputer B

Page 7: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

6

Komputer A

Komputer B

Gambar 15 Uji coba menjalankan modul pada komputer A dan komputer B

iii. Pengujian Perbandingan Kemudahan

Penggunaan Keyboard Laptop dengan Modul Kemudi Berikut ini adalah pengujian modul kemudi lebih

memudahkan pengguna mengendalikan pesawat daripada menggunakan keyboard.

Pengujian ini dilakukan dengan membandingkan waktu yang dibutuhkan pengguna untuk menjalankan aksi pada fungsi-fungsi penting pengendalian dengan menggunakan modul kemudi dan dengan menggunakan keyboard. Pengguna yang dipilih adalah pengguna yang baru memainkan game Orbiter untuk pertama kali. Pengguna diperbolehkan melihat tabel fungsi-fungsi pengendalian utama.

Pengukuran waktu dimulai saat pengguna sudah siap akan melakukan aksi dengan syarat sebagai berikut: 1. Pengguna boleh meletakkan tangannya di atas

keyboard namun tidak boleh menyentuh tombol. Pengguna boleh menggunakan kedua tangannya.

2. Pengguna tidak mengarahkan penunjuk mouse ke tombol yang akan ditekan namun pengguna boleh memegang mouse.

3. Pengguna tidak boleh meletakkan penutup digital mark berdekatan dengan digital mark yang akan ditutup namun pengguna boleh membawa penutup digital mark lebih dari satu. Pengukuran waktu selesai setelah pengguna

menyelesaikan aksinya dan mengatakan selesai. Perlu

diketahui bahwa, tombol Numpad (Num) pada laptop dapat diakses dengan menekan tombol [FN] pada keyboard.

Tabel 1 merupakan daftar aksi pengendalian yang akan dilakukan lengkap dengan aksi kendali pada keyboard, jendela pengendali, dan kamera. Tabel 2 menunjukkan hasil uji coba dengan melakukan beberapa aksi pengujian tertentu. Tabel ini akan melakukan daftar aksi yang harus dilakukan oleh pengguna yang tertera pada

Tabel 1 beserta juga catatan waktunya. Catatan waktu yang dicetak tebal adalah waktu terbaik dari salah satu diantara penggunaan keyboard, jendela pengendali, atau kamera saat melakukan daftar aksi pengendalian.

Tabel 1 Daftar aksi pengendalian

No. Aksi

Pengendalian Keyboard

Jendela Pengendali

Kamera

1. Memaksimalkan besar tenaga mesin utama

Tekan [Ctrl] + [FN] + [Num+] hingga tenaga mesin utama penuh

Geser slider mesin utama ke kanan hingga penuh

Tutup M+ hingga tenaga mesin utama penuh.

2. Saat mesin utama dalam kondisi tenaga maksimal, mengenolkan besar tenaga mesin utama

Tekan [FN] + [Num*]

Geser slider mesin utama ke kiri hingga habis

Tutup M0

3. Memaksimalkan besar tenaga mesin hover

Tekan [FN] + [Num0] hingga tenaga mesin hover penuh

Geser slider mesin hover ke kanan hingga penuh

Tutup H+ hingga tenaga mesin utama penuh.

4. Saat mesin hover dalam kondisi tenaga maksimal, mengenolkan tenaga mesin hover

Tekan [FN] + [Num.] hingga tenaga mesin hover nol

Geser slider mesin hover ke kiri hingga habis

Tutup H0

5. Saat mesin utama dalam kondisi tenaga maksimal, maksimalkan tenaga mesin retro, dan mengenolkan tenaga mesin utama

Tekan [FN] + [Num*] Tekan [Ctrl] + [FN] + [Num-] hingga tenaga mesin retro penuh

Geser slider mesin utama ke kiri hingga kosong Geser slider mesin retro ke kanan hingga penuh.

Tutup M0 dan R+

6. Saat mesin retro dalam kondisi tenaga maksimal, mengenolkan tenaga mesin retro

Tekan [FN] + [Num*]

mesin retro ke kiri hingga habis.

Tutup R0

7. Menganggukan pesawat ke atas hingga 10 derajat dan hentikan rotasi

Tekan [FN] + [Num 2] hingga pesawat mengangguk 10 derajat

Tekan PU hingga pesawat mengangguk 10 derajat kemudian

Tutup PU hingga pesawat meng-angguk

Page 8: PEMBUATAN ALAT KEMUDI DENGAN MENGGUNAKAN OPEN … · 2012-07-03 · 1 melakukan pembersihan pada operasi yang bersangkutan, dimana operasi tersebut akan menghapus alokasi memori yang

7

kemudian tekan [FN] + [Num5]

tekan X 10 derajat dan tutup X

8. Menggulingkan pesawat ke kanan 180 derajat dan hentikan rotasi

Tekan [FN] + [Num6] hingga pesawat berguling 180 derajat dan tekan [FN] + [Num5]

Tekan BR hingga pesawat berguling 180 derajat kemudian tekan X

Tutup BR hingga pesawat bergu-ling 180 derajat dan tutup X

9. Menggelengkan pesawat ke kanan 10 derajat dan hentikan rotasi.

Tekan [FN] + [Num3] hingga pesawat bergeleng 10 derajat dan tekan [FN] + [Num5]

Tekan YR hingga pesawat bergeleng 10 derajat kemudian tekan X

Tutup RR hingga pesawat berge-leng 10 derajat dan tutup X

10. Saat mode RCS adalah RCS rotasi, pindah ke RCS linier dan majukan pesawat dengan RCS linier

Tekan [FN] + [Num/] kemudian tekan [FN] + [Num6]

Tekan F Tutup F

11. Masih dalam mode RCS linier, menaikkan pesawat dengan menggunakan RCS linier

Tekan [FN] + [Num2]

Tekan U Tutup U

12. Masih dalam mode RCS linier, mengarahkan pesawat ke kiri dengan menggunakan RCS linier, kemudian menganggukan pesawat ke bawah dengan menggunakan RCS rotasi

Tekan [FN] + [Num1] kemudian tekan [FN] + [Num/] kemudaian tekan [FN] + [Num8]

Tekan L kemudian tekan PD

Tutup L kemudi-an tutup PD

13. Mengaktifkan mode navigasi Prograde dan HoldAlt

Tekan [ kemudian tekan A

Tekan Prograde kemudian tekan HoldAlt

Tutup PG kemudi-an tutup HA

14. Mengaktifkan mode navigasi Orbit-Normal

Tekan ; Tekan Normal(+)

Tutup N+

15. Mengaktifkan mode navigasi HoldAlt dan Hlevel

Tekan A kemudian tekan L

Tekan HoldAlt kemudian tekan HLevel

Tutup HoldAlt kemudi-an tutup HLevel

Tabel 2 Hasil aksi melakukan pengendalian

No. Keyboard Jendela

Pengendali Kamera

1. 05.84 detik 01.58 detik 01.66 detik 2. 01.36 detik 02.10 detik 02.33 detik 3. 05.45 detik 02.60 detik 01.42 detik 4. 05.79 detik 01.96 detik 01.46 detik 5. 06.51 detik 04.85 detik 04.41 detik 6. 00.42 detik 02.61 detik 01.33 detik 7. 03.38 detik 03.53 detik 03.25 detik 8. 07.35 detik 07.34 detik 07.77 detik 9. 04.30 detik 05.46 detik 03.96 detik

10. 02.01 detik 01.18 detik 00.98 detik 11. 00.27 detik 01.50 detik 01.08 detik 12. 06.29 detik 02.30 detik 02.66 detik 13. 02.13 detik 02.03 detik 02.51 detik 14. 00.63 detik 01.32 detik 01.72 detik 15. 00.98 detik 01.99 detik 01.77 detik

Total 52.71 detik 42.35 detik 38.31 detik

Evaluasi Pengujian Kebutuhan Non Fungsional

Seluruh kebutuhan non-fungsional untuk memnuhi kebutuhan tambahan modul telah dilakukan uji coba. Hasil pengujian menunjukkan hasil positif. Dengan hasil positif tersebut, modul telah berhasil diimplementasikan sesuai dengan target yang ingin dicapai dengan membuat modul tambahan ini. IV. KESIMPULAN

Kesimpulan yang didapatkan adalah sebagai berikut: 1. Library Orbiter SDK dan library OpenCV

berhasil diimplementasikan untuk membuat modul kemudi tambahan.

2. Proses pengendalian dengan menggunakan kamera telah berhasil dilakukan secara real-time.

3. Modul kemudi yang dibuat lebih memudahkan pengguna laptop saat melakukan pengendalian.

4. Modul kemudi tambahan membantu pengguna Orbiter Space Flight Simulator melakukan pengendalian pesawat luar angkasa dengan menggunakan jendela pengendali dan juga kamera.

5. Modul kemudi tambahan membantu pengguna Orbiter Space Flight Simulator pada laptop melakukan pengendalian dengan lebih mudah tanpa harus menghafalkan setiap fungsi-fungsi tombol kendali penting pada keyboard.

DAFTAR PUSTAKA [1] Schweiger, Martin. Orbiter Space Flight Simulator User Manual 2010 Edition. 2010. [2] Schweiger, Martin. Orbiter API Reference Manual 2010 Edition. 2010. [3] Bradski, Gary dan Kaehler, Andrian. Learning OpenCV. Sebastopol : O'Reilly Media, Inc, 2008.

ISBN 9780596516130. [4] Pisarevsky, Vadim. Introduction to OpenCV. Intel Corporation Software and Solution Group, 2007. [5] Mustafa Ozuysal, dkk. Fast Keypoint Recogniiton using Random Ferns. Lausanne : Ecole

Polytechnique Federale de Lausanne, 2008. [6] Zhang, Harry. The Oprtimality of Naive Bayes. Fredericton : University of New Brunswick, 2004. [7] Jaynes, Edwin T. Probability theory: the logic of science. Cambridge : Cambridge University

Press, 2003. ISBN 9780521592710.