20
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 : AC-220v50hz
C. Prosesor
: 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 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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, katateks berupa masukan awal sesuai dengan yang dimasukan oleh user, laptop 1 berfungsi sebagai pengubah masukan
katateks 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 ;
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.
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.
Gambar 4.3. Lookup table
fs=8000;
frekuensi sampling 8 kHz
t=0:1fs:1.5; durasi sinyal frek=1000; frekuensi sinyal 1000 Hz
m=cos2pifrekt; soundm,fs;
function mkodehuruf
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 lanjutangambar Lookup table
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
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, bun
yi 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.
Gambar 4.4. pembagian durasi waktu yang dibangkitkan
function
pj Menampilkan bunyi panjang
fs=8000; frekuensi sampling 8 kHz
t=0:1fs:1.5;
sinyal berdurasi 0.5 detik
frek=1000;
frekuensi sinyal 1000 Hz
m=cos2pifrekt; soundm,fs;
function pd
Menampilkan bunyi pendek fs=8000;
frekuensi sampling 8 kHz
t=0:1fs:0.5;
sinyal berdurasi 0.5 detik
frek=1000; frekuensi sinyal 1000 Hz
m=cos2pifrekt; soundm,fs;
function spp
spasi antar kode pause0.5;
sinyal berdurasi 0.5 detik
function sph
spasi antar huruf pause1.5;
sinyal berdurasi 1.5 detik
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.
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.
sample_length=30;
durasi waktu rekaman detik sample_freq=3000;
prekuensi yang digunakan sample_time=sample_lengthsample_freq;
x=wavrecordsample_time, sample_freq; wavwritex, sample_freq,
abc.wav ;
nama file yang akan
tersimpan
axeshandles.axes1
2d. Sliding window averaging x4=x3;
pjx=lengthx4; for
k=3:pjx-2 swin=x4k-2:k+2;
sliding window 5 titik x4k=meanswin;
rerata end
x4=x4maxx4;
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.
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.
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.
Gambar 4.9 Program sliding window averaging
2a. Downsampling
x1=x01:dsamp:lengthx0;
2b. Nilai absolut
x2=absx1;
2c. Normalisasi
x3=x2maxx2; x3=x2;
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.
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.
Gambar 4.11 Hasil biner pada tampilan guide
2e. Thresholding ke biner
x5=zeros1,pjx; for
k=1:pjx if
x4kbatas x5k=1;
end axeshandles.axes2;
end plotx5;axis[1 pjx 0 1.5];
amplitudo amplitudo
Sampel e n sempel ke n ABC
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
Gambar 4.12 program deteksi jumlah nol
3a. Dekoding tahap 1 kode biner -- kode karakter a=1;n=1;kataout=[];
while a==1
if katain1==0
---------------------------------------------- Deteksi jumlah nol
---------------------------------------------- k=1;m=1;nol=0;
while k==1
if katainm==0
nol=nol+1; else
k=0; end
m=m+1; if
lengthkatainm k=0;
end end
Definisi spasi berdasar jumlah nol if
nol37 kataout=[kataout
ss ];
elseif nol=37 nol=70
kataout=[kataout sh
]; else
kataout=[kataout sk
]; end
Pemotongan data input berdasar jumlah nol katain1:nol=[];
Definisi spasi berdasarkan jumlah nol
seperti yang terdapat pada gambar 4.12 Jika kode biner nol37 dinyatakan ss, jika kode biner nol37 dan nol70 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
katainm==1 satu=satu+1;
else k=0;
end m=m+1;
if lengthkatainm
k=0; end
end Definisi spasi berdasar jumlah satu
if satu19
kataout=[kataout pd
]; else
kataout=[kataout pj
]; end
Pemotongan data input berdasar jumlah satu katain1:satu=[];
----------------------------------------- end
n=n+1; pjkatain=lengthkatain;
if pjkatain==0
a=0; end
end kataout
Hapus spasi kata di kiri kataout1:2=[]
Gambar 4.13 Program deteksi jumlah satu PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 satu19 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.
Gambar 4.14 Program dekoding tahap kedua kode karakter ke teks
3b. Dekoding tahap 2 kode karakter -- teks a=1;hurufin=[];katatxt=[];
while a==1
if strcmpkataout1:2,
sh ==0
strcmpkataout1:2, sk
==0 hurufin=[hurufin kataout1:2];
kataout1:2=[]; elseif
strcmpkataout1:2, sh
==0 strcmpkataout1:2,
sk ==1
hurufout=kenalhurufhurufin; katatxt=[katatxt hurufout];
kataout=[];
elseif strcmpkataout1:2,
sh ==1
hurufout=kenalhurufhurufin; katatxt=[katatxt hurufout];
hurufin=[]; kataout1:2=[];
end pjkataout=lengthkataout;
if pjkataout==0
a=0; end
end katatxt
hasilout=katatxt sethandles.text1,
string ,hasilout
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 sethandles.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.
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