PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR
PEMBANGKIT DAN PENGENAL KODE MORSE BERBASIS SUARA Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh: HERI KRISWANTO NIM : 115114005
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
MORSE CODE GENERATOR AND RECOGNIZER BASED ON SOUND Presented as Partial Fullfillment of The Requirements To Obtain Sarjana Teknik Degree In Electrical Engineering Study Program
By :
HERI KRISWANTO NIM : 115114005
ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP MOTTO :
Aku akan terus berusaha untuk mampu merubah arus..
Karena aku tidak ingin terbawa, hanyut dengan tenang dan perlahan tenggelam dari pandangan oleh keadaan dan lingkungan.
Persembahan Karya ini ku persembahkan kepada .... Tuhan Yesus yang selalu ada disetiap perjalanan hidupku. Papa, Mama danKakak-kakak yang selalu mendukungku dalam segala hal. Dan semua orang yang mengasihiku dan mendukungku dalam Tugas Akhir.
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI Sistem penyampain pesan sudah ada pada awal peradaban manusia jauh sebelum teknologi modern ada, banyak cara dan metode yang dapat digunakan,pengkodean dan suara adalah salah satu media yang digunakan, kode morse adalah salah satu bentuk penyampaian pesan melalui pengkodean dengan suara, Samuel F.B Morse berkebangsaan Amerika adalah pencetus pertama kode morse, kode morse disepakati secara internasional sehingga dapat diakui dan dipakai diseluruh dunia, masing-masing huruf, angka dan sinyal menggunakan kode titik “.” dan garis “-“ yang telah diatur mewakili setiap karakter , untuk membedakan titik dan garis digunakan perbandingan 1:3 (1 untuk titik dan 3 untuk garis). Dalam pembuatan program pembangkit dan pengenal kode morse dengan software matlab dibutuhkan 2 laptop secara bersamaan, laptop 1 sebagai pembangkit suara kode morse dengan frekuensi kiriman 1khz, laptop 2 sebagai pengenal suara kode morse, suara yang ditangkap akan melalui proses preprosesing dan dekoding, setelah melalu proses ini akan dihasilkan hasil akhir yaitu “kata/teks”. Penulis menambahkan alat penunjang berupa speaker pada laptop 1 dan mic pada laptop 2. Hasil pengambilan data pada program pengenalan suara kode morse secara real time jarak terjauh pengambilan data 5m. Kata kunci: kode morse,pembangkit dengan frekuensi kiriman (1khz), preprosesing, decoding, hasil kata/teks (real time).
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Abstract
The message delivery system has already existed since the early human civilization right before modern technology used. There was many ways and methods that can be applied, code and voice are one of them that are used. Morse is a message delivery method through codes and voices. Samuel F.B Morse, an American, was the first to introduce the Morse. It was then internationally approved so it could be allowed and used. Each letters, numbers and signals represented by period “.” And strip “-“ that was arranged to represent each characters. To differentiate period and strip codes using 1:3 ratio (1 for period and 3 for strip) In the making of Morse generator and recognizer program with matlab software, it needs 2 laptops in the same time. First laptop is used as the Morse voice constructor with 1 kHz delivery frequency and the second laptop as the Morse voice recognizer. The received voice will be processed through preprocessing and decoding. After passing through these processes, words/texts are the expected output. The writer adds the supporting tools such as speaker for laptop 1 and a mic for laptop 2. The data collective result on the Morse voice recognition program is real-time. The longest distance for data collective is 5 meters. Keywords: Morse code, constructor with 1 kHz delivery frequency, preprocessing, decoding, “words/codes” result
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Puji dan Syukur kepada Tuhan Yesus karena telah memberikan Berkat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir dengan baik, dan dapat memperoleh gelar sarjana. Dalam penulisan tugas akhir ini, penulis menyadari bahwa tidak lepas dari seluruh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan banyak terimakasih kepada: 1. Tuhan Yesus Kristus atas berkat dan anugerah-Nya kepada penulis 2. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma. 3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elekro Universitas Sanata Dharma 4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan tenang dan penuh kesabaran untuk membimbing dalam menyelesaikan penulisan Tugas Akhir ini. 5. Dr. Iswanjono, Wiwien Widyastuti, S.T., M.T., selaku dosen penguji yang telah memberikan bimbingan, saran, dan merevisi Tugas Akhir ini. 6. Papa dan Mama, serta kakak-kakak yang selalu mendoakan dan membantu segala sesuatunya sampai pencapaian menyelesaiakan studi di jenjang perkuliahan 7. Segenap staff sekretariat, dan laboran Teknik Elektro yang telah memberikan dukungan secara tidak langung dalam kelancaran tulisan tugas Akhir ini. 8. Puro Juan Handri yang selalu bersedia menemani lembur dalam menyelesaikan tugas akhir. 9. Antonnius Bertin Dua Lembang rekan seperjuangan tugas akhir morse yang selalu mau berbagi pendapat, Aprianus Paskalis Priska yang sudah mau meminjamkan laptop untuk pengambilan data. 10. Teman-teman group “SKRIPSI”, Monica Jatu, Agnes Simon Redo, Ita,Yugo dan Respati, yang selalu mengingatkan untuk selalu konsultasi dan selalu mau berbagi saran dan pendapat. 11. Yohanes yang bersedia meminjamkan mic untuk pengambilan data x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI HALAMAN JUDUL ........................................................................................... i HALAMAN PERSETUJUAN........................................................................... iii HALAMAN PENGESAHAN ................................................................................................ iv PERYATAAN KEASLIAN KARYA .................................................................................... v HALAMAN PERSEMBAHAN DAN MOTO HIDUP ........................................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................................................................. vii INTISARI .............................................................................................................................. viii ABSTRAK ............................................................................................................................... ix KATA PENGANTAR .............................................................................................................. x DAFTAR ISI ........................................................................................................................... xii DAFTAR GAMBAR ............................................................................................................. xix DAFTAR TABEL ................................................................................................................... xx
BAB I PENDAHULUAN 1.1
Latar Belakang ..................................................................................................... 1
1.2
Metodologi penelitian .......................................................................................... 2
1.3
Batasan Masalah .................................................................................................. 2
1.4
Tujuan penelitian ................................................................................................. 3
1.5
Manfaat Penelitian ............................................................................................... 3
BAB II DASAR TEORI 2.1
Penjelasan Tentang Kode Morse ......................................................................... 4
2.2
Mic ....................................................................................................................... 4
2.3
Sampling .............................................................................................................. 5
2.4
Normalisasi .......................................................................................................... 6
2.1
Sliding Window Averaging ................................................................................. 6 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN PEMBANGKIT DAN PENGENAL KODE MORSE BERBASIS SUARA 3.1
Rancangan menyeluruh pembangkit dan pengenal kode morse berbasis suara . 9
3.1.1 Laptop 1 (Pembangkit Kode Morse) ................................................................... 9 3.1.2 Speaker ............................................................................................................... 10 3.1.3 Mic ............................................................................................................ 10 3.1.4 Laptop 2 (pengenal Kode morse) .............................................................. 10 3.2
Proses Pembangkit Kode Morse Berbasis Suara .............................................. 10 3.2.1Masukan (Kata/Teks) ................................................................................. 11
3.2.2 Pembangkit Suara Kode Morse .......................................................................... 11 3.2.3 Bunyi Kode Morse .................................................................................... 11 3.3
Proses Pengenalan Kode Morse ......................................................................... 12 3.3.1 Suara Kode Morse..................................................................................... 12 3.3.2 Rekaman ................................................................................................... 12
3.3.3 Preprosesing ....................................................................................................... 13 3.3.4 Decoding ................................................................................................... 13 3.3.5 Kata/Teks .................................................................................................. 14 3.4
Perancangan Program ........................................................................................ 14 3.4.1 Proses Pembangkit Suara Kode Morse ..................................................... 15 3.4.2 Proses Pengenal Kode Morse Pada Laptop 2 .......................................... 16 3.4.3 Proses Perekaman Suara Kode Morse ...................................................... 17 3.4.4 Preprosesing .............................................................................................. 18 3.4.5 Proses Decoding Pada Laptop 2 Sebagai Pengenal Kode Morse ............. 19
BAB IV HASIL DAN PEMBAHASAN 4.1. Pengujian Program .............................................................................................. 20 xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2
Penjelasan Program Dan Proses Kerja Pembangkit Dan Pengenal Kode Morse Bebasis Suara ..................................................................................................... 21 4.2.1 Pembangkit kode morse ............................................................................ 21 4.2.2 Pengenal kode morse ................................................................................ 25
4.3
Pengujian dan Analisis Hasil Pengenalan Kode Morse ..................................... 31
BAB V KESIMPULAN DAN SARAN 5.1
Kesimpulan ........................................................................................................ 62
5.2
Saran ................................................................................................................ 46
DAFTAR PUSTAKA Sinyal yang di hasilkan pada tahap preprosesing .................................................................... L1 Look up table Morse ................................................................................................................ L4 Menghitung hasil biner untuk menentukan keluaran kode karakter, pada deteksi jumlah nol ........................................................................................................... L6 Menghitung hasil biner untuk menentukan keluaran kode karakter, pada deteksi jumlah satu. ......................................................................................................... L7 Hasil tampilan biner pada proses preprosesing .................................................................... L8 Hasil tampilan pada dekoding ................................................................................................. L9 Program pembangkit kode morse .......................................................................................... L10 Program pengenal kode morse .............................................................................................. L11 Pengenal Huruf ...................................................................................................................... L13
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Gambar 2.1 Mini Multimedia Microphone Genius MIC-01A
.................. 5
Gambar 2.2 Sinyal sebelum melewati tahap sliding window average
.................. 6
Gambar 2.3 Sinyal sesudah melewati tahap sliding window average
.................. 7
Gambar 3.1 Diagram blok rangkaian pembangkit dan pengenal kode morse
.................. 9
Gambar 3.2 Blok diagram proses terjadinya pembangkit suara kode morse
.................. 11
Gambar 3.3 Diagram blok pengenal kode morse
.................. 12
Gambar 3.4 Diagram blok proses rekaman
.................. 13
Gambar 3.5 Diagram blok preprosesing
.................. 13
Gambar 3.6 Diagram blok proses decoding
.................. 14
Gambar 3.7 flowchart pembangkit kode morse
.................. 15
Gambar 3.8 flowchart proses pengenal kode morse pada laptop 2
.................. 17
Gambar 3.9 flowchart perekaman suara kode morse
.................. 17
Gambar 3.10 flowchart preprosesing
.................. 18
Gambar 3.11 flowchart decoding pada pengenal suara kode morse
.................. 19
Gambar 4.1 Tampilan hasil akhir pada guide
.................. 21
Gambar 4.2 Program pembangkit suara kode morse
.................. 22
Gambar 4.3 Lookup table
.................. 22
Gambar 4.3 (lanjutan)Lookup table
.................. 23
Gambar 4.4 Pembagian durasi waktu yang dibangkitkan
.................. 24
Gambar 4.5 Program perekaman
.................. 25
Gambar 4.6 Program downsampling
.................. 26
Gambar 4.7 Program nilai absolute
.................. 26
Gambar 4.8 Program normalisai
.................. 26
Gambar 4.9 Program sliding window averaging
.................. 26
Gambar 4.10 Program thresholding ke biner
.................. 27
Gambar 4.11 Hasil biner pada tampilan guide
.................. 27
Gambar 4.12 Program deteksi jumlah nol
.................. 28
Gambar 4.13 Program deteksi jumlah satu
.................. 29
Gambar 4.14 Program dekoding tahap kedua 9kode karakter -> teks)
.................. 30
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.15 Program Tombol Selesai
.................. 31
Gambar 4.16 dengan kata kiriman “SANATA” dan jarak 30cm
.................. 32
Gambar 4.17 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.18 dengan nama kiriman “HERI” dan jarak 30cm
.................. 32 .................. 33
Gambar 4.19 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.20 dengan nama kiriman “Sanata” dan jarak 100cm
.................. 33 .................. 34
Gambar 4.21 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.22 dengan nama kiriman “HERI” dan jarak 100cm
.................. 34 .................. 35
Gambar 4.23 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.24 dengan nama kiriman “SANATA” dan jarak 200cm
.................. 35 .................. 36
Gambar 4.25 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.26 dengan nama kiriman “HERI” dan jarak 200cm
.................. 36 .................. 37
Gambar 4.27 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.28 dengan nama kiriman “SANATA” dan jarak 300cm
.................. 37 .................. 38
Gambar 4.29 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.30 dengan nama kiriman “HERI” dan jarak 300cm
.................. 38 .................. 39
Gambar 4.31 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.32 dengan nama kiriman “SANATA” dan jarak 400cm
.................. 39 .................. 40
Gambar 4.33 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.34 dengan nama kiriman “HERI” dan jarak 400cm
.................. 40 .................. 41
Gambar 4.35 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) xvi
.................. 41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.36 dengan nama kiriman “SANATA” 500cm
.................. 42
Gambar 4.37 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.38 dengan nama kiriman “HERI” dan jarak 500 cm
.................. 42 .................. 43
Gambar 4.39 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse) Gambar 4.40 dengan nama kiriman “HERI” dan jarak 600 cm
.................. 43 .................. 44
Gambar 4.41 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
.................. 44
Gambar 4.42 kiriman untuk kode terpanjang (jarak 200cm percobaan 1)
.................. 48
Gambar 4.43 hasil tampilan pada guide
.................. 48
Gambar 4.44 kiriman untuk kode terpanjang (jarak 200cm percobaan 2)
.................. 49
Gambar 4.45 hasil tampilan pada guide
.................. 49
Gambar 4.46 kiriman untuk kode terpanjang (jarak 200cm percobaan 3)
.................. 50
Gambar 4.47 hasil tampilan pada guide
.................. 50
Gambar 4.48 kiriman untuk kode terpanjang (jarak 200cm percobaan 4)
.................. 51
Gambar 4.49 hasil tampilan pada guide
.................. 51
Gambar 4.50 kiriman untuk kode terpanjang (jarak 200cm percobaan 5)
.................. 52
Gambar 4.51 hasil tampilan pada guide
.................. 52
Gambar 4.52 kiriman untuk kode terpanjang (jarak 200cm percobaan 6)
.................. 53
Gambar 4.53 hasil tampilan pada guide
.................. 53
Gambar 4.54 kiriman untuk kode terpanjang (jarak 30cm percobaan 1)
.................. 55
Gambar 4.55 hasil tampilan pada guide
.................. 55
Gambar 4.56 kiriman untuk kode terpanjang (jarak 30cm percobaan 2)
.................. 56
Gambar 4.57 hasil tampian pada guide
.................. 56
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.58 kiriman untuk kode terpanjang (jarak 30cm percobaan 3)
.................. 57
Gambar 4.59 hasil tampilan pada guide
.................. 57
Gambar 4.60 kiriman untuk kode terpanjang (jarak 30cm percobaan 4)
.................. 58
Gambar 4.61 hasil tampilan pada guide
.................. 58
Gambar 4.62 kiriman untuk kode terpanjang (jarak 30cm percobaan 5)
.................. 59
Gamabr 4.63 hasil tampilan pada guide
.................. 59
Gambar 4.64 kiriman untuk kode terpanjang (jarak 30cm percobaan 6)
.................. 60
Gambar 4.65 hasil tampilan pada guide
.................. 60
Gambar 4.66 hasil tampilan yang dikenal dengan baik
.................. 62
Gambar 4.67 hasil tampilan yang gagal dikenali dikenali
.................. 63
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Tabel 2.1. Spesifikasi Mini Multimedia Microphone Genius MIC-01A
.................. 5
Tabel 4.1 Tabel Hasil Pengambilan Data Percobaan
.................. 47
Tabel 4.2 Tabel Hasil Pengambilan Data Percobaan
.................. 54
Tabel 4.3 Tabel Hasil Pengambilan Data Percobaan
.................. 61
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1 Latar Belakang Sistem penyampain pesan sudah ada pada awal peradaban manusia jauh sebelum teknologi modern ada, banyak cara yang dapat digunakan, suara adalah salah satu media yang sering digunakan, baik objek dan subjek yang digunakan setidaknya dapat dimengerti oleh kedua belah pihak. Penyampaian pesan tidak selalu disampaikan secara langsung, jenis pesan juga ada yang berbentuk pribadi dan rahasia, seiring dengan perkembangan jaman dan meningkatnya pola pikir manusia maka dibuatlah pengkodean, kode atau simbol, agar pesan yang disampaikan tidak diketahui banya orang selain orang yang dituju. Samuel F.B Morse berkebangsaan Amerika adalah pencetus pertama kode morse. Kode morse disepakati secara internasional sehingga dapat diakui dan digunakan di seluruh dunia. Masing-masing huruf, angka dan sinyal menggunakan kode titik “.” dan garis “-“ yang telah diatur mewakili setiap karakter[1]. Untuk membedakan titik dan garis digunakan perbandingan 1:3 (1 untuk titik dan 3 untuk garis)[2]. Jika pada terdahulu pengkodean kode morse suara menggunakan metode peluit sebagai penghasil suara, dimana dengan metode tersebut suara pengkodean yang dihasilkan sulit untuk dimengerti oleh orang awam, untuk mempermudah penggunaan kode morse sebagai salah satu media penyampaian pesan yang masih digunakan saat ini, maka pada era baru ini dilibatkan penggunaan komputer beserta perangkat lunaknya sebagai alat yang paling efisien untuk penyusunan dan penerjemah data. Salah satu perkembangan teknologi saat ini seperti matlab, dengan sistem pemprograman pada matlab, bunyi dari kode morse yang dihasilkan dapat diterjemahkan secara langsung dan tentunya dapat dimengerti dengan mudah.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
1.2 Metodologi penelitian Pada penelitian “pembangkit dan pengenalan kode morse berbasis suara” yang menggunakan matlab, membutuhkan 2 buah laptop secara bersamaan, masing-masing dari laptop berfungsi sebagai pembangkit dan pembaca kode morse, kode morse akan dibangkitkan dari laptop 1 sebagai pembangkit, dan akan dibaca pada laptop 2 sebagai pengenal, pembacaan secara berurutan sesuai dengan data yang dikirimkan. Huruf
yang dikirimkan dari laptop 1 diproses menjadi keluaran bentuk bunyi kode
morse, suara keluaran dari pembangkit kode morse laptop 1 akan ditangkap pada computer 2 sebagai pengenal, suara yang ditangkap akan diproses dan menghasilkan teks dalam bentuk keluaran akhir, pembacaan kode morse bentuk suara pada laptop 2 berjalan secara berurutan sesuai dengan data suara keluaran dari pembangkit kode morse laptop 1.
1.3 Batasan Masalah 1. Alat
pembangkit dan pengenal kode morse dengan look up table menggunakan
matlab, yang dapat membangkit dan membaca data yang dikirimkan dan mengubah ke dalam bentuk yang berbeda (dari masukan huruf menjadi suara dan akan diproses pada pengenal kode morse dan diubah ke bentuk teks sebagai keluaran akhir) 2. Proses pembangkit dan pengenalan kode morse menggunakan 2 laptop yang berbeda, masing-masing laptop berfungsi sebagai pembangkit yang mengirimkan data berupa masukan tulisan dan keluaran bunyi, dan pengenal kode morse yang menerima data suara yang dikirimkan dan mengubah kedalam bentuk teks yang akan ditampilkan pada layar computer 2 sebagai pengenal kode morse. 3. Keluaran laptop 1 “bunyi kode morse” dan keluaran laptop 2 “kata/teks” 4. Frekuensi input suara kode morse sebesar 1Khz. 5. Hasil akhir keluaran “kata” pada laptop 2 hanya sebanyak “1 kata”. 6. Kode morse yang dikirimkan “a, b, c, d ……. z”. 7. Pengambilan data di studio rekaman. 8. Lama durasi pengambilan data percobaan 30 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
1.4 Tujuan penelitian Tujuan dari penelitian tugas akhir ini adalah untuk menghasilkan pembangkit dan pengenal kode morse berbasis suara, dengan menggunakan speaker sebagai pembangkit suara kode morse dan mic sebagai pengenal dan program matlab sebagai pengolah data.
1.5 Manfaat Penelitian Memanfaatkan kecanggihan perkembangan teknologi khususnya matlab, dengan menggunakan program matlab dapat mempermudah pembacaan kode morse, dan tentunya jeda suara yang dihasilkan akan lebih akurat jika dibandingkan dari suara peluit yang ditiupkan. Pembangkit dan pengenal kode morse dengan menggunakan matlab yang sudah diprogram dengan data penyandian yang mewakili masing-masing dari setiap huruf dan angka sesuai dengan aturan kode Morse yang ditetapkan, sehingga dalam penerapannya kita tidak perlu mengingat kembali bentuk penyandian (titik dan garis) dari masing-masing huruf yang di wakili.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI Dasar teori akan menjelaskan tentang komponen pembentukan “pembangkit dan pengenalan kode morse berbasis suara”, yang terdiri penjelasan kode morse, mic, sampling, normalisasi dan sliding window averaging.
2.1 Penjelasan Tentang Kode Morse Kode morse adalah sistem representasi huruf-huruf, huruf-huruf yang diwakili dengan menggunakan kode “titik” “ • ” dan “garis” “ - ” yang telah di atur mewakili setiap karakter sesuai dengan ketetapan yang disepakati seperti pada lampiran look up table. [1] Pada pengirim kode morse kita harus memperhatikan waktu yang diberikan pada setiap kode “titik” dan “garis” yang mewakili setiap huruf, waktu yang diberikan sesuai dengan ketetapan yang telah ditentukan yaitu 1 : 3 sesuai pada acuan [2]. Waktu yang diberikan melingkupi, lama waktu pada masing-masing kode morse “titik” “.” dan “garis” ““ jeda waktu antara karakter atau jeda waktu antara kode titik “.” Dan garis “-”, jeda waktu antara huruf. Perbedaan waktu inilah yang harus diperhatikan agar hasil suara keluaran pada morse dapat dibedakan antara kode yang mewakili huruf yang satu dengan lainnya.
2.2 Mic Penulis juga menambahkan mic pada laptop 2 , penambahan mic bertujuan sebagai alat bantu tambahan bagi laptop 2 untuk menangkap suara keluaran kode morse dari laptop 1, mikrofon yang digunakan adalah microfon jenis mini multimedia microphone Genius MIC01A. Spesifikasi dari mini multimedia microphone Genius MIC-01A dapat dilihat pada table 2.1..
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
Gambar 2.1. Mini Multimedia Microphone Genius MIC-01A Tabel 2.1. Spesifikasi Mini Multimedia Microphone Genius MIC-01A Frequency Response
100Hz~10KHz
Sensitivity
-62dB
Output Impedance
2.2KΩ @1KHz
Cable length
3.0 Meters
Audio Output Connector
3.5mm Stereo Audio Plug
2.3 Sampling Sampling adalah proses pengambilan sebuah sinyal terhadap waktu tertentu. Dalam proses sampling, sinyal suara yang diambil akan menjadi gelombang diskrit. Pada saat proses sampling , nilai frekuensi sampling harus diperhatikan. Frekuensi sampling merupakan laju pengambilan yang menandakan banyak pengambilan sinyal analog dalam satu detik. Nilai satuan frekuensi sampling yakni Hertz (Hz). Harry Nyquist dari Bell Laboratory mempelajari proses sampling dan membuat kriteria untuk menentukan laju sampling (sampling rate) minimun untuk sinyal analog kontinyu [4]. Nilai frekuensi sampling sebaiknya tertuju pada kriteria Nyquist. Saat ini laju sampling minimum dikenal sebagai Nyquist sampling rate yang menyatakan bahwa frekuensi sampling minimal harus dua kali lebih besar dari frekuensi tertinggi dari sinyal yang disampling tersebut [5]. Rumus pada kriteia Nyquist dapat dituliskan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
2.1
Keterangan :
Fs = frekuensi sampling (Hz) Fm = frekuensi sinyal analog (Hz)
2.4 Normalisasi Normalisasi adalah proses penskalaan amplitudo pada setiap sinyal untuk didapat amplitudo yang diharapkan. Normalisasi bertujuan untuk menyeragamkan nilai amplitudo dari sinyal sampel [6]. Proses normalisasi sangat diperlukan karena besarnya amplitudo suara yang dihasilkan selalu berbeda. Perhitungan matematis untuk mencari nilai normalisasi dirumuskan dengan persamaan sebagai berikut :
))
dengan keterangan sebagai berikut : 2.2
= hasil data sinyal normalisasi (1,2,3,…,N) = data masukan dari sampling (1,2,3,…,N)
2.1 Sliding Window Averaging Sliding window averaging adalah proses yang di rancang untuk mengurangi runcing pada ujung sinyal, setelah melewati proses sliding window averaging akan terlihat hasil sinyal yang lebih rapi atau mulus, pada gambar 2.2, 2.3 dan 2.4 dapat dilihat perbandingan hasil sinyal yang belum melewati dan sesudah melewati proses ini. Amplitudo
Gambar 2.2. sinyal sebelum melewati tahap sliding window average
sample ke n
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Amplitudo
Gambar 2.3. sinyal sesudah melewati tahap
sample ke n
sliding window averaging 3 titik
Amplitudo
sample ke n Gambar 2.4. sinyal sesudah melewati tahap sliding window averaging 5 titik
Adapun perumusan pada sleading window average adalah sebagai berikut : Sn = mean (Sn-m,…,Sn-1,Sn,Sn+1,…,Sn+m) Keterangan: Sn= sampel ke n m=1,2,3,….. dengan 2m+1 adalah lebar sliding window average
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN PEMBANGKIT DAN PENGENAL KODE MORSE BERBASIS SUARA Pada bab ini penulis menjelaskan tentang proses pembuatan “perancangan pembangkit dan pengenal kode morse berbasis suara”. Hal pertama yang dilakukan penulis adalah mencarian baik data kode morse yang di akui dan penjelasan tentang program matlab yang di peroleh dari buku-buku dan sumber internet yang terpercaya, sebagai acuan dari penulisan dan pembuatan
dalam program ini. penulis menggunakan software matlab sebagai program
pembangkit dan pengenal kode morse berbasis suara. Proses pembuatan program di mulai dari perrancangan diagram kotak, setelah penulis merasa sesuai, di lanjutkan pada pembuatan program dengan menggunakan diagram alir atau yang biasa di sebut dengan flow chart. Tujuan dari penggunaan diagram alir adalah untuk memudahkan penulis dalam pemuatan program “perancangan pembangkit dan pengenal kode morse berbasi suara”. Kemudahan yang di maksud adalah dalam mengantisipasi kesalahan yang mungkin terjadi. Dalam pembuatan program pembangkit dan pengenal kode morse dengan software matlab dibutuhkan dua buah komputer atau laptop , masing-masing dari laptop ini mempunya fungsi yang berbeda, laptop 1 berfungsi sebagai media pembangkit dan laptop 2 berfungsi sebagai media pengenal kode morse. Penulis menambahkan alat penunjang berupa speaker pada laptop 1 dan mic pada laptop 2.
8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
3.1
Rancangan menyeluruh pembangkit dan pengenal kode morse berbasis suara Gambar 3.1. adalah gambaran secara menyeluruh rancangan pembangkit dan pengenal
kode morse berbasis suara.
kabel
Laptop 2
Laptop 1
Pengenal kode morse
Pebangkit kode morse
mic Speaker
Gambar 3.1. Diagram blok rangkaian pembangkit dan pengenal kode morse Keterangan:
3.1.1 Laptop 1 (Pembangkit Kode Morse) Laptop satu berperan sebagai pembangkit kode morse basis suara, laptop satu yang telah di lengkapi software matlab berperan sebagai pembangkit atau bisa disebut juga sebagai pengkoding data, tahap ini adalah proses terjadinya pengkodingan dari masukan kode morse seperti pada lampiran look up table dalam bentuk kata/teks yang di ubah menjadi kode morse dalam bentuk bunyi sebagai keluarannya, kata atau teks yang menjadi masukan oleh user sesuai dengan data look up table yang ada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
3.1.2
Speaker Speaker berfungsi sebagai pembesar suara atau bunyi keluaran kode morse yang di
hasilkan dari laptop 1. Penulis menambahkan speaker aktif untuk memperkeras suara keluaran kode morse agar dapat direkam dengan jelas oleh pengenal suara kode morse pada laptop 2, penambahan speaker juga untuk memperjelas bahwa alat pembangkit dan pengenal kode morse ini di buat mendekati pada kenyataannya, dimana kode morse digunakan dalam atau pada jarak dan tempat yang berjauhan antara suara yang dikeluarkan dan penerima suara.
3.1.3
Mic Mic di tambahkan penulis dalam rancangan alat ini, untuk mendengarkan atau
menangkap suara/bunyi kode morse yang di hasilkan dari speaker laptop 1 (pembangkit kode morse), diharapkan dengan menggunakan tambahan mic agar suara yang di terima atau di tangkap dapat terbaca dan di olah dengan baik pada laptop 2 (pengenal kode morse).
3.1.4
Laptop 2 (pengenal Kode morse) Pada rancangan alat ini, laptop 2 yang telah dilengkapi software matlab, berfungsi
sebagai pengenal kode morse, pada tahap ini terjadi proses perekaman suara yang di tangkap dari pengirim kode morse (laptop 1). Perekaman dengan software matlab menghasilkan data dalam bentuk file wab. Data file wab inilah selanjutnya akan di proses di dalam pengenal kode morse (laptop 2). File wav akan diubah menjadi kata /teks sebagai keluaran atau hasil akhir kode morse.
3.2 Proses Pembangkit Kode Morse Berbasis Suara Proses pembangkit kode morse basis suara ini adalah tahap awal atau pertama yang di lakukan dalam sistem keseluruhan pembangkit kode morse, tahap pembangkit kode morse terjadi pada laptop 1 yang berfungsi sebagai pengkodingan data dari bentuk tes yang dimasukan oleh penulis atau user dan di ubah atau di proses ke dalam bentuk bunyi pada laptop 1 sebagai pembangkit sinyal morse, pada tahap ini adalah perubahan masukan kata (teks) ke bentuk keluaran berupa bunyi prosesnya dapat dilihat pada gambar 3.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
Pembangkit suara kode morse
Masukan: kata/teks
Keluaran: suara kode morse
Gambar 3.2. Blok diagram proses terjadinya pembangkit suara kode morse
Penjelasan:
3.2.1
Masukan (Kata/Teks) Masukan kata (teks) oleh user adalah tahap paling awal . jenis kata yang di masukan
juga menentukan banyaknya notasi bunyi yang di hasilkan, karena banyak kode dari setiap huruf pada abjad sesuai dengan look up table yang ada pada bagian lampiran berbeda.
3.2.2
Pembangkit Suara Kode Morse Pembangkit suara kode morse terjadi pada laptop 1, kata/teks berupa masukan awal
sesuai dengan yang di masukan oleh user, laptop 1 berfungsi sebagai pengubah masukan kata/teks menjadi keluaran kode morse dalam bentuk bunyi dengan rekuensi sebesar 1 KHz [2]. Ada dua jenis bunyi yang di keluarkan yaitu bunyi pendek dan bunyi panjang. Bunyi pendek adalah “titik” sama dengan “0” dan bunyi yang panjang adalah “garis” sama dengan “1”, banyaknya bunyi pada masing-masing masukan di karenakan banyak kode morse pada setiap masukan berbeda dan banyak kode morse ini sesuai dengan ketentuan pada look up table.
3.2.3
Bunyi Kode Morse Bunyi kode morse adalah hasil yang didapatkan dari proses pembangkit kode morse
yang terjadi pada laptop 1. Keluaran bunyi kode morse ada dua jenis yaitu “bunyi pendek” mewakilkan “titik” dan “bunyi panjang” mewakilkan “garis”. Untuk lebih jelasnnya penulis akan menjabarkan bunyi keluaran kode morse. Acuan Kode morse untuk huruf “A”= . –
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 Huruf masukan= A Maka bunyi yang dihasilkan= bunyi pendek, bunyi panjangg. Acuan Kode morse untuk huruf “B”= – … Huruf masukan= B Maka bunyi yang dihasilkan= bunyi panjang, bunyi pendek,bunyi pendek,bunyi pendek. Hasil bunyi keluaran akan berbeda sesuai dengan kata masukan, karena setiap jenis kode yang ada pada setiap abjad berbeda. 3.3
Proses Pengenalan Kode Morse Pengenal kode morse akan membaca atau merekam bunyi kode morse yang di hasilkan
dari pembangkit kode morse, pada tahap ini bunyi kode morse yang di keluarkan dari pembangkit kode morse akan di rekam, di proses dan di coding menjadi kata (teks) sebagai hasil akhirnya, proses pengenalan kode morse dapat dilihat pada gambar 3.3.
Suara Kode Morse
Rekaman (keluaran file wav)
preprosesing
decoding
kata (teks)
Gambar 3.3. Diagram blok pengenal kode morse
3.3.1 Suara Kode Morse Masukan suara kode morse pada proses ini, adalah suara yang dihasilkan pembangkit kode morse pada laptop 1.
3.3.2 Rekaman Proses rekaman adalah pada saat laptop 1 mengeluarkan bunyi kode morse, secara bersamaan laptop 2 merekam dengan program rekaman wav pada software matlab yang ada pada laptop 2. Hasil rekaman beru`pa file wav, proses ini dapat di lihat pada gambar 3.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
Rekam
Suara Kode Morse
File wav
Gambar 3.4. Diagram blok proses rekaman
3.3.3 Preprosesing Tahap ini terdiri dari data rekaman file wav, down sampling, nilai absolut, normalisasi, sliding window averaging, thresholding ke biner dan keluaran kode biner, proses preprosesing dapat dilihat pada gambar 3.5. File wav
Gambar 3.5. diagram blok preprosesing
3.3.4 Decoding Proses decoding adalah untuk merubah kode morse yang sebelumnya telah di rekam dan di ubah ke bentuk kata/teks, kata/teks yang dihasilkan dari proses dekoding inilah hasil akhir dari dari proses pengenalan kode morse ini, proses decoding dapat dilihat pada gambar 3.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
Masukan kode biner
Gambar 3.6. Diagram blok proses decoding Decoding tahap satu adalah proses dimana kode biner yang dihasilkan dari proses tresholding diuabah ke bentuk kode karakter, kode karakter yang dihasilkan seperti ss, sh, sk, pd dan pj, kode karakter tersebut akan menjadi keluaran pada proses decoding tahap 1, selanjutnya kode karakter yang telah dihasilkan dari dekoding tahap 1 akan diproses lagi pada proses decoding tahap 2, dimana kode karakter tersebut akan diubah ke bentuk “kata/teks”, hasil “kata/teks” pada proses decoding tahap 2 ini lah yang akan menjadi keluaran akhir proses pengenalan pada laptop 2.
3.3.5 Kata/Teks Kata atau teks adalah hasil akhir yang di peroleh dari proses dekoding, biner ke kata/teks.
3.4
Perancangan Program Dalam perancangan program pembangkit dan pengenal kode morse akan diterangkan
bagai mana sistem kerja pembangit dan pengenal kode morse ini, sistem pembangkit dan pengenal kode morse bersifat realtime, pada bagian perancangan ini penulis akan menjelaskan tahap demi tahap proses dan alur program dengan menggunakan flowchart, mulai dari kata/teks yang di masukan secara langsung oleh user, proses perubahan kata ke bunyi kode morse pada laptop 1 yang berperan sebagai pembangkit kode morse. Dimulai dari proses rekaman, preprocessing dan decoding adalah tahap pengenalan kode morse yang terjadi pada laptop 2 sebagai pengenal kode morse dan di akhiri dengan keluar atau hasil akhir kode morse dalam bentuk kata/teks,berikut penjelasan flowchart perbagiannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
3.4.1 Proses Pembangkit Suara Kode Morse Tahap ini adalah proses dimana suara dibangkitkan yang pada awalnya masih dalam betuk kata/teks sebagai masukannya. Berdasarkan pada acuan [7], untuk menyuarakan suatu vektor, ataupun membaca dan menyimpan file oudio berformat WAV, digunakan command berikut: 1) x,Fs= wavread(„nama_file‟) membaca file WAV dan menyimpannya dalam vektor x, serta mengembalikan frekuensi sampling Fs dari file tersebut. 2) Wavwrite(x,Fs,‟nama_file‟) Menuliskan file WAV dari vektor x dengan frekuensi sampling Fs. 3) Sound(x,fs) Menyuarakan vektor x dengan frekuensi sampling Fs 4) Sounds(x,Fs)Sama seperti sintaks sebelumnya, namun vektor x terlebih dahulu diskalakan pada selang (–1 ≤ x ≤ +1). Frekuensi yang digunakan dalam perancangan ini sebesar 1KHz berdasarkan dengan acuan [2], pada gambar 3.7. di bawah ini adalah bagaimana proses terjadinya pembangkit suara kode morse. Mulai
Masukan (kata/teks)
Membangkitkan gelombang sinussoida 1KHz
Kirim sinyal bunyi ke speaker
Keluaran suara sandi morse
Selesai
Gambar 3.7. flowchart pembangkit kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 Bunyi yang dihasilkan pada tahap ini akan dikeluarkan melalui speaker yang ada pada komputer 1 sebagai pembangkit suara kode morse, adapun bunyi yang dihasilkan adalah bunyi pendek yang mewakili “.” Dan bunyi panjang yang mewakili “-“, lama durasi bunyi mengacu pada ketentuan 1:3 saat [2]. Banyaknya suara yang dihasilkan akan berbeda-beda tergantung dari masukan oleh user, dikarenakan kode morse yang terdapat pada setiap huruf berda-beda seperti pada lampiran look up table.
3.4.2 Proses Pengenal Kode Morse Pada Laptop 2 Setelah bunyi kode morse dibangkitkan dari laptop 1, maka laptop 2 sebagai pengenal kode morse akan membaca bunyi keluaran kode morse dari pembangkit, tahap pembacaan kode morse bermula dari merekam bunyi keluaran kode morse, hasil data rekaman yang jadi akan berbentuk file wav. Flowchart program keseluruhan pada pengenal kode morse di bagian laptop 2 ini akan menerima bunyi kode morse yang dihasilkan pada pembangkit kode morse pada laptop 1.jika pada proses pembangkit kode morse karakter kata/teks masukan di program menjadi suara kode morse sebagai keluarannya, maka pada tahap pengenalan kode morse ini, bunyi keluaran kode morse pada pembangkit kode morse adalah sebagai masukan dan akan melalui tahap preprosesing dan decoding sehingga keluaran akhir pada bagian pengenal kode morse ini adalah kata /teks, proses program keseluruhan pada pengenal kode morse dapat dilihat pada gambar 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 Mulai
Masukan Bunyi sandi morse
Rekaman
prosesing
Decoding
Keluaran : Kata/teks
Selesai
Gambar 3.8. flowchart proses pengenal kode morse pada laptop 2
3.4.3 Proses Perekaman Suara Kode Morse Proses perekaman suara kode morse dimulai dari pembacaan yang dilakukan pengenal kode morse atas keluaran suara kode morse dari pembangkit kode morse. Ada proses sampling suara pada saat rekaman berlangsung, proses sampling suara berfungsi untuk merekam suara kode morse, dengan nilai frekuensi sampling yang telah di tentukan, pada gambar 3.9. adalah proses rekaman. Mulai
Masukan Bunyi sandi morse
Sampling suara
Keluaran : Nada rekaman (file wav) Selesai
Gambar 3.9. flowchart perekaman suara kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 Lama rekaman yang dilakukan ditentukan oleh user dan menyesuaikan berapa lama suara kode morse yang di keluarkan pada pembangkit kode morse.
3.4.4 Preprosesing Setelah proses rekaman data selesai dilakukan, maka file wav yang didapatkan dari hasil tahap perekaman suara kodemorse diubah kedalam bentuk kode biner, tahap ini adalah tahap preprosesing, tahap preprosesing melingkupi bebeapa tahap sebelum menghasikan kode biner sebagai hasil akhirnya, tahap-tahap tersebut di mulai dari masukan berupa data vile wav sebagai data yang akan diproses, downsampling yang berfungsi sebagai mereduksi jumlah data yang besar akibat nilai sempling yang besar sehingga dapat menghasilkan data dengan tingkat frekuensi yang rendah[5], nilai absolut untuk memberi nilai absolut pada sinyal yang dihasilkan, normalisasi yang berfungsi sebagai penskalaan amplitudo pada setiap sinyal untuk mendapatkan amplitudo seperti yang diharapkan, sliding window averaging berfungsi untuk merapikan sinyal yang dihasilkan, tresholding kebiner berfungsi untuk menentukan kode biner 0 dan 1 dari sinyal kota yang dihasilkan, setelah tahap-tahap ini dilewati akan didapatkan hasil akhir pada proses preprosesing dengan keluaran dalam bentuk kode biner, tahap demi tahap perubahan file wav ke kode biner di jabarkan pada gambar 3.10 dibawah ini. Mulai Masukan File wav
Downsamplin g Nilai Absolut Normalisasi Sliding window averaging
Thresholding ke biner
Keluaran: kode biner
Selesai
Gambar 3.10. flowchart preprosesing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
3.4.5 Proses Decoding Pada Laptop 2 Sebagai Pengenal Kode Morse Proses decoding adalah tahap akhir pada proses pengenalan kode morse, decoding adalah proses pengubahan kode biner menjadi kata/teks, kata/teks ini keluaran dan hasil akhir dari pengenal kode morse, kata/teks hasil decoding ini juga sebagai akhir dari keseluruhan program yang di jalankan. Pada tahap decoding ini ada 2 proses decoding yang terjadi, proses decoding tahap pertama adalah mengubah kode biner menjadi kode karakter, proses decoding tahap ke dua adalah mengubah kode karakter menjadi kata/teks. Pada tahap dua decoding ini ada proses menyamakan kata/teks keluaran tahap kedua dengan kata/teks masukan pada pembangkit kode morse, bertujuan untuk memastikan bahwa kata/teks keluaran pada decoding tahap 2 sesuai dengan kode karakter yang telah digunakan untuk setiap kata/teks. Gambar 3.11. adalah proses decoding yang di maksudkan. Mulai Masukan (Kode biner) Diteksi jumlah nol Diteksi jumlah satu
Dekoding tahap 1
Ya Data masih? tidak Deteksi spasi antara huruf Koding huruf
Dekoding tahap 2 Simpan huruf aray Ya Data masih? tidak Keluaran (kata/teks) Selesai
Gambar 3.11. flowchart decoding pada pengenal suara kode morse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN 4.1. Pengujian Program Pengujian program yang dilakukan oleh penulis bertujuan untuk memastikan apakah program yang telah dirancang dan dibahas pada bab sebelumnya dapat berhasil dijalankan, pada pengujian program pembangkit dan pengenal kode morse berbasis suara ini menggunakan 2 buah laptop secara bersamaan, laptop 1 berfungsi sebagai pembangkit suara kode morse, suara yang dikirimkan akan diperkuat dengan speaker external yang sudah tersambung dengan laptop, sedangkan laptop 2 berfungsi sebagai pengenal suara kode morse, agar suara dapat ditangkap dengan jelas ditambahkan mic sebagai alat bantu. Berikut spesifikasi laptop, mic dan speaker yang digunakan. A. Prosesor
: Intel® Core™ i3-2310M CPU @ 2.10GHz
RAM
: 2 GB
Tipe
: Sistem operasi 32 bit
B. Speaker okaya lk-3057 : Pmpo
: 2000 w
Power output : RMS 15 w Ps C. Prosesor
: AC-220v/50hz : Intel® Core™ i3-2310M CPU @ 2.10GHz
RAM
: 2 GB
Tipe
: Sistem operasi 32 bit
D. Mic genius MIC-01A: Frequency Response
:100Hz~10KHz
Sensitivity
:-62dB
Output Impedance
:2.2KΩ @1KHz
Cable length
:3.0 Meters
Audio Output Connector
:3.5mm Stereo Audio Plug
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 Pada pengujian program ini, hasil akhir pengujian pembangkit kode morse berbasis suara dapat dilihat pada tampilan guide yang terdapat pada laptop 2 sebagai pengenal suara kode morse, dapat dilihat pada gambar 4.1. tampilan guide mencangkupi keluaran sinyal rekaman file wav,kode biner dan kata.
Gambar 4.1 Tampilan hasil akhir pada guide
4.2
Penjelasan Program Dan Proses Kerja Pembangkit Dan Pengenal Kode Morse Bebasis Suara Berikut akan dijelaskan bagaimana program dan proses kerja pembangkit dan pengenal
kode morse berbasis suara ini berlangsung.
4.2.1 Pembangkit kode morse Pembangkit suara kode morse terjadi pada laptop 1, kata/teks berupa masukan awal sesuai dengan yang dimasukan oleh user, laptop 1 berfungsi sebagai pengubah masukan kata/teks menjadi keluaran kode morse dalam bentuk bunyi dengan frekuensi sebesar 1 KHz [2]. Ada dua jenis bunyi yang di keluarkan yaitu bunyi pendek dan bunyi panjang, banyaknya bunyi pada hasil keluaran tergantung dengan kata yang akan dikirimkan, banyaknya bunyi pada setiap kata sesuai dengan banyaknya kode yang mewakili setiap kata, kode yang mewakili setiap kata sesuai dengan ketentuan lookup table hal ini mengacu pada ketentuan kode morse yang sudah ada. Berikut jabaran program pembangkit kodemorse berbasis suara ;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22 a. Pembangkit suara kode morse Untuk menghasilkan pembangkit suara kode morse dilakukan pembedaan sinyal suara antara suara pendek dan panjang, menentukan frekuensi sempling dan frekuensi sinyal, frekuensi sinyal yang dikirm sebesar 1khz[5]. Jabaran program seperti pada gambar 4.2. %frekuensi sampling 8 kHz t=0:1/fs:1.5; %durasi sinyal frek=1000; %frekuensi sinyal 1000 Hz m=cos(2*pi*frek*t); sound(m,fs); fs=8000;
Gambar 4.2. Program pembangkit suara kode morse b. Lookup table. Lookup table adalah proses pemberian kode karakter setiap kata, dari gambar 4.3 Dapat dilihat kode dari masing-masing karakter berbeda, kode yang terdapat pada masing-masing kata juga menentukan bunyi yang akan di hasilkan. 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'
Gambar 4.3. Lookup table
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
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' pj;ss;pd;ss;pj;ss;pj; case 'Z' pj;ss;pj;ss;pd;ss;pd; end
Gambar 4.3 (lanjutan)gambar Lookup table
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 c. Pembagian durasi sinyal yang dibangkitkan Pada proses ini penulis membedakan durasi sinyal yng dibangkitkan, secara garis besar pembedaan ini mengacu pada ketentuan morse yang sudah ada yaitu “1:3” 1 untuk bunyi pendek dan 3 untuk bunyi panjang [5]. Pembagian durasi waktu pada program, bunyi panjang “pj” 1.5 detik, bunyi pendek “pd” 0.5 detik, spasi antar kode “ss” 0.5 detik, spasi antar kata “sh” 1.5 detik Pada gambar dibawah ini dapat dilihat proses pembagian durasi sinyal dalam program.
function pj
% Menampilkan bunyi panjang fs=8000; %frekuensi sampling 8 kHz t=0:1/fs:1.5; %sinyal berdurasi 0.5 detik frek=1000; %frekuensi sinyal 1000 Hz m=cos(2*pi*frek*t); sound(m,fs); function pd % Menampilkan bunyi pendek fs=8000; %frekuensi sampling 8 kHz t=0:1/fs:0.5; %sinyal berdurasi 0.5 detik frek=1000; %frekuensi sinyal 1000 Hz m=cos(2*pi*frek*t); sound(m,fs); function spp % (spasi antar kode) pause(0.5); %sinyal berdurasi 0.5 detik function sph % (spasi antar huruf) pause(1.5); %sinyal berdurasi 1.5 detik
Gambar 4.4. pembagian durasi waktu yang dibangkitkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
4.2.2 Pengenal kode morse Proses pengenal kode mose terjadi pada labtob 2, dimana proses pengenalan kode morse ini pertama-tama dimulai dari merekam suara yang di bangkit dari laptop 1 menjadi file wav, file wav ini akan di proses menjadi kode biner tahap ini terjadi pada proses preprosesing, dan tahap terakir adalah proses decoding, proses decoding adalah tahap pengubahan kode biner menjadi kata sebagai bentuk keluaran terakhir yang akan tampak pada menu guide. Berikut jabaran program yang terdapat pada laptop dua sebagai pengenal suara kode morse: a. Proses perekaman Secara garis besar proses perekaman adalah merekam suara yang dikeluarkan dari pembangkit suara kode borse pada laptop 1 suara yang direkam akan berubah menjadi fie wav, dapat dilihat pada gambar 4.5 jabaran program yang ada pada proses perekaman. %durasi waktu rekaman (detik) sample_freq=3000; %prekuensi yang digunakan sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq,'abc.wav'); %nama file yang akan tersimpan axes(handles.axes1) sample_length=30;
Gambar 4.5. Program perekaman b. Preprosesing Preprosesing adalah tahap dimana mengubaha hasil rekaman file „wav‟ yang sudah didapatkan dari pembangkit suara kode morse pada laptop 1 diubah menjadi kode biner, ada beberpa proses yang terjadi pada tahap preprosesing sebelum menghasilkan kode biner, dimulai dari tahap downsampling yang berfungsi sebagai mereduksi jumlah data yang besar akibat akibat nilai sempling yang besar sehingga dapat menghasilkan dengan tingkat frekuensi yang rendah, program untuk downsampling seperti gambar berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
% 2a. Downsampling
x1=x0(1:dsamp:length(x0));
Gambar 4.6 program downsampling Setelah proses downsampling selajutnya proses menentukan nilai absolut, proses ini untuk memberikan niai absolut pada sinyal yang dihasilkan, seperti pada gambar 4.7 dapat kita lihat programnya. % 2b. Nilai absolut
x2=abs(x1); Gambar 4.7. Program nilai absolut Setelah nilai absolut di berikan pada sinyal yang dihasilkan masuk ke proses selanjutnya yaitu proses normalisasi, proses normalisasi berfungsi sebagai pengskalaan amplitdo pada setiap sinyal, proses ini bertujuan untuk mendapatkan aplitudo pada setiap sinyal sepeti yang diharapkan, berikut gambar program pada proses normalisasi. % 2c. Normalisasi
%x3=x2/max(x2); x3=x2; Gambar 4.8. Program normalisai Setelah proses pengskalaan amplitudo pada normalisasi masuk ke tahap sliding window averaging, proses ini berfungsi untuk merapikan sinyal yang dihasilkan, program pada proses ini sperti pada gambar 4.9. % 2d. Sliding window averaging x4=x3; pjx=length(x4); for k=3:pjx-2 swin=x4(k-2:k+2); % sliding window 5 titik x4(k)=mean(swin); % rerata end x4=x4/max(x4);
Gambar 4.9 Program sliding window averaging
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27 Masuk pada tahap akhir yaitu tahap tresholding, pada tahap ini adalah proses menentukan kode biner 1 dan 0 dari sinyal kotak yang dihasilkan, pross program pada tahap ini dapat dilihat pada gambar 4.10 berikut ini. % 2e. Thresholding ke biner
x5=zeros(1,pjx); for k=1:pjx if x4(k)>batas x5(k)=1; end axes(handles.axes2); end plot(x5);axis([1 pjx 0 1.5]); Gambar 4.10 Program thresholding ke biner Tahap preprosesing pada pengenal kode morse berbasis suara ini diawali dengan membaca hasil rekaman dari pembangkit kode morse yang sudah berbentuk file wav, proses ini melalui beberapa tahap seperti yang sudah dijabarkan pada gambar 4.6. sampai gambar 4.10. hasil pembacaan pada proses preprosesing adalah untuk menghasilkan kode biner, hasil biner ini akan di tampilkan pada menu guide.
amplitudo amplitudo
Sampel e n
sempel ke n ABC
Gambar 4.11 Hasil biner pada tampilan guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28 c. Decoding Decoding adalah tahap akhir pada bagian pengenalan kode morse berbasis suara, pada tahap dekoding ada 2 proses, proses dekoding tahap pertama adalah menguba kode biner menjadi kode karakter, proses dekoding tahap dua adalah mengubah kode karakter menjadi kata. Dalam proses dekoding tahap pertama terdapat program deteksi jumlah nol yang bertujuan untuk menentukan jumlah kode biner sebagai spasi berdasar jumlah nol, seperti pada gambar 4.12 adalah program deteksi jumlah nol % 3a. 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; end end % Definisi spasi berdasar jumlah nol if nol<37 kataout=[kataout 'ss']; elseif nol>=37 && nol<=70 kataout=[kataout 'sh']; else kataout=[kataout 'sk']; end % Pemotongan data input berdasar jumlah nol katain(1:nol)=[];
Gambar 4.12 program deteksi jumlah nol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29 Definisi spasi berdasarkan jumlah nol seperti yang terdapat pada gambar 4.12 Jika kode
biner nol<37 dinyatakan (ss), jika kode biner nol>37 dan nol<70 dinyatakan (sh), jika kode biner nol diatas 70 dinyatakan (sk), nilai-nilai ini ditentukan dengan menghitung terlebih dahulu jumlah kode biner yang dihasilkan dari proses tresholding yang telah mengubah kata input dari wav menjadi biner. Setelah proses deteksi jumlah nol, selanjutnya deteksi jumlah satu dan programnya dapat dilihat pada gambar 4.13.
% 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<19 kataout=[kataout 'pd']; else 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 % Hapus spasi kata di kiri kataout(1:2)=[]
Gambar 4.13 Program deteksi jumlah satu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30 Deteksi jumlah satu berfungsi untuk menentukan kata ouput yang akan dihasilkan, seperti yang terdapat pada program definisi spasi berdasarkan jumlah satu pada gamba 4.13. Jika satu<19 maka dinyatakan (pd) dan dinyatakan (pj) jika diatas 19, penentuan nilai pada definisi jumlah satu sama dengan proses penentuan definisi jumlah nol, dengan menghitung terlebih dahulu kode biner pada hasil tresholding. Setelah proses dekoding tahap satu mengubah kode biner ke karakter dilakukan, selanjutnya dekoding tahap kedua, dekoding tahap kedua adalah proses mengubah kode karakter yang telah dihasilkan dari dekoding tahap pertama menjadi kata, proses program dekoding tahap kedua dapat dilihat pada gambar berikut ini. % 3b. 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.text1,'string',hasilout) Gambar 4.14 Program dekoding tahap kedua (kode karakter ke teks)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31 Jika pada dekoding tahap pertama menghasilkan kode karakter berupa ss, sh, sk, pd dan pj pada dekoding tahap kedua kode karakter tersebut akan diubah menjadi kata. Proses mengubah kode karakter menjadi kata adalah dengan mencocokan kodekarakter yang telah dihaslkan dari dekoding tahap pertama dengan ketentuan look up table, look up table pada list program adalah “kenalhuruf”. Kenalhuruf berfungsi sebagai look up table pada list program, proses mencocokan kode karakter dengam ketentuan look up table adalah dengan memanggil fungsi yang telah dibuat pada m-file dengan nama fungsi “kenalhuruf”. Hasil keluaran akan di tampilkan pada set(handles.text1,'string',hasilout), pada tampilan guide hasil keluaran dapat dilihat pada teks 1, hasil akhir berupa kata. Tombol “SELESAI” berfungsi untuk mengakhiri dan keluar dari program atau tampilan GUI pengenalan kode morse. Program pada tombol “SELESAI” dapat dilihat pada gambar 4.15.
close all;
clear all; Gambar 4.15. Program Tombol Selesai
Berdasarkan dari hasil pengujian dan pengambilan data percobaan yang telah dilakukan, proses pembangkit dan pengenalan suara kode morse telah berjalan dengan baik dan sesuai dengan data perancangan yang terdapat pada bab III.
4.3
Pengujian dan Analisis Hasil Pengenalan Kode Morse Pengujian program pengenalan morse ini dilakukan bertujuan untuk mengetahui
seberasa jauh pengenal kode morse berbasis suara ini mampu mengenal suara kiriman dari pembangkit kode morse. Pengujian ini dilakukan dengan menguji seberapa jauh jarak yang mampu dicapai dalam rosess pengenalan suara ini berjalan, pengujian dilakukan dengan menguji jarak maksimal pengenalan, data percobaan yang diambil adalah mengirimkan kode morse “abc”. Pengujian dilakukan dengan mengenal suara dari jarak yang dekat, pembangkit suara dan pengenal suara di letakan berhadapan dengan posisi mic dan speaker sangat berdekatan, pengujian selanjutnya dilakukan dengan jarak yang berpariasi, pengujian jarak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 dihentikan sampai pada batas dimana pengenal suara kode morse tidak mampu lagi membaca atau mengenal suara yang dikirimkan, sehingga hasil yang didapatkan adalah error. Berikut ini adalah gambar hasil pengambilan data suara kode borse yang diambil pada ruang kedap suara, pengambilan data yang dilakukan dari jarak terdekat 30cm sampai jarak terjauh 500cm, data diambil secara berulang-ulang dengan data kiriman yang berpariasi, gambar yang ditampilkan diambil dari hasil data yang terbaik.
Gambar 4.16 dengan kata kiriman “SANATA” dan jarak 30cm
Gambar 4.17 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
Gambar 4.18 dengan nama kiriman “HERI” dan jarak 30cm
Gambar 4.19 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Gambar 4.20 dengan nama kiriman “Sanata” dan jarak 100cm
Gambar 4.21 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
Gambar 4.22 dengan nama kiriman “HERI” dan jarak 100cm
Gambar 4.23 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Gambar 4.24 dengan nama kiriman “SANATA” dan jarak 200cm
Gambar 4.25 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
Gambar 4.26 dengan nama kiriman “HERI” dan jarak 200cm
Gambar 4.27hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
Gambar 4.28 dengan nama kiriman “SANATA” dan jarak 300cm
Gambar 4.29 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
Gambar 4.30 dengan nama kiriman “HERI” dan jarak 300cm
Gambar 4.31 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Gambar 4.32 dengan nama kiriman “SANATA” dan jarak 400cm
Gambar 4.33 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
Gambar 4.34 dengan nama kiriman “HERI” dan jarak 400cm
Gambar 4.35 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
Gambar 4.36 dengan nama kiriman “SANATA” 500cm
Gambar 4.37 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Gambar 4.38 dengan nama kiriman “HERI” dan jarak 500 cm
Gambar 4.39 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
Gambar 4.40 dengan nama kiriman “HERI” dan jarak 600 cm
Gambar 4.41 hasil tampilan pada guide (pada laptop 2 sebagai pengenal kode morse)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45 Tabel 4.1 Tabel Hasil Pengambilan Data Percobaan DATA KIRIMAN SANATA HERI SANATA HERI SANATA HERI SANATA HERI SANATA HERI SANATA HERI HERI
KODE MORSE … .- -. .- - .…. . .-. .. … .- -. .- - .…. . .-. .. … .- -. .- - .…. . .-. .. … .- -. .- - .…. . .-. .. … .- -. .- - .…. . .-. .. … .- -. .- - .…. . .-. .. …. . .-. ..
JARAK (CM) 30CM 30CM 100CM 100CM 200CM 200CM 300CM 300CM 400CM 400CM 500CM 500CM 600CM
HASIL PERCOBAAN BERHASIL GAGAL
Dilihat dari hasil-hasil percobaan pada gambar diatas dapat disimpukan pengambilan data pembangkit dan pengenal kode morse bisa dilakukan dalam variasi jarak tertentu, keberhasilan pengamilan data dimulai dari jarak terdekat antara speaker yang dengan mic adalah sejauh 30cm dan jarak terjauh yang dapat dilakukan sejauh 500cm,
saat melakukan
percobaan pengambilan data pada jarak diatas 500cm terjadi eror pada hasil yang didapatkan. Dapat dilihat pada gambar 4.41 hasil sinyal pada pengenal kode morse tidak tampak, suara kode morse yang dibangkitkan tidak dapat dikenal dengan jelas oleh pengenal suara kode morse, ini disebabkan jarak yang cukup jauh antara pembangkit dan pengenal suara kode morse, selain dari itu penulis juga menyimpulkan kualitas speaker menghasilkan suara yang tidak stabil atau dapat dikatakan kualitas speaker yang kurang baik. Dengan adanya kendala suara yang dikeluarkan dari speaker tidak stabil dan ditambah dengan jauhnya jarak pengambilan data mengakibatkan pengenalan yang tidak maksimal sehingga hasil yang didapatkan adalah eror. Setelah pengambilan data percobaan untuk jarak terjauh selanjutnya pengambilan ata percobaan untuk kiriman koe terpanjang, untuk kiriman kode terpanjang data yang dikirimkan adalah “JOYXPCZ” dengan kode morse yang mewakili setiap hurufnya “.--- --- -.-- -..- .--. -.-. --..” pengambilan data percobaan dilakukan dua sesi, dengan sesi pertama pengambilan data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46 dengan jarak 200cm (hasil dari percobaan sesi pertama dapat dilihat pada gambar 4.42 sampai 4.53) dan percobaan sesi kedua pengambilan data dilakukan dengan jarak 30cm (hasil dari percobaan sesi kedua dapat dilihat pada gambar 4.53 sampai 4.64), pengambilan data percobaan ini bertujuan untuk mengetahui seberapa panjang kode yang dapat dikirimkan dan mampu dikenal dengan baik, berikut gambar hasil kiriman kode terpanjang.
Gambar 4.42 kiriman untuk kode terpanjang (jarak 200cm percobaan 1)
Gambar 4.43 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
Gambar 4.44 kiriman untuk kode terpanjang (jarak 200cm percobaan 2)
Gambar 4.45 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
Gambar 4.46 kiriman untuk kode terpanjang (jarak 200cm percobaan 3)
Gambar 4.47 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
Gambar 4.48 kiriman untuk kode terpanjang (jarak 200cm percobaan 4)
Gambar 4.49 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
Gambar 4.50 kiriman untuk kode terpanjang (jarak 200cm percobaan 5)
Gambar 4.51 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
Gambar 4.52 kiriman untuk kode terpanjang (jarak 200cm percobaan 6)
Gambar 4.53 hasil tampilan pada guide
Gambar 4.53 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52 Dari gambar diatas untuk hasil percobaan kiriman data terbanyak tingkat keberhasilannya dirangkum dalam tabel 4.2 dibawah ini. Tabel 4.2 Tabel Hasil Pengambilan Data Percobaan
DATA KIRIMAN JOYXPCZ (percobaan 1) JOYXPCZ (percobaan 2) JOYXPCZ (percobaan 3) JOYXPCZ (percobaan 4) JOYXPCZ (percobaan 5) JOYXPCZ (percobaan 6)
KODE MORSE .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --..
HASIL DATA PERCOBAAN (GUIDE)
HASIL PERCOBAAN BERHASIL
GAGAL
EOOYXPCZ
?O?
J
N????CZ
JOYXPCZ
JTTTYPCZ
Setelah merangkum hasil percobaan untuk kode terpanjang pada jarak 200cm hasil yang didaptkan cenderung mengalami kegagalan, untuk mengetahui penyebab dari kegagalan hasil yang didapatkan maka dilakukan percobaan sesi kedua dengan jarak pengambilan data sejauh 30cm, pengambilan data ini bertujuan untuk membandingakan kedua data yang didapatkan, untuk dapat mengetahui apakah jarak adalah penyebab terbesar kegagalan pengenalan data tau pengaruh bunyi kiriman speaker yang tidak stabil juga berpengaruh pada hasil yang didapatkan, berikut gambar hasil dari percobaan sesi kedua untuk kiriman kode terpanjang yang berjarak 30cm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
Gambar 4.54 kiriman untuk kode terpanjang (jarak 30cm percobaan 1)
Gambar 4.55 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
Gambar 4.56 kiriman untuk kode terpanjang (jarak 30cm percobaan 2)
Gambar 4.57 hasil tampian pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
Gambar 4.58 kiriman untuk kode terpanjang (jarak 30cm percobaan 3)
Gambar 4.59 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
Gambar 4.60 kiriman untuk kode terpanjang (jarak 30cm percobaan 4)
Gambar 4.61 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
Gambar 4.62 kiriman untuk kode terpanjang (jarak 30cm percobaan 5)
Gamabr 4.63 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
Gambar 4.64 kiriman untuk kode terpanjang (jarak 30cm percobaan 6)
Gambar 4.65 hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59 Dari gambar 4.54 sampai 4.65 diatas, untuk hasil percobaan kiriman data terbanyak tingkat keberhasilannya dirangkum dalam tabel 4.3 dibawah ini. Tabel 4.3 Tabel Hasil Pengambilan Data Percobaan
DATA KIRIMAN JOYXPCZ (percobaan 1) JOYXPCZ (percobaan 2) JOYXPCZ (percobaan 3) JOYXPCZ (percobaan 4) JOYXPCZ (percobaan 5) JOYXPCZ (percobaan 6)
KODE MORSE .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --.. .--- --- -.-- -...--. -.-. --..
HASIL DATA PERCOBAAN (GUIDE) JOYXPCZ
HASIL PERCOBAAN BERHASIL
GAGAL
JO?XPCZ
JOYXPCZ
JOYXPCZ
JOYXPCZ
JOYXPCZ
Untuk hasil percobaan pengambilan data kiriman kode terbanyak dengan jarak 30cm pada tabel 4.3 diatas, dapat dilihat hasil yang didapatkan cenderung mengalami keberhasilan, hasil dari sesi kedua (jarak 30cm) ini berbanding terbalik dengan hasil sesi pertama (jarak 200cm), dari perbandingan hasil data yang didapatkan dapat disimpulkan bahwa jarak yang jauh berpengaruh terhadap pengenalan suara kode morse yang dikirimkan, selain karena jarak yang jauh kualitas suara yang tidak stabil yang dihasilkan dari speaker juga mempengaruhi hasil yang didapatkan. Seperti yang sudah dijelaskan sebelumnya bahwa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60 kualitas suara yang dikeluarkan oleh speaker tidak stabil, sehingga pada suara keluaran yang pelan tidak dikenal dengan maksimal sehingga hasil yang didapatkan menjadi salah. Gambar 4.66 dibawah ini adalah hasil tampilan guide terbanyak yang berhasil di kenal dengan baik.
dari hasil kiriman kode
Gambar 4.66 hasil tampilan yang dikenal dengan baik Dari gambar 4.66 adalah hasil pengenalan suara kiriman dengan baik, sehingga didapatkan hasil grafik sinyal yang baik, dengan hasil didapatkan hasil sinyal yang baik maka pemisahan pengkodean yang mewakili setiap huruf dapat di bagi sesuai dengan kode yang telah di tentukan pada look up table, dengan sesuainya kode yang mewakli setiap huruf maka hasil kata yang dikeluarkan akan sesuai dengan kiriman data yang dikirimkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61 Gambar 4.67 dibawah ini adalah tampilan hasil keluaran pada guide yang gagal.
Gambar 4.67 hasil tampilan yang gagal dikenali dikenali Dari gambar 6.67 adalah salah satu hasil yang gagal dikenali, hal ini dikarenakan dengan tidak maksimalnya suara yang dikenali, sehingga kiriman 3 kode morse “---“ yang mewakili huruf “O” tidak dikenal dengan baik, kode tersebut dikenal dan dibagikan secara terpisah menjadi huruf “T” (huruf “T” terdiri dari 1 kode morse saja “-“). Hal ini dikarekan suara kiriman yang tidak dikenal dengan baik sehingga terjadi jeda diantara kode-kode tersebut, sehingga 3 kode morse (---) yang mewakili huruf “0” yang seharusnya dirangkum menjadi satu berubah menjadi terpisah dan di rangkum secara satupersatu dan hasil yang didaptkan adlah huruf “T”, karena huruf “T” diwakili satu kode morse “-“ dan hasil akhil yang didapatkan adalah eror.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1
Kesimpulan Dari hasil percobaan dan pengujian data 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 suara secara real time sudah dapat bekerja sesuai dengan perancangan.
2) Jarak minimum pengambilan data antara speaker dengan mic adalah 30 cm, sedangkan jarak maksimum pengambilan data antara speaker dengan mic adalah 500cm, pada jarak 30cm-500cm hasil percobaan yang dilakukan berhasil sedangkan
pengambilan data percobaan pada jarak diatas 500cm mengalami
kegagalan atau eror. 3) Jauhnya jarak pengambilan data (jarak antara mic dan speaker) berpengaruh pada hasil yang didapatkan. 4) Ketidakstabilan suara yang dihasilkan oleh speaker dapat menyebabkan pengenalan suara yang tidak baik dan hasil data yang didapatkan juga tidak maksimal sehingga hasil yang didapatkan menjadi eror.
5.2
Saran Saran yang dapat diberikan untuk mengembangkan terkait dengan tugas akhir ini
adalah : 1) Peneliti
selanjutnya
diharapkan
dapat
berhasil
melanjutkan
percobaan
pengambilan data pada area yang terdapat suara-suara yang ramai, sehingga dapat lebih menegaskan bahwa pengenalan kode morse dapat dilakukan diberbagai keadaan. 2) Penaliti selanjutnya juga dapat diharapkan mampu mengembangkan jarak terjauh pengenalan suara yang dapat dilakukan.
62
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
[1] International code of signal, u.s naval oceanographic office, 1968, Washington. [2] Widagda, Mikail Eko Prasetyo., (2004). Pembaca Kode Morse Menggunakan Mikrokontroler AT89C51 (Morse Code Reader Using Microcontroller AT89C51). Skripsi. Universitas Sanata Dharma. Yogyakarta. [3] Buku panduan kode morse, Akademi Maritim Yogyakarta [4] Sharul., 2012, MIKROKONTROLER AVR Atmega8535 Menjelajahi : Prinsipprinsip,Antarmuka, dan Aplikasi Mikrokontroler dengan Assembler ( Bahasa Rakitan), Informatika Bandung, Bandung. [5] Juang, B. H., dan Rabiner, L., 1993, Fundamentals Of Speech Recognition. Signal Processing Series, Prentice Hall, Englewood Cliffs, NJ. [6] Hakim, Luqman., Analisa Suara Serak Berbasis Transformasi Wavelet dan Jaringan Syaraf Tiruan,Institut Teknologi Sepuluh Nopember (ITS), Surabaya [7] Teguh, Widiarsono, M. T., (2005). Tutorial Praktis Belajar Matlab. ITB, Bandung. [8] Anonim, Buku Saku Pramuka [9] https://pramukadosqtangerang.wordpress.com/pramuka/sejarah-kode-kode-morse/ diakses pada 15 Maret 2015, Pukul 16.30 WIB. [10] http://spicaku.blogspot.com/2013/03/sejarah-penemu-kode-morse.html diakses pada 13 April 2015, Pukul 20.00 WIB. [11] Readmore: http://spicaku.blogspot.com/2013/03/sejarah-penemu-kodemorse.html#ixzz3RG9tffRn diakses pada 22 April 2015, Pukul 22.00 WIB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI M1
Sinyal yang di hasilkan pada tahap preprosesing, pada bagian-bagian : 1. Preprosesing
Amplitudo
semple ke n
2. Nilia absolut
Amplitudo
semple ke n
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2
3. Normalisasi Amplitudo
semple ke n
4. Sliding window average Amplitudo
semple ke n
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3
5. Thresholding ke biner Amplitudo
semple ke n
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4
Look up table Morse Huruf
Sandi morse
A
•
__
B
__
.
.
.
C
__
.
__
.
D
__
.
.
E
.
F
.
.
__
G
__
__
.
H
.
.
.
.
I
.
.
J
.
__
__
__
K
__
.
__
L
.
__
.
M
__
__
N
__
.
O
__
__
__
P
.
__
__
Q
.
__
.
R
.
__
.
S
.
.
.
.
.
.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4
T
__
U
.
.
__
V
.
.
.
W
.
__
__
X
__
.
.
__
Y
__
.
__
__
Z
__
__
.
.
__
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L6
Menghitung hasil biner untuk menentukan keluaran kode karakter, pada deteksi jumlah nol.
Menentuan kode karakter “ss”.
Menentukan kode karakter “sh”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
Menghitung hasil biner untuk menentukan keluaran kode karakter, pada deteksi jumlah satu.
Menentukan kode karakter “pd”.
Menentukan kode karakter “pj”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
Hasil tampilan biner pada proses preprosesing:
Hasil tampilan pada Command window
Hasil tampilan pada guide
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
Hasil tampilan pada dekoding
Hasil tampilan Dekoding tahap 1 (kode biner ke kode karakter).
Hasil tampilan Dekoding tahap 1 (kode karakter ke teks).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
Program pembangkit kode morse
function sound2 %fungsi morse suara kata='abc'; pjkata=length(kata); m=1; k=1; sph; while k==1; if m==pjkata k=0; end huruf=kata(m); mkode(huruf); sph; m=m+1; end % =============================================== % Internal Function % =============================================== 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; 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'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
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 % =============================================== function pj % Menampilkan bunyi panjang fs=8000; t=0:1/fs:1.5; frek=1000; m=cos(2*pi*frek*t); sound(m,fs);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
% =============================================== function pd % Menampilkan bunyi pendek fs=8000; t=0:1/fs:0.5; frek=1000; m=cos(2*pi*frek*t); sound(m,fs); % =============================================== function spp % (spasi antar kode) pause(0.5); % =============================================== function sph % (spasi antar huruf) pause(1.5);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
Program pengenal kode morse
function varargout = guide1(varargin) % GUIDE1 MATLAB code for guide1.fig % GUIDE1, by itself, creates a new GUIDE1 or raises the existing % singleton*. % % H = GUIDE1 returns the handle to a new GUIDE1 or the handle to % the existing singleton*. % % GUIDE1('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GUIDE1.M with the given input arguments. % % GUIDE1('Property','Value',...) creates a new GUIDE1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before guide1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to guide1_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 guide1 % Last Modified by GUIDE v2.5 01-Dec-2015 14:39:32 % Begin initialization code - DO NOT gui_Singleton = 1; gui_State = struct('gui_Name', 'gui_Singleton', 'gui_OpeningFcn', 'gui_OutputFcn',
EDIT mfilename, ... gui_Singleton, ... @guide1_OpeningFcn, ... @guide1_OutputFcn, ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end 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 guide1 is made visible. function guide1_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 guide1 (see VARARGIN) % Choose default command line output for guide1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes guide1 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = guide1_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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
% Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, ~, 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) sample_length=66; sample_freq=3000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq,'xx.wav'); axes(handles.axes1) plot(x);xlabel('data ke');ylabel('amplitudo'); % Dekoding kode morse dari file wav % ================================================= % Variabel wavdekode dsamp=100; % Downsampling sinyal masukan batas=0.5; % Batas thresholding biner % ================================================= % 1. Baca file wav x0=wavread('kodeterbanyak15.wav'); %plot (x0); % ================================================= % Preprosesing % ================================================= % 2a. Downsampling x1=x0(1:dsamp:length(x0)); % ------------------------------------------------% 2b. Nilai absolut x2=abs(x1); % ------------------------------------------------% 2c. Normalisasi %x3=x2/max(x2); x3=x2; % ------------------------------------------------% 2d. Sliding window averaging
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
x4=x3; pjx=length(x4); for k=3:pjx-2 swin=x4(k-2:k+2); % sliding window 5 titik x4(k)=mean(swin); % rerata end x4=x4/max(x4); % ------------------------------------------------% 2e. Thresholding ke biner x5=zeros(1,pjx); for k=1:pjx if x4(k)>batas x5(k)=1; end axes(handles.axes2); end plot(x5);axis([1 pjx 0 1.5]); % ------------------------------------------------katain=x5; katain plot(katain);axis([1 pjx 0 1.5]);xlabel('data ke');ylabel('amplitudo'); % ================================================= % Dekoding % ================================================= % 3a. 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; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
end % Definisi spasi berdasar jumlah nol if nol<37 kataout=[kataout 'ss']; elseif nol>=37 && nol<=70 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<19 kataout=[kataout 'pd']; else 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
end kataout % Hapus spasi kata di kiri kataout(1:2)=[] % 3b. 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 %katatxt='abc'; hasilout=katatxt set(handles.text1,'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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
% --- 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 % handles structure with handles and user data (see GUIDATA) axes(handles.axes1); plot (0); axes(handles.axes2); plot (0); set(handles.text1,'string','');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
Kenal huruf 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'; 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'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
hurufout='U'; case 'pdsspdsspdsspj' hurufout='V'; case 'pdsspjsspj' hurufout='W'; case 'pjsspdsspdsspj' hurufout='X'; case 'pjsspdsspjsspj' hurufout='Y'; case 'pjsspjsspdsspd' hurufout='Z'; otherwise hurufout='?'; %case '???' --> lanjutkan end