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]; ImshowX1
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];
ImshowX2
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
Selesai Desimasi = N
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
Selesai
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
Selesai
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
monitor
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
Selesai Desimasi = N
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 d
an 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
Axes
5 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 gambarcitra 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 dapat dikenali oleh program yang terdapat pada Matlab. Data yang disimpan ini kemudian
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
huruf. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
2. Setelah melakukan langkah 1, akan muncul tampilan awal
software
Matlab seperti pada Gambar 4.2.
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.
1