pembangkit dan pengenal sinyal morse berbasis …
TRANSCRIPT
TUGAS AKHIR
PEMBANGKIT DAN PENGENAL SINYAL MORSE
BERBASIS CITRA
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Disusun oleh :
ANTHONIUS BERTYN DUA LEMBANG
NIM: 115114043
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
GENERATOR AND MORSE CODE RECOGNIZER BASED
ON IMAGE
In partial fulfillment of the requirements
for the degree of Sarjana Teknik
in Electrical Engineering Study Program
ANTHONIUS BERTYN DUA LEMBANG
NIM: 115114043
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN
Kupersembahkan karya tulis ini kepada…
Tuhan Yesus Kristus juru selamatku, pembimbingku yang setia dan selalu ada di setiap
waktu.
Bunda Maria yang tidak pernah lelah dalam mendampingi anak-anaknya.
Bapak, Ibu, Kak Santi dan Kak Rose yang tak pernah putus memberiku doa dan semangat
untuk menjalani hidup yang penuh tantangan. Kalian sumber semangatku.
Terima kasih untuk semuanya…………..
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
HALAMAN MOTTO
“Don’t put till tomorrow what you can
do today”
“Janganlah takut, sebab Aku menyertai engkau, janganlah bimbang, sebab Aku ini
Allahmu; Aku akan meneguhkan, bahkan akan menolong engkau; Aku akan memegang
engkau dengan tangan kanan-Ku yang membawa kemenangan”
Yesaya 41:10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
INTISARI
Di zaman modern saat ini, alat komunikasi merupakan salah satu unsur penting
dalam membangun relasi. Perkembangan alat komunikasi pun mengalami kemajuan yang
sangat pesat. Kode morse yang juga merupakan salah satu media komunikasi dahulu sering
digunakan di berbagai bidang, namun seiring berjalannya waktu penggunaan kode morse
pun kurang diminati masyarakat. Berdasarkan hal tersebut maka dibuat suatu program
sehingga komputer dapat mengenali citra berupa cahaya kedap-kedip sehingga nantinya
dapat mengenali kode morse.
Sistem pengenal kode morse ini dilakukan secara real time menggunakan webcam
dan laptop. Sistem pembangkit yang dibuat dapat dideskripsikan berdasarkan urutan
dengan penampil citra berupa hitam dan putih yang menyala secara bergantian. Citra
tersebut berupa karakter kode morse. Berikut ini urutan proses pengenal kode morse:
rekaman citra berupa cahaya kedap-kedip menggunakan webcam, preprocessing, dan
decoding. Sistem pembangkit dan pengenal kode morse ini memanfaatkan laptop untuk
memproses sistem. Selain itu, proses tersebut melibatkan bahasa pemrograman matlab
menggunakan GUI yang tersedia dalam matlab.
Hasil dari sistem pengenalan ini yaitu sistem dapat mengenali kode morse sesuai
rancangan. Berdasarkan percobaan yang telah dilakukan, dapat diketahui bahwa batas jarak
maksimum adalah 700 cm, serta batas sudut kemiringan antara laptop 1 dengan laptop 2
dapat mengenali kode morse.
Kata kunci: Citra berupa cahaya kedap-kedip, encoding dan decoding, Pembangkit dan
Pengenal kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
ABSTRACT
In this modern era, communication media is an important element in building
relationship. The progress of communication media has been made enormous gains. Morse
code which is also one of communication media often used in various fields, but nowadays
as time goes on the use of Morse Code is less attractive to the society. Based on it then the
user made a program so the notebook can be recognize image in the form of blips so it can
be recognize the Morse Code. The process of recognizing Morse Code conducted by real
time with webcam and notebook. The generating system that has been made could be
described based on the sequence of black and white image that flashing alternately. That
imagery is the character of Morse Code. These are the sequence of Morse Code
recognizing process: recording of light image blips with webcam, preprocessing, and
decoding. Generating system and Morse Code recognizing utilizes notebook to process
system. Furthermore, the process involves a programming language uses GUI that
available in those matlab. The result of recognition system is a system that can recognize
Morse Code in accordance design. Based on experiment that has been done, known that the
maximum bounds is 700 cm and and limit angel of inclination between notebook 1 and 2
can recognize the Morse Code.
Keywords: The image of blips light, encoding and decoding, generating and recognizing
Morse Code
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
KATA PENGANTAR
Puji syukur dan terima kasih saya ucapkan kepada Tuhan Yesus Kritus atas segala
penyertaan dan pendampingan selama proses penyelesaian skripsi ini sehingga dapat
terselesaikan dengan baik. Penulis menyadari bahwa skripsi ini dapat terselesaikan atas
bantuan berbagai pihak, oleh karena itu dengan segala kerendahan hati, penulis ingin
mengucapkan terima kasih kepada:
1. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
2. Bapak Petrus Setyo Prabowo, M.T., selaku Kepala Program Studi Teknik Elektro
Universitas Sanata Dharma.
3. Bapak Dr. Linggo Sumarno, yang telah meluangkan waktunya untuk memberikan
bimbingan, nasehat dan arahan selama proses penyusunan skripsi dari awal hingga
akhir dengan penuh kesabaran. Semoga ilmu dari Bapak dapat saya jadikan bekal
untuk masa depan.
4. Bapak Dr. Iswanjono dan ibu Wiwien Widyastuti, S.T., M.T., selaku dosen penguji
yang telah memberikan masukkan, memberikan bimbingan dan saran dalam
memperbaiki tugas akhir ini.
5. Ibu Ir. Theresia Prima Ari Setiyani, M.T., selaku Dosen Pembimbing Akademik yang
senantiasa mendampingi saya dalam urusan akademik. Terima kasih banyak Bu prima
atas masukan, nasehat, dan ilmunya. Semoga hal tersebut dapat bermanfaat bagi saya
di masa depan.
6. Dosen-dosen Program Studi Teknik Elektro Universitas Sanata Dharma yang telah
memberikan segala bekal ilmu pengetahuan tentang dunia elektro yang sangat
bermanfaat dan menarik.
7. Seluruh staff Fakultas Sains dan Teknologi : Pak Tukija, Bu Sri, Pak Tri, Bu Titik dan
Mba Yunita. Terima kasih atas segala bantuan dan pelayanan yang begitu ramah.
Terima kasih telah bersedia direpotkan untuk urusan kuliah dan tidak pernah lelah
menjawab pertanyaan yang mungkin tidak perlu dipertanyakan. Hehehe…
8. Seluruh staff laboratorium Program Studi Teknik Elektro: Pak Mardi, Pak Suryana,
Pak Subrata, dan Pak Hardi. Terima kasih atas segala bantuan dan pelayanan yang
begitu ramah. Terima kasih telah bersedia direpotkan untuk urusan membantu tugas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
alat pada saat perkuliahan dan menjawab setiap pertayaan dalam hal pembuatan tugas
alat yang belum saya mengerti.
9. Bapak dan ibuku terkasih, kak Santi, dan kak Rosvita. Terima kasih atas doa yang tak
pernah putus demi kelancaran studi saya, terutama Bapak dan Ibu yang tak pernah
lelah membimbing dan menuntunku untuk menjadi garam dunia. Terima kasih kak
Santi dan kak Rosvita yang telah memberi motivasi, meskipun dengan banyak
perdebatan. Kalian berdua tetap kakak terbaik saya. Saya tak pernah berhenti
mencintai Bapak, Ibu, kak Santi dan kak Rosvita. Teruslah menemaniku hingga akhir
hayat. Saya sayang kalian semua.
10. Teman hidupku. Terima kasih karena selalu ada disaat suka maupun duka walupun
banyak dukanya, dari awal pengerjaan skripsi ini hingga akhir. Terima kasih atas tawa
bahagia dan tangis haru yang kita lewati bersama. Jangan pernah lelah untuk tetap
tersenyum dan memperbaiki diri. Jangan pernah patah semangat untuk mengejar
mimpimu karena Tuhan selalu ada besertamu. Maaf jika selama ini saya terlalu
banyak mengeluh, minta mengubah sikap sesuai keinginanku dan merepotkanmu.
Sekali lagi terima kasih.
11. Teman-teman dari awal masuk perkuliahan hingga saat menyelesaikan tugas akhir ini
Yugo, Yoel, Adit, Heri, Ita, Monic, Agi. Terima kasih karena telah menjadi bumbu
kehidupan yang sangat bermakna. 4 tahun yang kita lewati bersama tidak akan pernah
saya lupakan. Terima kasih atas canda tawa, semangat, kritik, dan saran yang teman-
teman berikan. Semoga teman-teman segera menggapai mimpi teman-teman.
12. Seluruh teman-teman jemari yang selalu ada untuk memberi semangat. Tanpa kalian,
saya tidak akan se-semangat ini dalam mengerjakan skripsi. Saya tidak akan
menyebutkan satu persatu tapi percayalah bahwa kalian akan selalu ada dihati saya.
Terima kasih telah mengajarkan saya tentang arti persahabatan yang sesungguhnya.
Teruslah menjadi inspirasi bagi banyak orang dan tetaplah menjadi sumber bagi
banyak senyum. Terima kasih, sekali lagi.
13. Teman-teman angkatan 2011 Teknik Elektro. Terima kasih yang telah memberikan
semangat pada saat menempuh pendidikan di Universitas Sanata Dharma.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
14. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah
diberikan dalam penyelesaian tugas akhir ini.
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR ISI
HALAMAN JUDUL .............................................................................................................. i
HALAMAN PERSETUJUAN DOSEN PEMBIMBING .................................................... iii
HALAMAN PENGESAHAN SKRIPSI .............................................................................. iv
PERNYATAAN KEASLIAN KARYA ................................................................................ v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA .......................... viii
INTISARI ............................................................................................................................. ix
ABSTRACT .......................................................................................................................... x
KATA PENGANTAR .......................................................................................................... xi
DAFTAR ISI ...................................................................................................................... xiv
DAFTAR TABEL ............................................................................................................. xvii
DAFTAR GAMBAR ........................................................................................................ xviii
DAFTAR LAMPIRAN ....................................................................................................... xx
BAB I PENDAHULUAN ..................................................................................................... 1
1.1. Latar Belakang ................................................................................................................ 1
1.2. Tujuan dan Manfaat Penelitian ....................................................................................... 2
1.3. Batasan Masalah ............................................................................................................. 2
1.4. Metodologi Penelitian .................................................................................................... 3
BAB II DASAR TEORI ........................................................................................................ 5
2.1. Kode Morse .................................................................................................................... 5
2.2. Webcam .......................................................................................................................... 6
2.3. Citra ................................................................................................................................ 7
2.3.1. Definisi Citra ........................................................................................................ 7
2.3.2. Pengolahan Citra .................................................................................................. 7
2.3.3. Citra Digital .......................................................................................................... 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
BAB III PERANCANGAN PEMBANGKIT DAN PENGENAL KODE MORSE
BERBASIS CITRA ............................................................................................................. 12
3.1. Sistem Keseluruhan Pembangkit dan Pengenal Kode Morse Berbasis Citra ............... 12
3.2. Sistem Pembangkit dan Pengenal Kode Morse Berbasis Citra .................................... 14
3.3. Webcam ........................................................................................................................ 15
3.4. Proses Pembangkit Kode Morse ................................................................................... 15
3.4.1. Masukan Kata (Teks).......................................................................................... 16
3.4.2. Pembangkit Citra Kode Morse ........................................................................... 16
3.4.3. Citra berupa Cahaya Kedap-kedip ...................................................................... 16
3.5. Proses Pengenal Kode Morse ....................................................................................... 16
3.5.1. Citra berupa Cahaya Kedap-kedip ...................................................................... 17
3.5.2. Rekaman ............................................................................................................. 17
3.5.3. Preprocessing ..................................................................................................... 12
3.5.4. Decoding ............................................................................................................. 18
3.5.5. Kata (Teks) ......................................................................................................... 18
3.6. Perancangan Tampilan GUI Matlab ............................................................................. 18
3.7. Perancangan Alur Program ........................................................................................... 20
BAB IV HASIL DAN PEMBAHASAN ............................................................................. 29
4.1. Pengujian Program dan Tampilan Program Pembangkit Pengenal Kode Morse
Berbasis Citra ...................................................................................................................... 29
4.2. Penjelasan Program ...................................................................................................... 33
4.2.1. Pembangkit Kode Morse .................................................................................... 33
4.2.2. Pengenalan Kode Morse ..................................................................................... 37
4.3. Pengujian dan Analisis Hasil Pengenalan Kode Morse ............................................... 48
4.3.1. Pengujian Pengenalan Variasi Jarak ................................................................... 48
4.3.2. Pengujian Pengenalan Kode Morse Berdasarkan Variasi Sudut ........................ 50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
BAB V KESIMPULAN DAN SARAN .............................................................................. 53
5.1. Kesimpulan ................................................................................................................... 53
5.2. Saran ............................................................................................................................. 53
Daftar Pustaka ..................................................................................................................... 54
Lampiran .............................................................................................................................. 55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR TABEL
Tabel 3.1. Spesifikasi Webcam Logitech c1701 .................................................................. 15
Tabel 3.2. Keterangan Tampilan Utama Sistem .................................................................. 19
Tabel 3.3. Look Up Table Deteksi Jumlah Nol ................................................................... 26
Tabel 3.4. Look Up Table Deteksi Jumlah Satu .................................................................. 26
Tabel 4.1. Pengujian Kode Morse ....................................................................................... 49
Tabel 4.2. Pengujian Kode Morse Dengan Jarak 100cm .................................................... 51
Tabel 4.3. Pengujian Kode Morse Dengan Jarak 200cm .................................................... 52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR GAMBAR
Gambar 2.1. Webcam Logitech c170 ..................................................................................... 6
Gambar 2.2. Pengaturan Citra RGB ...................................................................................... 9
Gambar 2.3. Intensitas Grayscale ......................................................................................... 9
Gambar 2.4. Citra Grayscale yang Diubah Menjadi Nilai Matriks .................................... 10
Gambar 2.5. Contoh Gambar Citra Biner ............................................................................ 11
Gambar 3.1. Sistem Keseluruhan Pembangkit dan Pengenal Kode Morse Berbasis Citra . 13
Gambar 3.2. Blok Diagram Sistem Pembangkit dan Pengenalan Kode Morse Berbasis
Citra ..................................................................................................................................... 14
Gambar 3.3. Blok Diagram Proses Pembangkit Kode Morse ............................................. 16
Gambar 3.4. Blok Diagram Proses Pengenalan Kode Morse .............................................. 16
Gambar 3.5. Blok Diagram Proses Rekaman ...................................................................... 17
Gambar 3.6. Blok Diagram Proses Preprocessing .............................................................. 17
Gambar 3.7. Blok Diagram Proses Decoding ..................................................................... 18
Gambar 3.8. Tampilan Utama Sistem Pembangkit Kode Morse ........................................ 19
Gambar 3.9. Tampilan Utama Sistem Pengenal Kode Morse ............................................. 21
Gambar 3.10.Diagram Alir Utama Pembangkit Kode Morse ............................................. 22
Gambar 3.11.Diagram Alir Utama Pengenal Kode Morse .................................................. 23
Gambar 3.12.Diagram Alir Rekaman .................................................................................. 25
Gambar 3.13.Diagram Alir Pemrosesan Citra (Preprocessing) .......................................... 26
Gambar 3.14.Diagram Alir Decoding ................................................................................. 27
Gambar 4.1. Icon Matlab R2012a ....................................................................................... 29
Gambar 4.2. Tampilan Matlab ............................................................................................. 30
Gambar 4.3. Tampilan Program Pembangkit Kode Morse ................................................. 31
Gambar 4.4. Tampilan Pengenal Kode Morse .................................................................... 31
Gambar 4.5. Citra Berupa Cahaya Kedap-kedip ................................................................. 32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
Gambar 4.6. Tampilan Hasil Pengenal Kode Morse ........................................................... 32
Gambar 4.7. Program Tampilan Citra Berupa Cahaya Kedap-kedip .................................. 33
Gambar 4.8. Program Look Up Table Kode Morse ............................................................. 34
Gambar 4.9. Program Kode Karakter .................................................................................. 36
Gambar 4.10.Program Rekaman Kode Morse..................................................................... 38
Gambar 4.11.Program Penentuan Koordinat Autocropping ................................................ 39
Gambar 4.12.Program Ekstrak Frame ................................................................................. 41
Gambar 4.13.Program RGB ke Gray ................................................................................... 41
Gambar 4.14.Program Histogram Proyeksi Vertikal .......................................................... 42
Gambar 4.15.Program Average Filtering ............................................................................ 42
Gambar 4.16.Program Downsampling ................................................................................ 42
Gambar 4.17.Program Thresholding ................................................................................... 43
Gambar 4.18.Program Deteksi Jumlah Nol ......................................................................... 44
Gambar 4.19.Program Deteksi Jumlah Satu ........................................................................ 45
Gambar 4.20.Program Decoding Tahap Dua ...................................................................... 46
Gambar 4.21.Program Tombol Reset .................................................................................. 47
Gambar 4.22.Program Tombol Selesai ............................................................................... 47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
DAFTAR LAMPIRAN
Lampiran 1 ........................................................................................................................... L1
Lampiran 2 ........................................................................................................................... L2
Lampiran 3 ........................................................................................................................... L5
Lampiran 4 ........................................................................................................................... L9
Lampiran 5 ......................................................................................................................... L11
Lampiran 6 ......................................................................................................................... L13
Lampiran 7 ......................................................................................................................... L25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Di zaman modern saat ini, alat komunikasi merupakan salah satu unsur penting
dalam membangun relasi.Perkembangan alat komunikasi pun mengalami kemajuan yang
sangat pesat. Kode morse yang juga merupakan salah satu media komunikasi dahulu sering
digunakan di berbagai bidang, namun seiring berjalannya waktu penggunaan kode morse
pun kurang diminati masyarakat.
Pengiriman berita yang digunakan dalam komunikasi berawal dari penggunaan kode
morse yang digunakan pada kegiatan kepramukaan [1]. Pada zaman dahulu, masyarakat
melakukan komunikasi jarak jauh dengan menggunakan kode morse dimana berita
disampaikan dengan bantuan sejumlah media berupa asap, bunyi klakson, sinar lampu,
hingga arus listrik analog maupun digital. Hal ini dilakukan untuk menggantikan isyarat
Samaphore (isyarat yang menggunakan dua buah bendera) sebagai media penyampaian
berita [2]. Dalam hal ini, pemakaian Samaphore hanya bisa sebatas pandangan mata saja.
Penyampaian pesan melalui kode dimaksudkan agar orang lainyang tidak berkepentingan
tetap mendapat pesan namun tidak dapat memahami pesan tersebut. Sejak saat itu
dikenallah sistem kode [2].
Sistem kode yang pertama kali dipakai diseluruh dunia adalah kode morse.
Penggunaan kode morse yang sering digunakan selama ini biasanya terdiri dari garis “▬”
dan titik “●”. Penyampaiannya bisa dilakukan melalui cahaya maupun bunyi dimana sela
waktu yang singkat disimbolkan dengan titik “●” dan sela waktu yang sedikit lama
disimbolkan dengan garis “▬” [3].Satuan sela waktu kemudian disebut saat perbandingan
1:3 (satu untuk titik “●” dan tiga untuk garis “▬”). Kode morse mempunyai peranan
penting dalam berbagai bidang yang digunakan untuk keperluan tertentu atau kebutuhan
vital lainnya yang berhubungan dengan kode morse. Namun pada kenyataannya,
mempelajari kode telegrafi atau kode morse sama dengan mempelajari bahasa baru, yaitu
bahasa sandi. Bila diperhatikan, kode telegrafi ini sesungguhnya adalah bahasa suara yang
terdiri dari berbagai kombinasi antara nada pendek dan nada panjang yang selanjutnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
menjadi huruf, angka dan tanda baca, sehingga bagi para pemula yang ingin belajar kode
morse tidak mudah dan membutuhkan waktu yang cukup panjang untuk dapat
menginterpretasikan kode morse ke dalam karakter (huruf, angka dan tanda baca).
Banyaknya sumber daya manusia dan berbagai bidang yang membutuhkan
penggunaan kode morse di Indonesia mendorong perlunya perangkat penunjang untuk
meringankan pekerjaan manusia. Dengan kemudahan dan keefisienan waktu yang didapat
dari perangkat penunjang tersebut, secara otomatis akan memberi kemudahan bagi
masyarakat untuk lebih mengoptimalkan kemampuan mereka dalam bidang atau keperluan
tertentu yang berhubungan dengan kode morse. Pentingnya peran kode morse pada
berbagai bidang juga mendorong masyarakat untuk belajar dan menguasai kode morse
dalam waktu yang singkat.
Pada dasarnya tidak banyak peneliti yang tertarik untuk mengembangkan alat yang
berkaitan dengan kode morse, namun hal tersebut menjadi motivasi bagi penulis.
Perkembangan teknologi juga menjadi salah satu faktor meningkatnya rasa keingintahuan
masyarakat tentang penggunaan kode morse di berbagai bidang. Hal ini sesuai dengan
beberapa hasil observasi yang menyatakan bahwa penggunaan kode morse kini mulai
kembali diminati, sehingga dibutuhkan tenaga ahli yang mengembangkannya dan
disesuaikan dengan teknologi yang ada. Dalam hal ini, penulis mengembangkan kode
morse berbasis citra.
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah untuk menghasilkan pembangkit dan
pengenal kode morse berbasis citra. Secara lebih rinci, tujuan dari pembuatan alat ini
adalah untuk menghasilkan variasi sistem pengiriman dan penerimaan dalam komunikasi,
jarak jauh.
Penelitian ini diharapkan dapat bermanfaat bagi masyarakat yang ingin mengenal
dan mempelajari kode morse secara lebih detil. Selain itu, penelitian ini juga diharapkan
dapat menarik minat masyarakat terhadap penggunaan kode morse berbasis citra.
1.3. Batasan Masalah
Sistem pembangkit dan pengenalan kode morse berbasis citra terdiri dari perangkat
keras (hardware) dan perangkat lunak (software). Hardware yang digunakan berupa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
webcam, sedangkan software yang digunakan adalah matlab. Matlab digunakan untuk
mengatur seluruh proses pembangkit dan pengolahan data yang dicuplik oleh webcam.
Pada perancangan sistem ini, fokus pengerjaan pada pembuatan software komputer
untuk memproses pembangkit dan pengenal sedangkan untuk hardware berupa webcam
dengan merk Logitech C170. Berikut beberapa batasan masalah pada perancangan ini:
a. Masukkan data berasal dari display citra putih dan citra hitam pada laptop 1
dengan ukuran 14 inci.
b. Menggunakan webcam merk Logitech seri C170 yang diletakkan diatas laptop 2.
c. Posisi laptop 1 sebagai pembangkit kode morse berhadapan dengan laptop 2
sebagai pengenal kode morse.
d. Intensitas cahaya sesuai dengan cahaya lampu yang terdapat di laboratorium TA.
e. Laptop 1 dan laptop 2 untuk pengujian akan menggunakan variasi jarak.
f. Variasi sudut kemiringan antara 90° hingga -90°.
g. Pengambilan citra menggunakan webcam dengan waktu rekaman 1 menit.
h. Proses bersifat realtime.
i. Menggunakan encoding dan decoding dengan display citra gelap dan citra terang
yang ditampilkan secara bergantian berupa cahaya kedap-kedip sebagai
pembangkit dan pengenal kode morse.
j. Pembangkit dan pengenalan kode morse berbasis citra ini dibuat dengan
menggunakan software pemrograman matlab R2012a.
k. Keluarannya berupa satu kata kode morse huruf “A” – “Z” di layar monitor.
1.4. Metodologi Penelitian
Berikut langkah-langkah pengerjaan tugas akhir:
a. Studi literature
Pengumpulan bahan-bahan referensi berupa buku-buku dan jurnal-jurnal ilmiah
mengenai pengenalan suatu objek, pemrograman matlab, encoding dan
decoding.
b. Perancagan subsistem perangkat lunak
Perancangan subsistem software dan hardware. Tahap ini bertujuan untuk
mencari bentuk model yang optimal dari sistem yang akan dibuat dengan
mempertimbangkan berbagai faktor-faktor permasalahan dan kebutuhan-
kebutuhan yang ditentukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
c. Pembuatan subsistem perangkat lunak
Pembuatan subsistem software dan hardware. Sistem akan bekerja apabila user
mengetikkan kata (teks) pada laptop 1 dan laptop 2 yang ditampilkan dalam
tampilan visual yang disediakan dalam software. Setelah itu, sistem akan
membangkitkan kode morse dengan display citra gelap dan citra terang yang
secara bergantian yakni berupa cahaya kedap-kedip pada laptop 1, kemudian
pada laptop 2 sistem akan melakukan pengenalan kode morse yang akan
dilakukan dengan merekam citra gelap dan citra terang yang secara bergantian
yakni berupa cahaya kedap-kedip menggunakan webcam. Setelah itu, matlab
akan melakukan proses pengolahan video yang sudah direkam oleh webcam dan
ditampilkan berupa kata pada layar monitor.
d. Analisa dan kesimpulan
Analisa data dilakukan dengan meneliti encoding dan decoding untuk
pembangkit dan pengenal kode morse. Simbol kode morse titik dan garis
merupakan kode biner 1 sebagai citra berupa cahaya putih sedangkan spasi antar
putih dan spasi antar huruf kode biner 0 sebagai citra berupa cahaya hitam.
Laptop 1 akan mengeluarkan cahaya kedap-kedip dan selanjutnya dikonversi
oleh laptop 2 yang berfungsi sebagai pengenal. Proses tersebut diawali dengan
memasukkan kata (teks) dan kemudian akan menghasilkan keluaran berupa kata
(teks) pula.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
DASAR TEORI
2.1. Kode Morse
Kode Morse adalah sistem representasi huruf, angka, dan tanda baca dengan
menggunakan sinyal kode. Kode Morse diciptakan oleh Samuel F.B. Morse dan Alfred
Vail pada tahun 1835 [4]. Pada dasarnya kode morse merupakan metode komunikasi jarak
jauh. Kode Morse juga digunakan dan dipelajari dalam dunia kepramukaan atau
kepanduan. Dalam dunia keperamukaan kode morse disampaikan menggunakan senter
atau peluit pramuka [5]. Kode Morse dapat disampaikan dengan cara menghidupkan citra
berupa cahaya putih untuk mewakili garis dan titik serta citra berupa cahaya hitam untuk
spasi atau jeda antar karakter. Untuk menghafalkan kode ini digunakan metode yang
mengelompokkan huruf-huruf berdasarkan bagaimana huruf ini diwakili oleh kode
morsenya. Pengelompokan tersebut antara lain Alphabet dengan kode morse yang
berkebalikan antara titik dan garis. Misalnya huruf K diwakili ▬●▬ berkebalikan
dengan huruf R diwakili ●▬● [5].
Tanda-tanda morse menyimbolkan huruf-huruf, angka-angka dan sebagainya dan
diungkapkan dalam tanda-tanda dasar yang berupa “TITIK-TITIK” (“PENDEK-
PENDEK”) dan “GARIS-GARIS” (“PANJANG-PANJANG”) diisyaratkan secara tunggal
atau secara kombinasi [6].
Tentang waktu pengirimnya, hendaknya memperhatikan dengan sungguh tentang
perimbangan jeda antara “TITIK” (“PENDEK”), “GARIS” (“PANJANG”), antara
“TITIK” dan “GARIS” atau antara karakter morse, antara jeda dengan karakter yang lain
atau antara huruf, serta jeda antara kata pertama dan kata selanjutnya. Perimbangan jeda
dalam kode morse digunakan satuan “unit” [7].
Adapun ketentuan perimbangan waktu yang dimaksudkan itu adalah sebagai berikut:
a. “TITIK” atau “PENDEK” adalah 1 unit
b. “GARIS” atau “PANJANG” adalah 3 unit
c. Antara “ TITIK” dan “GARIS” atau antara karakter Morse adalah 1 unit.
Misalnya untuk menampilkan kode Morse A, yaitu:
A= ●▬
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
d. Antara jeda dengan karakter yang lain atau antara huruf adalah 3 unit. Misalnya:
U S A
e. Jeda antara kata pertama dan kata kedua adalah 7 unit. Misalnya:
KODE MORSE
Kelima ketentuan tersebut di atas merupakan pewaktuan yang dipergunakan dalam
pembuatan pembaca kodemorse agar dapat menjadi sebuah huruf atau angka atau menjadi
sederetan kata [7].
2.2. Webcam
Webcam adalah sebuah kamera video digital kecil yang dihubungkan ke komputer
melalui port USB. Sebuah webcam yang sederhana terdiri dari sebuah lensa standar,
dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar; casing (cover),
termasuk casing depan dan casing samping untuk menutupi lensa standar dan memiliki
sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar, video,
kabel support, yang dibuat dari bahan yang fleksibel. Salah satu ujungnya dihubungkan
dengan papan sirkuit dan ujung lainnya memiliki connector, kabel ini dikontrol untuk
menyesuaikan ketinggian, arah dan sudut pandang webcam. Sebuah webcam biasanya
dilengkapi dengan software, software ini mengambil gambar dari kamera digital secara
terus menerus atau pun dalam interval waktu tertentu dan menyiarkannya melalui koneksi
internet [8]. Contoh gambar webcam dapat dilihat pada Gambar 2.1.
Gambar 2.1. Webcam Logitech c170
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.3. Citra
2.3.1. Definisi Citra
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi
yang kontinus menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi
menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris
dan kolom tertentu disebut juga dengan piksel. Contohnya adalah gambar/titik diskrit
pada baris n dan kolom m disebut dengan piksel [n,m] [9].
Definisi lain dari citra menurut kamus Webster adalah “suatu representasi,
kemiripan, atau imitasi dari suatu objek atau benda”. Secara harafiah, citra (image) adalah
gambar pada bidang dwimatra (dua dimensi). Sedangkan ditinjau dari sudut pandang
matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang
dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari
berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata
pada manusia, kamera pemindai (scanner), dan sebagainya, sehingga bayangan objek
yang disebut citra tersebut terekam [10].
2.3.2. Pengolahan Citra
Pengolahan citra adalah kegiatan memperbaiki kualitas citra agar mudah
diinterpretasi oleh manusia/mesin (komputer). Inputannya adalah citra dan keluarannya
juga citra tapi dengan kualitas lebih baik dari pada citra masukan. Misal citra warnanya
kurang tajam, kabur (blurr), mengandung noise (misal bintik-bintik putih), dll sehingga
perlu ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit
diinterpretasikan karena informasi yang disampaikan menjadi berkurang.
Teknik-teknik pengolahan citra mentrasformasikan citra menjadi citra lain. Jadi,
masukkannya adalah suatu citra dan keluarannya juga citra, namun citra keluaran
mempunyai kualitas lebih baik dari pada citra masukkan [10].
2.3.3. Citra Digital
Citra (image) merupakan fungsi continue dari intensitas cahaya bidang dua
dimensi. Secara matematis fungsi intensitas cahaya pada bidang dua dimensi dinotasikan
sebagai f(x,y), dimana (x,y) merupakan koordinat pada bidang dua dimensi dan f(x,y)
merupakan intensitas cahaya pada bidang dua dimensi [11].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Sedangkan menurut Darma [12] citra digital adalah citra kontinu yang diubah
dalam bentuk diskrit, baik koordinat ruang maupun itensitas cahayanya. Pengolahan
digitalisasi terdiri dari dua proses, yaitu pencuplikan (sampling) posisi, dan kuantisasi
intensitas. Citra digital dapat dinyatakan dalam matriks dua dimensi f(x,y) dimana ‘x’ dan
‘y’ merupakan koordinat piksel dalam matriks dan ‘f’ merupakan derajat intensitas piksel
tersebut. Citra digital berbentuk matriks dengan ukuran M × N akan tersusun sebagai
berikut:
𝑓(𝑥, 𝑦) =
[
𝑓(0,0)𝑓(0,1)𝑓(0.2)… 𝑓(0, 𝑁 − 1)
𝑓(1,0)𝑓(1,1)𝑓(1,2)… 𝑓(1, 𝑁 − 1)
𝑓(2,0)𝑓(2,1)𝑓(2,2)… 𝑓(2, 𝑁 − 1). . . . .: ∶ ∶ ∶ ∶
𝑓(𝑀 − 1,0)𝑓(𝑀 − 1,1)𝑓(𝑀 − 1,2) …𝑓(𝑀 − 1,𝑁 − 1)]
(2.1)
Suatu citra f(x,y) dalam fungsi matematis dapat dituliskan sebagai berikut:
0≤x≤M-1
0≤y≤N-1
0≤f(x,y)≤G-1
Dimana :
M= banyaknya baris pada array citra
N= banyaknya kolom pada array citra
G= banyaknya skala keabuan (graylevel)
Interval (0,G) disebut skala keabuan (grayscale). Besar G tergantung pada proses
digitalisasinya. Biasanya keabuan 0 (nol) menyatakan intensitas hitam dan G menyatakan
intensitas putih untuk citra 8 bit, nilai G sama dengan 28 = 256 warna (derajat keabuan)
[12].
a. RGB
Suatu citra biasanya mengacu ke citra RGB. Sebenarnya bagaimana citra
disimpan dan dimanipulasi dalam komputer diturunkan dari teknologi televisi,
yang pertama kali mengaplikasikannya untuk tampilan grafis komputer. Jika
dilihat dengan kaca pembesar, tampilan monitor komputer akan terdiri dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
sejumlah triplet titik warna merah (RED), hijau (GREEN) dan biru (BLUE).
Tergantung pada pabrik monitornya untuk menentukan apakah titik tersebut
merupakan titik bulat atau kotak kecil, tetapi akan selalu terdiri dari 3 triplet
red, green dan blue.
Citra dalam komputer tidak lebih dari sekumpulan sejumlah triplet
dimana setiap triplet terdiri atas variasi tingkat keterangan (brightness) dari
elemen red, green dan blue. Representasinya dalam citra, triplet akan terdiri
dari 3 angka yang mengatur intensitas dari Red (R), Green (G) dan Blue (B)
dari suatu triplet. Setiap triplet akan merepresentasikan 1 pixel (picture
element) dari suatu triplet. Setiap triplet dengan nilai 67, 228 dan 180 berarti
akan mengeset nilai R ke nilai 67, G ke nilai 228 dan B ke nilai 180. Angka-
angka RGB ini yang seringkali disebut dengan color values. Pada format bmp,
citra pixel pada citra direpresentasikan dengan 24 bit, 8 bit untuk R, 8 bit untuk
G dan 8 bit untuk B [13]. Pengaturan citra RGB dapat dilihat pada gambar 2.2.
Gambar 2.2. Pengaturan Citra RGB [13]
b. Citra Grayscale
Citra dikatakan sebagai citra grayscale apabila sebuah citra tidak
memiliki warna RGB atau dapat dikatakan sebuah citra yang memiliki mulai
dari putih yang memiliki intensitas paling besar sampai hitam yang memiliki
intensitas paling rendah seperti yang dapat dilihat pada gambar 2.3. Citra
Grayscale terdiri dari x dan y dalam spesial koordinat dan memiliki nilai
intensitasnya masing-masing. Pada citra grayscale setiap gambar memiliki
intensitas antara 0 (hitam) hingga 255 (putih) dalam citra bitnya [14].
Gambar 2.3.Intensitas Grayscale [14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Gambar 2.4.Citra grayscale yang diubah menjadi nilai matriks [15]
Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra
yang mengandung warna-warna RGB (red, green dan blue kemudian dibagi
tiga sehingga didaptkan nilai rata-rata dari ketiga warna [14].
𝐼 =𝑅+𝐺+𝐵
3 (2.2)
c. Citra Biner (Binary Images)
Dalam sebuah citra biner, setiap pixel hanya mempunyai dua
kemungkinan nilai, seperti on dan off . Sebuah citra biner disimpan dalam
matriks dengan nilai 0 (off) dan 1 (on). Sebuah citra biner dapat dianggap
sebagai tipe khusus dari citra intensitas yang hanya berisi hitam dan putih.
Selain itu, kita juga dapat menyatakan sebagai citra ber-indeks dengan hanya
dua warna.
Sebuah citra biner dapat disimpen dengan tipe double atau unit8 (kakas
pengolahan citra pada matlab tidak mendukug citra biner bertipe unit 16).
Sebuah array bertipe unit8 menggunakan lebih sedikit memori [16]. Di bawah
ini adalah Gambar 2.5. Contoh citra biner.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.5.Contoh Gambar Citra Biner [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
BAB III
PERANCANGAN PEMBANGKIT DAN PENGENAL
KODE MORSE BERBASIS CITRA
Dalam perancangan pembangkit dan pengenal kode morse berbasis citra,
diperlukan acuan untuk membuatnya. Karena itu penulis memulai dengan membuat
diagram kotak sebagai gambaran untuk pembuatannya. Setelah diagram kotak dibuat,
penulis mulai membuat program pembangkit dan pengenal kode morse berbasis citra
dengan software matlab. Penulis membutuhkan diagram alir yang biasa disebut dengan
flow chart. Flow chart tersebut digunakan untuk memberi kemudahan serta menghindari
kesalahan yang mungkin terjadi dalam proses pembuatan program ini. Fungsi dari flow
chart benar-benar akan terlihat jika penulis atau disebut juga programmer melakukan
kesalahan dalam membuat program tersebut. Jadi, dapat disimpulkan bahwa flow chart
memiliki peran vital.
Dalam perancangan pembangkit dan pengenal kode morse berbasis citra, penulis
juga menggunakan webcam C170 yang dihubungkan dengan komputer menggunakan port
USB komputer. Webcam ini digunakan sebagai penangkap kode morse berbasis citra
berupa terang dan gelap dengan proses merekam menggunakan software matlab yang
berbentuk file avi.
3.1. Sistem Keseluruhan Pembangkit dan Pengenal Kode Morse
Berbasis Citra
Sistem keseluruhan pembangkit dan pengenal kode morse berbasis cahaya secara
umum dapat digambarkan sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Gambar 3.1. Sistem keseluruhan pembangkit dan pengenal kode morse berbasis
citra
Berikut penjelasan mengenai sistem keseluruhan (Gambar 3.1.). Pertama, pengguna
yang menjalankan program ini, dapat memasukkan kata melalui program matlab dan
membangkitkan citra berupa cahaya menggunakan software matlab memalui laptop 1.
Dalam hal ini, pengguna membangkitkan citra berupa cahaya terang dan gelap
menggunakan program matlab yang mengirim kode morse berupa citra berbentuk cahaya
dengan kombinasi antara putih dan hitam. Pengguna memasukkan kata untuk mendapatkan
keluaran data berbentuk cahaya yang diinginkan.
Pada proses pengolahan data oleh laptop 1 (bagian program matlab), program akan
memproses kata yang dimasukkan oleh pengguna. Pengolahan kata tersebut akan
menghasilkan kode morse dalam bentuk cahaya yang merupakan kombinasi tampilan
hitam dan putih, sedangkan proses pengolahan data oleh laptop 2 akan mengenali cahaya
(kombinasi tampilan hitam dan putih) yang menghasilkan kata (teks) kode morse yang
diinginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
3.2. Sistem Pembangkit dan Pengenal Kode Morse Berbasis Citra
Blok sistem pembangkit dan pengenal kode morse berbasis citra secara keseluruhan
diperlihatkan pada Gambar 3.2.
Gambar 3.2. Blok diagram sistem pembangkit dan pengenalan kode morse berbasis
citra
Sistem pembangkit dan pengenal kode morse berbasis citra terdiri dari software
pada laptop yang berfungi sebagai user interface dalam proses pembangkit dan pengenal
sandi morse berbasis citra. Software dibuat menggunakan program matlab yang berperan
sebagai pusat pengaturan semua proses pembangkit dan pengenalan kode morse berbasis
citra, seperti merekam cahaya morse dan mengenali cahaya morse yang terekam.
Perekaman cahaya dilakukan oleh laptop memalui webcam. Berikut penjelasan mengenai
diagram Blok (Gambar 3.2.):
a. Laptop 1
Laptop 1 pada pembangkit kode morse berbasis citra ini berguna untuk
mengkodingkan kata (teks) kode morse yang menghasilkan citra berupa cahaya
(putih dan hitam). Dalam proses pengkodingan kata morse ini menggunakan
software matlab.
b. Webcam
Webcam yang digunakan adalah Logitech C170. Webcam berfungsi untuk
merekam kode morse yang berupa citra berupa cahaya putih dan hitam dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
menyalurkan ke port USB pada laptop 2 dengan proses merekam menggunakan
software matlab.
c. Laptop 2
Laptop 2 pada pengenalan kode morse berbasis citra ini berguna untuk merekam
kode morse yang dikirimkan dari laptop 1 yang berupa citra (putih dan hitam).
Perekaman tersebut dilakukan dengan webcam yang menggunakan software
matlab dan menghasilkan file avi, dari file avi ini melakukan proses dalam
pengenalannya yang menghasilkan kata (teks) sebagai keluarannya.
3.3. Webcam
Webcam yang digunakan dalam proses pengenalan kode morse adalah webcam
dengan merk Logitech seri c170. Gambar terdapat pada BAB II. Webcam ini juga memiliki
software pendukung seperti zoom in dan zoom out sehingga dapat mempermudah
pengguna dalam melakukan pengaturan memalui laptop. Proses pengambilan citra kode
morse menggunakan resolusi 320x240 piksel. Spesifikasi webcam dapat di lihat pada tabel
3.1.
Tabel 3.1. Spesifikasi Webcam Logitech c170
High definition video (HD) HD 170
Photo Quality 5 Megapixel
Video Quality VGA
Focus Type Always Focused
Auto light Correction -
Built-in mic Yes
3.4. Proses Pembangkit Kode Morse
Proses pembangkit kode morse ini adalah proses citra berupa cahaya kedap-kedip
dengan bentuk cahaya hitam dan putih yang diproses pada laptop 1 dan dikirim untuk
dikenali kode morsenya. Tahap yang akan dilakukan dalam proses ini terdiri dari masukan
kata (teks), proses pembangkit citra berupa cahaya kode morse, dan keluaran cahaya
kedap-kedip dapat dilihat pada gambar 3.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Gambar 3.3. Blok diagram proses pembangkit kode morse
3.4.1. Masukan Kata (Teks)
Tahap pertama yang dilakukan pada proses ini adalah memasukkan kata (teks).
User dapat memasukkan kata menggunakan laptop 1.
3.4.2. Pembangkit Citra Kode Morse
Proses pembangkit citrakode morse ini akan dilakukan dengan menggunakan laptop
1. Proses pembangkit kode morse ini berguna untuk menampilkan citra berupa cahaya
hitam dan putih dengan menggunakan matriks 0 sebagai hitam dan matriks 1 sebagai putih.
Dalam proses pembangkit kode morse ini menyamakan dengan look up table (lampiran 1)
sebagai kode morsenya.
3.4.3. Citra berupa Cahaya Kedap-kedip
Proses pembangkit kode morse ini menampilkan citra berupa cahaya kedap-kedip
yang merupakan hasil keluaran dari laptop 1 yang selanjutnya akan di proses pada laptop 2
sebagai proses pengenalan kode morse.
3.5. Proses Pengenal Kode Morse
Proses pengenalan kode morse ini adalah proses alat stasioneri yang diambil atau
direkam agar kode morsenya dapat dikenali. Tahap yang akan dilakukan dalam proses ini
terdiri dari input citra berupa cahaya kedap-kedip, rekaman, preprocessing, decoding, dan
output kata (teks) dapat dilihat pada gambar 3.4.
Gambar 3.4. Blok diagram proses pengenalan kode morse
Pembangkit citra
kode morse
Citra berupa
cahaya kedap-kedip
Masukan kata
(teks)
Rekaman Preprocessing Decodingkata
(teks)
Citra berupa
cahaya kedap-kedip
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.5.1. Citra berupa Cahaya Kedap-kedip
Citra berupa cahaya kedap-kedip ini merupakan cahaya kode morse yang di
tampilkan pada laptop 1 yang sebagai awal untuk melakukan proses selanjutnya.
3.5.2. Rekaman
Tahap rekaman ini akan diambil menggunakan webcam dan kode morse yang
direkam oleh webcam akan disimpan dalam format avi. Proses tersebut dapat dilihat pada
gambar 3.5.
Gambar 3.5. Blok diagram proses rekaman
3.5.3. Preprocessing
Tahap ini terdiri dari input file avi, penentuan koordinat autocropping, ekstrak
frame, cropping, RGB ke Gray, histogram proyeksi vertical, average filtering,
downsampling, thresholding, dan kode biner sebagai keluarannya. Proses preprocessing
dapat dilihat pada gambar 3.6. Tahap ini bertujuan untuk mempersiapkan citra yang akan
dilakukan decoding agar selanjutnya dapat dilakukan proses berikutnya.
Gambar 3.6. Blok diagram proses preprocessing
Rekaman File aviCitra berupa
cahaya kedap-kedip
Ekstrak frame RGB ke Gray
DownsamplingThresholding
histogram proyeksi
vertical
AutocroppingFile avi
Kode biner
Penentuan koordinat
autocropping
Average filtering
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
3.5.4. Decoding
Proses decoding bertujuan untuk mengubah kode morse yang direkam melalui
webcam sebelumnya. Hasil dari proses decoding ini adalah kata(teks)yang merupakan hasil
akhir dari proses pengenalan kode morse. Proses decoding dapat dilihat pada Gambar 3.7,
sedangkan untuk proses decoding yang lebih terperinci dapat dilihat pada Gambar 3.13.
Gambar 3.7. Blok diagram proses decoding
3.5.5. Kata (teks)
Kata (teks) merupakan hasil terakhir pada proses pengenal kode morse. Pada tahap
ini hasil dari proses decoding kode morse akan ditentukan berdasarkan look up table
(lampiran 1).
3.6. Perancangan Tampilan GUI Matlab
Tampilan utama untuk program pengenal kode morse dibuat dengan menggunakan
GUI Matlab. Tampilan utama program pada GUI Matlab yang digunakan dalam penilitian
ini ditunjukkan Gambar 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Gambar 3.8. Tampilan utama sistem pengenal kode morse
Tampilan utama program dibuat agar user dapat menggunakan sistem ini dengan
mudah dan dapat mengerti hasil dari pengenal kode morse. Keterangan tampilan utama
sistem pengenal kode morse ditunjukkan pada Tabel 3.3.
Tabel 3.2. Keterangan tampilan utama sistem
Nama Bagian Deskripsi
Tombol Terima Tombol ini digunnakan untuk memulai perekaman citra
dari webcam
Tombol Selesai Tombol ini digunakan untuk mengakhiri program
Tombol Reset Tombol ini digunakan mengembalikan ketampilan awal
program
Plot Camera Untuk menampilkan plot rekaman cahaya kedap-kedip
kode morse pada webcam
Plot Sinyal Biner Untuk menampilkan plot hasil sinyal kotak dari perekaman
citra kode morse
Hasil Kode Morse Untuk menampilkan hasil pengenal kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.7. Perancangan Alur Program
Tahap perancangan program pembangkit dan pengenalan kode morse berbasis citra
ini dilakukan secara realtime yang akan dieksekusi pada user yang menjalankan program
ini. Saat tampilan utama sudah terlihat, maka proses pembangkit dan pengenalan dapat
dilakukan. Ketika program dijalankan maka akan mulai melakukan proses pembangkit
cahaya kedap-kedip yang diproses melalui laptop 1. Setelah itu, pengenalan kode morse
diproses melalui laptop 2 dengan melakukan proses perekaman dari webcam.
Pembangkit kode morse di proses pada laptop 1. Pada saat memasukkan kata (teks)
maka program akan secara otomatis menyesuaikan dengan look up table (lampiran 1)
sebagai kode karakter kode morse. Setelah mendapatkan huruf pada kata yang telah
dimasukkan, maka program akan memproses huruf sesuai dengan kode karakter untuk
menampilkan citra berupa cahaya hitam dan putih secara kedap-kedip sesuai dengan kode
karakter pada huruf. Citra berupa cahaya hitam dan putih ini berupa matriks 0 dan matriks
1. Citra berupa cahaya putih ini diproses melalui kode karakter tiap huruf sedangkan citra
berupa cahaya hitam ini diproses dengan spasi sinyal pada kode karakter tiap huruf, spasi
antar huruf, dan spasi antar kata. Tampilan citra berupa cahaya putih dan hitam ini berupa
kode biner 1 dan 0. Tampilan citra berupa cahaya putih berisi kode biner 1 dan cahaya
hitam sendiri berisi kode biner 0.
Proses pembangkit citra berupa cahaya kode morse ini juga berupa pemberian kode
karakter kode morse untuk ditampilkan dalam cahaya kedap-kedip. Tahap pemberian kode
karakter ini menggunakan look up table (lampiran 1). Tahap ini memiliki tujuan untuk
tampilan pembangkit kode morse dengan display pada cahaya hitam dan putih agar
selanjutnya dapat mengirim untuk proses pengenalan kode morse selanjutnya. Hal ini
dilakukan agar dapat mempermudah pengiriman kode morse untuk proses pengenalannya.
Karakter yang terdapat pada look up table (lampiran 1) ini adalah huruf berupa
karakter yang terdiri dari pj sebagai panjang, pd sebagai pendek, ss sebagai spasi sinyal,
sh sebagai spasi huruf, dan sk sebagai spasi kata. Adapun ketentuan perimbangan waktu
yang dimaksudkan itu adalah “TITIK” atau “PENDEK” adalah 1 detik, “GARIS” atau
“PANJANG” adalah 3 detik, antara “ TITIK” dan “GARIS” atau antara karakter morse
adalah 1 detik. Antara jeda dengan karakter yang lain atau antara huruf adalah 3 detik. Jeda
antara kata pertama dan kata kedua adalah 7 detik. Dalam look up table berupa kode morse
pada huruf. Proses ini juga berupa simbol kode morse, dimana pj sebagai panjang berupa
cahaya putih, pd sebagai pendek juga berupa cahaya putih, ss sebagai spasi sinyal berupa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
cahaya hitam, sh sebagai spasi huruf berupa cahaya hitam, dan sk sebagai spasi kata berupa
cahaya hitam. Alur program pembangkit kode morse ini dapat dilihat pada gambar 3.9.
Gambar 3.9. Diagram alir utama pembangkit kode morse
Pengenal kode morse ini diproses pada laptop 2. Alur pembuatan program pengenal
kode morse ini melalui beberapa proses yaitu rekaman, preprocessing, dan decoding yang
dapat dilihat pada gambar 3.10. Pada tahap perekaman atau pengambilan citra kode morse
menggunakan webcam. Setelah proses record citra selesai dilakukan, selanjutnya citra
yang didapat akan diproses melalui pemrosesan citra (preprocessing), dan citra tersebut
akan di decoding. Pada proses decoding ini akan dilakukan pemrosesan kode biner ke kode
karakter dengan mendeteksi jumlah nol dan deteksi jumlah satu. Decoding pada tahap
pertama akan mendapatkan hasil kode karaktek. Proses selanjutnya akan di decoding tahap
Start
Pembangkit citra
Kode morse
Stop
Masukan:
Kata (teks)
Keluaran:
citra berupa
cahaya kedap-kedip
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
ke dua dengan kode karakter ke kata(teks). Setelah hasil dari proses decoding pengenalan
kode morse diperoleh, maka proses pengenalan kode morse selesai.
Gambar 3.10. Diagram Alir utama pengenal kode morse
Setelah proses pembangkit kode morse pada laptop 1, laptop 2 akan melakukan
proses perekaman dan pengambilan citra kode morse yang dapat dilihat pada gambar 3.11.
Saat menjalankan program maka webcam secara otomatis akan berstatus hidup atau sudah
terkoneksi (terhubung) dengan program. Setelah camera hidup maka citra berupa cahaya
kedap-kedip pada laptop 1 direkam untuk proses pengambilan citra. Untuk dapat
Start
Stop
Masukan:
Citra berupa
cahaya kedap-kedip
Keluaran:
Kata (teks)
Rekaman
Preprocessing
Decoding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
mengambil citra pada laptop 1, User menjalankan proses rekaman. Proses pengambilan
kode morse menggunakan webcam dilakukan dengan jarak. Jarak yang digunakan ini akan
menghasilkan gambar yang fokus. Fokus yang digunakan pada webcam menggunakan
fokus normal artinya pengaturan default yang sudah terpasang pada webcam.
Sebelum proses pengambilan kode morse menggunakan webcam, webcam harus
dikomunikasikan dan diinisialisasi terlebih dahulu ke dalam program matlab yang dibuat.
Proses inisialisasi dan komunikasi tersebut bertujuan untuk mengetahui nama adaptor
dalam webcam tersebut. Setelah inisialisasi dilakukan sesuai nama adaptornya yaitu
dengan resolusi kamera yang digunakan yaitu 320x240, proses komunikasi dan inisialisasi
pada webcam pun selesai. Selanjutnya, dilakukan record untuk merekam.
Gambar 3.11. Diagram alir rekaman
Start
Camera ON
Rekaman
Stop
Masukan:
Citra berupa
cahaya kedap-kedip
Keluaran:
File avi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Setelah semua tahap dalam melakukan proses pengambilan citra (record)
terlaksana, citra yang didapat pada proses pengambilan gambaran memasuki tahap
pemrosesan citra (preprocessing). Tahap preprocessing yang dilakukan meliputi proses
penentuan koordinat autocropping, ekstrak frame, cropping, RGB ke Gray, histogram
proyeksi vertikal, average filtering, downsampling dan thresholding. Penentuan koordinat
autocropping merupakan suatu proses penentuan cropping untuk menggambil bagian
tertentu untuk dilakukan proses selanjutnya.
Ekstrak frame dilakukan agar citra berupa cahaya kedap-kedip yang telah direkam
menggunakan webcam menjadi jumlah frame untuk nomor framenya. Frame diambil
hanya beberapa dari sejumlah frame yang terdapat pada hasil perekaman cahaya kedap-
kedip. Hal ini dilakukan untuk mempermudah pengenalan kode morse (lampiran 2).
Cropping merupakan suatu proses pemotongan bagian-bagian dari citra yang
diperlukan dalam suatu proses pengenalan kode morse, seperti background template. Dari
percobaan tersebut didapatkan nilai 10×10 piksel yang sesuai untuk dapat dilakukan
proses cropping (lampiran 2).
RGB ke Gray merupakan suatu proses perbaikan citra digital, citra digital yang
diambil berupa citra RGB (red, green, blue) yang kemudian dikonversi kedalam bentuk
citra grayscale. Citra digital yang sebelumnya berwarna harus diubah terlebih dahulu
dalam format grayscale karena yang difilter adalah intensitas warna dari warna hitam dan
putih pada citra digital.
Histogram proyeksi vertikal merupakan suatu tahap yang dilakukan untuk suatu
citra yang akan diproses dalam rangka penyimpanan dari citra grayscale. Hal ini dilakukan
agar dapat menyimpan citra untuk proses selanjutnya untuk kode biner pada pengolahan
citra dalam proses ekstrak frame (lampiran 2).
Average filtering suatu tahap yang dilakukan untuk suatu gambar yang akan
diproses untuk meratakan sinyal yang telah diproses dari histogram proyeksi vertikal.
Proses tersebut bertujuan untuk memudahkan meratakan sinyal yang masih runcing. Hal
ini dilakukan untuk mempermudah proses selanjutnya.
Downsampling dilakukan untuk proses histogram proyeksi vertikal yang telah
disimpan dari proses RGB ke gray dan telah melalui proses average filtering. Proses
downsampling ini bertujuan untuk memproses sinyal kotak yang tertangkap. Proses
tersebut bertujuan pula untuk mengurangi sinyal dan tetap mempertahankan periodenya.
Downsampling menghasilkan sinyal kotak yang lebih rapat (lampiran 2).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Thresholding merupakan suatu proses untuk menentukan kode biner 1 dan 0 dari
sinyal kotak dengan mengatur nilai amplitudo semua sinyal kotak yang lebih besar dari
nilai threshold sebagai latar depan dan lebih kecil dari nilai threshold. Proses thresholding
ini bertujuan untuk menghasilkan kode biner yang diinginkan (lampiran 2). Diagram alir
pemrosesan citra dapat dilihat pada gambar 3.12.
Gambar 3.12. Diagram alir pemrosesan citra (preprocessing)
Start
Ekstrak frame
Cropping
RGB ke Gray
Masukan:
file avi
Keluaran:
Kode biner
Histogram proyeksi
vertikal
Stop
Thresholding
Downsampling
Average filtering
Penentuan koordinat
autocropping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Setelah selesai melakukan pemrosesan citra (preprocessing), langkah selanjutnya
adalah proses decoding yang ditujukan untuk mengubah kode biner menjadi keluaran kata
(teks) yang direkam dalam proses preprocessing. Proses decoding bertujuan untuk
mengetahui kode biner dan kode karakter pada cahaya kedap-kedip. Secara keseluruhan,
proses decoding ini terdiri dari dua tahap. Tahap yang pertama adalah mengubah kode
biner menjadi kode karakter. Tahap pertama ini bertujuan untuk mengetahui kode biner
yang terdapat pada cahaya kedap-kedip yang kemudian akan diproses menjadi kode
karakter, sedangkan tahap yang kedua, program akan memproses kode karakter yang telah
dihasilkan dari proses tahap pertama menjadi kata (teks). Pada tahap kedua, kode karakter
akan diproses terlebi h dahulu dengan menyamakan kode karakter pada laptop 1 dengan
menggunakan proses look up table (lampiran 1). Hal ini dilakukan untuk menggetahui
huruf pada kode karakter. Lalu hasil dari decoding tahap kedua tersebut akan berupa kata
(teks).
Secara lebih rinci, proses decoding dapat dijelaskan sebagai berikut. Tahap
decoding yang pertama adalah melakukan proses deteksi jumlah nol dengan tujuan
menentukan jumlah nol dari kode biner sebagai spasi berdasar jumlah nol (tabel3.4).
Tabel 3.3. Look up table deteksi jumlah nol
Jumlah nol (n) Kode
n <n1 ss
n1≤n<n2 sh
n ≥n2 sk
Proses dilanjutkan dengan mendeteksi jumlah satu dengan tujuan menentukan
jumlah satu dari kode biner sebagai kode karakter pd dan pj berdasar jumlah satu
(tabel3.5). Nilai n dan s akan dibahas lebih lanjut di BAB IV. Berikut look up table deteksi
jumlah satu.
Tabel 3.4.Look up table deteksi jumlah satu
Jumlah satu (s) Kode
s <s1 pd
s >s1 pj
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Setelah itu, dilanjutkan dengan pengolahan “data masih” untuk menentukan
keluaran kode karakter. Tahap decoding yang kedua adalah melakukan proses deteksi spasi
antar huruf. Selanjutnya proses decoding huruf yang bertujuan untuk mendeteksi huruf
dengan menggunakan look up table (lampiran 1). Setelah itu, proses menyimpan huruf di
array dan dilanjutkan dengan pengolahan “data masih” untuk menentukan keluaran kata
(teks). Alur program decoding dapat di lihat pada gambar 3.13.
Gambar 3.13. Diagram Alir Decoding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 3.13. (Lanjutan) Diagram alir Decoding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisi tentang hasil uji coba sistem yang telah dirancang dan dibuat. Uji
coba dilakukan untuk mengetahui apakah sistem dapat bekerja dengan sesuai dengan
perancangan. Hasil pengujian berupa data-data yang menunjukkan bahwa sistem yang
telah dirancang dapat bekerja dengan baik.
4.1. Pengujian Program dan Tampilan Program Pembangkit dan
Pengenal Kode Morse Berbasis Citra
Pengujian program dan tampilan program bertujuan untuk memastikan apakah
program yang sudah dibuat dapat bekerja sesuai dengan yang telah dirancang pada bab
sebelumnya. Dalam pengujian program, user menggunakan 2 buah laptop dengan
spesifikasi:
A. Prosesor : Intel® Core ™ i5-2410M CPU @ 2.30GHz
RAM : 4.00 GB
Tipe : Sistem oprasi 32 bit
B. Prosesor : Intel® Core™ i3-2310M CPU @ 2.10GHz
RAM : 2 GB
Tipe : Sistem operasi 32 bit
Proses pembangkit dan pengenal kode morse berbasis citra dapat dilakukan dengan
menjalankan langkah-langkah di bawah ini:
1. Klik dua kali gambar ikon matlab pada layar desktop dengan gambar ikon seperti
pada gambar 4.1.
Gambar 4.1. Icon matlab R2012a
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
2. Setelah ikon matlab di klik akan muncul tampilan awal seperti pada gambar 4.2.
sebelum masuk ke tampilan utama program.
Gambar 4.2. Tampilan matlab
3. Sebelum membuka tampilan program, user harus memastikan terlebih dahulu
apakah Current Directory sudah sesuai dengan tempat penyimpanan program yang
telah dirancang sebelumnya.
4. Kemudian, user dapat mengetik perintah “transmit” pada laptop 1 di bagian
command window untuk memunculkan tampilan program pembangkit kode morse.
Maka akan muncul tampilan utama program seperti gambar 4.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Gambar 4.3. Tampilan program pembangkit kode morse
5. Setelah itu, user mengetik perintah “gui123” pada laptop 2 di bagian command
window untuk memunculkan tampilan program pengenal kode morse. Setelah itu
akan muncul tampilan program pengenal kode morse seperti pada gambar 4.4.
Gambar 4.4. Tampilan program pengenal kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
6. Setelah langkah 4 dilakukan dengan laptop 1, user dapat memasukkan kata terlebih
dahulu pada command window. Proses tersebut dilakukan untuk mengirimkan kata
yang menampilkan citra berupa penampil citra gelap dan citra terang secara
bergantian yakni berupa cahaya kedap-kedip. Tampilan gambar dapat terlihat pada
gambar 4.5.
Gambar 4.5. Citra Gelap
Gambar 4.5. Citra Terang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
7. Selanjutnya, apabila laptop 1 sudah menampilkan citra berupa cahaya kedap-kedip,
maka user dapat memulai pengenalan kode morse pada laptop 2. Proses tersebut
didahului dengan langkah 5 untuk memulai pengenal kode morse dengan menekan
tombol “TERIMA” untuk menampilkan video webcam. Hasil pengenalan kode
morse terlihat pada gambar 4.6.
Gambar 4.6. Tampilan Hasil Pengenal Kode Morse
8. Pada laptop 2, user dapat mengulang kembali pengenalan kode morse dengan
menkan tombol “RESET” dan mengulang kembali langkah 7.
9. Pada laptop 2, user dapat mengakhiri pengenalan kode morse dengan menekan
tombol “SELESAI”.
4.2. Penjelasan Program
4.2.1. Pembangkit Kode Morse
Pembangkit kode morse dapat dilakukan dengan melakukan langkah seperti yang
dijelaskan di atas. Tampilan program pembangkit kode morse dapat dilihat pada gambar
4.3. Pada tampilan pembangkit kode morse terdapat “transmit” dan “kata yang akan
dikirim”. User dapat memulai pembangkit kode morse dengan menggetik perintah terlebih
dahulu pada command window. User dapat memastikan terlebih dahulu apakah current
directory sudah sesuai dengan tempat penyimpanan program sebelum mengetik perintah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
global putih hitam
putih=single(ones(730,1360));
hitam=single(zeros(730,1360));
yang perlu dilakukan. Setelah sesuai dengan tempat penyimpanan program, user dapat
memulai pembangkit kode morse dengan menggetik perintah “transmit” dan menekan
enter untuk menjalankan program. Setelah muncul perintah “kata yang akan dikirim”, user
mengetik kata yang akan dikirim kemudian menekan enter. Hasil pembangkit kode morse
yang ditampilkan adalah citra berupa cahaya kedap-kedip.
a. Tampilan Citra Berupa Cahaya Kedap-Kedip
Untuk menampilkan citra berupa cahaya kedap-kedip pada pembangkit kode
morse, user dapat melakukan pembangkit kode morse dengan menjalankan
proses. Proses tersebut diawali dengan menggunakan display putih dan hitam
yang berupa matriks 1 dan matriks 0. Program yang digunakan untuk tampilan
citra berupa cahaya kedap-kedip ditunjukan pada gambar 4.7.
Gambar 4.7. Program Tampilan Citra Berupa Cahaya Kedap-kedip
b. Look up table kode morse
Look up table kode morse adalah proses pemberian kode karakter yang berguna
untuk tampilan citra berupa cahaya kedap-kedip. Program look up table terlihat
pada gambar 4.8.
Gambar 4.8. Program Look Up Table Kode Morse
function mkode(huruf)
switch huruf
case 'A'
pd;ss;pj;
case 'B'
pj;ss;pd;ss;pd;ss;pd;
case 'C'
pj;ss;pd;ss;pj;ss;pd;
case 'D'
pj;ss;pd;ss;pd;
case 'E'
pd;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 4.8. Lanjutan Program Look Up Table Kode Morse
case 'F'
pd;ss;pd;ss;pj;ss;pd;
case 'G'
pj;ss;pj;ss;pd;
case 'H'
pd;ss;pd;ss;pd;ss;pd;
case 'I'
pd;ss;pd;
case 'J'
pd;ss;pj;ss;pj;ss;pj;
case 'K'
pj;ss;pd;ss;pj;
case 'L'
pd;ss;pj;ss;pd;ss;pd;
case 'M'
pj;ss;pj;
case 'N'
pj;ss;pd;
case 'O'
pj;ss;pj;ss;pj;
case 'P'
pd;ss;pj;ss;pj;ss;pd;
case 'Q'
pj;ss;pj;ss;pd;ss;pj;
case 'R'
pd;ss;pj;ss;pd;
case 'S'
pd;ss;pd;ss;pd;
case 'T'
pj;
case 'U'
pd;ss;pd;ss;pj;
case 'V'
pd;ss;pd;ss;pd;ss;pj;
case 'W'
pd;ss;pj;ss;pj;
case 'X'
pj;ss;pd;ss;pd;ss;pj;
case 'Y'
pj;ss;pd;ss;pj;ss;pj;
case 'Z'
pj;ss;pj;ss;pd;ss;pd;
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Proses look up table merupakan kode karakter yang berupa kode morse. Dalam
prosesnya, kode karakter terdiri dari karakter pj sebagai panjang, pd sebagai pendek, ss
sebagai spasi sinyal, sh sebagai spasi huruf dan sk sebagai spasi kata. Karakter yang
terdapat pada look up table merupakan kode morse sebagai penampil pada citra berupa
cahaya kedap-kedip. Tampilan citra berupa cahaya kedap-kedip, sedangkan karakter pj dan
pd sebagai penampil putih dan karakter ss dan sh sebagai penampil hitam. Program
tersebut tampak pada gambar 4.9.
Gambar 4.9. Program Kode Karakter
% ===============================================
function pj
% Menampilkan window putih 3 detik
global putih
imshow(putih);
pause(3);
% ===============================================
function pd
% Menampilkan window putih 1 detik
global putih
imshow(putih);
pause(1);
% ===============================================
function ss
% Menampilkan window hitam 1 detik
% (spasi antar sinyal)
global hitam
imshow(hitam);
pause(1);
% ===============================================
function sh
% Menampilkan window hitam 3 detik
% (spasi antar huruf)
global hitam
imshow(hitam);
pause(3);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 4.9. Lanjutan Program Kode Karakter
Program tersebut memiliki karakter dengan fungsinya masing-masing. Karakter pj
menampilkan citra berupa putih dengan waktu 3 detik, karakter pd menampilkan citra
berupa putih dengan waktu 1 detik, karakter ss menampilkan citra berupa cahaya kedap-
kedip berupa hitam dengan waktu 1 detik, karakter sh menampilkan citra berupa cahaya
kedap-kedip berupa hitam 3 detik, dan karakter sk menampilkan citra berupa cahaya
kedap-kedip berupa hitam 7 detik.
4.2.2. Pengenalan kode morse
Pengenalan kode morse dapat dilakukan dengan melakukan berbagai langkah
seperti yang telah dijelaskan pada 4.1. Tampilan program pengenalan kode morse dapat
dilihat pada gambar 4.4. Pada tampilan pengenalan kode morse terdapat 2 axes, 3 push
button, dan 1 static text. User dapat memulai pengenalan kode morse dengan menekan
tombol “TERIMA”. Hasil pengenalan kode morse yang ditampilkan berupa kamera, sinyal
biner, dan kata yang berasil dikenali. User dapat mengulang pengenalan kode morse
dengan menekan tombol “RESET” dan mengakhiri pengenalan kode morse dengan
menekan tombol “SELESAI” seperti yang telah dijelaskan di 4.1.
a. Tombol “TERIMA”
Tombol “TERIMA” ini adalah tombol yang berfungsi untuk melakukan
pengenalan kode morse. User dapat melakukan pengenalan kode morse dengan
menakan tombol tersebut. Tombol “TERIMA” memulai pengenalan kode morse
dengan menjalankan beberapa subproses. Subproses yang dijalankan dimulai dari
rekaman kode morse, preprosesing, decoding, dan penentuan hasil pengenalan
% ===============================================
function sk
% Menampilkan window hitam 7 detik
% (spasi antar kata)
global hitam
imshow(hitam);
pause(7);
% ===============================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
kode morse. Program yang digunakan untuk rekaman kode morse terlihat pada
gambar 4.10.
Gambar 4.10. Program Rekaman Kode Morse
Perintah rekaman kode morse pada matlab menggunakan videoinput. Hal
tersebut dilakukan untuk memulai perintah inisialisasi sesuai nama adaptornya
yaitu “winvideo”. Resolusi kamera yang digunakan adalah 320 x 240. Setelah
inisialisasi webcam berhasil, pengambilan gambar dilakukan dengan perintah
“getsnapshot”. Kode morse yang telah terekam tersebut ditampilkan pada
program pengenalan menggunakan perintah “axes” yang telah tersedia di dalam
tampilan program penegenalan kode morse.
Proses preprosesing terdiri dari beberapa bagian program yang
digabungkan. Program-program tersebut adalah program penentuan koordinat
autocropping, ekstrak frame, RGB ke Gray, average filtering, downsampling,
vid1 = videoinput('winvideo',1, 'YUY2_320x240');
set(vid1, 'FramesPerTrigger', Inf);
set(vid1, 'ReturnedColorspace', 'rgb');
vid1.FrameGrabInterval = 1;% distance between captured
frames
start(vid1)
aviObject1 = avifile('morse700abc.avi'); % Create a new
AVI file
for iFrame = 1:900 % Capture 900 frames
% ...
% You would capture a single image I from your webcam
here
% ...
I=getsnapshot(vid1);
axes(handles.axes1)
imshow(I);
F = im2frame(I); % Convert I to a movie frame
aviObject1 = addframe(aviObject1,F); % Add the frame to
the AVI file
end
aviObject1 = close(aviObject1); % Close the AVI file
stop(vid1);
flushdata(vid1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
dan thresholding. Sebelum melakukan program preprosesing, proses program
baca file avi yang telah direkam dilakukan terlebih dahulu.
Kode morse yang telah terekam dan tersimpan dipanggil kembali
menggunakan perintah mmreader untuk melanjutkan ke preprosesing. Pada
proses preprosesing, proses penentuan koordinat autocropping berfungsi untuk
memotong bagian citra yang tidak memiliki informasi. Program penentuan
koordinat autocropping dapat terlihat pada gambar 4.11.
Gambar 4.11. Program Penentuan Koordinat Autocropping
% Baca file avi
obj=mmreader('morse700abc.avi'); % ukuran avi: 320x240
piksel
% =================================================
% Preprosesing
% =================================================
% Penentuan koordinat autocropping
m=1;
n=1;
k=1;
k=31; % Mulai frame ke 16
% Frame 1-15 (1 detik pertama)diabaikan
thx=250;
while m==1
img1=double(rgb2gray(read(obj,k)));
img2=double(rgb2gray(read(obj,k+n)));
img3=abs(img1-img2)/1000;
sum1=sum(img3);
sum2=sum(sum1);
if sum2>thx
m=0;
end
n=n+1;
if k+n>900
thx=200;
n=1;
end
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.11. Lanjutan Program Penentuan Koordinat Autocropping
Perintah double pada proses autocropping berfungsi untuk mengubah nilai
pada gambar grayscale karena nilainya masih unsigninteger, sedangkan nilai
hasil akhir dibagi 1000 sebagai normalisasi. Pada program penentuan koordinat
terdapat perintah rgb2gray. Perintah tersebut merupakan perintah untuk
mengubah format gambar rgb menjadi grayscale, sedangkan program di atas thx
sebagai penentuan nilai atau evaluasi untuk mempermudah proses autocropping.
Selanjutnya pada posisi autocropping (kiri atas) terdapat list program posx dan
posy sebagai penentu posisi autocropping. Perintah nilai 5 dan 0 pada posx dan
posy berfungsi sebagai nilai evaluasi karena nilai offset yang digunakan yaitu 10.
Nilai offset berfungsi untuk menghilangkan efek border. Nilai tersebut digunakan
karena hasil dari percobaan yang dilakukan lampiran (3). Nilai perintah [posx
posy 10 10] berfungsi sebagai cropping. Nilai dari percobaan tersebut digunakan
karena pada saat mengunakan nilai evaluasi lainnya hasil proses tersebut tidak
dapat ditampilkan secara maksimal. Selanjutnya program ekstrak frame berfungsi
untuk mengubah citra berupa cahaya kedap-kedip yang telah direkam menjadi
jumlah frame untuk nomor framenya. Program ekstrak frame seperti terlihat pada
gambar 4.12.
% Posisi autocropping (kiri atas)
sum3=sum(img3');
th1=0.8*max(sum1);
th3=0.8*max(sum3);
x1=find(sum1>th1);
y1=find(sum3>th3);
posx=x1(1)+5 % Nilai offset: 10
posy=y1(1)+0 % Nilai offset: 10
% Nilai offset --> menghilangkan efek
border
%figure(2)
img4=rgb2gray(read(obj,k-5));
img5=rgb2gray(read(obj,k));
img6=imcrop(img5,[posx posy 10 10]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4.12. Program Ekstrak Frame
List program “img7” berfungsi untuk membaca frame. Setelah frame
terbaca dilakukan proses cropping untuk pemotongan bagian dari citra yang
diperlukan dalam proses pengenalan kode morse dengan nilai 10×10 piksel.
Program RGB ke Gray merupakan suatu proses untuk citra digital yang diambil
berupa citra RGB dan kemudian dikonversi ke dalam bentuk citra grayscale.
Proses tersebut bertujuan untuk mengidentifikasi intensitas warna dari warna
hitam dan putih pada citra digital. Program RGB ke Gray dapat terlihat pada
gambar 4.13.
Gambar 4.13. Program RGB ke Gray
Perintah “double” pada program di atas berfungsi untuk mengubah nilai
pada gambar grayscale karena nilainya masih unsigninteger, sedangkan nilai
hasil akhir dibagi 3×255 sebagi normalisasi. Berikutnya program histogram
proyeksi vertikal berfungsi untuk suatu citra yang akan diproses dalam rangka
% Ekstrak frame s/d histogram
jumframe=obj.NumberOfFrames;
vhist0=[];
for a=1:5:jumframe % downsampling
img7=read(obj,a); % baca frame
img8=imcrop(img7,[posx posy 10 10]); % crop 10x10
piksel
% RGB->Gray
r=double(img8(:,:,1)); % matriks r (red)
g=double(img8(:,:,2)); % matriks g (green)
b=double(img8(:,:,3)); % matriks b (blue)
img9=(r+g+b)/(3*255);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
penyimpanan dari citra grayscale. Program histogram proyeksi vertikal seperti
terlihat pada gambar 4.14.
Gambar 4.14. Program histogram Proyeksi vertical
List program “vhist0” berfungsi untuk menyimpan citra untuk proses
selanjutnya pada pengolahan citra dalam ekstrak frame. Berikutnya program
average filtering berfungsi untuk meratakan sinyal yang terekam dengan mencari
rata-rata. Program average filtering dapat terlihat pada gambar 4.15.
Gambar 4.15. Program Average Filtering
Fungsi program “avgfilter” adalah untuk memanggil fungsi average
filtering, sedangkan fungsi average filtering adalah untuk meratakan sinyal
puncak dengan menghitung nilai rata-rata. Proses dilakukan dengan memanggil
fungsi yang sudah dibuat pada M-file dengan nama “avgfilter”. Berikutnya
program downsampling berfungsi untuk memproses sinyal kotak yang tertangkap
dan untuk mengurangi sinyal serta mempertahankan periodenya. Program
downsampling dapat terlihat pada gambar 4.16.
Gambar 4.16. Program Downsampling
Perintah “vhist0” diproses setelah hasil dari proses average filtering yang
menghasilkan sinyal kotak diproses untuk menghasilkan sinyal kotak yang lebih
rapat. Berikutnya program thresholding berfungsi untuk menentukan kode biner
1 dan 0 dari sinyal kotak. Program thresholding dapat terlihat pada gambar 4.17.
vhist0=[vhist0 sum(img9)]; % simpan histogram proyeksi
vertikal
% Average filtering
vhist0=avgfilter(vhist0);
% Downsampling
vhist1=vhist0(1:10:length(vhist0));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 4.17. Program Thresholding
Nilai “0.75” yang terdapat pada program “thresholding” berfungsi sebagai
nilai evaluasi pada sinyal kotak yang nantinya akan digunakan pada proses
threshold biner. Nilai tersebut digunakan karena sinyal yang dihasilkan pada
proses thresholding sesuai dengan kode karakter kode morse yang ditampilkan
pada laptop 1. Namun, nilai evaluasi lainnya tidak sesuai dengan kode karakter
kode morse yang ditampilkan pada laptop 1. Sinyal thresholding yang
menggunakan nilai evaluasi lainnya dapat dilihat pada lampiran (4). List program
katain berfungsi sebagai preallocation untuk katain. Dalam prosesnya terdapat
perintah “vhist1 (k)>thbin” yang berfungsi untuk menentukan threshold biner
yang nilainya lebih besar dari nilai evaluasi. Pada citra berupa cahaya kedap-
kedip yang berwarna putih bernilai 1 sedangkan yang bewarna gelap bernilai 0
untuk menampilkan sinyal biner ditampilkan pada axes2.
Proses decoding terdiri dari dua tahap. Tahap yang pertama adalah
mengubah kode biner menjadi kode karakter. Tahap pertama ini bertujuan untuk
mengetahui kode biner yang terdapat pada citra berupa cahaya kedap-kedip yang
% Thresholding untuk kode biner
%thbin=0.75*max(vhist1); % threshold biner
thbin=0.75*max(vhist1);
pjvhist1=length(vhist1);
katain=zeros(1,pjvhist1); % preallocation untuk
katain
for k=1:pjvhist1
if vhist1(k)>thbin
katain(k)=1;
end
end
katain
%tampilkan pada axes
axes(handles.axes2);
plot(katain);axis([1 pjvhist1 0 1.5]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
kemudian diproses menjadi kode karakter. Dalam proses decoding tahap pertama
terdapat program deteksi jumlah nol yang bertujuan untuk menentukan jumlah
kode biner sebagai spasi berdasar jumlah nol. Program deteksi jumlah nol dapat
terlihat pada gambar 4.18.
Gambar 4.18. Program Deteksi Jumlah Nol
Pada program di atas tertulis “kataout=[kataout ‘ss’]” yang bertujuan untuk
menentukan kode karakter ss dengan menggunakan nilai evaluasi nol lebih kecil
dari 7 maka akan dianggap sebagai kode karakter ss. Selanjutnya
“kataout=[kataout ‘sh’]” untuk menentukan kode karakter sh dengan
menggunakan nilai evaluasi nol lebih besar dari atau sama dengan 7 dan nol lebih
kecil dari atau sama dengan 15 maka kode karakter berupa sh. Setelah itu,
“kataout=[kataout ‘sk’]” untuk kode karakter berupa sk. Nilai-nilai evaluasi
% ----------------------------------------------
% Deteksi jumlah nol
% ----------------------------------------------
k=1;
m=1;
nol=0;
while k==1
if katain(m)==0
nol=nol+1;
else
k=0;
end
m=m+1;
if length(katain)<m
k=0;
end
end
% Definisi spasi berdasar jumlah nol
if nol<7
kataout=[kataout 'ss'];
elseif nol>=7 && nol<=15
kataout=[kataout 'sh'];
else
kataout=[kataout 'sk'];
end
% Pemotongan data input berdasar jumlah nol
katain(1:nol)=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
tersebut digunakan untuk menentukan kode karakter yakni mendeteksi biner 0
dengan menghitung terlebih dahulu biner berupa 0 dari proses hasil “katain”
seperti pada lampiran (5). Proses selanjutnya adalah deteksi jumlah satu dengan
tujuan menentukan jumlah satu dari kode biner. Program deteksi jumlah satu
dapat terlihat pada gambar 4.19
Gambar 4.19. Program Deteksi Jumlah Satu
Dalam menentukan kode morse berdasar jumlah satu terdapat program
“kataout=[kataout ‘pd’]” yang bertujuan untuk menentukan kode karakter pd
dengan menggunakan nilai evaluasi satu lebih kecil dari atau sama dengan 6 dan
satu lebih besar dari atau sama dengan 2 maka kode karakter berupa pd. Namun,
untuk menetukan kode karakter pj menggunakan “kataout=kataout[kataout ‘pj’]”
dengan menggunakan nilai evaluasi satu lebih besar dari 6. Nilai-nilai evaluasi
tersebut digunakan untuk menentukan kode karakter yang berupa pd maupun pj
% ----------------------------------------------
% Deteksi jumlah satu
% ----------------------------------------------
k=1;
m=1;
satu=0;
while k==1
if katain(m)==1
satu=satu+1;
else
k=0;
end
m=m+1;
if length(katain)<m
k=0;
end
end
% Definisi spasi berdasar jumlah satu
if satu<=6 && satu>=2
kataout=[kataout 'pd'];
else satu>6
kataout=[kataout 'pj'];
end
% Pemotongan data input berdasar jumlah satu
katain(1:satu)=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
dengan menghitung terlebih dahulu biner berupa 1 dari hasil “katain” seperti
pada lampiran (5).
Pada decoding tahap dua, program akan memproses kode karakter menjadi
kata yang telah dihasilkan di tahap pertama. Proses ini dilakukan dengan
mengubah kode karakter menjadi kata (teks). Proses decoding tahap kedua dapat
terlihat pada gambar 4.20.
Gambar 4.20. Program Decoding tahap kedua
Proses decoding tahap pertama yang menghasilkan kode karakter yang
berupa ss, sh, sk, pd dan pj yang akan diproses untuk mengubah menjadi kata
(teks). Program tersebut diproses dengan membandingkan kode karakter yang
telah dihasilkan oleh decoding tahap pertama. List program “kataout” hasil dari
decoding tahap pertama akan diproses dengan mencocokkan kode karakter pada
% Dekoding tahap 2 (kode karakter --> teks)
a=1;hurufin=[];katatxt=[];
while a==1
if strcmp(kataout(1:2),'sh')==0 &&
strcmp(kataout(1:2),'sk')==0
hurufin=[hurufin kataout(1:2)];
kataout(1:2)=[];
elseif strcmp(kataout(1:2),'sh')==0 &&
strcmp(kataout(1:2),'sk')==1
hurufout=kenalhuruf(hurufin);
katatxt=[katatxt hurufout];
kataout=[];
elseif strcmp(kataout(1:2),'sh')==1
hurufout=kenalhuruf(hurufin);
katatxt=[katatxt hurufout];
hurufin=[];
kataout(1:2)=[];
end
pjkataout=length(kataout);
if pjkataout==0
a=0;
end
end
katatxt
hasilout=katatxt
set(handles.text9,'string',hasilout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
axes(handles.axes1);
plot(0);
axes(handles.axes2);
plot(0);
set(handles.text9,'String',' ');
close all;
clear all;
list program “kenalhuruf” dengan menggunakan look up table. Fungsi program
“kenalhuruf” adalah sebagai look up table. Proses dilakukan dengan memanggil
fungsi yang telah dibuat pada M-file dengan nama fungsi “kenalhuruf”. Hasil
keluaran ditampilkan dengan format “set(handles.text9, ‘string’,hasilout) dimana
hasil keluaran pada text9 berupa kata (teks).
b. Tombol “RESET”
Tombol “RESET” digunakan apabila user masih ingin melakukan pengenalan
kode morse untuk kata lainnya. Tombol “RESET” berfungsi untuk mengulang
program dari awal apabila user melakukan kesalahan atau terjadi error pada saat
proses pengenalan. Program yang digunakan untuk tombol “RESET” dapat
dilihat pada gambar 4.21.
Gambar 4.21. Program Tombol Reset
c. Tombol “SELESAI”
Tombol “SELESAI” berfungsi untuk mengakhiri dan keluar dari program atau
tampilan GUI pengenalan kode morse. Program pada tombol “SELESAI” dapat
dilihat pada gambar 4.22.
Gambar 4.22. Program Tombol Selesai
Berdasarkan hasil pengujian tombol pada GUI pengenalan kode morse dapat
ditarik kesimpulan bahwa program sudah berjalan dengan baik dan dapat
berkerja sesuai dengan perancangan pada bab III.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.3. Pengujian dan Analisis Hasil Pengenalan Kode Morse
Pengujian program pengenalan kode morse ini bertujuan untuk melihat seberapa
besar tingkat pengenalan terhadap citra masukan. Pengujian program pengenalan kode
morse dilakukan dengan 2 tahap. Tahap yang pertama adalah pengujian untuk melihat
jarak minimum dan maksimum antara citra berupa cahaya kode morse sebagai masukan
dengan webcam. Tahap yang kedua adalah pengujian untuk melihat kemampuan
pengenalan kode morse dengan menggunakan variasi sudut kemiringan antara laptop 1
sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal kode morse.
4.3.1. Pengujian Pengenalan Variasi Jarak
Percobaan variasi jarak bertujuan untuk melihat batas jarak terdekat dan batas
terjauh antara laptop 1 sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal
kode morse. Pengujian ini dilakukan dengan beberapa langkah, yaitu:
1. Melakukan rekaman citra berupa cahaya kedap-kedip kode morse.
2. Rekaman dilakukan dengan jarak dari paling dekat dengan laptop 1 sebagai
pembangkit kode morse hingga jarak terjauh dari laptop 1 sebagai pembangkit
kode morse dengan rentang tiap jarak sebesar 20cm hingga jarak 730cm. Posisi
laptop 2 berhadapan terhadap laptop 1 dapat terlihat pada gambar 4.23.
Gambar 4.23. Posisi Laptop 1 Berhadapan Dengan Laptop 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
3. Percobaan dilakukan dengan terlebih dahulu memasukkan kata “ABC” pada
laptop 1 sebagai pembangkit kode morse.
Tabel 4.1. Pengujian kode morse
Jarak (cm) Hasil Percobaan
20 ×
30 √
40 √
60 √
80 √
100 √
200 √
300 √
400 √
500 √
520 √
540 √
560 √
580 √
600 √
620 √
640 √
680 √
700 √
720 ×
730 ×
Keterangan:
× : kode morse dikenali dengan tidak benar
√ : kode morse dikenali dengan benar
Hasil pengujian kode morse pada Tabel 4.1. merupakan sebagian hasil pengujian
kode morse berdasarkan variasi jarak, sedangkan untuk hasil lebih lengkap dapat dilihat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
pada lampiran (7). Hasil pengujian variasi jarak memperlihatkan bahwa untuk kode morse
jarak terdekat atau jarak minimum antara laptop 1 sebagai pembangkit kode morse dengan
laptop 2 sebagai pengenal kode morse adalah 30 cm, karena pada jarak dibawah 30 cm
citra berupa cahaya kedap-kedip sudah terpotong sehingga citra berupa cahaya kedap-
kedip tidak dapat dikenali. Sedangkan jarak terjauh atau jarak maksimum antara laptop 1
sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal kode morse adalah 700
cm. Pada jarak 720 cm percobaan pengenal kode morse sudah tidak dapat dikenali karena
ukuran citra berupa cahaya kedap-kedip sudah terlalu kecil sehingga pada bagian cropping
terjadi kesalahan yang menyebabkan citra berupa cahaya kedap-kedip tidak dapat dikenali
dengan benar.
4.3.2. Pengujian Pengenalan Kode Morse Berdasarkan Variasi Sudut
Percobaan ini bertujuan untuk melihat kemampuan program untuk mengenali citra
berupa cahaya kedap-kedip meskipun posisi laptop 1 sebagai pembangkit kode morse
dengan laptop 2 sebagai pengenal kode morse yang pengenalannya dengan posisi miring
dengan ketentuan sudut. Percobaan ini dilakukan dengan beberapa kententuan, yaitu:
1. Percobaan dilalukan dengan menggunakan dua jarak yang berbeda antara
laptop 1 sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal
kode morse, yaitu jarak 100 cm dan jarak 200 cm.
2. Posisi laptop 1 sebagai pembangkit kode morse tetap sedangkan posisi laptop 2
sebagai pengenal kode morse diubah-ubah sudutnya, mulai dari 90° hingga
-90° dengan rentang tiap perubahan sudut sebesar 20°.
3. Percobaan dengan memasukkan kata “ABC” dengan menggunakan laptop 1
sebagai pembangkit kode morse.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Tabel 4.2. Pengujian kode morse dengan jarak 100 cm
Sudut Hasil Percobaan
90° ×
80° √
60° √
40° √
20° √
-20° √
-40° √
-60° √
-80° √
-90° ×
Keterangan:
× : kode morse dikenali dengan tidak benar
√: kode morse dikenali dengan benar
Hasil pengujian pada Tabel 4.2. merupakan hasil pengujian versi sudut pada laptop
1 sebagai pembangkit kode morse dengan laptop 2 sebagai pengenalan kode morse
berjarak 100 cm. Tabel di atas memperlihatkan bahwa citra berupa cahaya kedap-kedip
dapat dikenali mulai dari sudut -80° hingga sudut 80°, selain di antara sudut tersebut citra
berupa cahaya kedap-kedip tidak dapat dikenali dengan benar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 4.3. Pengujian kode morse dengan jarak 200 cm
Sudut Hasil Percobaan
90° ×
80° √
60° √
40° √
20° √
-20° √
-40° √
-60° √
-80° √
-90° ×
Keterangan:
×: kode morse dikenali dengan tidak benar
√: kode morse dikenali dengan benar
Hasil pengujian pada Tabel 4.3. merupakan hasil pengujian variasi sudut pada
laptop 1 sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal kode morse
berjarak 200 cm. Tabel diatas memperlihatkan bahwa rambu dapat dikenali mulai dari
sudut -80° hingga sudut 80°, selain di antara sudut tersebut citra berupa cahaya kedap-
kedip tidak dapat dikenali dengan benar.
Hasil-hasil percobaan pengenalan kode morse berdasarkan variasi sudut
memperlihatkan bahwa kemampuan pengenalan tidak bisa hingga sudut -90° maupun
sudut 90°. Hal ini terjadi karena pada bagian cropping dan pada saat perekaman laptop 1
sebagai pembangkit kode morse dengan laptop 2 sebagai pengenal kode morse tidak dapat
menangkap citra berupa cahaya kedap-kedip terjadi kesalahan pemotongan sehingga
menyebabkan kesalahan pada saat pengenalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil percobaan dan pengujian yang telah dilakukan mulai dari tahap
perancangan sistem, implementasi, hasil pengujian, dan hasil pembahasan, maka dapat
disimpulkan bahwa:
1. Implementasi dari sistem pembangkit dan pengenal kode morse berbasis citra
secara real time sudah dapat bekerja sesuai dengan perancangan.
2. Jarak minimum antara laptop 1 sebagai pembangkit kode morse dengan laptop
2 sebagai pengenal kode morse adalah 30 cm, sedangkan jarak maksimum
antara laptop 1 sebagai pembangkit kode morse dengan laptop 2 sebagai
pengenal kode morse adalah 700 cm.
3. Variasi sudut dapat mempengaruhi tingkat pengenalan. Dari percobaan jarak
laptop 1 dengan laptop 2 sejauh 100 cm menghasilkan citra berupa cahaya
kedap-kedip dikenali antara sudut -80° hingga 80°. Dari percobaan jarak laptop
1 dengan laptop 2 sejauh 200 cm menghasilkan citra berupa cahaya kedap-
kedip dikenali antara sudut -80° hingga 80°. Semakin besar sudut kemiringan
antara laptop 1 dengan laptop 2 maka kode morse semakin tidak dapat dikenali
dengan benar.
5.2. Saran
Saran yang dapat diberikan untuk mengembangkan terkait dengan tugas akhir ini
adalah:
1. Penelitian selanjutnya diharapkan juga dapat menggunakan lampu sorot agar
kode morse dapat dikenali dengan jarak yang lebih jauh.
2. Untuk pengembangannya, dapat juga dengan membuat hardware pembangkit
dan pengenal kode morse.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
DAFTAR PUSTAKA
[1] Honggo, Hermiaty. 2009. Rancangan Perangkat Lunak Pengkodean Sandi Morse
dengan Metode BST (Binary Search Tree). Skripsi. Universitas Sumatra Utara.
[2] Munasifah. 2007. Belajar Mandiri Melalui Pramuka. Semarang: CV GHYYAS
PUTRA.
[3] Semboyan untuk Mualim Pelayaran Besar. Akademi Maritim Yogyakarta.
[4] Buku Panduan Tentang Kode Morse. Akademi Maritim Yogyakarta.
[5] Tim Esensi. 2012. Mengenal Gerakan Pramuka. Jakarta: Penerbit Erlangga.
[6] Isyarat Kode Internasional. 1999. Akademi Maritim Yogyakarta
[7] International code of signals. 2005. International Maritime Organization. London.
[8] http://shaleholic.com/pengertian-webcam-dan-jenisnya/. Diakses pada tanggal 9
April 2015.
[9] http://thesis.binus.ac.id/Doc/Bab2/. Diakses pada tanggal 11 April 2015.
[10] Erwi, Juwita. 2010. Pembuatan Perangkat Lunak Menggunakan Paradigma
Perangkat Lunak Secara Waterfall. Skripsi. Unikom.
[11] Munir, Rinaldi. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik.
Cetakan Pertama. Informatika. Bandung.
[12] Rakhmawati, Rizqa Puji. 2013. Sistem Deteksi Jenis Bunga Menggunakan Nilai HSV
dari Citra Mahkota Bunga. Skripsi. Universitas Stikubank.
[13] Alfatah, Hanif. 2007. Konversi Format Citra RGB ke Graysacle Menggunakan
Visual Basic. STMIK AMIKOM, Yogyakarta.
[14] http://library.binus.ac.id/eColls/eThesis/Bab2/2010-2-00252-if%20bab%202.
Diakses pada tanggal 24 April 2015.
[15] Putra Darma, 2009, Pengolahan Citra Digital, Penerbit Andi: Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
[16] Wijaya, Marvin CH. Prijono, Agus. 2007. Pengolahan Citra Digital Menggunakan
Matlab. Bandung: Informatika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
LAMPIRAN 1
Look up table kode morse
NO HURUF KODE
MORSE KODE KARAKTER
1. A ● ▬ pd ss pj
2. B ▬ ● ● ● pj ss pd ss pd ss pd
3. C ▬ ● ▬ ● pj ss pd ss pj ss pd
4. D ▬ ● ● pj ss pd ss pd
5. E ● pd
6. F ● ● ▬ ● pd ss pd ss pj ss pd
7. G ▬ ▬ ● pj ss pj ss pd
8. H ● ● ● ● pd ss pd ss pd ss pd
9. I ● ● pd ss pd
10. J ● ▬ ▬ ▬ pd ss pj ss pj ss pj
11. K ▬ ● ▬ pj ss pd ss pj
12. L ● ▬ ● ● pd ss pj ss pd ss pd
13. M ▬ ▬ pj ss pj
14. N ▬ ● pj ss pd
15. O ▬ ▬ ▬ pj ss pj ss pj
16. P ● ▬ ▬ ● pd ss pj ss pj ss pd
17. Q ▬ ▬ ● ▬ pj ss pj ss pd ss pj
18. R ● ▬ ● pd ss pj ss pd
19. S ● ● ● pd ss pd ss pd
20. T ▬ pj
21. U ● ● ▬ pd ss pd ss pj
22. V ● ● ● ▬ pd ss pd ss pd ss pj
23. W ● ▬ ▬ pd ss pj ss pj
24. X ▬ ● ● ▬ pj ss pd ss pd ss pj
25. Y ▬ ● ▬ ▬ pj ss pd ss pj ss pj
26. Z ▬ ▬ ● ● pj ss pj ss pd ss pd
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
LAMPIRAN 2
PERCOBAAN AWAL UNTUK SISTEM
PREPROCESSING
Tujuan:
1. Mengetahui perekaman yang dilakukan.
2. Mengetahui bentuk sinyal pada histogram proyeksi vertical, downsampling, dan
thresholding.
Gambar L2.1. Frame-frame dari file avi
Start
Masukan:
File avi
xscscs
Ekstrak frame
A
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
Penentuan koordinat
autocropping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
(a) Saat hitam (b) Saat putih
Gambar L2.2. Ekstrak frame
(a) Saat hitam (b) Saat putih
Gambar L2.3. Cropping
Gambar L2.4. Sinyal kotak
Cropping
RGB ke Gray
histogram proyeksi
vertical
B
A
Average filtering
0 200 400 600 800 1000 1200 1400 1600 1800 20000
5
10
Data ke-
Am
plit
udo
0 20 40 60 80 100 120 140 160 180 2000
5
10
Data ke-
Am
plit
udo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Gambar L2.5. Sinyal kotak downsampling
Gambar L2.6. Sinyal kotak biner
Downsampling
Thresholding
Keluaran:
kode biner
Stop
B
0 200 400 600 800 1000 1200 1400 1600 1800 20000
2
4
6
8
10
20 40 60 80 100 120 140 160 1800
0.5
1
1.5
Data ke-
Am
plit
udo
0 200 400 600 800 1000 1200 1400 1600 1800 20000
5
10
Data ke-
Am
plit
udo
0 20 40 60 80 100 120 140 160 180 2000
5
10
Data ke-
Am
plit
udo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
LAMPIRAN 3
Menentukan nilai offset x dan y dari beberapa percobaan.
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.1. Nilai X:0 dan Y:0 Gambar L3.2. Nilai X:0 dan Y:5
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.3. Nilai X:0 dan Y:10 Gambar L3.4. Nilai X:0 dan Y:15
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.5. Nilai X:5 dan Y:0 Gambar L3.6. Nilai X:5 dan Y:5
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.7. Nilai X:5 dan Y:10 Gambar L3.8. Nilai X:5 dan Y:15
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.9. Nilai X:10 dan Y:0 Gambar L3.10. Nilai X:10 dan Y:5
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.11. Nilai X:10 dan Y:10 Gambar L3.12. Nilai X:10 dan Y:15
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
(saat hitam) (saat putih) (saat hitam) (saat putih)
Gambar L3.13. Nilai X:15 dan Y:0 Gambar L3.14. Nilai X:15 dan Y:5
(saat hitam) (saat putih) (saat putih) (saat hitam)
Gambar L3.15. Nilai X:15 dan Y:10 Gambar L3.16. Nilai X:15 dan Y:15
Tabel L3. Hasil Percobaan Nilai X dan Y
Nilai
x dan y
Jarak (cm)
30 40 60 80 100 200 300 400 500 600 700
0 0 √ × √ √ √ √ √ √ √ √ √
0 5 √ √ √ √ √ √ √ √ √ √ √
0 10 √ √ √ √ √ √ √ √ √ × ×
0 15 √ √ √ √ √ √ √ × × × ×
5 0 √ √ √ √ √ √ √ √ √ √ √
5 5 √ √ √ √ √ √ √ √ √ √ √
5 10 √ √ √ √ √ √ √ √ √ × ×
5 15 √ √ √ √ √ √ √ × × × ×
10 0 √ √ √ √ √ √ √ √ × × ×
10 5 √ √ √ √ √ √ √ √ √ × ×
10 10 √ √ √ √ √ √ √ √ × × ×
10 15 √ √ √ √ √ √ √ × × × ×
15 0 √ √ √ √ √ √ √ × × × ×
15 5 √ √ √ √ √ √ √ √ × × ×
15 10 √ √ √ √ √ √ √ × × × ×
15 15 √ √ √ √ √ √ √ × × × ×
Keterangan:
× : Kode morse tidak dikenali dengan benar
√ : Kode morse dikenali dengan benar
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10100 200 300
50
100
150
200
100 200 300
50
100
150
200
2 4 6 8 10
2
4
6
8
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
Analisis dari beberapa percobaan diatas terlihat bahwa ketika menggunakan nilai x dan
y yang lebih besar dari atau sama dengan 10 untuk nilai offset, maka posisi autocropping
yang terlihat dari beberapa percobaaan diatas posisinya tidak sesuai dengan citra gelap dan
terang yang tampil secara bergantian yakni citra berupa cahaya kedap-kedip. Untuk nilai
x:0 y:5 dan x:5 y:5 terlihat pada percobaan dengan nilai tersebut dapat memproses citra
gelap dan terang, tetapi pada jarak 700 cm citra gelap dan citra terang yang tampil secara
bergantian yakni citra berupa cahaya kedap-kedip tidak terlalu tertampil pada saat proses
posisi autocropping, dikarenakan pada saat proses posisi x dan y dengan nilai tersebut
tidak sesuai dengan citra gelap dan terang. Dalam percobaan user menggunakan nilai x:5
dan y:0 karena pada saat percobaan dengan jarak yang terjauh yakni 700 cm nilai offset
tersebut masih dapat terlihat jelas untuk citra gelap dan citra terang yang tampil secara
bergantian yakni citra berupa cahaya kedap-kedip.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
LAMPIRAN 4
Pengaruh nilai thresholding pada sinyal biner yang dihasilkan.
L4.1. Nilai Thresholding 0.25
L4.2. Nilai Thresholding 0.5
L4.3. Nilai Thresholding 0.75
0 200 400 600 800 1000 1200 1400 1600 1800 20000
2
4
6
8
10
20 40 60 80 100 120 140 160 1800
0.5
1
1.5
Data ke-
Am
plit
udo
0 200 400 600 800 1000 1200 1400 1600 1800 20000
2
4
6
8
10
20 40 60 80 100 120 140 160 1800
0.5
1
1.5
Data ke-
Am
plit
udo
0 200 400 600 800 1000 1200 1400 1600 1800 20000
2
4
6
8
10
20 40 60 80 100 120 140 160 1800
0.5
1
1.5
Data ke-
Am
plit
udo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
L4.4. Nilai Thresholding 1
Tabel L4. Hasil Percobaan Untuk Nilai Thresholding 0,5 dan 0,75
Th Jarak (cm)
30 40 60 80 100 200 300 400 500 600 700
0,5 × √ √ √ √ √ √ √ √ √ √
0,75 √ √ √ √ √ √ √ √ √ √ √
Keterangan:
× : Kode morse tidak dikenali dengan benar
√ : Kode morse dikenali dengan benar
Analisis dari hasil pecobaan pada nilai thresholding pada sinyal biner yang digunakan
dapat terlihat di atas bahwa dengan menggunakan nilai 0,5 dan 0,75 dalam percobaan
sinyal binernya sama dengan kode karakter kode morse yang ditampilkan pada laptop 1.
Pada percobaan dengan nilai 0,25 dan 1 sinyal binernya tidak sesuai dengan kode karakter
kode morse yang digunakan pada laptop 1. Pada percobaan dengan menggunakan nilai
thresholding 0,5 dengan jarak 30 cm sinyal biner yang ditamilkan tidak sesuai dengan kode
karakter yang terdapat pada laptop 1, sehingga dalam proses menggunakan nilai tersebut
kode morsenya tidak dikenali. Dalam percobaan user menggunakan nilai 0,75 dikarenakan
nilai tersebut sesuai dengan beberapa percobaan yang dilakukan dengan jarak yang
berbeda-beda.
0 200 400 600 800 1000 1200 1400 1600 1800 20000
2
4
6
8
10
20 40 60 80 100 120 140 160 1800
0.5
1
1.5
Data ke-
Am
plit
udo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
LAMPIRAN 5
Deret biner keluaran.
Masukkan : ABC
Per
cobaa
n 3
00 c
m
‘0’:
38
‘1
’:5
‘0’:
5 ‘1
’:1
3
‘0
’:13
‘1’:
13
‘0
’:6
‘1
’:4
‘0
’:5
‘1’:
5 ‘0
’:5
‘1’:
4 ‘0
’:1
3
‘1’:
14
‘0
’:5
‘1
’:4
‘0
’:5
‘
1’:
14
‘0
’:4
‘1
’:5
‘
0’:
18
0…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01
…10…
01…
10…
0
sk
pd ss
p
j sh
p
j ss
pd s
s pd ss
p
d sh
pj
ss
pd ss
pj
ss pd sk
Per
coba
an 5
00 c
m
‘0
’:3
3
‘1’:
5 ‘
0’:
4 ‘
1’:
14 ‘
0’:
14 ‘
1’:
13
‘0
’:4 ‘
1’:
6
‘0
’:4
‘1’:
5 ‘
0’:
4 ‘1
’:5
‘0
’:1
5 ‘1
’:1
3
‘0’:
4 ‘1
’:5
‘0
’:4
‘
1’:
14
‘0’:
5 ‘1
’:4
‘
0’:
24
0…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
0
sk
p
d ss
p
j s
h p
j ss
pd s
s p
d s
s p
d s
h pj
ss
pd ss
pj
ss
pd s
k
Per
cobaa
n 7
00 c
m
‘0
’:3
2
‘1
’:5
‘0’:
4 ‘
1’:
14 ‘
0’:
14
‘1’:
13
‘0
’:4
‘1
’:5
‘0
’:5
‘1’:
4 ‘
0’:
5 ‘
1’:
5 ‘
0’:
13
‘1
’:13
‘0
’:5
‘1
’:5
‘0
’:4
‘
1’:
14
‘0’:
5 ‘1
’:4
‘
0’:
25
0…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
01…
10…
0
s
k p
d ss
p
j sh
p
j ss
pd s
s p
d
ss
p
d s
h pj
ss
pd ss
pj
ss
p
d sk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
Tabel L5. Jumlah Nol dan Jumlah Satu
Kode Jarak (cm)
300 500 700
ss 5, 6, 5, 5, 5, 5, dan 4 4, 4, 4, 4, 4, 4, dan 5 4, 4, 5, 5, 5, 4, dan 5
sh 13 dan 13 14 dan 15 14 dan 13
sk 38 dan18 33 dan 24 32 dan 25
pd 5, 4, 5, 4, 4, dan 5 5, 6, 5, 5, 5, dan 4 5, 5, 4, 5, 5, dan 4
pj 13, 13, 14, dan 14 14, 13, 13, dan 14 14, 13, 13, dan 14
Nilai–nilai di atas dipilih untuk menentukan nilai pada proses decoding pada tahap
pertama yang berfungsi untuk melakukan proses deteksi jumlah nol. Hal tersebut bertujuan
untuk menentukan jumlah nol dari kode biner sebagai spasi berdasar jumlah nol. Pada kode
karakter ss biner nol terdapat nilai 4, 5, dan 6 dari hasil percobaan. Pada kode karakter sh,
biner nol nilainya 13, 14 dan 15 dari hasil percobaan, sedangkan pada kode karakter sk
biner nol nilainya 18, 24, 25, 32, 33, dan 38 dari hasil percobaan. Proses selanjutnya adalah
mendeteksi jumlah satu dengan tujuan untuk menentukan jumlah satu dari kode biner
sebagai kode karakter pd dan pj berdasar jumlah satu. Pada kode karakter pd biner satu
terdapat nilai 4, 5, dan 6 dari hasil percobaan dan pada kode karakter pj biner satu nilainya
13 dan 14 dari hasil percobaan. Dari percobaan yang dilakukan dengan menghitung
banyaknya jumlah nol dan jumlah satu pada biner, hasil proses “katain” user dapat
menentukan nilai untuk proses deteksi jumlah nol pada spasi berdasarkan jumlah nol
sebagai kode karakter yang berupa ss, sh, dan sk dan menentukan nilai untuk proses
deteksi jumlah satu pada spasi berdasar jumlah satu sebagai kode karakter pd dan pj.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
LAMPIRAN 6
LISTING PROGRAM
Program Utama Pembangkit
function transmit
% Fungsi kedip-kedip morse untuk TX
% Mode full screen
% pakai sinyal inisialisasi
clear all
kata=input('Kata yang akan dikirim :','s');
iptsetpref('ImshowInitialMagnification','fit');
iptsetpref('ImshowBorder','tight');
set(0,'DefaultFigureMenu','none');
set(gcf,'units','normalized','outerposition',[0 0 1 1]);
set(gcf,'NumberTitle','off');
global putih hitam
putih=single(ones(730,1360));
hitam=single(zeros(730,1360));
% Sinyal inisialisasi
sk;sk;
% Informasi yang dikirim
%kata='abc';
pjkata=length(kata);
m=1; k=1;
while k==1;
if m==pjkata
k=0;
end
huruf=kata(m);
mkode(huruf);
sh;
m=m+1;
end
sk;
%close all
% ===============================================
% Internal Function
% ===============================================
function mkode(huruf)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
switch huruf
case 'A'
pd;ss;pj;
case 'B'
pj;ss;pd;ss;pd;ss;pd;
case 'C'
pj;ss;pd;ss;pj;ss;pd;
case 'D'
pj;ss;pd;ss;pd;
case 'E'
pd;
case 'F'
pd;ss;pd;ss;pj;ss;pd;
case 'G'
pj;ss;pj;ss;pd;
case 'H'
pd;ss;pd;ss;pd;ss;pd;
case 'I'
pd;ss;pd;
case 'J'
pd;ss;pj;ss;pj;ss;pj;
case 'K'
pj;ss;pd;ss;pj;
case 'L'
pd;ss;pj;ss;pd;ss;pd;
case 'M'
pj;ss;pj;
case 'N'
pj;ss;pd;
case 'O'
pj;ss;pj;ss;pj;
case 'P'
pd;ss;pj;ss;pj;ss;pd;
case 'Q'
pj;ss;pj;ss;pd;ss;pj;
case 'R'
pd;ss;pj;ss;pd;
case 'S'
pd;ss;pd;ss;pd;
case 'T'
pj;
case 'U'
pd;ss;pd;ss;pj;
case 'V'
pd;ss;pd;ss;pd;ss;pj;
case 'W'
pd;ss;pj;ss;pj;
case 'X'
pj;ss;pd;ss;pd;ss;pj;
case 'Y'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
pj;ss;pd;ss;pj;ss;pj;
case 'Z'
pj;ss;pj;ss;pd;ss;pd;
end
% ===============================================
function pj
% Menampilkan window putih 3 detik
global putih
imshow(putih);
pause(3);
% ===============================================
function pd
% Menampilkan window putih 1 detik
global putih
imshow(putih);
pause(1);
% ===============================================
function ss
% Menampilkan window hitam 1 detik
% (spasi antar sinyal)
global hitam
imshow(hitam);
pause(1);
% ===============================================
function sh
% Menampilkan window hitam 3 detik
% (spasi antar huruf)
global hitam
imshow(hitam);
pause(3);
% ===============================================
function sk
% Menampilkan window hitam 7 detik
% (spasi antar kata)
global hitam
imshow(hitam);
pause(7);
% ===============================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
Program Utama Pengenal
function varargout = gui123(varargin)
% GUI123 MATLAB code for gui123.fig
% GUI123, by itself, creates a new GUI123 or raises the
existing
% singleton*.
%
% H = GUI123 returns the handle to a new GUI123 or the
handle to
% the existing singleton*.
%
% GUI123('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in GUI123.M with the given
input arguments.
%
% GUI123('Property','Value',...) creates a new GUI123 or
raises the
% existing singleton*.Starting from the left, property
value pairs are
% applied to the GUI before gui123_OpeningFcn gets
called. An
% unrecognized property name or invalid value makes
property application
% stop. All inputs are passed to gui123_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI
allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help gui123
% Last Modified by GUIDE v2.5 19-Oct-2015 12:13:45
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @gui123_OpeningFcn, ...
'gui_OutputFcn', @gui123_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
if nargout
[varargout{1:nargout}]=gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before gui123 is made visible.
function gui123_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data(see GUIDATA)
% varargin command line arguments to gui123 (see VARARGIN)
% Choose default command line output for gui123
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes gui123 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command
line.
function varargout = gui123_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
%clear all; %% clear all privious variables
%clc;
%warning('off','all'); %.... diable warining msg ...;
vid1 = videoinput('winvideo',1, 'YUY2_320x240');
set(vid1, 'FramesPerTrigger', Inf);
set(vid1, 'ReturnedColorspace', 'rgb');
vid1.FrameGrabInterval = 1;% distance between captured frames
start(vid1)
aviObject1 = avifile('morse700abc.avi'); % Create a new AVI
file
for iFrame = 1:900 % Capture 900 frames
% ...
% You would capture a single image I from your webcam here
% ...
%subplot(1,2,1);
I=getsnapshot(vid1);
axes(handles.axes1)
imshow(I);
F = im2frame(I); % Convert I to a movie frame
aviObject1 = addframe(aviObject1,F); % Add the frame to the
AVI file
end
aviObject1 = close(aviObject1); % Close the AVI file
stop(vid1);
flushdata(vid1);
% Baca file avi
obj=mmreader('morse700abc.avi'); % ukuran avi: 320x240 piksel
% =================================================
% Preprosesing
% =================================================
% Penentuan koordinat autocropping
m=1;
n=1;
k=1;
k=31; % Mulai frame ke 16
% Frame 1-15 (1 detik pertama)diabaikan
thx=250;
while m==1
img1=double(rgb2gray(read(obj,k)));
img2=double(rgb2gray(read(obj,k+n)));
img3=abs(img1-img2)/1000;
%img2a=abs(img1-img2)/1000;
%img3=img2a(51:190,51:270); % Cropping awal
sum1=sum(img3);
sum2=sum(sum1);
if sum2>thx
m=0;
end
n=n+1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
if k+n>900
thx=200;
n=1;
end
%k=k+1;
end
% Posisi autocropping (kiri atas)
sum3=sum(img3');
th1=0.8*max(sum1);
th3=0.8*max(sum3);
x1=find(sum1>th1);
y1=find(sum3>th3);
posx=x1(1)+5 % Nilai offset: 10
posy=y1(1)+0 % Nilai offset: 10
% Nilai offset --> menghilangkan efek border
%figure(2)
img4=rgb2gray(read(obj,k-5));
img5=rgb2gray(read(obj,k));
img6=imcrop(img5,[posx posy 10 10]);
% Ekstrak frame s/d histogram
jumframe=obj.NumberOfFrames;
vhist0=[];
for a=1:5:jumframe % downsampling
img7=read(obj,a); % baca frame
img8=imcrop(img7,[posx posy 10 10]); % crop 10x10 piksel
%figure(3),imshow(img8); % menampilkan frame yang dicrop
% RGB->Gray
r=double(img8(:,:,1)); % matriks r (red)
g=double(img8(:,:,2)); % matriks g (green)
b=double(img8(:,:,3)); % matriks b (blue)
img9=(r+g+b)/(3*255);
vhist0=[vhist0 sum(img9)]; % simpan histogram proyeksi
vertikal
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
% Average filtering
vhist0=avgfilter(vhist0);
% Downsampling
vhist1=vhist0(1:10:length(vhist0));
% Thresholding untuk kode biner
%thbin=0.75*max(vhist1); % threshold biner
thbin=0.75*max(vhist1);
pjvhist1=length(vhist1);
katain=zeros(1,pjvhist1); % preallocation untuk katain
for k=1:pjvhist1
if vhist1(k)>thbin
katain(k)=1;
end
end
katain
%tampilkan pada axes
axes(handles.axes2);
plot(katain);axis([1 pjvhist1 0 1.5]);xlabel('Data ke-
');ylabel('Amplitudo')
% =================================================
% Dekoding
% =================================================
% Dekoding tahap 1 (kode biner --> kode karakter)
a=1;
n=1;
kataout=[];
while a==1
if katain(1)==0
% ----------------------------------------------
% Deteksi jumlah nol
% ----------------------------------------------
k=1;
m=1;
nol=0;
while k==1
if katain(m)==0
nol=nol+1;
else
k=0;
end
m=m+1;
if length(katain)<m
k=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
end
end
% Definisi spasi berdasar jumlah nol
if nol<7
kataout=[kataout 'ss'];
elseif nol>=7 && nol<=15
kataout=[kataout 'sh'];
else
kataout=[kataout 'sk'];
end
% Pemotongan data input berdasar jumlah nol
katain(1:nol)=[];
% ----------------------------------------------
else
% ----------------------------------------------
% Deteksi jumlah satu
% ----------------------------------------------
k=1;
m=1;
satu=0;
while k==1
if katain(m)==1
satu=satu+1;
else
k=0;
end
m=m+1;
if length(katain)<m
k=0;
end
end
% Definisi spasi berdasar jumlah satu
if satu<=6 && satu>=2
kataout=[kataout 'pd'];
else satu>6
kataout=[kataout 'pj'];
end
% Pemotongan data input berdasar jumlah satu
katain(1:satu)=[];
% ----------------------------------------------
end
n=n+1;
pjkatain=length(katain);
if pjkatain==0
a=0;
end
end
kataout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
% Hapus dua data yang tidak perlu di kiri
kataout(1:2)=[]
% Dekoding tahap 2 (kode karakter --> teks)
a=1;hurufin=[];katatxt=[];
while a==1
if strcmp(kataout(1:2),'sh')==0 &&
strcmp(kataout(1:2),'sk')==0
hurufin=[hurufin kataout(1:2)];
kataout(1:2)=[];
elseif strcmp(kataout(1:2),'sh')==0 &&
strcmp(kataout(1:2),'sk')==1
hurufout=kenalhuruf(hurufin);
katatxt=[katatxt hurufout];
kataout=[];
elseif strcmp(kataout(1:2),'sh')==1
hurufout=kenalhuruf(hurufin);
katatxt=[katatxt hurufout];
hurufin=[];
kataout(1:2)=[];
end
pjkataout=length(kataout);
if pjkataout==0
a=0;
end
end
katatxt
hasilout=katatxt
set(handles.text9,'string',hasilout)
%===================================================
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
close all;
clear all;
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1);
plot(0);
axes(handles.axes2);
plot(0);
set(handles.text9,'String',' ');
Program Avgfilter
function vhist1=avgfilter(vhist0)
% Average filtering
for k=2:length(vhist0)-1
x1=vhist0(k-1);
x2=vhist0(k);
x3=vhist0(k+1);
vhist0(k)=(x1+x2+x3)/3;
end
vhist1=vhist0;
Program Kenalhuruf
function hurufout=kenalhuruf(hurufin)
hurufin
switch hurufin
case 'pdsspj'
hurufout='A';
case 'pjsspdsspdsspd'
hurufout='B';
case 'pjsspdsspjsspd'
hurufout='C';
case 'pjsspdsspd'
hurufout='D';
case 'pd'
hurufout='E';
case 'pdsspdsspjsspd'
hurufout='F';
case 'pjsspjsspd'
hurufout='G';
case 'pdsspdsspdsspd'
hurufout='H';
case 'pdsspd'
hurufout='I';
case 'pdsspjsspjsspj'
hurufout='J';
case 'pjsspdsspj'
hurufout='K';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
case 'pdsspjsspdsspd'
hurufout='L';
case 'pjsspj'
hurufout='M';
case 'pjsspd'
hurufout='N';
case 'pjsspjsspj'
hurufout='O';
case 'pdsspjsspjsspd'
hurufout='P';
case 'pjsspjsspdsspj'
hurufout='Q';
case 'pdsspjsspd'
hurufout='R';
case 'pdsspdsspd'
hurufout='S';
case 'pj'
hurufout='T';
case 'pdsspdsspj'
hurufout='U';
case 'pdsspdsspdsspj'
hurufout='V';
case 'pdsspjsspj'
hurufout='W';
case 'pjsspdsspdsspj'
hurufout='X';
case 'pjsspdsspjsspj'
hurufout='Y';
case 'pjsspjsspdsspd'
hurufout='Z';
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
LAMPIRAN 7
Pengujian Jarak Maksimum dan Minimum
Jarak (cm) Hasil Percobaan
20 ×
30 √
40 √
60 √
80 √
100 √
140 √
160 √
180 √
200 √
240 √
260 √
280 √
300 √
340 √
360 √
380 √
400 √
440 √
460 √
480 √
500 √
520 √
540 √
560 √
580 √
600 √
620 √
640 √
680 √
700 √
720 ×
730 ×
keterangan: ×: kode morse dikenali dengan tidak benar
√: kode morse dikenali dengan benar
Kode yang dikirim : “ABC”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI