• Tidak ada hasil yang ditemukan

Pengenalan kode huruf semaphore

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengenalan kode huruf semaphore"

Copied!
175
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)
(6)

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

(7)
(8)

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%.

(9)

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 %.

(10)

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.

(11)
(12)

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

(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

(14)

5.2. Saran ... 58

DAFTAR PUSTAKA ... 59

(15)

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

(16)

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

(17)

xvii

DAFTAR TABEL

(18)

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

(19)

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.

(20)

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

(21)

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.

(22)

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].

(23)

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.

(24)

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.

(25)

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.

(26)

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

(27)

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.

(28)

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 bernilai dari 0 sampai 1 berarti warna semakin cerah.

(29)

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, 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 :

(30)

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

Wa velet 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],

Wa velet 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.

Wa velet 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

(31)

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 :

[ ]

Gambar 2.11. Transformasi wavelet [11].

Konvolusi baris dengan low pass filter

Konvolusi baris dengan high pass filter

Lo_D

(32)

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 :

ai adalah 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

(33)

berikutnya ( ), setelah semuanya dihitung maka akan memperoleh hasil = [0 1 6 14 22 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].

(34)

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]:

√∑

(35)

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.

(36)

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 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

(37)

kuning sesuai dengan warna yang terdapat pada bendera semaphore. Selanjutnya citraakan 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 datadengan 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 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

(38)

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.

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

(39)

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 diambildengan 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

(40)

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 Matlabuntuk 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

(41)

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 Matlabdiperlihatkan 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]);

(42)

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 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

(43)

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 bidang1 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

(44)

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

(45)

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

(46)

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 :

[

]

[

]

[

]

[

(47)

[ ] [ ] [ ] [ ]

Perhitungan rerata untuk basis datauntuk ukuran 16 x 16 piksel :

[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

Perhitungan rerata untuk basis datauntuk ukuran 8 x 8 piksel :

(48)

[ ] [ ] [ ] [ ]

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 :

(49)

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 dataukuran 32 x 32 piksel

[ ]

Matriks hasil rerata basis dataukuran 16 x 16 piksel

[ ]

Matriks hasil rerata basis dataukuran 8 x 8 piksel

(50)

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

Selesai

(51)

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 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

(52)

Sedangkan pada tombol “Keluar” berfungsi mengakhiri proses pengenalan dan keluar dari interface.

Tabel 3.1. Keterangan GUI.

Nama Bagian Keterangan

Tombol “Kamera

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

(53)

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

(54)

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 seperti pada Gambar 4.1.

Gambar 4.1. Gambar Matlab.

(55)

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.

5. Setelah program berjalan akan muncul tampilan seperti Gambar 4.4.

(56)

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

(57)

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 digunakan untuk mengambil gambar pose kode huruf

semaphore yang akan dikenali dalam proses pengenalan pola. Program tombol ambil gambar sebagai berikut :

function kameraaktif_Callback(hObject, eventdata, handles) % hObject handle to kameraaktif (see GCBO)

% handles structure with handles and pengguna data (see GUIDATA) imaqhwinfo;

info = imaqhwinfo('winvideo');

dev_info = imaqhwinfo('winvideo',1);

vidobj = videoinput('winvideo',1,'RGB24_1280x960); vidobj.FramesPerTrigger = 1;

triggerconfig(vidobj, 'manual');

vidRes = get(vidobj,'VideoResolution'); imWidth = 1280;

imHeight = 960;

nBands = get(vidobj,'NumberOfBands');

hImage = image(zeros(imHeight, imWidth, nBands),

'parent',handles.axes1); preview(vidobj,hImage)

function ambilgambar_Callback(hObject, eventdata, handles) % hObject handle to ambilgambar (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and pengguna data (see GUIDATA) imaqhwinfo;

info = imaqhwinfo('winvideo');

(58)

Perintah program ambil gambar sama dengan perintah program kamera aktif. Namun terdapat penambahan program pada bagian getdata yang berfungsi untuk mengambil citra pada saat webcam dalam kondisi aktif. Citra yang telah diambil akan diinisialisasi menggunakan handles agar dapat dipanggil dalam file figure maupun file.m, yang kemudian akan ditampilkan pada axes1.

4.2.3. Pop-Up Menu

Pop-up menu digunakan untuk pengguna memilih variasi desimasi yang diinginkan, pada bagian pop-up menuini terdiri dari 3 pilihan variasi desimasi, yaitu desimasi 1, desimasi 2, dan desimasi 3. Perintah program yang digunakan pada pop-up menu adalah sebagai berikut:

function popupmenu_Callback(hObject, eventdata, handles) % hObject handle to popupmenu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and pengguna data (see GUIDATA) indeks=get(handles.popupmenu,'value');

switch indeks

case 2 des=1;

case 3 des=2;

case 4 des=3;

end

handles.des=des;

guidata(hObject,handles);

vidobj = videoinput('winvideo',1,'RGB24_1280x960'); vidobj.FramesPerTrigger = 1;

triggerconfig(vidobj, 'manual');

vidRes = get(vidobj,'VideoResolution'); imWidth = 1280;

imHeight = 960;

nBands = get(vidobj,'NumberOfBands');

hImage = image(zeros(imHeight, imWidth, nBands),

'parent',handles.axes1); start(vidobj);

pause(1);

trigger(vidobj); stoppreview(vidobj); gambar=getdata(vidobj); handles.gambar=gambar; guidata(hObject,handles)

(59)

Program di atas tertulis “des=1” maksudnya adalah desimasi akan dilakukan

sebanyak 1 kali, begitu juga pada “des=2” yang maksudnya adalah desimasi akan dilakukan sebanyak 2 kali dan sama maknanya pada “des=3”. Desimasi diinisialisasikan dengan nama “des”. Agar nilai variasi desimasi ini dapat dipanggil diprogram lain, maka

diubah menjadi “handles.des”.

4.2.4. Tombol Proses

Tombol proses adalah tombol yang berfungsi untuk menjalankan proses pengenalan kode huruf semaphore yang tediri dari beberapa bagian program yang digabungkan mulai dari program pembanding dengan basis data, program preprocessing

yang terdiri dari program konversi RGB ke HSV, program segmentasi warna, program

cropping dan program resizing, program ekstraksi ciri, program jarak Euclidean dan hasil keluaran berupa teks.

- Program Pembanding Basis Data

Berfungsi untuk membandingkan data sesuai dengan desimasi yang dipilih oleh pengguna pada proses pop-up menu.

Program di atas berfungsi untuk mengeluarkan data yang terdapat pada basis data yang akan dibandingkan dengan program perhitungan jarak. Ketika pengguna memilih desimasi 1 pada proses pop-up menu, maka data tersebut akan dibandingkan dengan data

yang berada pada “db64d1” begitu juga apabila penggunamemilih desimasi yang lainnya.

- Program Konversi RGB ke HSV

Program ini berfungsi untuk mengubah gambar RGB ke gambar HSV dengan perintah program sebagai berikut :

%PROSES KONVERSI HSV x=handles.gambar; x1=rgb2hsv(x);

%DATABASE % PopUpMenu des=handles.des;

if (des==1) loaddb64d1

elseif (des==2) loaddb64d2

elseif (des==3) loaddb64d3

(60)

Program tertulis “handles.gambar” maksudnya dalam proses konversi ini dapat

memanggil gambar yang telah diambil dengan webcam yang terdapat pada perintah

program “ambil gambar” sebelumnya. Contoh program konversi HSV citra dapat dilihat pada Gambar 4.6.

(a)

(b)

Gambar 4.6. Konversi citra RGB ke HSV

(a) Citra masukkan (RGB); (b) citra hasil konversi dalam bentuk hue, saturation dan

(61)

- Program Segmentasi Warna

Program ini berfungsi mengambil bagian warna hue yang diperlukan sesuai dengan warna kuning yang terdapat pada bendera semaphore dan menghilangkan warna-warna yang tidak diperlukan.

Pada program di atas, segmentasi bagian depan dilakukan terlebih dahulu dengan cara mengambil nilai saturation yang tertulis pada program “HSV=x1(:,:,2);”. Dapat

dijelaskan bahwa “x1” adalah hasil gambar yang telah dikonversi menjadi citra HSV.

Program dari “hsv” adalah gambar yang berisikan nilai saturation. Kemudian terdapat

“depan=hsv>0.45;” depan adalah hasil dari nilai saturation yang nilainya lebih dari 0,45. Nilai ambang saturation ini diperoleh dari percobaan yang dilakukan penulis pada saat pengambilan data.

Nilai ini perlu diketahui agar dapat membantu program dalam menangani segmentasi warna khususnya berhubungan dengan kecerahan pada warna yang ditentukan. Gambar 4.7. sebagai contoh program segmentasi bagian depan untuk memperoleh nilai

saturation yang terdapat pada citra.

(a) (b)

Gambar 4.7. Contoh proses ambil nilai saturation; (a) mengambil nilai saturation dari citra HSV; (b) ambil nilai saturation yang memiliki nilai lebih dari 0.45

% Segmentasi bagian depan (foreground)

hsv=x1(:,:,2); % Ambil bagian saturation depan=hsv>0.45; % Original: 0.45

% ---% Segmentasi kuning

x2=x1(:,:,1); % Ambil bagian hue

x3=x2*360; % Setting nilai hue maks 360 th1=x3>35; % Original: 35

(62)

Segmentasi kuning “x2” berisikan gambar yang berisikan nilai hue dari hasil gambar x1. Dari Gambar 4.7, bagian (a) dikalikan dengan 360 karena ruang warna hue

terdiri dari 0 – 360. Terdapat “th1” dan “th2” “kuning” adalah program untuk menggabungkan “th1” dan “th2”.

(a) (b)

(d) (c)

(e)

Gambar 4.8. Contoh proses segmentasi kuning; (a) mengambil nilai hue pada citra; (b) pengaturan nilai hue maksimal; (c) mengambil nilai hue dengan nilai lebih besar dari 35

(63)

Gambar 4.8. sebagai contoh program segmentasi warna kuning dengan cara mengambil nilai hue yang memiliki nilai ambang 35 – 50. Nilai ambang ini diperoleh dari Gambar 2.10, warna kuning pada semaphore memiliki rentang nilai 35 – 50.

Segmentasi citra bendera berwarna kuning adalah gabungan dari hasil segmentasi

bagian depan yaitu “depan” yang digabungkan dengan hasil segmentasi kuning yaitu

“kuning”. Proses “bkuning1=bwareaopen(bkuning,2000)” sebagai proses “bwareaopen”

untuk mengetahui daerah mana yang termasuk objek dan foreground dari citra secara jelas.

Nilai “2000” adalah memisahkan objek yang diperlukan pada citra yang memiliki daerah

warna kuning sesuai luasan piksel sebesar 2000. Contoh proses segmentasi citra bendera berwarna kuning dapat diperlihatkan pada Gambar 4.9.

(a) (b)

Gambar 4.9. Contoh proses segmentasi citra bendera berwarna kuning; (a) penggabungan

dari proses “depan” dengan “kuning”; (b) memilih daerah yang berwarna kuning sesuai luasan piksel yang diinginkan pada citra.

- Program Potong Gambar

Program ini berfungsi memotong gambar sehingga bagian yang tidak diperlukan dapat dihilangkan.

% Potong Gambar

axes(handles.axes2);

if sum(sum(bkuning1))>0 % Potong kiri

cout=bkuning1; a=sum(cout); b=find(a>0);

cout(:,1:b(1)-1)=[]; % Potong kanan

cout=fliplr(cout); a=sum(cout);

b=find(a>0);

(64)

(a) (b)

(d) (c)

Gambar 4.10. Proses pemotongan citra; (a) hasil potong kiri; (b) hasil potong kanan setelah putar 1800 ; (c) hasil potong atas setelah diputar -900; (d) hasil potong bawah

setelah diputar 900.

% Potong atas cout=cout'; a=sum(cout); b=find(a>0);

cout(:,1:b(1)-1)=[]; % Potong bawah

cout=fliplr(cout); a=sum(cout);

b=find(a>0);

cout(:,1:b(1)-1)=[]; % Penyesuaian orientasi cout=cout';

cout=flipud(cout); cout=fliplr(cout);

else

cout=bkuning1;

end

(65)

Gambar 4.10, memperlihatkan proses pemotongan citra. Proses pemotongan gambar ini akan ditampilkan pada axes 2 setelah proses dijalankan keseluruhan. Pada

proses ini, gambar yang digunakan adalah citra “bbkuning” yang akan dipotong secara

bertahap dengan cara memutar keseluruhan citra dan kemudian dipotong pada bagian kiri dari citra secara bertahap.

- Program Resizing 64x64

Program ini berfungsi untuk menyesuaikan ukuran gambar yang telah dipotong sebelumnya sehingga memiliki ukuran piksel yang sama.

Program di atas menggunakan perintah “imresize” yang berfungsi mengubah ukuran citra. Resizing dapat berdampak memperbesar ataupun memperkecil ukuran citra. Pada program ini ukuran yang diperlukan adalah 64 x 64 piksel. Gambar 4.11. menunjukkan citra yang telah dipotong untuk selanjutkan diproses pada proses resizing.

(a) (b)

<

Gambar

Gambar 2.11. Transformasi wavelet [11].
Gambar 2.12. Perhitungan konvolusi secara matriks.
Gambar 3.1. Blog diagram proses pengenalan kode huruf semaphore.
Gambar 3.2. Diagram alir pengambilan citra.
+7

Referensi

Dokumen terkait

Pengadaan Sarana dan Prasarana di Lingkungan Mahkamah Agung Program Peningkatan Sarana dan Prasarana Aparatur Mahkamah Agung 2UMLAH BIAYA HARGA SATUAI SD/ PERHITUNGAN TAHUN

Dari hasil penelitian menunjukkan bahwa karakteristik depresi pada lansia sebelum dilakukan terapi musik klasik yang di dapat di UPT Panti Werdha Mojopahit Mojokerto

Partner adalah individu atau institusi yang menginstall server digital library dan bergabung IndonesiaDLN untuk berbagi koleksi elektroniknya.. Setiap orang dapat men- download

Bahagian tumbuhan memainkan peranan yang penting dalam pemencilan Streptomyces endofit iaitu sebanyak 22 pencilan telah berjaya dipencilkan daripada batang, 4 pencilan daripada

Dari hasil pengujian dan pembahasan yang telah dilakukan pada baja DIN 17223 41CrMO4 dengan perlakuan panas pada temperature 850 o C dengan media quenching yang

analisis (simulasi) struktur rumah Ammu Hawu yaitu sebagai berikut : hasil pada Tabel 7, secara umum deformasi maksimum yang terjadi pada struktur rumah Ammu

[r]

Studi Kondisi Lingkungan Rumah dan Perilaku Masyarakat sebagai Faktor Risiko Kejadian Malaria di Wilayah Kerja Puskesmas Benteng Kabupaten Bangka Selatan Propinsi