PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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…………..
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 temanteman 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.
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 14. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah diberikan dalam penyelesaian tugas akhir ini.
Penulis
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB V KESIMPULAN DAN SARAN .............................................................................. 53 5.1. Kesimpulan ................................................................................................................... 53 5.2. Saran ............................................................................................................................. 53 Daftar Pustaka ..................................................................................................................... 54 Lampiran .............................................................................................................................. 55
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR LAMPIRAN
Lampiran 1 ........................................................................................................................... L1 Lampiran 2 ........................................................................................................................... L2 Lampiran 3 ........................................................................................................................... L5 Lampiran 4 ........................................................................................................................... L9 Lampiran 5 ......................................................................................................................... L11 Lampiran 6 ......................................................................................................................... L13 Lampiran 7 ......................................................................................................................... L25
xx
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 kebutuhankebutuhan yang ditentukan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI c.
4
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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” (“PENDEKPENDEK”) 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= ●▬
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
d.
6
Antara jeda dengan karakter yang lain atau antara huruf adalah 3 unit. Misalnya: USA
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.3.
7
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. Angkaangka 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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].
𝐼=
c.
𝑅+𝐺+𝐵 3
(2.2)
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 2.5.Contoh Gambar Citra Biner [16]
11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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:
12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2.
14
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
3.4.
High definition video (HD)
HD 170
Photo Quality
5 Megapixel
Video Quality
VGA
Focus Type
Always Focused
Auto light Correction
-
Built-in mic
Yes
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Masukan kata
Pembangkit citra
(teks)
kode morse
16
Citra berupa cahaya kedap-kedip
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.
Citra berupa cahaya kedap-kedip
Rekaman
Preprocessing
Decoding
Gambar 3.4. Blok diagram proses pengenalan kode morse
kata (teks)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
Citra berupa
Rekaman
cahaya kedap-kedip
File avi
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.
File avi
Penentuan koordinat
Ekstrak frame
autocropping
Autocropping
RGB ke Gray
histogram proyeksi vertical
Kode biner
Thresholding
Downsampling
Average filtering
Gambar 3.6. Blok diagram proses preprocessing
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 Tombol Terima
Deskripsi 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.7.
20
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
Start
Masukan: Kata (teks)
Pembangkit citra Kode morse
Keluaran: citra berupa
cahaya kedap-kedip
Stop
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
Start
Masukan: Citra berupa cahaya kedap-kedip
Rekaman
Preprocessing
Decoding
Keluaran:
Kata (teks)
Stop
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
Start
Masukan:
Citra berupa cahaya kedap-kedip
Camera ON
Rekaman
Keluaran: File avi
Stop
Gambar 3.11. Diagram alir rekaman
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 kedapkedip. 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. Start
Masukan: file avi
Penentuan koordinat autocropping
Ekstrak frame
Cropping
RGB ke Gray
Histogram proyeksi vertikal
Average filtering
Downsampling
Thresholding
Keluaran: Kode biner
Stop
Gambar 3.12. Diagram alir pemrosesan citra (preprocessing)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
ss
n1≤n
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.13. (Lanjutan) Diagram alir Decoding
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
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.
global putih hitam putih=single(ones(730,1360)); hitam=single(zeros(730,1360));
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. 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;
Gambar 4.8. Program Look Up Table Kode Morse
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Gambar 4.8. Lanjutan Program Look Up Table Kode Morse
35
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
% =============================================== 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);
Gambar 4.9. Program Kode Karakter
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
% =============================================== function sk % Menampilkan window hitam 7 detik % (spasi antar kata) global hitam imshow(hitam); pause(7); % ===============================================
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 kedapkedip 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
kode morse. Program yang digunakan untuk rekaman kode morse terlihat pada gambar 4.10.
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);
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,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
% 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
Gambar 4.11. Program Penentuan Koordinat Autocropping
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
% Posisi autocropping 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 posy=y1(1)+0 % Nilai % Nilai border
40
(kiri atas)
offset: 10 offset: 10 offset --> menghilangkan efek
%figure(2) img4=rgb2gray(read(obj,k-5)); img5=rgb2gray(read(obj,k)); img6=imcrop(img5,[posx posy 10 10]);
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
% 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
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. % RGB->Gray r=double(img8(:,:,1)); g=double(img8(:,:,2)); b=double(img8(:,:,3)); img9=(r+g+b)/(3*255);
% matriks r (red) % matriks g (green) % matriks b (blue)
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
penyimpanan dari citra grayscale. Program histogram proyeksi vertikal seperti terlihat pada gambar 4.14. vhist0=[vhist0 sum(img9)]; % simpan histogram proyeksi vertikal
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. % Average filtering vhist0=avgfilter(vhist0);
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. % Downsampling vhist1=vhist0(1:10:length(vhist0));
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
% 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]);
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 kedapkedip 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. % ---------------------------------------------% 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)=[];
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
“kataout=[kataout
dianggap sebagai
kode karakter ss.
‘sh’]” untuk menentukan
Selanjutnya
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 % ---------------------------------------------% 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)=[];
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. % 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)
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
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.
axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set(handles.text9,'String',' ');
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. close all; clear all;
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.3.
48
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 kedapkedip 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 kedapkedip 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 kedapkedip 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.
53
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
55
[16] Wijaya, Marvin CH. Prijono, Agus. 2007. Pengolahan Citra Digital Menggunakan Matlab. Bandung: Informatika.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 1 Look up table kode morse KODE
NO
HURUF
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
MORSE
L1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
Start
Masukan: File avi xscscs
Gambar L2.1. Frame-frame dari file avi Penentuan koordinat autocropping
Ekstrak frame
A
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L3
A
(a) Saat hitam
(b) Saat putih Gambar L2.2. Ekstrak frame
Cropping
(a) Saat hitam
(b) Saat putih Gambar L2.3. Cropping
RGB ke Gray
histogram proyeksi vertical
Amplitudo
10
5
0
0
200
400
600
Amplitudo
10
800
1000 Data ke-
1200
1400
1600
1800
2000
160
180
200
Gambar L2.4. Sinyal kotak
Average filtering
B
5
0
0
20
40
60
80
100 Data ke-
120
140
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L4
B
Amplitudo
10
5
Downsampling 0
0
200
400
600
800
1000 Data ke-
1200
1400
1600
1800
2000
40
60
80
100 Data ke-
120
140
160
180
200
2000
Amplitudo
10
5
0
0
10 20 8 6
Gambar L2.5. Sinyal kotak downsampling
4
Thresholding
2 0
0
200
400
600
800
20
40
60
80
1000
1200
1400
1600
1800
100 120 Data ke-
140
160
180
Amplitudo
1.5
1
0.5
0
Gambar L2.6. Sinyal kotak biner Keluaran: kode biner
Stop
100
100
100
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 3 Menentukan nilai offset x dan y dari beberapa percobaan.
2
2 50 100 150 200
4 6 8
50 100 150 200
4 6 8 10
10 200
300 2(saat 4
100 200 6 8 10 hitam)
300
100
200
300 2 4 hitam) 6 8 10 (saat
(saat putih)
Gambar L3.1. Nilai X:0 dan Y:0
Gambar L3.2. Nilai X:0 dan Y:5 2
2 50 4 100 6 150 8 200 10
200
50 100 150 200
4 6 8 10
100
300 2
4
6
200
300
100
200
300 2
8 10
(saat hitam)
(saat putih)
4
6
8 10
(saat hitam)
Gambar L3.3. Nilai X:0 dan Y:10
(saat putih)
Gambar L3.4. Nilai X:0 dan Y:15
2
2
4 50 100 6 150 8 200 10 200
(saat putih)
300 2
50 100 150 200
4 6 8 10
100 200 300 4 6 8 10
(saat hitam)
100
200
300 2
(saat putih)
Gambar L3.5. Nilai X:5 dan Y:0
4
6
8 10
(saat hitam)
(saat putih)
Gambar L3.6. Nilai X:5 dan Y:5
L5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
2 50 4 100 6 150 8 200 10 100
200
50 100 150 200
4 6 8 10
300 2
100 200 300 4 6 8 10
(saat hitam)
100
200
300 2
(saat putih)
Gambar L3.7. Nilai X:5 dan Y:10
300
50 100 150 200
4 6 8 100
200
300 2
(saat putih)
Gambar L3.9. Nilai X:10 dan Y:0
300
4
6
8 10
(saat hitam)
(saat putih)
Gambar L3.10. Nilai X:10 dan Y:5
2
2
50 4 100 6 150 8 200 10 200
(saat putih)
10 2 100 4 6 200 8 10300
(saat hitam)
100
8 10
2
504 1006 1508 200 10 200
6
Gambar L3.8. Nilai X:5 dan Y:15
2
100
4
(saat hitam)
50 100 150 200
4 6 8 10
2 100 4 6 200 8 10 300
(saat hitam)
100
200
(saat putih)
Gambar L3.11. Nilai X:10 dan Y:10
300 2
4
6
8 10
(saat hitam)
(saat putih)
Gambar L3.12. Nilai X:10 dan Y:15
L6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
2
504 1006 1508 200 10 100
200
300
50 100 150 200
4 6 8 10
100 2 4
200 300 6 8 10
(saat hitam)
100
200
300 2
(saat putih)
Gambar L3.13. Nilai X:15 dan Y:0
6
8 10
(saat putih)
2
4 50 6100 8150 10200 200
4
(saat hitam)
Gambar L3.14. Nilai X:15 dan Y:5
2
100
L7
50 100 150 200
4 6 8 10
300 2
100 200 300 4 6 8 10
(saat hitam)
100
200
(saat putih)
Gambar L3.15. Nilai X:15 dan Y:10
300 2 (saat 4 6 8 10 putih)
(saat hitam)
Gambar L3.16. Nilai X:15 dan Y:15
Tabel L3. Hasil Percobaan Nilai X dan Y Nilai Jarak (cm) x dan y 30 40 60 80 100 200 300 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
400 √ √ √ × √ √ √ × √ √ √ × × √ × ×
500 √ √ √ × √ √ √ × × √ × × × × × ×
600 √ √ × × √ √ × × × × × × × × × ×
700 √ √ × × √ √ × × × × × × × × × ×
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
8
PLAGIAT MERUPAKAN PLAGIAT MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6 4 2
LAMPIRAN 4
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000 Pengaruh nilai thresholding pada sinyal biner yang dihasilkan.
Amplitudo
1.5
10 1 8 0.5 6
4 0 2 0
0
20
40
200
400
20
40
200
400
20
40
60
80
100 120 Data ke-
140
160
180
600 Nilai 800 Thresholding 1000 1200 0.25 1400 1600 1800 2000 L4.1.
Amplitudo
1.5 10 1 8
0.56 4 0 2 0
0
60
80
100 120 Data ke-
140
160
180
600 Nilai 800Thresholding 1000 12000.5 1400 1600 1800 2000 L4.2.
Amplitudo
1.5
1
0.5
0
60
80
100 120 Data ke-
140
L4.3. Nilai Thresholding 0.75
160
180
L9
2
PLAGIAT MERUPAKAN PLAGIAT MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 0 0
200
400
600
800
20
40
60
80
1000
1200
1400
1600
1800
100 120 Data ke-
140
160
180
2000
L10
Amplitudo
1.5
1
0.5
0
L4.4. Nilai Thresholding 1
Tabel L4. Hasil Percobaan Untuk Nilai Thresholding 0,5 dan 0,75 Th
Jarak (cm) 100 200 300 √ √ √ √ √ √
30 40 60 80 0,5 √ √ √ × 0,75 √ √ √ √ Keterangan: × : Kode morse tidak dikenali dengan benar √ : Kode morse dikenali dengan benar
400 √ √
500 √ √
600 √ √
700 √ √
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.
pd
ss
sh
pj
ss
pd
ss
‘1’:5 ‘0’:4 ‘1’:14 ‘0’:14 ‘1’:13 ‘0’:4 ‘1’:6 ‘0’:4
pj
ss
pd
sh
pj
ss pd
ss
pj ss
pd
sk
‘1’:5 ‘0’:4 ‘1’:5 ‘0’:15 ‘1’:13 ‘0’:4 ‘1’:5 ‘0’:4 ‘1’:14 ‘0’:5 ‘1’:4 ‘0’:24
pd
pd
pj
sh
pj
ss
pd
ss
‘1’:5 ‘0’:4 ‘1’:14 ‘0’:14 ‘1’:13 ‘0’:4 ‘1’:5 ‘0’:5
ss
ss
pd
sh
pj
ss pd
ss
pj
ss
pd
sk
‘1’:4 ‘0’:5 ‘1’:5 ‘0’:13 ‘1’:13 ‘0’:5 ‘1’:5 ‘0’:4 ‘1’:14 ‘0’:5 ‘1’:4 ‘0’:25
pd
sk
pd
ss
pj
sh
pj
ss
pd
ss
pd ss
pd
sh
pj
ss pd
ss
pj
ss
pd
sk
0…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…0
‘0’:32
Percobaan 700 cm
sk
0…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…0
‘0’:33
Percoba an 500 cm
sk
0…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…01…10…0
‘0’:38 ‘1’:5 ‘0’:5 ‘1’:13 ‘0’:13 ‘1’:13 ‘0’:6 ‘1’:4 ‘0’:5 ‘1’:5 ‘0’:5 ‘1’:4 ‘0’:13 ‘1’:14 ‘0’:5 ‘1’:4 ‘0’:5 ‘1’:14 ‘0’:4 ‘1’:5 ‘0’:18
Percobaan 300 cm
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 5
Deret biner keluaran.
Masukkan : ABC
L11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L12
Tabel L5. Jumlah Nol dan Jumlah Satu Kode ss sh sk pd pj
300 5, 6, 5, 5, 5, 5, dan 4 13 dan 13 38 dan18 5, 4, 5, 4, 4, dan 5 13, 13, 14, dan 14
Jarak (cm) 500 4, 4, 4, 4, 4, 4, dan 5 14 dan 15 33 dan 24 5, 6, 5, 5, 5, dan 4 14, 13, 13, dan 14
700 4, 4, 5, 5, 5, 4, dan 5 14 dan 13 32 dan 25 5, 5, 4, 5, 5, dan 4 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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)
L13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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'
L14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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); % ===============================================
L15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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)); g=double(img8(:,:,2)); b=double(img8(:,:,3)); img9=(r+g+b)/(3*255); vhist0=[vhist0 sum(img9)]; vertikal end
% matriks r (red) % matriks g (green) % matriks b (blue) % simpan histogram proyeksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 ');ylabel('Amplitudo')
0
1.5]);xlabel('Data
% ================================================= % 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;
ke-
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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”
L25