viii
INTISARI
Semaphore adalah suatu cara untuk mengirim dan menerima berita dengan
menggunakan bendera. Untuk mempelajari gerakan semaphore, seorang pengirim kode
huruf semaphore membutuhkan orang lain untuk dapat mengetahui apakah posisi pengirim
sudah tepat atau kurang tepat dalam melakukan pengiriman kode huruf semaphore. Karena
setiap pengirim kode huruf semaphore memiliki posisi yang berbeda menurut derajat dan
kelurusan postur tubuh, sehingga hal ini membuat kurang efektifnya pembelajaran kode
semaphore apabila dilakukan oleh seorang diri.
Penerapan unsur-unsur teknologi praktis dan tepat guna sangat dibutuhkan dalam
pembelajaran kode huruf semaphore. Sistem yang akan dibuat dapat meniru kemampuan
mata manusia untuk mengenali objek berupa gerakan dari pengiriman kode semaphore.
Sistem pengenalan kode huruf semaphore ini akan dibuat menggunakan webcam dan
laptop. Webcam berfungsi sebagai alat bantu untuk mengambil citra dari pose kode huruf
semaphore yang dikirimkan. Dan laptop sebagai alat untuk mengolah data yang telah
diperoleh. Citra kode huruf semaphore diolah dengan menggunakan preprocessing,
ekstrasi ciri wavelet, fungsi jarak Euclidean dan kemudian program akan menampilkan
hasil pengenalan ke layar monitor dengan format huruf.
Sistem pengenalan kode huruf semaphore dapat bekerja dengan baik. Hasil
pengujian dengan menggunakan jarak maksimal yaitu pada jarak 5 meter menunjukkan
bahwa tingkat pengenalan yang diperoleh sebesar 93%.
ix
ABSTRACT
Semaphore is a way to send and receive news by using the flag. To study the
movement of semaphore, the sender of semaphore letter code needs others to be able to
determine whether the sender position is right or not right in sending a letter code of
semaphore. Because each sender semaphore letter code has different position according to
the degree and straightness posture, so this makes it less effective learning of semaphore
code when carried out by own way.
Applying the elements of practical and appropriate technology are needed in
learning of semaphore letter code. The system to be created can mimic the human eye's
ability to recognize objects in the form of shipment in the semaphore code movement.
Semaphore letter code recognition system will be created using the webcam and laptop.
Webcam function as tools to acquire an image of the pose semaphore letter code that has
been sent. And the laptop as a tool to process the data that has been obtained. Semaphore
letter code image is processed by using preprocessing, wavelet feature extraction,
Euclidean distance function and then the program will display the recognition results to the
screen with the letter format.
Semaphore letter code recognition system can work well. The test results by using
the maximum distance that is at a distance of 5 meters indicate that the obtained
recognition rate is 93 %.
i
TUGAS AKHIR
PENGENALAN KODE HURUF SEMAPHORE
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
LEONARDUS SANDY ADE PUTRA
NIM : 135114026
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
FINAL PROJECT
THE INTRODUCTION OF CODE-LETTER
SEMAPHORE
In a partial fulfillment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
LEONARDUS SANDY ADE PUTRA
NIM : 135114026
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
vi
HALAMAN PERSEMBAHAN
MOTTO:
Thing Big, and Act Now !
Persembahan
Skripsi ini kupersembahkan untuk . . .
Yesus Kristus dan Bunda Maria yang selalu
menyertai dan memberkati sepanjang hari
Papah dan Mamah yang selalu mendukung dan
mendoakanku
Adik dan keluarga yang memberiku
dukungan dan doa
Serta teman-teman yang selalu membantu dan
viii
INTISARI
Semaphore adalah suatu cara untuk mengirim dan menerima berita dengan
menggunakan bendera. Untuk mempelajari gerakan semaphore, seorang pengirim kode
huruf semaphore membutuhkan orang lain untuk dapat mengetahui apakah posisi pengirim
sudah tepat atau kurang tepat dalam melakukan pengiriman kode huruf semaphore. Karena
setiap pengirim kode huruf semaphore memiliki posisi yang berbeda menurut derajat dan
kelurusan postur tubuh, sehingga hal ini membuat kurang efektifnya pembelajaran kode
semaphore apabila dilakukan oleh seorang diri.
Penerapan unsur-unsur teknologi praktis dan tepat guna sangat dibutuhkan dalam
pembelajaran kode huruf semaphore. Sistem yang akan dibuat dapat meniru kemampuan
mata manusia untuk mengenali objek berupa gerakan dari pengiriman kode semaphore.
Sistem pengenalan kode huruf semaphore ini akan dibuat menggunakan webcam dan
laptop. Webcam berfungsi sebagai alat bantu untuk mengambil citra dari pose kode huruf
semaphore yang dikirimkan. Dan laptop sebagai alat untuk mengolah data yang telah
diperoleh. Citra kode huruf semaphore diolah dengan menggunakan preprocessing,
ekstrasi ciri wavelet, fungsi jarak Euclidean dan kemudian program akan menampilkan
hasil pengenalan ke layar monitor dengan format huruf.
Sistem pengenalan kode huruf semaphore dapat bekerja dengan baik. Hasil
pengujian dengan menggunakan jarak maksimal yaitu pada jarak 5 meter menunjukkan
bahwa tingkat pengenalan yang diperoleh sebesar 93%.
ix
ABSTRACT
Semaphore is a way to send and receive news by using the flag. To study the
movement of semaphore, the sender of semaphore letter code needs others to be able to
determine whether the sender position is right or not right in sending a letter code of
semaphore. Because each sender semaphore letter code has different position according to
the degree and straightness posture, so this makes it less effective learning of semaphore
code when carried out by own way.
Applying the elements of practical and appropriate technology are needed in
learning of semaphore letter code. The system to be created can mimic the human eye's
ability to recognize objects in the form of shipment in the semaphore code movement.
Semaphore letter code recognition system will be created using the webcam and laptop.
Webcam function as tools to acquire an image of the pose semaphore letter code that has
been sent. And the laptop as a tool to process the data that has been obtained. Semaphore
letter code image is processed by using preprocessing, wavelet feature extraction,
Euclidean distance function and then the program will display the recognition results to the
screen with the letter format.
Semaphore letter code recognition system can work well. The test results by using
the maximum distance that is at a distance of 5 meters indicate that the obtained
recognition rate is 93 %.
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas berkat
dan rahmat kasih-Nya yang telah dilimpahkan-Nya sehingga penulis dapat menyelesaikan
Tugas Akhir yang berjudul Pengenalan kode huruf semaphore.
Tugas Akhir ini disusun sebagai salah satu syarat kelulusan untuk memperoleh
gelar Sarjana Teknik pada Program Studi Teknik Elektro, Fakultas Sains dan Teknologi,
Universitas Sanata Dharma Yogyakarta.
Penulisan Tugas Akhir ini tidak lepas dari campur tangan dan bantuan dari banyak
pihak baik secara langsung mapun tidak langsung. Penulis menyadari bahwa banyak
pihak yang telah memberi dukungan, semangat, bimbingan dan arahan serta bantuan
materil. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih
kepada :
1. Tuhan Yesus Kristus, yang selalu membimbingku, menyertaiku dari awal hingga terselesainya tugas akhir ini. Sungguh suatu karunia kasih-Mu.
2. Bapak Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan
Teknologi.
3. Bapak Petrus Setyo Prabowo, S.T., M.T. selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta yang memberikan arahan kepada penulis.
4. Bapak Dr. Linggo Sumarno, selaku dosen pembimbing yang telah banyak membimbing, membantu, serta memberikan arahan, jasa dan motivasi kepada penulis dalam menyelesaikan tugas akhir ini.
5. Bapak Dr. Iswanjono, M.T. dan Bapak Dr. Damar Widjaja, S.T., M.T. selaku dosen penguji tugas akhir yang telah memberikan ilmu dan arahan tambahan sehingga penulis dapat menyempurnakan penyusunan tugas akhir ini.
6. Seluruh Dosen dan Laboran Program Studi Teknik Elektro, Fakultas Sains dan Teknologi Universitas Sanata Dharma yang telah banyak memberikan ilmunya hingga saat ini.
xii
DAFTAR ISI
Halaman Sampul (Bahasa Indonesia) ... i
Halaman Sampul (Bahasa Inggris) ... ii
Halaman Persetujuan ... iii
Halaman Pengesahan ... iv
Pernyataan Keaslian Karya ... v
Halaman Persembahan ... vi
Lembar Persetujuan Publikasi Karya ... vii
Intisari ... viii
Abstract ... ix
Kata Pengantar ... x
Daftar Isi ... xii
Daftar Gambar ... xv
Daftar Tabel ... xvii
BAB I PENDAHULUAN 1.1. Latar Belakang ... 1
1.2. Tujuan dan Manfaat Penelitian ... 2
1.3. Batasan Masalah ... 3
1.4. Metode Penelitian ... 3
BAB II DASAR TEORI 2.1. Semaphore ... 5
2.2. Webcam Logitech C270 ... 7
2.3. Pengolahan Citra Digital ... 8
2.3.1. Definisi Citra Digital ... 8
2.3.2. Ruang Warna RGB ... 9
2.3.3. Ruang Warna HSV ... 11
2.3.4. Konversi RGB Menjadi HSV ... 12
2.3.5. Cropping ... 13
2.3.6 Resizing ... 13
2.4. Wavelet ... 13
2.5. Konvolusi ... 15
2.5.1. Konvolusi Secara Umum ... 15
2.5.2. Konvolusi dengan Ekstensi Sinyal ... 16
2.6. Template Matching ... 17
2.7. Distance (Jarak) ... 17
2.7.1. Euclidean Distance ... 17
2.8. Basis Data ... 18
BAB III PERANCANGAN 3.1. Proses Pengenalan Kode Huruf Semaphore ... 19
3.1.1. Pengambilan Citra Kode Huruf Semaphore ... 20
3.1.2. Tahap Preprocessing ... 21
3.1.3. Tahap Ekstraksi Ciri ... 25
3.1.4. Tahap Fungsi Jarak ... 27
3.1.5. Penentuan Keluaran ... 28
3.2. Perancangan Basis Data ... 28
3.3. Perancangan Tampilan GUI Matlab... 33
3.4. Pengujian Citra Kode Huruf Semaphore ... 35
3.4.1. Pengujian Data Tidak Langsung ... 35
3.4.2. Pengujian Data Secara Langsung ... 36
BAB IV HASIL DAN PEMBAHASAN 4.1. Pengujian Program Pengenalan Kode Huruf Semaphore Secara Langsung ... 37
4.2. Penjelasan Program ... 40
4.2.1. Tombol Kamera Aktif ... 40
4.2.2. Tombol Ambil Gambar ... 40
4.2.3. Pop-Up Menu ... 41
4.2.4. Tombol Proses ... 42
4.2.5. Tombol Reset ... 51
4.2.6. Tombol Keluar ... 51
4.3. Hasil Pengujian dan Analisis Pengenalan Kode Huruf Semaphore ... 52
4.3.1. Pengujian Pengenalan Kode Huruf Semaphore Secara Tidak Langsung ... 52
4.3.2. Pengujian Pengenalan Kode Huruf Semaphore Secara Langsung ... 54
5.2. Saran ... 58
DAFTAR PUSTAKA ... 59
xv
DAFTAR GAMBAR
Gambar 2.1. Telegraph Optik ... 5
Gambar 2.2. Bendera Semaphore ... 6
Gambar 2.3. Posisi kode huruf semaphore ... 7
Gambar 2.4. Logitech C270 ... 7
Gambar 2.5. Koordinat Citra Digital ... 9
Gambar 2.6. Ilustrasi digitalisasi citra ... 9
Gambar 2.7. Skema ruang warna RGB dalam bentuk kubus ... 10
Gambar 2.8. Penambahan campuran warna merah, hijau, dan biru ... 10
Gambar 2.9. Model warna HSV ... 11
Gambar 2.10. Skala Hue ... 12
Gambar 2.11. Transformasi wavelet ... 14
Gambar 2.12. Perhitungan konvolusi secara matriks ... 16
Gambar 3.1. Blog diagram proses pengenalan kode huruf semaphore ... 19
Gambar 3.2. Diagram alir pengambilan citra ... 20
Gambar 3.3. Diagram alir preprocessing citra ... 21
Gambar 3.4. Diagram alir konversi RGB ke HSV ... 22
Gambar 3.5. Diagram alir proses segmentasi warna HSV ... 23
Gambar 3.6. Diagram alir proses cropping pada citra... 24
Gambar 3.7. Diagram alir proses resizing pada citra ... 24
Gambar 3.8. Diagram alir ektraksi ciri ... 25
Gambar 3.9. Diagram alir konvolusi ... 26
Gambar 3.10. Diagram alir downsampling ... 27
Gambar 3.11. Diagram alir fungsi jarak Euclidean ... 27
Gambar 3.12. Diagram alir penentuan keluaran ... 28
Gambar 3.13. Blok diagram perancangan basis data ... 28
Gambar 3.14. Diagram alir pengenalan citra pada GUI ... 33
Gambar 3.15. Sketsa perancangan GUI ... 34
Gambar 4.1. Gambar Matlab ... 37
Gambar 4.2. Tampilan awal Matlab ... 38
Gambar 4.4. Interface pada program secara langsung ... 39
Gambar 4.5. Kondisi pengambilan pose kode huruf semaphore... 39
Gambar 4.6. Konversi citra rgb ke hsv ... 43
Gambar 4.7. Contoh proses ambil nilai saturation ... 44
Gambar 4.8. Contoh proses segmentasi kuning ... 45
Gambar 4.9. Contoh proses segmentasi citra bendera berwarna kuning ... 46
Gambar 4.10. Proses pemotongan citra ... 47
Gambar 4.11. Proses resizing pada citra masukkan ... 48
Gambar 4.12. Grafik Tingkat Pengenalan secara tidak langsung ... 53
xvii
DAFTAR TABEL
Tabel 2.1. Spesifikasi Webcam ... 8
Tabel 3.1. Keterangan GUI ... 35
1
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Semaphore adalah suatu cara untuk mengirim dan menerima berita dengan
menggunakan bendera yang dinamakan bendera semaphore. Pengiriman kode huruf
melalui bendera semaphore ini menggunakan dua bendera, masing-masing bendera
tersebut berukuran 45 cm x 45 cm yang diikatkan pada batang dengan panjang 50 cm [1].
Bentuk bendera yang persegi merupakan penggabungan dua buah segitiga sama kaki yang
berbeda warna. Di Indonesia bendera yang biasa digunakan dalam kegiatan kepramukaan
berwarna merah dan kuning.
Di Indonesia, semaphore telah diterapkan sebagai salah satu keahlian yang harus
dimiliki oleh setiap individu dalam kegiatan pramuka. Biasanya dalam kegiatan
kepramukaan, semaphore telah diajarkan kepada anggota pramuka dari level siaga. Dan
pada jenjang yang lebih tinggi dalam kegiatan pramuka, semaphore sebagai salah satu
mata lomba yang digunakan untuk mengirimkan sebuah informasi pernyataan maupun
pertanyaan berupa kalimat dengan menggunakan huruf dari A-Z.
Dalam prakteknya untuk mempelajari gerakan semaphore seorang pengirim kode
semaphore membutuhkan seseorang yang dapat melihat posisi seorang pengirim apakah
pada posisi yang tepat atau kurang tepat dalam melakukan pengiriman kode semaphore.
Hal ini sangat diperlukan karena dalam setiap pengiriman kode semaphore memiliki posisi
yang berbeda menurut derajat dan kelurusan postur tubuh. Sehingga hal ini membuat
kurang efektifnya pembelajaran kode semaphore apabila dilakukan oleh seorang diri.
Penerapan unsur-unsur teknologi praktis dan tepat guna sangat dibutuhkan sebagai
sebuah pendukung sekaligus solusi yang efektif dalam bidang kepramukaan ini. Sistem
yang akan dibuat dapat meniru kemampuan mata manusia untuk mengenali objek berupa
gerakan dari pengiriman kode semaphore yang nantinya dapat menjadi sebuah alat yang
akan membantu manusia dalam mempelajari pengiriman maupun menerima kode huruf
semaphore. Sehingga dapat membantu pengguna mengetahui apakah gerakan yang
Dalam penelitian ini, metode wavelet diterapkan tak lain karena metode ini
memiliki fungsi matematik yang membagi-bagi data menjadi beberapa komponen
frekuensi yang berbeda-beda, kemudian analisis dilakukan untuk masing-masing
komponen menggunakan resolusi yang sesuai dengan skalanya. Kepentingan penggunaan
Transformasi Wavelet ini berdasarkan fakta bahwa dengan Transformasi Wavelet akan
diperoleh resolusi waktu dan frekuensi yang jauh lebih baik daripada metode-metode
lainnya [2].
Pengenalan kode huruf semaphore ini dilakukan secara langsung dengan
menggunakan bantuan webcam. Sebelumnya terdapat penelitian yang membahas tentang
pengiriman kode huruf semaphore yang dilakukan oleh Aeri Rachmad dan Muhammad
Fuad tentang Geometry Algorithm On Skeleton Image Based Semaphore Gesture
Recognition [3]. Dalam penelitian ini peneliti menggunakan kinect sebagai pembaca sudut
dalam pengiriman kode semaphore yang hanya dapat dilakukan dalam jarak tertentu yaitu
pada jarak 1 meter dan jarak maksimal 2,5 meter.
Pada penelitian ini, peneliti menggunakan variasi jarak yang lebih jauh dari
penelitian sebelumnya. Jarak terdekat yang gunakan dalam penelitian ini adalah 3 meter
dan jarak maksimal 5 meter dengan rentang pengambilan jarak setiap 50 cm. Dalam
pengerjaannya peneliti membutuhkan beberapa perangkat pendukung seperti webcam yang
berfungsi untuk menangkap gambar gerakan kode huruf semaphore, kemudian
membutuhkan laptop yang berfungsi sebagai tempat untuk mengolah gambar agar dapat
dikenali dan informasinya dapat disampaikan ke pengguna serta software Matlab sebagai
pengolah program kode huruf semaphore.
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah membuat aplikasi yang dapat
mengenali pose kode huruf semaphore menggunakan ekstrasi ciri Wavelet.
Manfaat dari penelitian ini adalah dapat membantu pengguna aplikasi dalam
mengetahui apakah pengiriman kode huruf semaphore yang dilakukan sudah tepat atau
1.3. Batasan Masalah
Sistem pengenalan kode huruf semaphore ini terdiri dari prangkat keras (hardware)
dan perangkat lunak (software). Hardware berupa webcam dan laptop. Software yang
digunakan adalah Matlab. Matlab digunakan untuk mengatur seluruh proses pengolahan
data yang dicuplik oleh webcam.
Pada perancangan sistem ini, peneliti fokus pada pembuatan software komputer
untuk pengenalan kode huruf semaphore. Peneliti menetapkan beberapa batasan masalah
dalam penelitian ini, antara lain:
a. Menggunakan bendera semaphore berwarna kuning merah dengan ukuran 45 cm x
45 cm dan tongkat semaphore ukuran 50 cm.
b. Menggunakan pakaian pramuka.
c. Huruf yang dikenali ialah huruf A sampai dengan Z.
d. Warna background yang digunakan selain kuning.
e. Orientasi pose kode huruf semaphore ialah tegak.
f. Segmentasi warna menggunakan Hue Saturation Value (HSV).
g. Jarak yang digunakan 3 – 5 meter. h. Menggunakan 3 variasi desimasi.
i. Ekstrasi ciri yang digunakan adalah Wavelet.
j. Metode pengenalan menggunakan Template Matching dan fungsi jarak.
k. Menggunakan webcam merk Logitech seri C270h.
l. Pengambilan citra menggunakan webcam.
m. Pengenalan perangkat elektronik ini dibuat dengan menggunakan software
pemograman Matlab 7.10.0.499
n. Keluaran berupa teks pada layar monitor.
1.4. Metode Penelitian
Langkah-langkah dalam pengerjaan tugas akhir :
a. Pengumpulan bahan-bahan referensi berupa buku-buku, jurnal-jurnal ilmiah, dan
website mengenai pengenalan suatu objek, pemograman Matlab, image processing,
b. Pembuatan software
Sistem akan bekerja apabila pengguna menekan tombol “Ambil Gambar” yang ditampilkan dalam tampilan visual yang disediakan dalam software.
Kemudian sistem akan mengolah data yang diterima dari webcam dan mulai
menampilkan proses menampilkan video (record) sampai pengguna memberikan
perintah untuk pengambilan gambar (capture). Kemudian, pengguna memberikan
interupsi untuk memulai pengenalan gambar yang diambil dari pengiriman kode
huruf semaphore. Kemudian, Matlab akan melakukan proses pengolahan gambar
kode huruf semaphore yang diambil dengan menggunakan webcam dan
ditampilkan berupa teks pada layar monitor.
c. Analisis dan penyimpulan
Analisis data yang pertama dilakukan dengan meneliti pengaruh variasi
desimasi terhadap tingkat pengenalan pose kode huruf semaphore. Terdapat 3 nilai
variasi desimasi yang digunakan. Sehingga pengaruh variasi desimasi terhadap
tingkat pengenalan citra dapat diketahui dari hasil perbandingan 3 nilai variasi
desimasi yang disediakan. Penyimpulan hasil dilakukan untuk mencari tingkat
pengenalan dengan variasi desimasi yang terbaik.
Analisis data yang kedua, meneliti pengaruh jarak antara webcam dengan
pengirim kode huruf semaphore. Terdapat 5 variasi jarak yang telah ditentukan,
dengan jarak minimal pengambilan gambar adalah 3 meter dan jarak maksimal 5
meter dengan rentang jarak masing-masing 50 cm. Penyimpulan hasil dilakukan
5
BAB II
DASAR TEORI
2.1. Semaphore
Semaphore adalah suatu cara untuk mengirim dan menerima berita dengan
menggunakan bendera, dayung, batang, tangan kosong atau dengan sarung tangan.
Informasi yang dapat dibaca melalui posisi bendera atau tangan. Namun saaat ini umum
digunakan adalah bendera yang dinamakan bendera semaphore. Pengiriman kode melalui
semaphore ini menggunakan dua buah bendera, yang masing-masing bendera tersebut
berukuran 45 cm x 45 cm yang diikatkan pada batang dengan panjang 50 [1].
Gambar 2.1 Telegraph Optik [1].
Semaphore pertama kali diperkenalkan oleh Claude Chappe pada tahun 1792 di
terdapat pada Gambar 2.1. Awalnya telegraph optik menghubungkan Paris dan Lille yang
memiliki jarak sejauh 230 kilometer dan memiliki 15 semaphore. Jaringan telegraph optik
terdiri dari sederetan menara yang masing-masing diletakkan berjarak 5 sampai 20
kilometer satu sama lainnya.
Pada setiap menara terdapat semaphore kayu dan 2 teleskop di atasnya. Semaphore
memiliki dua lengan pemberi sinyal yang masing-masing dapat diposisikan pada 7 posisi.
Setiap posisi mewakili kode untuk huruf, angka, kata, atau bagian dari sebuah kalimat.
Teleskop berfungsi sebagai alat bantu untuk melihat kode yang dikirimkan oleh peraga
semaphore yang lainnya.
Gambar 2.2. Bendera Semaphore.
Bentuk bendera yang persegi merupakan penggabungan dua buah segitiga sama
kaki yang berbeda warna seperti pada Gambar 2.2. Warna yang digunakan dapat
bermacam-macam, namun di Indonesia lazim digunakan adalah warna merah dan kuning,
letak warna merah selalu berada dekat batang bendera. Penelitian ini menggunakan 26
pose kode huruf semaphore yang mewakili huruf A – Z yang digambarkan pada Gambar
Gambar 2.3. Posisi kode huruf semaphore [1].
2.2. WebCam Logitech C270
WebCam adalah nama sebutan untuk kamera yang dihubungkan pada komputer
agar kita bisa dilihat melalui aplikasi pemanggilan video. Webcam berfungsi untuk
memudahkan kita dalam mengolah pesan cepat seperti chat melalui video dan bertatap
muka melalui video secara langsung. Webcam ini berfungsi sebagai alat untuk mentransfer
sebuah media secara langsung. Webcam standar rata rata terdiri dari sebuah lensa standar
yang dipasang di sebuah papan sirkuit untuk menangkap gambar, cover, kabel support.
Hasil gambar yang diambil dengan menggunakan webcam C270 memiliki format RGB, hal
ini diketahui setelah melakukan ujicoba dengan menggunakan Matlab.
Webcam dapat menampilkan gambar yang cukup jelas dengan jarak minimal 1
meter hingga 10 meter. Namun pada penelitian ini jarak minimal yang digunakan 3 meter
dikarenakan pada jarak kurang dari 3 meter pose kode huruf semaphore tidak dapat
ditampilkan secara keseluruhan. Jarak maksimal yang digunakan adalah 5 meter
dikarenakan pada jarak lebih dari 5 meter gambar yang diterima tidak terlalu jelas.
Webcam yang tertera pada Gambar 2.4. memiliki spesifikasi yang diperlihatkan pada Tabel
2.1. [4].
Tabel 2.1. Spesifikasi Webcam.
High-definition (HD) video calling HD 720p Photo quality Up to 3.0 megapixels Video capture Up to 1280 x 720 pixels
Focus type Fixed focus
Bult-in mic YES
Auto light correction Standard
2.3. Pengolahan Citra Digital
2.3.1. Definisi Citra Digital
Secara umum, pengolahan citra digital menunjuk pada pemprosesan gambar 2
dimensi menggunakan komputer. Dalam konteks yang luas, pengolahan citra digital
mengacu pada pemprosesan setiap data 2 dimensi. Citra digital merupakan sebuah larik
(array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan
bit tertentu.
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N
kolom, dengan x dan y adalah koordinat spasial, dan amplitude f di titik koordinat (x,y)
dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y,
dan nilai amplitude f secara keseluruhan berhingga (finite) dan bernilai diskrit, maka dapat
dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.5 menunjukkan posisi
Gambar 2.5. Koordinat Citra Digital [5].
(2.1)
Nilai pada suatu irisan antara baris dan kolom (pada posisi x,y) disebut dengan
picture elements, pels atau pixels. Istilah terakhir (pixel) paling sering digunakan pada
citra digital Gambar 2.6. menunjukkan ilustrasi digitalisasi citra dengan M = 16 baris dan
N = 16 kolom..
Gambar 2.6. Ilustrasi Digitalisasi Citra (pixel pada koordinat x = 10, y = 3 memiliki nilai
110) [5].
2.3.2. Ruang Warna RGB
Suatu citra dalam model RGB terdiri dari tiga bidang citra, masing-masing terdiri
ketiga komponen tersebut. Model warna RGB biasanya digambarkan dalam bentuk kubus
tiga dimensi, dengan warna merah, hijau, dan biru berada pada pojok sumbu seperti pada
Gambar 2.7. warna hitam berada pada titik asal dan warna putih berada di ujung kubus
yang berseberangan. Spektrum grayscale (tingkat keabuan) yaitu warna yang dibentuk dari
gabungan tiga warna utama dengan jumlah yang sama, berada pada garis yang
menghubungkan titik hitam dan putih.
Gambar 2.7. Skema ruang warna RGB dalam bentuk kubus [6].
Warna direpresentasikan dalam suatu sinar tambahan untuk membentuk warna
baru, dan berhubungan untuk membentuk sinar campuran. Citra pada Gambar 2.8 sebelah
kiri menunjukkan campuran dengan menambahkan warna utama merah, hijau, dan biru
untuk membentuk warna sekunder kuning (merah+hijau), cyan (biru+hijau), magenta
(merah+biru) dan putih (merah+hijau+biru). Model warna RGB banyak digunakan untuk
monitor komputer dan video kamera.
2.3.3. Ruang Warna HSV
Model HSV (Hue Saturation Value) menunjukkan ruang warna dalam bentuk tiga
komponen utama yaitu hue, saturation, dan value yang dapat digambarkan pada Gambar
2.9.
Hue menunjukkan jenis warna (seperti merah, biru, atau kuning) atau corak warna
yaitu tempat warna tersebut ditemukan dalam spectrum warna. Merah, kuning, dan
ungu (purple) adalah kata-kata yang menunjukkan hue. Nilai hue antara 0 sampai 1
berarti warna antara merah melewati kuning, hijau, cyan, biru dan magenta dan
kembali menjadi merah
Saturasi (Saturation) dari suatu warna adalah ukuran seberapa besar kemurnian dari
warna tersebut. Sebagai contoh suatu warna yang semuanya merah tanpa putih
adalah saturasi penuh. Jika ditambahkan putih ke merah, hasilnya menjadi lebih
berwarna-warni dan warna digeser dari merah ke merah muda (pink). Hue masih
tetap merah tetapi nilai saturasinya berkurang. Saturasi biasanya bernilai dari 0
sampai 1. Dimana 0 menunjukkan abu-abu dan 1 menunjukkan warna primer
murni.
Value atau disebut juga intensitas (intensity) yaitu ukuran seberapa besar kecerahan dari suatu warna atau seberapa besar cahaya datang dari suatu warna. Value dapat
[image:30.595.86.528.186.745.2]bernilai dari 0 sampai 1 berarti warna semakin cerah.
HSV merupakan salah satu cara untuk mendefinisikan warna yang didasarkan pada
roda warna. Hue merupakan variabel yang menyatakan warna dari merah hingga violet.
Hue mengukur sudut dari 0 sampai 360 derajat seperti pada Gambar 2.10 biasanya 0
adalah merah, 60 derajat adalah kuning, 120 derajat adalah hijau, 180 derajat adalah cyan,
[image:31.595.84.526.198.631.2]240 derajat adalah biru, dan 300 derajat adalah warna magenta.
Gambar 2.10. Skala Hue [8].
Saturation merupakan variabel yang menyatakan vibrancy dari suatu warna,
saturation biasa disebut juga dengan purity. Semakin kecil nilai dari saturation, maka
warna yang ditampilkan condong ke warna abu-abu. Skala nilai dari saturation berkisar
antara 0% hingga 100%. Value menunjukkan nilai kecerahan dari suatu warna. Skala dari
value berkisar antar 0% hingga 100% [5].
Model warna HSV memisahkan komponen intesitas dari citra warna, sehingga
model ini merupakan model yang ideal untuk mengembangkan algoritma pemprosesan
citra yang intuitif dan natural.
2.3.4. Konversi RGB Menjadi HSV
Karena model warna HSV merupakan model warna yang diturunkan dari model
warna RGB, maka untuk mendapatkan warna HSV ini diharuskan melakukan proses
konversi dari RGB ke HSV.
Proses konversi dapat dilakukan dengan aplikasi Matlab, Matlab telah menyediakan fungsi “rgb2hsv” dengan sintaks program yang digunakan :
2.3.5. Cropping
Cropping citra bertujuan untuk memotong bagian tertentu dari elemen citra yang
diinginkan pada citra digital. Sehingga untuk bagian citra yang tidak dibutuhkan akan
dipotong atau dihilangkan. Hal ini diperlukan dalam proses pengolahan citra digital untuk
mendapatkan data yang tepat, sehingga mempermudah dalam proses pengolahan data.
2.3.6. Resizing
Resizing adalah proses mengubah ukuran resolusi suatu citra dalam piksel. Dengan
cara mengurangi atau menambah jumlah piksel yang menyusun citra. Dalam pengurangan
ataupun penambahan dilakukan secara proporsional baik pada panjang maupun lebar citra.
Dalam penelitian ini ukuran piksel yang diinginkan ialah , karena ukuran piksel ini dianggap sebagai ukuran yang paling ideal untuk dijadikan acuan [9].
2.4. Wavelet
Wavelet merupakan fungsi basis yang diisolasi dengan mengacu pada lokasi spasial
atau waktu, dan frekuensi atau angka gelombang. Setiap wavelet memiliki karakteristik
lokasi dan skala. Basis wavelet berasal dari sebuah fungsi penskalaan atau dikatakan juga
sebuah scaling function. Scaling function memiliki sifat yaitu dapat disusun dari sejumlah
salinan dirinya yang telah didilasikan, ditranslasikan dan diskalakan. Menurut Sydney [9],
Wavelet merupakan gelombang mini (small wave) yang mempunyai kemampuan
mengelompokkan energi citra dan terkonsentrasi pada sekelompok kecil koefisien,
sedangkan kelompok koefisien lainnya hanya mengandung sedikit energi yang dapat
dihilangkan tanpa mengurangi nilai informasinya.
Wavelet dibagi menjadi 2 berdasarkan ruang dan waktu yaitu wavelet 1D (Waktu)
dan 2D (Ruang). Pengertian waktu di sini adalah untuk gelombang 1D, memulai point
shifting dari sumber menuju akhir, sedangkan pengertian ruang di dalam wavelet 2D, point
shifting dengan 2 dimensi.
2.4.1. Wavelet Haar
dapat diterapkan pada transformasi sinyal 1 dimensi dan transformasi pada citra (sinyal 2
dimensi), seperti pada Gambar 2.11. Transformasi pada citra atau sinyal 2-dimensi
dalam mentransformasikan nilai-nilai pikselnya dapat dilakukan dengan dua cara, yaitu
metode dekomposisi standar dan metode dekomposisi tidak standar [10].
Metode dekomposisi standar dilakukan dengan cara memisahkan antara baris dan
kolom sehingga transformasi wavelet dilakukan dengan 1-dimensi. Transformasi
dilakukan pada baris terlebih dahulu hingga nilai piksel citra yang diinginkan kemudian
dilanjutkan transformasi wavelet 1-dimensi untuk setiap kolomnya. Sedangkan untuk
metode dekomposisi tidak standar, dilakukan dengan cara transformasi wavelet
1-dimensi untuk baris dan kolom dilakukan bergantian terus hingga mencapai nilai yang
diinginkan. Penelitian ini hanya menggunakan satu filter, yaitu dekomposisi low pass
filter. Koefisien wavelet Haar dekomposisi low pass filter (2.2) yaitu :
[image:33.595.88.517.205.643.2][ ]
Gambar 2.11. Transformasi wavelet [11].
Konvolusi baris dengan low pass filter
Konvolusi baris dengan high pass filter Lo_D
Downsample kolom : ambil kolom genap
Konvolusi kolom dengan low pass fiter
Konvolusi kolom dengan high pass filter
Downsample baris : ambil baris genap
Berdasarkan algoritma piramid :
aiadalah koefisien rerata
hi adalah koefesien horizontal
vi adalah koefesien vertical
di adalah diagonal
2.5. Konvolusi
2.5.1. Konvolusi Secara Umum
Konvolusi dapat didefinisikan sebagai cara matematika untuk menggabungkan dua
buah sinyal menjadi sinyal dalam bentuk lain. Konvolusi banyak digunakan dalam
pengolahan citra, di antaranya untuk memperhalus citra (smoothing), menajamkan citra
(crispening), mendeteksi tepi (edge detection). Jika ada dua barisan u dan h, maka hasil
konvolusinya ( ), k menunjukkan suku ke-k. konvolusi dinyatakan dengan persamaan
(2.3).
∑
Contoh, terdapat dua barisan berikut u = [1 3 5 7] dan h = [0 1 3] yang akan dikonvolusi.
Mencari menggunakan persamaan (2.12), sebagai contoh mencari .
Penyelesaian secara grafis Gambar 2.12 dengan menggunakan matriks. Elemen-elemen
matriks ini adalah hasil dari puncak-puncak dari baris dan kolom yang bersangkutan. Hasil
konvolusi dapat dilihat setelah hasil dari perkalian dua baris tersebut dijumlahkan menurut
garis-garis diagonal yang putus-putus. Sehingga, suku pertama ( ) adalah 0 dan untuk
suku kedua ( ) sama dengan 3 + 3 + 0 = 6. Cara yang sama dilakukan untuk mencari suku
2 1
Lo_D
Hi_D
berikutnya ( ), setelah semuanya dihitung maka akan memperoleh hasil = [0 1 6 14 22
[image:35.595.83.523.134.623.2]21].
Gambar 2.12. Perhitungan konvolusi secara matriks.
2.5.2. Konvolusi dengan Ekstensi Sinyal
Konvolusi biasa digunakan bila ada sinyal yang memiliki panjang terbatas, dan
juga ujung sinyalnya diskontinu sehingga dapat menyebabkan distorsi pada
ujung-ujung sinyal. Sehingga dapat dikatakan konvolusi adalah suatu proses untuk
memperpanjang sinyal dengan cara pengulangan sinyal atau yang disebut periodisasi.
Misalnya sinyal masukan uk = {u(1), u(2), … , u(M)} akan dikonvolusi dengan sinyal
lain hk = {h(1), h(2), … , h(N)}, N adalah bilangan genap, dan M > N, serta m adalah
N/2. Sehingga pengulangan sinyal dengan periodisasi akan menghasilkan sinyal
{ }
Konvolusi sinyal yang diperpanjang dengan sinyal akan menghasilkan
Hasil konvolusi menghasilkan sinyal keluaran dimana panjang M + N-1 lebih
besar dari pada panjang uk. Agar sinyal keluaran memiliki panjang yang sama dengan
sinyal masukan, maka hanya bagian-bagian tertentu saja yang akan dipilih sebagai
keluaran. Misalnya, keluaran konvolusi di atas adalah ={y(1), y(2), …, y(L)}, L = M +
N-1, maka akan dipilih bagian-bagian tertentu dari adalah [12].
2.6. Template Matching
Template matching adalah salah satu teknik dalam pengolahan citra digital yang
berfungsi untuk mencocokan tiap-tiap bagian dari suatu citra dengan citra yang menjadi
template (acuan). Teknik ini banyak digunakan dalam bidang industri sebagai bagian dari
quality control. Metode template matching sering digunakan untuk mengindentifikasi
citra karakter huruf, angka, sidik jari (fingerprint) dan aplikasi-aplikasi pencocokan citra
lainnya.
Prinsip metode ini adalah membandingkan antara image objek yang akan dikenali
dengan image template yang ada. Image objek yang akan dikenali, diukur tingkat
kemiripannya dengan masing-masing image template. Pengecekan kemiripan dapat
dilakukan menggunakan fungsi jarak ataupun korelasi. Pengenalan dilakukan dengan
melihat nilai tingkat kemiripan tertinggi dari image objek tersebut [5].
2.7. Distance (Jarak)
Jarak digunakan untuk menentukan tingkat kesamaan (similarity degree) atau
ketidaksamaan (dissimilarity degree) dua vektor fitur. Tingkat kesamaan berupa suatu nilai
dan berdasarkan nilai tersebut dua vektor fitur akan dikatakan mirip atau tidak. Dengan
menggunakan metode jarak Euclidean dapat digunakan untuk mengukur tingkat kemiripan
dua buah vektor fitur.
2.7.1 Euclidean Distance
Euclidean Distance adalah metrika yang paling sering digunakan untuk
menghitung kesamaan 2 vektor. Euclidean distance menghitung akar dari kuadrat
perbedaan 2 vektor.
Rumus dari Euclidean distance [5]:
√∑
Contoh:
Terdapat 2 vektor ciri berikut.
[ ]
[ ]
Euclidean distance dari vektor A dan B adalah:
√
√
2.8. Basis Data
Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari basis data tersebut. Dalam penelitian ini huruf referensi
diperlukan untuk proses perhitungan jarak. Pembuatan huruf referensi dengan 2 peraga,
penulis mengambil 10 sampel dari huruf A sampai dengan Z. Sehingga dalam pembuatan
basis data ini 260 huruf diperlukan untuk membuat huruf referensi.
Untuk setiap huruf perhitungan ektraksi ciri dilakukan menggunakan wavelet haar
dari 10 sampel pada setiap hurufnya. Selanjutnya perhitungan rerata atas sejumlah ektraksi
ciri tersebut dilakukan. Perhitungan rerata dapat dilihat pada persamaan berikut [13].
∑
Dengan adalah 26 huruf yang terdiri daari huruf A sampai dengan Z. Dengan demikian,
untuk pemprosesan 26 huruf, akan didapatkan satu set huruf referensi yang terdiri atas 26
vektor yang merupakan referensi untuk huruf A sampai dengan Z.
19
BAB III
PERANCANGAN
3.1. Proses Pengenalan Kode Huruf Semaphore
Dalam perancangan sistem software pengenalan kode huruf semaphore terdapat
beberapa proses yang harus dilakukan. Secara garis besar proses perancangan terdiri dari
lima tahap yaitu proses pengambilan citra, preprocessing, ekstrasi ciri, fungsi jarak, dan
penentuan keluaran. Proses perancangan kode huruf semaphore dapat dilihat pada Gambar
[image:38.595.85.531.234.620.2]3.1.
Gambar 3.1. Blog diagram proses pengenalan kode huruf semaphore.
Citra yang digunakan pada tahap preprocessing berupa citra pengiriman pose kode
huruf semaphore. Proses pengambilan gambarnya dilakukan dengan menggunakan
webcam. Dalam tahap preprocessing, hasil gambar berupa citra pose kode huruf
semaphore yang telah dikonversi kedalam bentuk HSV. Kemudian akan dilakukan
kuning sesuai dengan warna yang terdapat pada bendera semaphore. Selanjutnya citra akan
dipotong (cropping) berdasarkan bounding box. Citra yang telah dipotong akan masuk
dalam tahap berikutnya untuk dilakukan resizing agar mendapatkan ukuran yang
diinginkan. Ukuran piksel yang diharapkan yaitu 64 x 64. Hasil keluaran dari resizing ini
kemudian menjadi masukkan untuk tahap selanjutnya yaitu tahap pengenalan.
Dalam tahap pengenalan terdapat 3 tahap yang terdiri dari ekstraksi ciri,
perhitungan fungsi jarak, dan basis data citra kode huruf semaphore. Terakhir dari tahap
pengenalan kode huruf semaphore yaitu tahap penentuan keluaran. Hasil dari penentuan
keluaran kode huruf semaphore ditentukan berdasarkan jarak minimum yang diperoleh
dari hasil perbandingan antara basis data dengan ekstraksi ciri.
3.1.1. Pengambilan Citra Kode Huruf Semaphore
Tahap pengambilan citra kode huruf semaphore adalah proses mengambil gambar
(capture) dengan menggunakan webcam yang akan disimpan dalam satu folder. Jarak
pengambilan gambar dilakukan bervariasi dari jarak minimal 3 meter hingga jarak
maksimal 5 meter dengan rentang jarak masing-masing 50 cm. Webcam akan dihubungkan
ke perangkat laptop menggunakan sambungan USB 2.0 sehingga setelah pengambilan
gambar dapat dikirim dan diterima langsung oleh laptop untuk diolah dengan
menggunakan aplikasi Matlab, seperti yang dapat digambarkan melalui diagram alir pada
[image:39.595.83.528.204.714.2]Gambar 3.2.
Gambar 3.2. Diagram alir pengambilan citra.
Webcam (Aktif)
Ambil Gambar
Keluaran: Citra Kode Huruf
Semaphore
Masukan: Pose Kode Huruf
Semaphore
A
A Mulai
3.1.2. Tahap Preprocessing
Tahap preprocessing memiliki empat tahapan dalam prosesnya yaitu, konversi citra
RGB ke HSV, segmentasi warna HSV, Cropping, dan Resizing yang dapat digambarkan
dalam diagram alir pada Gambar 3.3.
[image:40.595.84.509.195.627.2]
Gambar 3.3. Diagram alir preprocessing citra.
Tahap konversi citra RGB ke HSV dilakukan karena pada keluaran citra yang di
hasilkan oleh webcam C270 memiliki format RGB. Sehingga diperlukan konversi citra
diperlukan agar format citra menjadi format HSV. Sintak yang akan digunakan pada
Matlab dapat dilihat di bawah ini, serta proses dalam konversi citra dapat digambarkan
dalam diagram alir pada Gambar 3.4.
Cropping
Resizing
Keluaran: Citra Hasil
Preprocessing
Masukan:
Citra RGB
Segmentasi warna HSV Konversi citra
RGB ke HSV Mulai
Gambar 3.4. Diagram alir konversi RGB ke HSV.
Tahap segmentasi warna ini dilakukan pada ruang warna HSV untuk menentukan
ruang warna yang diinginkan dan tidak diinginkan. Pemilihan warna ini dapat
dikelompokkan sesuai dengan ruang warna hue, saturation, dan value. Dalam penelitian
ini, peneliti hanya mengambil ruang warna hue. Hal ini didasarkan pada warna bendera
semaphore memiliki warna kuning yang dapat disegmentasi dan dapat digunakan untuk
proses selanjutnya. Warna kuning dipilih karena dalam suatu gambar yang diambil dengan
menggunakan webcam tidak terdapat warna kuning lainnya, sehingga dapat mempermudah
dalam melakukan segmentasi warna. Segmentasi warna ini hanya akan mengambil nilai
warna yang memiliki rentang nilai hue berwarna kuning sesuai dengan warna pada bendera
semaphore. Nilai yang digunakan berdasarkan nilai ambang warna hue yang akan
dievaluasi keterangannya pada bab IV. Sintak yang akan digunakan pada Matlab dapat
dilihat dibawah ini, serta diagram alir dari proses segmentasi warna HSV diperlihatkan
pada Gambar 3.5.
Keluaran: Citra HSV
Masukan:
Citra RGB
Konversi RGB ke HSV berdasarkan nilai R, G, dan B
Mulai
Selesai % RGBkeHSV untuk mengonversi RGB ke HSV function [H,S,V] = RGBkeHSV(R,G,B)
% Segmentasi Warna
s3=hsv(:,:,3); % Ambil bagian value s2=hsv(:,:,2); % Ambil bagian saturation
Gambar 3.5. Diagram alir proses segmentasi warna HSV.
Tahap cropping dilakukan untuk memotong bagian citra pada pose kode huruf
semaphore yang tidak digunakan dalam proses pengenalan. Citra keluaran dari tahap
segmentasi warna akan dipotong sesuai dengan bouding box yang telah disediakan.
Dengan menggunakan perintah yang terdapat pada Matlab untuk memotong citra, yaitu
Pada sintak di atas, x dan y merupakan koordinat pada sumbu x dan y. ∆x dan ∆y merupakan selisih antara masing-masing sumbu x dan sumbu y. Kemudian „variabel‟ merupakan keluaran dari citra yang telah disegmentasi. Proses dari cropping dapat
digambarkan pada Gambar 3.6.
Keluaran: Citra hasil segmentasi warna
Masukan:
Citra HSV
Segmentasi warna kuning dengan menggunakan nilai ambang Hue (Bagian bendera
yang berwana kuning) Mulai
Selesai
% Cropping
X1 = imcrop(‘variabel’, [x y ∆x ∆y]);
Gambar 3.6. Diagram alir proses cropping pada citra.
Tahap resizing berfungsi sebagai pengubah ukuran citra agar dapat mempermudah
dalam proses selanjutnya. Dalam tahap ini, ukuran resizing yang diinginkan ialah 64 x 64,
sehingga citra hasil dari cropping akan diubah ukuran pikselnya menjadi 64 x 64 dan
kemudian akan masuk dalam tahap selanjutnya yaitu tahap ekstraksi ciri. Sintak yang akan
digunakan pada Matlab diperlihatkan dibawah ini, serta proses resizing dapat dilihat dalam
diagram alir Gambar 3.7.
Gambar 3.7. Diagram alir proses resizing pada citra. Keluaran: Citra hasil
cropping
Masukan:
Citra hasil segmentasi warna
Cropping citra sesuai bouding box
B
B Mulai
Selesai
Keluaran: Citra hasil
resizing
Masukan:
Citra hasil
cropping
Proses resizing ke ukuran 64 x64
piksel
C
C Mulai
Selesai
% Resizing
X2 = imresize(‘variabel’, [64, 64]);
3.1.3. Tahap Ekstrasi Ciri
Tahap ekstrasi ciri adalah proses pengolahan data dari data yang banyak kemudian
diekstrak menjadi data yang lebih sedikit. Hal ini bertujuan agar dapat mempermudah
dalam pengolahan data yang ada. Data yang lebih sedikit telah mewakili beberapa data
sebelumnya yang lebih banyak. Ekstrasi ciri yang digunakan dalam tahap pengambilan ciri
pada suatu citra ini adalah wavelet.
Wavelet yang digunakan adalah wavelet haar yang memiliki 4 macam filter, namun
hanya 1 filter saja yang digunakan yaitu low-pass filter dekomposisi. Penelitian ini
menggunakan 1 filter karena yang dicari hanya bentuk dasar dari suatu citra. Wavelet Haar
menerapkan konvolusi dan low-pass filter dekomposisi secara simultan untuk
mendapatkan sinyal global. Secara keseluruhan tahap ekstrasi ciri dapat digambarkan
[image:44.595.85.521.228.685.2]melalui diagram alir pada Gambar 3.8.
Gambar 3.8. Diagram alir ekstrasi ciri.
Hasil citra dari preprocessing adalah masukan untuk proses ekstraksi ciri yang
kemudian akan dikonvolusi dan dilanjutkan dengan tahap downsampling. Keluaran dari Konvolusi dengan
wavelet haar
Downsampling
Keluaran: Hasil ekstrasi Masukan:
Citra Hasil
N = N - 1
N = 0
Ya Tidak
D
D Mulai
ekstrasi ciri tergantung pada banyaknya desimasi (N) yang akan ditentukan oleh pengguna.
Pada tahap ini akan terjadi pengulangan sampai menghasilkan jumlah N=0.
Tahap konvolusi merupakan tahap untuk melakukan penyaringan dengan
menggunakan low-pass filter dekomposisi Wavelet Haar. Proses low pass filter hanya
dapat dilakukan pada bidang 1 dimensi sedangkan pada citra merupakan 2 dimensi, maka
untuk menggunakan low-pass filter diperlukan adanya dua kali proses konvolusi yaitu pada
konvolusi baris dan konvolusi kolom pada citra input yang dikerjakan secara bergantian,
dapat digambarkan melalui diagram alir pada Gambar 3.9.
Gambar 3.9. Diagram alir konvolusi.
Tahap downsampling adalah proses pengurangan pencuplikan baris atau kolom
yang diambil dari suatu citra. Downsampling biasa digunakan untuk proses kompresi data
dan sebagai dekomposisi citra menjadi citra pendekatan. Downsampling pada tahap ini
merupakan tahap menghilangkan baris dan kolom ganjil dengan tetap menjaga kolom baris
dan kolom genap, yang dapat digambarkan melalui diagram alir pada Gambar 3.10. Konvolusi (1D)
per baris
Keluaran: Hasil Konvolusi
(2D) Masukan: Citra Hasil
Preprocessing
Konvolusi (1D) per kolom
Mulai
Gambar 3.10. Diagram alir downsampling.
3.1.4. Tahap Fungsi Jarak
Tahap fungsi jarak adalah tahap berikutnya setelah citra di ekstraksi ciri. Pada
tahap ini berfungsi sebagai pembanding antara citra keluaran dari ekstraksi ciri dengan
citra pose kode huruf semaphore yang berada pada basis data. Dalam tahap fungsi jarak ini
menggunakan fungsi jarak Euclidean. Jarak Euclidean adalah jarak untuk mencari selisih
antara data dari keluaran ekstraksi ciri dengan data yang terdapat pada basis data. Hasil
yang digunakan dalam proses berikutnya adalah hasil dari perbandingan jarak yang
memiliki nilai selisih paling pendek. Proses fungsi jarak dapat digambarkan melalui
diagram alir pada Gambar 3.11.
Gambar 3.11. Diagram alir fungsi jarak Euclidean. Menghilangkan baris
ganjil
Keluaran: Hasil downsampling
(ekstrasi ciri) Masukan:
Hasil konvolusi (2D)
Menghilangkan kolom ganjil
E
E Mulai
Selesai
Keluaran: Hasil perhitungan jarak Masukan:
Hasil ekstraksi ciri masukan, Ekstraksi ciri
basis data
Perhitungan jarak: Ekstraksi ciri data masukan dengan ekstraksi ciri basis data
F
F Mulai
3.1.5. Penentuan Keluaran
Hasil pengenalan kode huruf semaphore ditentukan berdasarkan jarak minimal
yang diperoleh dari hasil perbandingan antara keluaran dari ekstraksi ciri dengan basis
data, dengan menggunakan fungsi jarak Euclidean. Proses ini merupakan bagian akhir dari
proses pengenalan kode huruf semaphore. Proses penentuan keluaran dapat digambarkan
melalui diagram alir pada Gambar 3.12.
Gambar 3.12. Diagram alir penentuan keluaran.
3.2. Perancangan Basis Data
Sistem pengenalan kode huruf semaphore memerlukan basis data sebagai titik
acuan. Basis data akan dibandingkan dengan citra kode huruf semaphore yang diambil
dengan menggunakan webcam setelah melalui proses pengenalan citra. Perancangan basis
data pada sistem ini terdiri dari 26 pose kode huruf semaphore yang mewakili huruf A
sampai dengan Z dan memiliki jarak yang bervariasi dalam pengambilan gambarnya.
Proses perancangan basis data dapat dilihat pada Gambar 3.13.
Gambar 3.13. Blok diagram perancangan basis data. Masukan:
Hasil perhitungan jarak
Kode keluaran = kode yang berasosiasi dengan jarak
minimal
G
G Mulai
Selesai
Keluaran: Hasil berupa teks pada layar
Perancangan basis data melibatkan 2 peraga yang masing-masing menghasilkan 5
gambar dari setiap huruf, sehingga untuk 2 peraga memiliki 10 gambar yang mewakili satu
huruf. Lima gambar tersebut memiliki variasi jarak, antara 3-5 meter dengan rentang jarak
masing-masing 50 cm.
Sebagai contoh, terdapat 10 citra pose kode huruf semaphore yaitu huruf “A” dengan nama yang telah diinisialisasi sebagai berikut :
- A1_3m - A2_3m
- A1_3,5m - A2_3,5m
- A1_4m - A2_4m
- A1_4,5m - A2_4,5m
- A1_5m - A2_5m
Maksud dari “A1_3m” di atas ialah huruf “A1” yang diperagakan oleh peraga
pertama dengan jarak 3 meter. Begitu juga pada “A2_5m” ialah huruf “A2” yang
diperagakan oleh peraga kedua dengan jarak 5 meter. Sehingga dengan data yang telah
diperoleh terdapat 3 variasi citra sesuai dengan desimasi yang ada, desimasi_1 : 32 x 32
piksel, desimasi_2 : 16 x 16 piksel, dan desimasi_3 : 8 x 8 piksel, penulis dapat
menjabarkan dengan menggunakan matriks sesuai dengan ukuran pikselnya sebagai
berikut:
Perhitungan rerata untuk basis data untuk ukuran 32 x 32 piksel :
[
]
[
]
[
]
[
[ ] [ ] [ ] [ ]
Perhitungan rerata untuk basis data untuk ukuran 16 x 16 piksel :
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
Perhitungan rerata untuk basis data untuk ukuran 8 x 8 piksel :
[ ] [ ] [ ] [ ]
Elemen rerata diperoleh dari rata-rata matriks. Elemen rerata ini akan direrata
kembali dengan elemen rerata dari peraga yang berbeda. Hasil akhir dianggap mewakili
huruf yang dimaksud, misalnya huruf “A”. Huruf “A” ini juga dibedakan berdasarkan tiga
variasi piksel. Proses ini juga berlaku untuk menentukan huruf-huruf yang lain. Tahap
selanjutnya rerata basis data pada setiap ukuran piksel akan disusun dalam matriks yang
nantinya akan dipergunakan dalam proses perhitungan histogram proyeksi.
Perhitungan rerata setiap elemen rerata untuk basis data untuk
ukuran 32 x 32 piksel :
[ ] [ ] [ ]
Perhitungan rerata setiap elemen rerata untuk basis data untuk
ukuran 16 x 16 piksel :
Perhitungan rerata setiap elemen rerata untuk basis data untuk
ukuran 8 x 8 piksel :
[ ] [ ] [ ]
Susunan matriks untuk setiap pikselnya dapat dilihat sebagai berikut :
Matriks hasil rerata basis data ukuran 32 x 32 piksel
[ ]
Matriks hasil rerata basis data ukuran 16 x 16 piksel
[ ]
Matriks hasil rerata basis data ukuran 8 x 8 piksel
Hasil dari setiap kolom pada matriks di atas adalah hasil dari histogram proyeksi
yang mewakili huruf A sampai dengan Z untuk setiap kode huruf semaphore.
3.3. Perancangan Tampilan GUI Matlab
Tampilan interface pada perancangan sistem pengenalan kode huruf semaphore
menggunakan GUI (Graphical User Interface) yang terdapat pada Matlab dan bertujuan
untuk membantu dalam proses pengenalan kode huruf semaphore. Alur kerja utama dalam
perancangan dengan menggunakan GUI dapat digambarkan melalui diagram alir pada
Gambar 3.14.
Gambar 3.14. Diagram alir pengenalan citra pada GUI. Masukan:
Pengambilan pose kode huruf semaphore
Proses preprocessing
Proses Ekstraksi ciri
Keluaran: Hasil resizing ditampilkan di
GUI
Keluaran: Hasil ekstraksi ciri ditampilkan
di GUI Keluaran:
Hasil cropping
ditampilkan di GUI
Keluaran: Hasil pengenalan
citra berupa teks ditampilkan di
GUI Mulai
GUI akan menampilkan gambar yang telah diambil, variasi desimasi yang dapat
diubah oleh pengguna, hasil pemotongan (cropping) dan resizing yang terdapat pada
proses preprocessing, hasil ekstraksi ciri, dan hasil dari pengenalan citra yang ditampilkan
dengan format huruf. Secara keseluruhan sistem tersebut dapat dilihat pada Gambar 3.15
[image:53.595.85.522.202.630.2]dan dijelaskan pada Tabel 3.1.
Gambar 3.15. Sketsa perancangan GUI
Dari Gambar 3.15, langkah pertama yang harus dilakukan oleh pengguna adalah
menekan tombol “Kamera Aktif” untuk menyalakan webcam. Axes 1 akan menampilkan citra secara langsung dari webcam. Kemudia pengguna dapat menekan tombol “Ambil
Gambar” citra yang ditampilkan melalui axes 1 dianggap sudah tepat. Citra yang telah diambil dengan menggunakan webcam akan diproses setelah pengguna menentukan
desimasi yang akan digunakan dan menekan tombol “Proses”. Sistem akan bekerja dan akan memproses citra yang telah diperoleh dari webcam. Pada proses preprocessing
terdapat axes 2 yang akan menampilkan hasil dari citra yang telah dilakukan pemotongan
dan pada axes 3 akan menampilkan citra yang telah diubah ukuran pikselnya.
Pada axes 4 akan menampilkan citra yang telah melalui tahap ektraksi ciri.
Kemudian pada axes 5 akan menampilkan hasil akhir dari proses pengenalan kode huruf
semaphore yang menampilkan teks berupa huruf. Tombol “Ulangi” berfungsi sebagai pengulangan proses pengenalan kode huruf semaphore yang akan dilakukan dari awal.
Axes 1
Axes 2 Axes 3
Axes 4
Sedangkan pada tombol “Keluar” berfungsi mengakhiri proses pengenalan dan keluar dari
interface.
Tabel 3.1. Keterangan GUI.
Nama Bagian Keterangan
Tombol “Kamera
[image:54.595.85.526.165.602.2]Aktif” Untuk menyalakan webcam Tombol “Ambil
Gambar” Untuk mengambil gambar/citra
Pop Menu Untuk tempat pengguna memilih variasi desimasi
Tombol "Proses" Untuk memulai proses pengenalan kode huruf semaphore
Axes 1 pada panel kamera
Untuk menampilkan citra secara langsung dari webcam dan citra hasil pengambilan gambar
Axes 2 pada proses
Preprocessing Untuk menampilkan citra hasil pemotongan (cropping)
Axes 3 pada proses
Preprocessing Untuk menampilkan citra hasil resizing
Axes 4 pada proses
Ekstraksi Ciri Untuk menampilkan citra hasil ekstraksi ciri
Axes 5 pada panel keluaran
Untuk menampilkan hasil akhir pengenalan kode huruf semaphore berupa teks
Tombol "Ulangi" Untuk mengulangi proses pengenalan dari awal
Tombol "Keluar" Untuk keluar mengakhiri proses dan keluar dari Interface
3.4. Pengujian Citra Kode Huruf Semaphore
3.4.1. Pengujian Data Tidak Langsung
Dalam pengujian citra kode huruf semaphore yang dilakukan secara tidak
langsung, penulis terlebih dahulu mengambil data berupa gambar pose kode huruf
semaphore yang terlebih dahulu diambil menggunakan webcam dan disimpan dalam
sebuah folder yang telah disiapkan. Pengujian tidak langsung menggunakan 260 data yang
diperoleh dari 2 orang peraga kode huruf semaphore, masing-masing peraga
memperagakan 26 kode huruf semaphore untuk mewakili huruf A sampai dengan Z.
Kedua peraga ini tidaklah sama dengan peraga yang datanya digunakan sebagai basis data.
Dalam setiap gambar yang telah diambil dengan menggunakan webcam diberi nama agar
akan diproses dengan menggunakan Matlab sebagai data uji yang akan diteruskan ke
proses preprocessing, ekstraksi ciri wavelet haar, dan fungsi jarak Euclidean. Data yang
telah diolah akan dibandingkan dengan data yang terdapat pada basis data dan hasilnya
akan ditampilkan ke layar monitor dengan format huruf melalui software Matlab.
3.4.2. Pengujian Data Secara Langsung
Pengujian yang dilakukan secara langsung akan mengacu pada Gambar 3.14.
Webcam akan mengambil gambar pose kode huruf semaphore setelah pengguna menekan
tombol “Ambil Gambar”. Pengujian data secara langsung dilakukan oleh 2 orang peraga
yang berbeda dengan peraga yang datanya digunakan sebagai basis data maupun sebagai
pengujian secara tidak langsung yang masing-masing peraga akan memperagakan kode
huruf semaphore dengan kombinasi jarak dan huruf. Setiap 1 orang peraga akan
menghasilkan 130 data yang terdiri dari 26 data pada jarak 3 meter, 26 data pada jarak 3,5
meter, 26 data pada jarak 4 meter, 26 data pada jarak 4,5 meter, dan 26 data pada jarak 5
meter sehingga data yang akan diuji secara langsung sebanyak 260. Hasil pengambilan
gambar ini dapat diubah nilai desimasinya, setelah pengguna menentukan nilai desimasi.
Kemudian citra akan diteruskan ke tahap berikutnya yaitu tahap preprocessing yang akan
menampilkan proses cropping dan proses resizing. Setelah tahap ini, citra hasil
preprocessing akan diteruskan ke proses selanjutnya yaitu proses ekstraksi ciri yang akan
menampilkan hasil wavelet haar. Kemudian tahap akhir yang akan ditampilkan adalah
hasil dari proses penentuan keluaran yang menampilkan teks pada layar monitor berupa
37
BAB IV
HASIL DAN PEMBAHASAN
Bab ini akan membahas mengenai pengujian program software yang telah
dirancang dan pembahasan mengenai interface dengan penjelasan sistemnya serta
membahas mengenai hasil pengujian sistem program pengenalan kode huruf semaphore.
Pengujian bertujuan untuk mengetahui sistem yang telah dirancang dapat berkerja dengan
baik sesuai dengan perancangan.
4.1. Pengujian Program Pengenalan Kode Huruf Semaphore Secara
Langsung
Pengujian sistem program bertujuan untuk mengetahui suatu sistem dapat bekerja
dengan baik sesuai dengan perancangan yang dibuat sebelumnya. Di bawah ini adalah
proses untuk menjalankan program pengenalan kode huruf semaphore.
1. Membuka software Matlab dengan cara klik kiri dua kali pada gambar matlab
[image:56.595.84.527.218.638.2]seperti pada Gambar 4.1.
Gambar 4.1. Gambar Matlab.
2. Setelah melakukan langkah 1, akan muncul tampilan awal software Matlab seperti
Gambar 4.2. Tampilan awal Matlab.
3. Setelah muncul tampilan utama dari matlab, langkah selanjutnya untuk
menjalankan program pengenalan kode huruf semaphore dengan mengganti
Current Folder (yang ditunjukkan pada angka 1) dengan Directory tempat program
pengenalan disimpan seperti pada Gambar 4.3.
Gambar 4.3. Mengganti Current Folder.
4. Kemudian ketik “GUI” pada command window Matlab untuk memunculkan
tampilan jendela pengenalan kode huruf semaphor. Klik “mulai” untuk
menjalankan program.
Gambar 4.4. Interface pada program secara langsung.
6. Gambar 4.5. memperlihatkan kondisi dalam melakukan pengujian secara langsung
maupun tidak langsung.
Gambar 4.5. Kondisi pengambilan pose kode huruf semaphore. Peraga
Semaphore
Webcam
Jarak
4.2. Penjelasan Program
4.2.1 Tombol Kamera Aktif
Tombol kamera aktif memiliki fungsi untuk menghubungkan antara webcam
dengan Matlab yang terdapat pada laptop dan kemudian ditampilkan ke dalam proses
pengenalan kode huruf semaphore. Proses tombol kamera aktif sebagai berikut :
Perintah imqhwininfo dijalankan sebelumnya memulai mengambil data dari video
kamera untuk memastikan adapter kamera terbaca dengan baik. Program di atas secara
garis besar berfungsi untuk menampilkan informasi yang akan disampaikan oleh webcam
dan informasi tersebut akan diinisialisasi di dalam program agar antara webcam dengan
software Matlab dapat melakukan komunikasi. Dalam proses ini yang tertampil ialah video
resolusi, lebar, panjang, port webcam, dan band dari video. Setelah Handle Image
diperoleh, maka perintah program preview dapat berjalan. Preview berfungsi menampilkan
video pada saat kamera aktif dengan inisialisasi yang telah digunakan.
4.2.2. Tombol Ambil Gambar
Tombol ambil gambar digun