RANCANG BANGUN SISTEM KENDALI PERALATAN RUMAH BERBASISKAN MIKROKONTROLER DENGAN ALGORITMA FUZZY C-MENS 1
Deny Rochman Arifatno 2 Dr.-Ing Farid Thalib Magister Teknik Elektro Bidang Peminatan Elektronika Telekomunikasi Universitas Gunadarma Jl. Margonda Raya 100, Depok 16424 1
[email protected] 2
[email protected]
ABSTRAK Isyarat tangan banyak digunakan sebagai kode isyarat atau sandi untuk mengirim berita atau sebagai sistem pengaturan seperti dalam sistem parkir pesawat terbang, sebagai pengendali robot [1], ada juga rambu-rambu dari isyarat tangan, begitu pula polisi dalam mengatur lalu lintas, dan masih banyak lagi. Isyarat tangan dapat mewakili sebuah aba-aba, aba-aba yang berurutan, kata-kata atau ungkapan. Sistem ini harus akurat untuk menghasilkan klasifikasi isyarat tangan dalam waktu yang layak [4]. Penelitian ini adalah membuat suatu sistem yang dapat mengidentifikasi isyarat tangan manusia melalui citra yang ditangkap oleh kamera yang akan digunakan sebagai pengendali peralatan rumah secara otomatis. Metode penelitian ini adalah dengan merancang arsitektur sistem, membuat perangkat lunak dengan bahasa pemograman visual basic untuk mengindentifikasi isyarat tangan, membuat perangkat keras sistem kendali peralatan rumah dan mengambungkan perangkat lunak dan perangkat keras.Hasil pengambilan data adalah pada isyarat untuk mengendalikan lampu taman, prosentase keberhasilannya adalah 95%, pengujian isyarat untuk AC didapatkan tingkat keberhasilan sebesar 75%, prosentase pengujian isyarat tangan untuk mesin cuci yaitu 60 %, Pengujian isyarat untuk fan mempunyai tingkat keberhasilan sebesar 65 %. Pengujian isyarat untuk lampu ruang tamu mempunyai tingkat keberhasilan sebesar 60 %. Simpulan yang di dapat perangkat lunak bekerja dengan tingkat keberhasilan rata-rata 71%. Dari semua isyarat tangan 1
yang telah diujikan, ternyata tidak semua syarat dikenali dengan baik. Hal ini karena kondisi lingkungan yang berbeda antara pada saat pengambilan data referensi tangan dan pada saat software ini dilakukan pengujian. Semakin banyak data referensi yang diambil, semakin kecil jarak kedekatan antara citra input dan pusat kluster. Kata Kunci : pengenalan isyarat, Mikrokontroler AtMega 16, fuzzy c-means, isyarat tangan.
PENDAHULUAN Isyarat tangan banyak digunakan sebagai kode isyarat atau sandi untuk mengirim berita atau sebagai sistem pengaturan seperti dalam sistem parkir pesawat terbang, sebagai pengendali robot [1], ada juga rambu-rambu dari isyarat tangan, begitu pula polisi dalam mengatur lalu lintas, dan masih banyak lagi. Isyarat tangan dapat mewakili sebuah aba-aba, aba-aba yang berurutan, kata-kata atau ungkapan. Sistem ini harus akurat untuk menghasilkan klasifikasi isyarat tangan dalam waktu yang layak [4]. Menggunakan isyarat tangan sebagai sistem pengendali merupakan tantangan yang tidak mudah. Disebabkan oleh isyarat tangan yang akan di ambil terdapat latar belakang yang bermacam-macam, kondisi pencahayaan yang berubah-rubah, bentuk tangan manusia yang berbeda-beda, dan real-time eksekusi yang dibutuhkan. Sebagai tambahan, sistem diperuntukan untuk pengguna dan peralatan yang berdiri sendiri [9]. Sistem pengenalan isyarat tangan dapat digolongkan menjadi dua, statik dan dinamis . Tesis ini mendefinisikan sistem pengenalan isyarat tangan statis untuk kontrol peralatan rumah. Sistem pengenalan dengan algoritma Fuzzy C-Means (FCM) digunakan karena dari kecepatannya dalam mengenali isyarat tangan 2
dengan ketelitian cukup untuk operasi real-time. Tesis ini menjelaskan algoritma pengenalan gerakan dan menjelaskan percobaan untuk pengujian sistem Tujuan dari penelitian ini adalah membuat suatu sistem yang dapat
mengidentifikasi isyarat tangan manusia melalui citra yang ditangkap oleh kamera yang akan digunakan sebagai pengendali peralatan rumah secara otomatis.
TINJAUAN PUSTAKA Fuzzy C-Means (FCM) Fuzzy C-Means adalah suatu teknik peng-cluster-an data yang mana keberadaan tiap-tiap titik data dalam suatu cluster ditentukan oleh derajat keanggotaan. Teknik ini pertama kali diperkenalkan oleh Jim Bezdek pada tahun 1981. Konsep dasar FCM, pertama kali adalah menentukan pusat cluster, yang akan menandai lokasi rata-rata untuk tiap-tiap cluster. Pada kondisi awal, pusat cluster ini masih belum akurat. Tiap-tiap titik data memiliki derajat keanggotaan untuk tiap-tiap cluster. Dengan cara memperbaiki pusat cluster dan derajat keanggotaan tiap-tiap titik data secara berulang, maka akan dapat dilihat bahwa pusat cluster akan bergerak menuju lokasi yang tepat. Perulangan ini didasarkan pada minimasi fungsi obyektif yang menggambarkan jarak dari titik data yang diberikan ke pusat cluster yang terbobot oleh derajat keanggotaan titik data tersebut. Output dari FCM bukan merupakan fuzzy inference system, namun merupakan deretan pusat cluster dan beberapa derajat keanggotaan untuk tiap-tiap titik data. Fungsi obyek yang digunakan pada FCM adalah: 3
n
(1)
c
J w (U , V ; X ) = ∑ ∑ ( µ ik ) w ( d ik ) 2 k −1 i −1
Dengan w ∈ [1.00 ) m d ik = d ( x k vi ) = ∑ (x kj − vij ) j −1
1
2
(2)
x adalah data yang akan di cluster (3)
x 11 ... x 1 m . X = . x n 1 ... x nm
v 11 ... v 1 m . V = . v n 1 ... v nm
Dan V adalah matriks pusat cluster
(4)
Nilai Jw terkecil adalah yang terbaik, sehingga :
J W∗ (U ∗ ,V ∗ ⋅ X ) = min Mfc J (U ,V ; X )
(5)
Algoritma FCM diberikan sebagai berikut: 1. Tentukan : a. Matriks X berukuran
n x m dengan n = jumlah data yang
akan di cluster dan m= jumlah variabel (criteria) b. Jumlah cluter yang akan di bentuk = C (≥ 2) c. Pangkat ( pembobot) = w(> 1) d. Iterasi tertinggi
4
e. Kriteria penghentian = ξ (nilai positif yang sangat kecil) f. Iterasi awal t=1,dan ∆=1 2. Bentuk matrik partisi awal ,U°,sebagai berikut
µ11 ( x1 ) µ12 ( x 2 )...µ1n ( x n ) µ ( x ) µ ( x )...µ ( x ) 2n n U = 21 1 22 2 .... µ c1 ( x1 ) µ c 2 ( x 2 )...µ cn ( x n )
(6)
(matriks partisi awal biasanya dipilih secara acak) 3. Hitung pusat cluster,V,untuk setiap cluster n
∑ (µ )x ik
Vij =
kj
(7)
k −1 n
∑ (µ )
w
ik
k −1
4. Hitung fungsi obyektif pada iterasi ke - t: n c m w Pt = ∑∑ ∑ (xij − Vkj )`2 (µik ) i −1 k −1 j = i
5.
(8)
Perbaiki derajat keanggotaan setiap data pada setiap cluster (Perbaiki matriks partisi), sebagai berikut: c d µ ik = ∑ ik j =1 d jk
2
( w −1)
−1
(9)
Dengan:
5
m dik = d(xk − vi ) = ∑(xkj − vij ) j=1
1 2
(10)
6. Cek kondisi berhenti: • Jika: (|Pt-Pt-1 |<ξ) atau (t>MaxIter) maka berhenti. • Jika tidak: t=t+1, ulangi langkah 3.
Mikrokontroler AVR ATmega 16 sebagai Antarmuka AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer) yang ditingkatkan. Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang memungkinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. ATmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Beberapa keistimewaan dari AVR ATmega16 antara lain: 1. Advanced RISC Architecture * 32 x 8 General Purpose Fully Static Operation * Up to 16 MIPS Throughput at 16 MHz * On-chip 2-cycle Multiplier 2. Nonvolatile Program and Data Memories
6
* 8K Bytes of In-System Self-Programmable Flash * Optional Boot Code Section with Independent Lock Bits * 512 Bytes EEPROM * 512 Bytes Internal SRAM * Programming Lock for Software Security 3. Peripheral Features *
Two 8-bit Timer/Counters with Separate Prescalers and
Compare Mode * Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes * One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode * Real Time Counter with Separate Oscillator * Four PWM Channels * 8-channel, 10-bit ADC * Byte-oriented Two-wire Serial Interface * Programmable Serial USART 4. Special Microcontroller Features * Power-on Reset and Programmable Brown-out Detection * Internal Calibrated RC Oscillator * External and Internal Interrupt Sources * Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby.
7
5. I/O and Package * 32 Programmable I/O Lines * 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF 6. Operating Voltages * 2.7 -5.5V for ATmega16L * 4.5 - 5.5V for Atmega16
Gambar 1 Pin-pin ATmega 16 dalam Kemasan 40-pin DIP [datasheet]
Pin-pin pada ATmega16 dengan kemasan 40-pin DIP (dual in-linepackage) ditunjukkan oleh Gambar 2. Deskripsi dari pin-pin ATmega 16 adalah sebagai berikut
VCC
: tegangan sumber.
GND
: Ground
PORT A
: Menjalankan analog input ke A/D converte. Port A
juga
berfungsi sebagai 8 bit directional I/O port jika A/D converter tidak digunakan.
8
Ketika pin PA0-PA7 digunakan input dan secara eksternal pull-low , mereka seperti sumber arus jika internal pull- up resistor diaktifkan. Pin port A adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan.
PORT B
: Port B adalah 8 bit bi-directional I/O port dengan Internal
pull-up resistor .Buffer output port B ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port B adalah eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port B adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan.
PORT C
: Port C adalah 8 bit bi-directional I/O port dengan Internal
pull-up resistor. Buffer output port B ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port C adalah eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port C adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan.Jika interface JTAG enable, pull up resistor di pin PC5(TDI), PC3(TMS), dan PC2(TCK) akan aktif sekalipun reset terjadi.
PORT D
: Port D adalah 8 bit bi-directional I/O port dengan Internal pull-
up resistor .Buffer output port D ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port D adalah eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port D adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan.
9
RESET
: Sebuah low level pada pin akan lebih lama dari pada lebar
pulsa minimum akan menghasilkan reset meskipun clock tidak berjalan.
XTAL1
: Input inverting penguat Oscilator dan input intenal clock
operasi rangkaian.
XTAL2
: Output dari inverting penguat Oscilator.
AVCC
: Pin supply tegangan untuk Port A dan A/D converter .
Sebaiknya eksternalnya dihubungkan ke VCC meskipun ADC tidak digunakan. Jika ADC digunakan seharusnya dihubungkan ke VCC melalui low pas filter.
AREF
: Pin referensi analog untuk A/D konverter
Gambar 2. Blok Diagram Arsitektur A Tmega16 [10]
10
Untuk memaksimalkan performa dari mikrokontroller, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Sedangkan untuk blok diagram arsitektur CPU dari AVR ditunjukkan oleh gambar 2. Pemrograman
yang
digunakan
untuk
mengisi
program
pada
mikrokontroller AVR ini digunakan CodeVision AVR dan bahasa pemrograman yang digunakan adalah bahasa C. Pada CodeVision AVR ini bisa ditentukan portport dari mikrokontroller AVR yang berfungsi sebagai input maupun output, serta bisa juga ditentukan tentang penggunaan fungsi-fungsi internal dari AVR. Sebelum menentukan port-port dan fungsi-fungsi internal yang akan digunakan, harus ditentukan terlebih dahulu mikrokontroler yang akan dipakai. Masing-masing mikrokontroler mempunyai perbedaan dalam fungsi-fungsi internal. Untuk menentukan mikrokontroller dan port-port yang akan digunakan sebagai masukan maupun keluaran ditunjukkan oleh gambar 3.
Gambar 3. Penentuan Port yang Akan Dipakai
11
Setelah jenis chip mikrokontroller dan port dari AVR ditentukan sebagai input atau output maka program ditulis dalam bahasa C, kemudian program dapat dimasukan ke dalam mikrokontroller AVR, namun sebelum dimasukan kedalam mikrokontroller program harus dicompile terlebih dahulu untuk mengetahui apakah ada kesalahan atau tidak, jika tidak ada kesalahan maka program siap didownload dengan alur seperti yang ditunjukkan oleh gambar 4.
Gambar 4. Alur Pemrograman dan Proses pemasukan program
PERANCANGAN SISTEM Perancangan sistem yang meliputi disain arsitektur sistem, perancangan perangkat lunak dan perancangan perangkat keras.
12
Arsitektur Sistem
Isyarat tangan
Kamera USB
Komputer
Mikrokontroler dengan LCD untuk simulasi Pengendalian
Gambar 5. Arsitektur Sistem
Untuk pengendalian peralatan rumah, pengguna menggunakan isyarat tangan yang ada dalam kamus isyarat tangan. Tangan pengguna diletakan di depan kamera usb. Sebuah tampilan memungkinkan pengguna melihat isyarat tangan di bagi kedalam kelas-kelas dengan menggunakan modul pengenalan berdasarkan algoritma FCM [10] dan mengirimnnya ke mikrokontroler untuk di eksekusi. Sistem ini terdiri dari modul mikrokontroler dengan LCD, 1 set computer dengan port serial dan satu buah usb webcam.
13
Isyarat Tangan Sebuah kamus yang terdiri dari 5 buah posisi isyarat tangan di rancang untuk pengendalian peralatan rumah.
Tabel 1. Tabel Bahasa Pengenalan Isyarat Tangan Peralatan Rumah
Isyarat Tangan
Lampu Taman
AC
Mesin Cuci
Fan
14
Lampu Ruang Tamu
Isyarat tangan pertama digunakan untuk menyalakan lampu taman, isyarat tangan kedua digunakan untuk menyalakan AC, isyarat tangan ketiga digunakan untuk menyalakan mesin cuci, isyarat tangan keempat digunakan untuk menyalakan fan dan isyarat tangan kelima digunaan untuk menyalakan lampu ruang tamu.
Deteksi Kulit Pada bagian ini dilakukan segmentasi, proses ini bertujuan mendeteksi warna kulit pada suatu citra yang memiliki latar belakang yang komplek sehingga didapatkan citra dengan warna kulit saja. Citra inilah yang akan diproses lebih lanjut. Dalam [4] disebutkan bahwa komponen pengolah warna kulit memiliki fungsi sebagai berikut: R > 95 AND G > 40 AND B > 20 AND max{R, G, B} - min{R, G, B} > 15 AND | R - G | > 15 AND R > G AND R > B Namun untuk mencocokkan fungsi diatas maka diambil 48 contoh warna kulit yang berasal dari data pelatihan yang berbeda. Masing-masing contoh diambil nilai R, G, B dan keabu-abuannya. Hasilnya dapat dilihat pada gambar 6.
15
Gambar 6. Nilai RGB dan Grayscale Warna Kulit Setelah diperoleh nilai RGB dan keabu-abuan untuk warna kulit maka dilakukan perubahan citra ke dalam bentuk citra biner. Perubahan ini dilakukan untuk mempermudah proses selanjutnya. Pada sistem ini citra yang dianggap mempunyai warna seperti warna kulit akan diubah ke dalam warna putih selain itu akan diubah ke warna hitam. Citra biner yang beranggotakan nilai '0' dan T inilah yang akan yang akan dijadikan citra referensi setelah dilakukan perubahan ke dalam matrik satu dimensi. Berikut ini adalah potongan programnya :
16
Gambar 7. Hasil Proses Biner Proses Pengambilan Data Proses pengambilan data training dilakukan dengan cara memotret isyaratisyarat tangan yang akan dijadikan referensi. Citra hasil pengambilan tersebut kemudian dilakukan segmentasi untuk memisahkan warna kulit tangan terhadap lingkungan sekitar sekaligus mengubah citra ke dalam citra biner
17
sehingga
didapatkan
citra biner dengan
bentuk
tangan
saja.
Untuk
mempercepat proses perhitungan data, citra biner yang dihasilkan perlu dilakukan penskalaan. Dalam sistem ini dilakukan penskalaan 1:16. Gambar 8 merupakan salah satu contoh data training yang digunakan pada sistem ini.
18
Mulai
Capture citra Rezise citra
Citra Resize Citra
Deteksi kulit
Deteksi Kulit Citra Biner Citra Biner Ekstrasi Ciri
Fuzzy C-Means Data Referensi Yes Taman
Taman No Yes
AC
AC No Yes
Mesin cuci
Mesin cuci
No Yes
Fan
Fan No Yes
Ruang Tamu
Ruang Tamu
No Yes Berhenti
Keluar No
Gambar 8. Flowchart Proses Data
19
PENGUJIAN DAN PEMBAHASAN Pengujian Warna Kulit Pengujian ini dilakukan dengan cara melakukan penapisan pada citra cuplikan tangan secara rekaman. Dengan pengujian ini dapat diambil tingkat keberhasilan dari konstanta fungsi yang telah kita peroleh dari data hasil percobaan. Pada proses ini dilakukan pengubahan citra warna ke citra biner. Di mana citra yang dianggap sebagai warna kulit akan diubah ke dalam warna putih selain itu akan diubah ke warna hitam. Pengujian warna kulit dapat diilustrasikan sebagai berikut :
20
Tabel 2. Hasil Pengujian Warna Kulit
21
Pengujian Pengambilan Fitur Citra Pengambilan fitur atau ciri khas suatu citra dilakukan dengan cara memindai citra biner yang telah diperkecil untuk kemudian dikonversi ke dalam matrik sehingga mudah untuk dilakukan operasi lebih lanjut. Berikut adalah potongan hasil pembacaan dalam bentuk matrik satu dimensi sejumlah 300 data untuk setiap satu citra referensi. Data [300] Jika dilihat dalam bentuk dua dimensi, matrik di atas akan terlihat seperti gambar berikut :
Gambar 9. Matrik Hasil Ekstraksi Ciri
22
Pengujian Contoh Data Olahan Pengujian ini dilakukan unuk mengetahui pengaruh jumlah sample yang digunakan dalam menentukan pusat daerah masing-masing pola tangan sehingga dengan pusat daerah yang baik, maka pola tangan akan dapat dikenali dengan baik. Dalam tesis ini digunakan lima pola tangan. Disini akan dibandingkan antara tiga sampel data dan lima sampel data untuk masing-masing kode tangan. Setelah didapatkan hasil daerah dan disimpan dalam basis data, kemudian diplot-kan untuk diketahui hasilnya. Ternyata, data dengan lima sampel akan mempunyai jarak kedekatan yang lebih kecil dengan contoh pola tangan jika dibandingkan data dengan tiga sampel. Hasilnya dapat dilihat pada tabel 3.
23
Tabel 3. Tabel Hasil Pusat Kluster
Pengujian Sistem ATmega16 Untuk memgetahui apakah modul mikrokontroler ATmega16 bekerja dengan baik, untuk itu dilakukan pengujian pada jalurport yang dimiliki oleh mikrokontroler ATmega16. Cara pengujiannya yaitu terlebih dahulu program di-compile dengan software CodeVision AVR untuk mengetahui apakah program masih terdapat error atau tidak. Setelah di-compile akan didapatkan program
24
tersebut tidak terdapat error. Untuk running program, caranya hubungkan langsung antara PC dan mikrokontroler melalui kabel serial PC dan rangkaian downloader kemudian lakukan Down Load program, lalu amati hasilnya pada tampilan led. Programnya sebagai berikut : #include<delay.h> #include<stdio.h> PORTA=0xFF; DDRA=0xFF; #asm(“sei”) While (1) { //Place your code here PORTA=0x00; delay_ms(1000); PORTA=0x0F; delay_ms(1000); PORTA=0xF0; delay_ms(1000); PORTA=0xC3; delay_ms(1000); PORTA=0x3C; delay_ms(1000); }; }
Gambar 10. Nyala LED pada port A dimana modul yang dikontrol berupa 8 buah LED dihubungkan dengan port A dari mikrokontroller. 25
Peralatan yang digunakan untuk pengujian : 1. DC power supply +5 V. 2. Modul mikrokontroler 3. Kabel serial 4. Seperangkat PC 5. Software CodeVision AVR Pada pengujian ini program pengujian dibuat untuk melakukan beberapa variasi
penyalaan
led pada port A.
Potongan program
pengetesannya dapat dilihat pada gambar 4.3. Analisa : Dari program di atas dapat diketahui bahwa pada port A led akan menyala dengan pola pertama semua led akan menyala semua kemudian secara bergantian akan menyala dengan variasi sebagai berikut : 1. port A.4 sampai dengan port A.7 2. port A.0 sampai dengan port A.3 3. port A.0 dan port A.1 serta port A.6 dan port A.7 4. port A.2 sampai dengan port A.5 Setelah dilakukan pengujian pada minimum sistem maka hasil pengujian dari tampilan led pada port A dapat dilihat pada gambar 10.
Pengujian Komunikasi Serial Telah dijelaskan sebelumnya bahwa pengantarmuka antara komputer dengan mikrokontroler untuk komunikasi data adalah menggunakan RS 232 yang mana rangkaian tersebut akan mengubah tegangan dalam level CMOS ke tegangan level
26
TTL sehingga data dari komputer akan selevel dengan
tegangan
yang
digunakan di minimum sistem sehingga mikrokontroler bisa menerima data dari komputer. Berikut ini adalah potongan pemrograman bahasa rakitan komunikasi serial pada mikrokontroler
27
Setelah program di atas disimpan di memori mikrokontroler maka langkah berikutnya adalah menjalankan program serial ini dengan membuka tombol untuk 'run the terminal' pada software CodeVision AVR . Kemudian tekan tombol 'connect' dan jika diketik karakter 'a' maka led akan menyala semua. Sedangkan jika diketik karakter 's' maka led akan mati semua. Jadi dapat dianalisa bahwa komunikasi serial satu arah telah berhasil.
Gambar 11. Hasil Output Pengujian Serial Pengujian Pengenalan Isyarat Tangan Pengujian isyarat tangan dilakukan secara online dengan cara mengambil citra tangan menggunakan kamera. Pengujian dilakukan terhadap lima jenis isyarat tangan yang telah ditentukan sebelumnya dan beberapa isyarat yang belum ditentukan. Dengan cara ini didapatkan suatu hasil pengujian apakah perangkat lunak dapat mengenali isyarat tangan dengan baik atau tidak. Data dari hasil pengujian kemudian dilakukan perhitungan secara statistik untuk di analisa tingkat keberhasilannya. 28
Hasil Pengujian Masing-masing isyarat tangan akan di uji sebanyak 20 kali. Dari masing-masing pengujian tersebut, akan didapatkan tingkat keberhasilannya. Untuk lebih jelasnya, hasil pengujian dapat dilihat pada tabel berikut :
Tabel 4. Pengujian Pengenalan Isyarat Tangan Isyarat
Σuji Lampu
AC Mesin
Taman
Fan Lampu
Cuci
Ruang
Presentase Keberhasilan
Tamu 20
19
1
-
-
-
95 %
20
2
15
3
-
-
75 %
20
3
5
12
-
-
60 %
29
Tidak ada
20
2
2
3
13
-
20
5
3
-
-
12
20
4
2
-
-
65 %
60 %
-
60 %
Isyarat
Pembahasan Dari data hasil percobaan yang dilakukan terlihat bahwa pengenalan isyarat tangan dengan menggunakan metode euclidean jarak mempunyai tingkat keberhasilan 74,167 %. Ada beberapa hal yang menjadi faktor penyebab rendahnya tingkat keberhasilan dalam tesis ini. Pertama, adanya selisih beda yang besar antara data referensi dengan data citra online yang disebabkan adanya kesalahan pada saat pengambilan citra tangan melalui kamera. Kesalahan ini sulit sekali dihindari karena posisi tangan yang selalu bergerak sehingga tidak bisa menjaga jarak yang sama antara tangan dengan kamera. Perbedaan jarak ini dapat menyebabkan ukuran objek pada citra yang ditangkap oleh kamera tidak bisa tetap, padahal data referensi yang kita ambil mempunyai ukuran yang tetap, sehingga menyebabkan adanya kesalahan identifikasi. Kedua, pencahayaan yang berbeda antara proses pengambilan data olahan dengan data online akan mempengaruhi tingkat kecerahan warna yang dihasilkan pada citra 30
yang diambil. Tingkat pencahayaan yang berbeda ini disebabkan oleh intensitas cahaya matahari pagi, siang, maupun sore yang masuk ke dalam ruangan. Ketiga, pola isyarat tangan yang tidak unik akan mempengaruhi pengujian pengenalan isyarat tangan. Karena isyarat tangan akan dikenali sebagai isyarat yang hampir mirip dengannya. Keempat, jumlah data sample akan mempengaruhi tingkat keragaman data yang akan dijadikan data acuan. Semakin banyak jumlah data sampel yang digunakan, maka jarak kedekatan antara citra input dan titik pusat kluster akan semakin kecil. Dengan catatan bahwa data dalam satu kelompok yang diambil tidak mempunyai pebedaan yang mencolok.
SIMPULAN DAN SARAN Simpulan Berdasarkan hasil-hasil yang telah dicapai selama perencanaan, pembuatan dan pengujian tesis ini maka dapat diambil kesimpulan sebagai berikut 1. Perangkat lunak bekerja dengan tingkat keberhasilan rata-rata 71%. 2. Dari semua isyarat tangan yang telah diujikan, ternyata tidak semua syarat dikenali dengan baik. Hal ini karena kondisi lingkungan yang berbeda antara pada saat pengambilan data referensi tangan dan pada saat software ini dilakukan pengujian. 3. Semakin banyak data referensi yang diambil, semakin kecil jarak kedekatan antara citra input dan pusat kluster. 4. Pola
isyarat
yang
unik
akan
pengenalan isyarat tangan.
31
mempengaruhi
hasil
pengujian
Saran Berdasarkan hasil yang telah dicapai dalam tesis ini, dapat diberikan saran yang diperlukan dalam pengembangan dan penyempurnaan sistem ini yaitu : 1. Pola isyarat tangan seharusnya dibuat unik, artinya tidak mempunyai kemiripan antara isyarat yang satu dengan yang lainnya. 2. Untuk menghindari tangan yang bergerak terlalu lama, bisa diberikan waktu tunda yang lebih lama. 3. Diusahakan pada saat pengujian dilakukan, posisi tangan tidak terlalu banyak bergerak. 4. Kondisi lingkungan untuk melakukan pengujian diharapkan sama dengan kondisi lingkungan pada saat dilakukan pengambilan data training untuk referensi. Sehingga dapat mengurangi tingkat kesalahan. 5. Diharapkan sistem ini bisa dikembangkan lebih baik terutama pada metode pengenalan isyarat.
DAFTAR PUSTAKA
[1]. Bezdek J.C “Cluster Validity with Fuzzy Sets” cybernetics. Vol.3, No. 3, 58-73. 1973
[2]. Juan Wachs,Uri Kartoun,Helman Sterm,Yael Edan,"Real-Time Hand Gesture Telerobotic System Using the Fuzzy C-Means Clustering Algorithm", Department of Industrial
Engineering
and
Management
Ben-Gurion
University
of
the
Negev,Agustus 2004.
[3]. Jure Kova'c, Peter Peer, and Franc Solina, "Human Skin Colour Clustering for Face Detection", Faculty of Computer and Information Science University of Ljubljana
32
[4]. Katkere A.. Hunter., Kuramura D., Schlenzig J., Moezi S. dan Jain R. “ROBOGEST: Telepresence Using Hand Gesture” Technical report VCL-94-104, Visual Komputing Laboratory, Universitas of California, San Diego, 1994
[5]. Kortekamp, D., Huber, E., dan Bonasso, R. P. ”Recognizing dan Interprenting Gestures on a Mobile Robot”. In AAAI96, 1996
[6]. Kusumadewi Sri, 2002, "Analisis dan Desain Sistem Fuzzy Menggunakan Tool Box Matlab", Graha Ilmu.
[7]. Leong, t, 2004 "Pemrograman Dasar Microsoft Visual Basic .NET", ANDI Yogyakarta.
[8]. Munir Rinaldi, 2004, "Pengolahan Citra Digital dengan Pendekatan Algoritmik", Informatika Bandung.
[9]. Pavlovic V, Sharma R, dan Huang T. ”Visual Interpretation of Hands Gesture for Human Computer Interaction: A Riview”. IEEE PAMI, Vol.19.pp.677-695. 1997.
[10]. Triesh J. dan Malburg C. V. V. “A Gesture Interface for Human-Robot Intaction”. Proc. Of 3th IEEE intl. Conf. on Automatic Face and Gesture Recognition., pp.546-551. 1998.
33