RANCANG BANGUN APLIKASI PAPAN TULIS VIRTUAL DENGAN MENGGUNAKAN LEAP MOTION Nama NRP Angkatan
: Adam Gegi Yowanda : 5110100165 : 2010
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Diciptakannya Leap Motion
• Dipublikasikan secara umum pada Juli 2013. • Ukuran yang kecil. • Mendukung deteksi sepuluh jari. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Dukungan terhadap Leap Motion
• Integrasi langsung dengan laptop dan keyboard. • Riset untuk Google Glass. • Dukungan integrasi di masa mendatang. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Teknologi Nirsentuh • Interaksi manusia dan komputer di masa depan. • Teknologi baru. • Belum matang dan ruang riset masih luas.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Aplikasi sejenis
Photoshop
InkScape
MS Paint
• Belum ada atau masih jarang. • Fungsionalitas yang berbeda.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
PenUltimate
Papyrus
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Rumusan Masalah • Menangani masukan pengguna tanpa adanya tombol dan alat bantu. • Meningkatkan ketepatan atau akurasi dalam menulis. • Implementasi Ramer-Douglas-Peucker LineSimplification Algorithm untuk memperhalus tulisan. • Pemanfaatan gesture recognition.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Batasan Masalah • Berjalan pada sistem operasi minimal Windows 7. • Pengembangan dilakukan dengan menggunakan: ▫ Leap Motion SDK 1.x. ▫ Bahasa pemrograman C#. ▫ IDE Visual Studio 2013.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Komponen Penyusun Aplikasi • • • •
Leap Motion SDK. Algoritma Ramer-Douglas-Peucker (RDP). Kontrol antarmuka nirsentuh. Pengenalan tulisan tangan.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Leap Motion SDK • Mendukung banyak bahasa pemrograman antara lain Phyton, C#, C++, JS, Objective-C, dan Java. • Mendeteksi permodelan tangan. • Mendeteksi permodelan jari. • Gesture recognition. • Kekurangan ada pada backward compatibility
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP • Penghalusan garis dengan mengurangi titik pembentuk lintasan garis.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
H
E G
C • Cari ujung awal dan akhir dari garis (AH). • Area ε (epsilon) : jika titik berada di dalamnya maka akan direduksi. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
d
D
H
E G
C • Cari titik dengan jarak tegak lurus terjauh. d
| Ax( Hy Cy ) Hx(Cy Ay ) Cx ( Ay Hy ) |
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
A2 H 2
Algoritma RDP A
F B
D
H
E G
C • Titik C berada di luar area epsilon, tidak direduksi. • Lakukan langkah rekursif mencari titik tegak lurus terjauh dengan titik C sebagai ujung akhir. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F E B
D
H
E G
C • Titik B adalah titik tegak lurus terjauh dari AC. • Titik B berada pada area epsilon. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
H
E G
C • Reduksi titik B. • Dari titik C buat garis lurus dengan titik ujung garis yaitu H. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
H
E G
C • Titik E adalah titik tegak lurus terjauh dari garis CH. • Titik E berada di luar area epsilon. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
H
E G
C Ulangi semua langkah hingga tersisa titik-titik yang berada di luar area epsilon. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
C
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
H
E G
Algoritma RDP A
F B
D
H
E G
C Antara titik G dan H sudah tidak ada titik lagi, pada poin inilah rekursi berakhir. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
H
E G
C Garis awal ditunjukkan dengan garis putus-putus.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Algoritma RDP A
F B
D
H
E G
C Hasil akhir garis setelah dilakukan algoritma RDP.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Kontrol Antarmuka Nirsentuh • • • •
Ada 10 kontrol antarmuka baru pada aplikasi ini. Dibangun untuk meningkatkan ketepatan pengguna. Disesuaikan dengan penggunaan nirsentuh. Menerapkan gesture recognition pada beberapa kontrol.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Papan Tulis Utama
Panel Riwayat
Panel Kontrol
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengubah Warna
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengubah Nilai
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengenalan Tulisan Tangan
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Virtual Keyboard
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengubah Bahasa
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengubah Jenis Font
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengubah Gaya Font
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Kotak Pesan
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pemuat Papan
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Kalibrasi Leap Motion
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengenalan Tulisan Tangan • Dibuat untuk mengatasi kekurangan dari Leap Motion. ▫ Jeda (delay). ▫ Blind spot. ▫ Kehilangan presisi karena cahaya eksternal.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengenalan Tulisan Tangan • Menggunakan pustaka dari Microsoft yaitu Microsoft Ink. • Terintegrasi dengan sistem operasi. • Mendukung 26 bahasa di seluruh dunia. • Bahasa Indonesia belum didukung oleh Microsoft Ink. • Aplikasi hanya mendukung huruf tegak bersambung.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Bahasa yang Didukung oleh MS Ink Bahasa Catalan
Paket Unduhan Bahasa Spanish
Chinese (Simplified) Chinese (Simplified)
Chinese (Traditional) Chinese (Traditional) Croatian
Croatian
Czech
Czech
Danish
Danish
Dutch English (U.S. and U.K.)
Dutch
Finnish
Finnish
French
French
German
German
Italian
Italian
Tersedia dari awal
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Bahasa Japanese Korean Norwegian (Bokmål) Norwegian (Nynorsk) Polish Portuguese (Brazil) Portuguese (Portugal) Romanian Russian Serbian Latin Serbian Cyrillic Spanish Swedish
Paket Unduhan Bahasa Japanese Korean Norwegian Norwegian Polish Portuguese (Brazil) Portuguese (Portugal) Romanian Russian Serbian Latin Serbian Latin Spanish Swedish
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengujian dan Evaluasi • Pengujian dilakukan menjadi tiga bagian yaitu: 1. Pengujian kasus penggunaan. 2. Pengujian algoritma RDP. 3. Evaluasi hasil survei. • Pengujian kasus penggunaan menggunakan pengujian black box.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Rekapitulasi Pengujian Kasus Penggunaan (1) Hasil No Kode Pengujian Nama Pengujian Pengujian 1SUC-D01 Pengujian Membuat Coretan dengan Kuas Virtual Berhasil 2SUC-D02 Pengujian Mengubah Warna Kuas Berhasil 3SUC-D03 Pengujian Mengubah Ukuran Kuas Berhasil 4SUC-D04 Pengujian Menghapus Coretan Berhasil Pengujian Menulis dengan Menggunakan 5SUC-D05 Pengenalan Tulisan Tangan Berhasil Pengujian Memilih Bahasa Pengenalan Tulisan 6SUC-D06 Tangan Berhasil Pengujian Menulis dengan Menggunakan Virtual 7SUC-D07 Keyboard Berhasil 8SUC-D08 Pengujian Mengubah Ukuran Font Berhasil Pengujian Memilih Jenis Font Melalui Panel 9SUC-D09 Kontrol Berhasil Pengujian Memilih Font Style Melalui Panel 10SUC-D10 Kontrol Berhasil SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Rekapitulasi Pengujian Kasus Penggunaan (2) No
Kode Pengujian Nama Pengujian
11SUC-D11 12SUC-D12 13SUC-D13 14SUC-D14 15SUC-D15 16SUC-D16 17SUC-D17 18SUC-D18 19SUC-D19 20SUC-D20
Pengujian Mengubah Warna Font Pengujian Menghapus Tulisan Pengujian Membersihkan Papan Pengujian Membuat Papan Baru Pengujian Menyimpan Papan Tulis Pengujian Memilih Papan untuk Dimuat Pengujian Mengkalibrasi Leap Motion Pengujian Mengubah Warna Papan Tulis Pengujian Mengubah Warna Aksen Pengujian Mengakses Riwayat Papan Tulis
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Hasil Pengujian
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Pengujian Algoritma RDP • Pengujian dilakukan pada huruf kecil alfabet tegak bersambung. • Epsilon atau toleransi yang digunakan adalah konstan yaitu 5. • Hasil garis yang telah diproses memiliki jumlah titik sekitar 2-4 persen dari garis awal.
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Pengujian Algoritma RDP Persentase Tingkat Reduksi 4.50% 3.90%
4.00% 3.50% 3.00% 2.43%
2.50% 2.00% 1.50% 1.00%
0.50% 0.00% a
b
c
d
e
f
g
h
i
j
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Evaluasi Hasil Survei No 1 2 3 4 5
Aspek Pengujian Leap Motion Sebagai Alat Tulis dan Gambar Nirsentuh Pembuatan Kontrol Pengguna yang Disesuaikan dengan Penggunaan Nirsentuh Metode Menulis - Pengenalan Tulisan Tangan Metode Menulis - Virtual Keyboard Penggunaan Pengenalan Gerakan
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Persentase Setuju 100% 87% 53% 53% 73%
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
Kesimpulan • Aplikasi dapat dioperasikan secara nirsentuh. • Kontrol antarmuka baru dibuat untuk meningkatkan ketepatan penggunaan. • Algoritma RDP mampu melakukan reduksi sehingga jumlah titik penyusun berkurang hingga tinggal 2-4 persennya saja. • Pengenalan tulisan tangan dan virtual keyboard dapat meningkatkan ketepatan dalam menulis. SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165
SIDANG TUGAS AKHIR | ADAM GEGI YOWANDA | 5110100165