144
i SISTEM PENGENALAN SUARA UNTUK MENGENALI PERINTAH SUARA MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh : I Putu Desyanndana 145314065 TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2019 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

  • Upload
    others

  • View
    15

  • Download
    4

Embed Size (px)

Citation preview

Page 1: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

i

SISTEM PENGENALAN SUARA UNTUK MENGENALI

PERINTAH SUARA MENGGUNAKAN JARINGAN SYARAF

TIRUAN BACKPROPAGATION

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana

Komputer Program Studi Teknik Informatika

Oleh :

I Putu Desyanndana

145314065

TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

ii

VOICE RECOGNITION SYSTEM FOR RECOGNIZE VOICE

COMMAND USING BACKPROPAGATION NEURAL NETWORK

FINAL PROJECT

Presented as Partial Fulfillment of Requirements to Obtain Sarjana

Komputer Degree in Informatics Engineering Department

By :

I Putu Desyandana

145314065

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

v

MOTO

JIKA KAMU TIDAK MENYUKAI SESUATU, UBAHLAH.

JIKA TIDAK BISA MENGUBAHNYA, UBAH SIKAPMU

MAYA ANGELOU

SATU-SATUNYA CARA UNTUK MENCINTAI

PEKERJAAN YANG HEBAT ADALAH DENGAN

MENCINTAI APA YANG KAMU LAKUKAN

STEVE JOBS

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan sesungguhnya bahwa di dalam skripsi yang saya tulis ini

tidak memuat karya atau bagian karya orang lain, kecuali telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 31 Januari 2019

Penulis

I Putu Desyanndana

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI

ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama : I Putu Desyanndana

NIM : 145314065

Demi pengembangan ilmu pengetahuan, saya memberikan kepada

Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :

SISTEM PENGENALAN SUARA UNTUK MENGENALI PERINTAH

SUARA MENGGUNAKAN JARINGAN SYARAF TIRUAN

BACKPROPAGATION

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya

memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk

menyimpan, mengalihkan daam bentuk media lain, mengelolanya dalam bentuk

pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di

internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin

dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan

nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada Tanggal 31 Januari 2019

Yang Menyatakan

I Putu Desyanndana

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

viii

INTISARI

Suara manusia merupakan gelombang yang sangat unik. Hal itu

dikarenakan setiap manusia memiliki gelombang suara yang berbeda. Telinga

manusia normal dapat mendengarkan berbagai jenis ucapan sehingga mampu

mendefinisikan huruf, kalimat atau kata yang diucapkan. Berdasarkan hal tersebut

dibentuklah sistem yang mampu mengenali suara manusia. Secara khusus lagi,

penulis membuat sistem pengenalan perintah suara dalam mengendalikan

peralatan elektronik di rumah.

Penelitian ini memproses suara yang merupakan file rekaman dari kalimat

perintah suara. Menggunakan metode Mel Frequency Cepstral Coefficients dalam

melakukan ekstraksi ciri suara. Hasil ekstraksi ciri suara dimasukkan ke Jaringan

Syaraf Tiruan Backpropagation untuk klasifikasi.

Percobaan klasifikasi dengan Jaringan Syaraf Tiruan Backpropagation,

dengan optimalisasi arsitektur jaringan, dihasilkan akurasi terbaik menggunakan

dua hidden layer dengan 15 neuron untuk setiap hidden layer sebesar 71,52%.

Kata Kunci: Pengenalan Suara, Segmentasi Suara, Mel Frequency

Cepstral Coefficients, Jaringan Syaraf Tiruan Backpropagation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

ix

ABSTRACT

Human voice is a very unique wave. That is because every human being

has different sound waves. Normal human ears can listen to various types of

speech so they are able to define letters, sentences or words that are spoken. Based

on this, a system is formed that is able to recognize human voices. In particular

again, the author made a system of recognition of voice commands in controlling

electronic equipment at home.

This research processes sound which is a recording file from a voice

command sentence. Using the Mel Frequency Cepstral Coefficients method in

performing voice feature extraction. The feature extraction results are entered into

Backpropagation Artificial Neural Networks for classification.

Classification experiments with Backpropagation Artificial Neural

Networks, by optimizing network architecture, produced the best accuracy using

two hidden layers with 15 neurons for each hidden layer at 71.52%.

Keyword: Voice Recognition, Audio Segmentation, Mel Frequency

Cepstral Coefficients, Backpropagation Artificial Neural Network.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

x

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Ida Sang Hyang Widhi Wasa, Tuhan

Yang Maha Esa, yang telah memberikan karunia berlimpah sehingga penulis

dapat menyelesaikan tugas akhir dengan sangat baik.

Penulis menyadari bahwa pada saat pengerjaan tugas akhir ini penulis

mendapatkan banyak bantuan dari berbagai pihak, baik berupa perhatian, kritik,

dan saran yang sangat penulis butuhkan untuk kelancaran dan mendapatkan hasil

yang baik. Pada kesempatan ini penulis akan menyampaikan ucapan terima kasih

kepada:

1. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

2. Dr. Cyprianus Kuntoro Adi, S.J., M.A., M.Sc., selaku dosen pembimbing tugas

akhir yang telah sabar dan penuh perhatian membimbing saya dalam

penyusunan tugas akhir.

3. Dr. Anastasia Rita Widiarti, M.Kom., selaku Ketua Program Studi Teknik

Informatika yang selalu memberikan dukungan dan perhatian serta saran

kepada mahasiswa tugas akhir dan pengerjaan tugas akhir.

4. Kedua orang tua tercinta yang selalu mendoakan dan memberikan dukungan

berupa moral maupun materi kepada penulis, sehingga penulis dapat

menyelesaikan tugas akhir ini.

5. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan selama

perkuliahan dan pengalaman yang sangat berarti bagi penulis.

6. Seluruh anggota grup line Keluarga Ya-Ampun yang selalu bertanya kapan

lulus.

7. Keluarga Besar Teknik Informatika 2014 yang selalu mendukung penulis, serta

seluruh teman – teman yang berjuang bersama dan saling mendukung dalam

penyusunan tugas akhir ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xi

8. Teman-teman Game Online yang menemani setiap malam penulis.

Yogyakarta, 20 Januari 2019

Penulis

I Putu Desyanndana

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xii

DAFTAR ISI

SAMPUL…………………………………………………………………………..i

COVER……………………………………………………………………………ii

HALAMAN PERSETUJUAN PEMBIMBING………………………………….iii

MOTO……………………………………………………………………………..v

PERNYATAAN KEASLIAN KARYA………………………………………….vi

LEMBAR PERNYATAAN……………………………………………………...vii

ABSTRAK………………………………………………………………………viii

ABSTRACT………………………………………………………………………ix

KATA PENGATAR………………………………………………………………x

DAFTAR ISI……………………………………………………………………..xii

DAFTAR TABEL……………………………………………………………….xiv

DAFTAR GAMBAR……………………………………………………………xiv

BAB I PENDAHULUAN….……………………………………………………...1

1.1. Latar Belakang…………………………………………………….1

1.2. Rumusan Masalah…………………………………………………2

1.3. Tujuan Penelitian………………………………………………….3

1.4. Batasan Masalah…………………………………………………..3

1.5. Metodologi Penelitian……………………………………………..3

1.6. Sistematika Penulisan……………………………………………..4

BAB II DASAR TEORI.………………………………………………………….6

2.1. Pengenalan Suara………………………………………………….6

2.2. Mel Frequency Cepstral Coefficients……………………………..6

2.3. Jaringan Syaraf Tiruan……………………………………………12

2.4. K-Fold Cross Validation………………………………………….18

2.5. Confussion Matrix………………………………………………..18

BAB III METODOLOGI PENELITIAN …………………………………… ....19

3.1. Gambaran Penelitian……………………………………………...19

3.2. Data……………………………………………………………….22

3.3. Preprocessing……………………………………………………..25

3.4. Ekstraksi Ciri……………………………………………………..29

3.5. Jaringan Syaraf Tiruan……………………………………………32

3.6. Metode Pengujian………………………………………………...38

3.7. Model Pengenalan Data Tungga ………………………………...38

3.8. Algoritma…….…………………………………………………...41

3.8. Kebutuhan Sistem………………………………………………. 43

BAB IV IMPLEMENTASI DAN ANALISA …………………………………..46

4.1. Preprocessing……………………………………………………..46

4.1.1. Merubah Format File Suara……………………………….46

4.1.2. Pemotongan File Suara……………………………………47

4.1.3. Normalisasi Data Sample Suara…………………………..49

4.1.4. Deteksi Silence Voice atau Suara Hening……………… . 50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xiii

4.1.5. Feature Data (MFCC)…………………………………..…54

4.1.6. 3-Fold Cross Validation …………………………………..56

4.2. Klasifikasi………………………………………………………...56

4.3. Uji Data Tunggal…………………………………………………49

BAB V PENUTUP ………………………………………………………………69

5.1. Kesimpulan……………………………………………………….69

5.2. Saran……………………………………………………………...70

DAFTAR PUSTAKA……………………………………………………………71

LAMPIRAN……………………………………………………………………...76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xiv

DAFTAR TABEL

Tabel 3.2 Tabel Kata dalam Kalimat Perintah Suara……………………19

Tabel 3.4 3-Fold Cross Validation………………………………………23

Tabel 4.1 Tabel Persentase Hasil Potongan Suara………………………53

Tabel 4.1.5 Tabel Label Ciri Data…………………………….…………55

Tabel 4.2.1 Tabel Fold Pertama…………………………………………61

Tabel 4.2.2 Tabel Fold Kedua………………………………………….. 62

Tabel 4.2.3 Tabel Fold Ketiga……………………………………… …..62

DAFTAR GAMBAR

Gambar 2.3.1 Ilustrasi Jaringan Lapis Tunggal………………………...13

Gambar 2.3.2 Ilustrasi Jaringan Lapis Majemuk……………………….13

Gambar 2.3.2.1 Jaringan Fungsi Aproksimasi………………………….14

Gambar 2.3.4.1 Jaringan 3 Lapis Notasi Ringkas………………………15

Gambar 3.1 Diagram Blok Sistem…………………..…………………..21

Gambar 3.2.1 Contoh Sinyal Digital……………………………………24

Gambar 3.2.2 Contoh Sinyal Spectogram………………………………24

Gambar 3.3.1 Deteksi Energy………………………………………......26

Gambar 3.3.2 Gambar Hasil Deteksi Energi Potongan ………………..26

Gambar 3.3.3 Contoh Deteksi Zero-Crossing Dari Potongan Suara 1…27

Gambar 3.3.4 Contoh Deteksi Zero-Crossing Dari Potongan Suara 2…28

Gambar 3.4 Hasil Ekstraksi ciri MFCC………………………………...24

Gambar 3.5 Arsitektur Jaringan Untuk Pelatihan & Pengujian………...27

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xv

Gambar 3.7 Diagram Blok Sistem Pengenalan Data Tunggal ………….38

Gambar 3.8 Flow Chart Sistem …………………………………………41

Gambar 3.9 Rancangan Antarmuka Sistem ……………………………..34

Gambar 4.1.1 Merubah Format Suara dengan Format Factory………….47

Gambar 4.1.2.1 Pemotongan File Kalimat dengan Wavepad……...…….48

Gambar 4.1.2.2 Block diagram Sistem Pemotongan Manual……...…….49

Gambar 4.1.4.1 Deteksi Silence Voice dengan Energy…….……………50

Gambar 4.1.4.2 Deteksi Silence Voice dengan ZeroCrossing...…………51

Gambar 4.1.4.3 Deteksi Silence Voice dengan ZeroCrossing…………...51

Gambar 4.1.4.4 Deteksi Silence Voice dengan ZeroCrossing…………...52

Gambar 4.1.4.5 Deteksi Silence Voice dengan ZeroCrossing……...……52

Gambar 4.1.4.6 Deteksi Silence Voice dengan ZeroCrossing…...………52

Gambar 4.1.5 Diagram Blok MFCC……………………………………..54

Gambar 4.2.1 Arsitektur JST Satu Hidden Layer………………………..56

Gambar 4.2.2 Grafik Klasifikasi dengan 1 Hidden Layer……………….57

Gambar 4.2.3 Arsitektur satu Hidden Layer Variasi Bobot & Bias …….57

Gambar 4.2.4 Grafil Klasifikasi 1 Hidden Layer Variasi Bobot & Bias...58

Gambar 4.2.5 Arsitektur JST Dua Hidden Layer………………………..59

Gambar 4.2.6 Grafik Klasifikasi dengan 2 Hidden Layer……………….59

Gambar 4.2.7 Grafik Arsitektur JST Optimal……………………………60

Gambar 4.2.8 Arsitektur JST optimal ………………………………...…60

Gambar 4.3.1 Uji Data 1…………………………………………………63

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

xvi

Gambar 4.3.2 Uji Data 2…………………………………………………64

Gambar 4.3.3 Uji Data 3…………………………………………………65

Gambar 4..3.4 Uji Data 4……………………………………...…………65

Gambar 4.3.5 Uji Data 5…………………………………………………66

Gambar 4.4.1 Grafik perbandingan seluruh hasil akurasi JST…………..67

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Di zaman yang sudah modern ini sistem kendali jarak jauh telah banyak

digunakan. Salah satu contohnya adalah dalam melakukan pengendalian

perangkat elektronik di dalam rumah dengan menggunakan perintah suara.

Namun, karena suara manusia memiliki keunikan tersendiri maka ada beberapa

hal yang harus diatasi dalam mengimplementasikan pengenalan suara seperti

derau (noise), frekuensi ucapan yang berubah-ubah, pola kata yang diucapkan,

serta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam

melakukan pengendalian perangkat elektronik di dalam rumah dengan perintah

suara dibutuhkan sebuah sistem pengenalan suara yang mampu mengenali

perintah suara yang diucapkan manusia.

Pada tahun 2013 terdapat penelitian dengan judul “Pengenalan Suara

Manusia Menggunakan Metode Linear Predictive Coding”(Khoirul, 2013).

Pada penelitian tersebut dikatakan bahwa pengenalan suara pembicara (speec

recognition) tidak membutuhkan biaya yang besar dan tidak membutuhkan

peralatan khusus. Pada tahun 2014 juga terdapat penelitian dengan judul

“Aplikasi Pengenalan Suara Untuk Rumah Pintar Menggunakan Algoritma

Fast Fourier Transform Berbasiskan Android” (Andika, Bayu 2014). Penelitian

tersebut bertujuan untuk membuat sebuah program yang dapat mengatur

peralatan yang ada di rumah dengan menggunakan media suara. Nilai akurasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

2

yang dihasilkan pada penelitian tersebut adalah 70% dengan waktu proses rata-

rata 2,67 detik. Selain itu pada tahun 2016 juga terdapat penelitian dengan judul

“Klasifikasi Burung Berdasarkan Suara Kicau Burung Menggunakan Jaringan

Syaraf Tiruan Propagasi Balik” (Echo, 2016). Penelitian ini bertujuan untuk

melakukan klasifikasi burung berdasarkan suara kicau. Dimana nilai akurasi

yang dihasilkan pada penelitian ini sebesar 85,28% untuk klasisfikasi

menggunakan 3 fold, 98,61% untuk klasifikasi menggunakan 5 fold dan sebesar

99,17% untuk klasifikasi menggunakan 10 fold.

Pada tugas akhir ini penulis akan mencoba untuk membuat suatu sistem

yang dapat melakukan klasifikasi dalam pengenalan perintah suara dengan

menggunakan metode Jaringan Syaraf Tiruan Backpropagation.

1.2. Rumusan Masalah

Berdasarkan latar belakang di atas, rumusan masalah dalam

penelitian ini adalah :

1.2.1. Bagaimana metode Jaringan Syaraf Tiruan Back

Propagation mampu mengklasifikasi perintah suara?

1.2.2. Berapakah akurasi yang dihasilkan oleh metode Jaringan

Syaraf Tiruan dalam melakukan klasifikasi perintah suara?

1.3. Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mengetahui akurasi dari metode

Jaringan Syaraf Tiruan bila diterapkan dalam melakukan klasifikasi

perintah suara.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

3

1.4. Batasan Masalah

Agar pengerjaan tugas akhir ini lebih terfokus pada tujuan yangtelah

ditetapkan maka perlu adanya batasan-batasan masalah. Dalam Batasan-

batasan tersebut yaitu : terdapat 4 ( Empat ) jenis perintah yang aplikasi

dapat kenali yaitu : hidup (on), mati (off), buka (open) dan tutup (close).

Dalam melakukan ekstraksi ciri penulis menggunakan Mell Frequency

Cepstral Coefficient (MFCC). Sedangkan untuk melakukan pengenalan

pola suara peneliti menggunakan metode Jaringan Syaraf Tiruan (JST).

Sedangkan untuk proses perekaman suara dilakukan dari jarak sejauh 3

hinggan 5 sentimeter dari bibir pembicara.

1.5. Metodologi Penelitian

Langkah-langkah dalam penelitian :

1.5.1. Pengumpulan referensi berupa buku-buku dan jurnal-jurnal

ilmiah mengenai pengolahan suara, metode Jaringan Syaraf

Tiruan (JST) dan ekstraksi ciri MCFF ( Mell Frequency Cepstral

Coefficient ).

1.5.2. Pembuatan Sistem

Sistem yang dibuat akan berjalan di perangkat komputer dengan

sistem operasi windows. Pembuatan sistem menggunakan

Matlab 2014.b.

1.5.3. Pengambilan data dilakukan secara offline dengan cara merekam

data ucapan pada setiap kata perintah. Data tersebut kemudian di

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

4

kirimkan ke software yang ada di komputer untuk di deteksi nilai

dari setiap data ucapan yang ada.

1.5.4. Analisa dan penyimpulan hasil percobaan.

Analisa data dilakukan dengan cara meneliti jumlah variasi

perintah suara yang dimasukkan ke sistem. Sedangkan dalam

mengambil kesimpulan dilakukan dengan cara mencari jumlah data

perintah yang dapat dikenali dengan benar oleh sistem.

1.5.1. Pengujian secara real time

Pengujian secara real time adalah pengujian dengan

memberikan masukan berupa perintah suara kedalam sistem

secara langsung. Setelah perintah dimasukkan sistem akan

secara lansung meneruskan ke sistem dan akan diproses

sehingga sistem akan mengeluarkan output berupa perintah

untuk mengendalikan barang elektronik. Pengujian ini bertujuan

untuk menguji kinerja sistem pada saat real time.

1.6. Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab

dengan susunan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini membahas latar belakang, rumusan masalah, tujuan,

manfaat, batasan masalah, metodologi penelitian, dan sistematika

penulisan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

5

BAB II : LANDASAN TEORI

Bab ini membahas teori-teori yang mendukung dan menjadi dasar

pemecahan masalah, antara lain teori mengenai rumah pintar dan voice

recognition. Pada bab ini juga membahas mengenai metode-metode seperti:

Mell Frequency Cepstral Coefficient (MFCC) dan Jaringan Syaraf Tiruan

(JST).

BAB III : METODOLOGI PENELITIAN

Bab ini membahas mengenai perancangan aplikasi pengenalan

suara. Bab ini juga membahas mengenai analisa komponen-komponen yang

akan digunakan untuk pengerjaan tugas akhir.

BAB IV : IMPLEMENTASI DAN ANALISIS HASIL

Bab ini membahas analisa hasil perancangan sistem dan pengujian

rekaman perintah suara.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari hasil analisa dan saran-saran untuk

pengembangan lebih lanjut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

6

BAB II

DASAR TEORI

Bab ini membahas teori-teori yang bersangkutan dengan penulisan proposal

Tugas Akhir ini. Teori-teori tersebut adalah Pengenalan Suara (Voice Recognition),

Mel Frequency Cepstral Coefficients, Jarigan Saraf Tiruan (Artificial Neural

Network), K-Fold Cross Validation, Confusion Matrix.

2.1. Pengenalan Suara (Voice Recognition)

Pengenalan suara (Voice Recognition) merupakan proses atau

metode dalam menterjemahkan signal suara menjadi tulisan dengan

menggunakan alat berupa komputer (T. Ginnakopoulos, 2014). Pengenalan

suara bertujuan untuk mengidentifikasi atau mengenali suara dimana dalam

prosesnya komputer akan menerima input berupa kata yang diucapkan.

Kata-kata tersebut kemudian diubah menjadi sinyal digital dengan cara

merubah gelombang suara menjadi sekumpulan angka lalu disesuaikan

dengan kode tertentu dan dicocokkan dengan suatu pola yang tersimpan

dalam sistem. Hasil identifikasi kata kemudian ditampilkan dalam bentuk

tulisan atau kode yang dapat dibaca oleh perangkat teknologi (A. Astri,

2016).

2.2. Mel Frequency Cepstral Coefficients

Mel Frequency Cepstral Coefficients (MFCC) merupakan metode

yang cukup popular digunakan dalam melakukan ekstraksi ciri dari data

suara. Metode ini didasarkan atas variasi bandwidth kritis terhadap

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

7

frekuensi telinga manusia. Dimana telinga manusia merupakan filter yang

bekerja secara linier pada frekuensi rendah dan bekerja secara logaritmik

pada frekuensi tinggi. Untuk meniru kondisi telinga, karakteristik ini

digambarkan dalam skala mel-frekuensi, yang merupakan frekuensi linier

di bawah 1000Hz dan frekuensi logaritmik di atas 1000Hz(Setiawan, dkk

2011).

2.2.1. Pre-emphasis

Menurut Jang (2005), sinyal suara s(n) dikirim ke

filter high-pass:

S2(n) = S(n) – a * S(n-1) … (2.2.1.1)

Dimana S2(n) merupakan sinyal output dan nilai a

biasanya antara 0.9 dan 1.0. Sedangkan Z-transform dari

filter adalah:

H(z) = 1 – a * z-1 … (2.2.1.2)

Tujuan dari pre-emphasis adalah untuk

mengkompensasi bagian frekuensi tinggi yang ditekan pada

saat produksi suara manusia. Selain itu juga dapat

memperkuat forman penting dari frekuensi tinggi.

2.2.2. Frame Blocking

Pada tahap ini sinyal suara kontinyu diblok menjadi

frame-frame N sample, dengan frame-frame berdekatan

dengan spasi M (M < N). Frame pertama terdiri dari N

sampel pertama. Frame kedua dengan M sampel setelah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

8

frame pertama, dan overlap dengan N-M sampel. Dengan

cara yang sama, frame ketiga dimulai 2M sampel setelah

frame pertama (atau M sampel setelah frame kedua) dan

overlap dengan N-2M sampel. Proses ini berlanjut hingga

semua suara dihitung dalam satu atau banyak frame. Nilai

tipikal untuk N = 256 dan M = 100 (Mustofa,2007).

2.2.3. Hamming Windowing

Tahap selanjutnya adalah pemrosesan dengan

window pada masing-masing frame individual untuk

meminimalisasi sinyal yang tidak kuntinyu pada awal dan

akhir frame. Window dinyatakan dengan w(n), 0 < n < N-1,

dengan N adalah jumlah sampel dalam masing-masing

frame, X1(n) adalah sinyal input dan hasil windowing adalah

Y1(n).

Y1(n) = X1(n)w(n), 0 < n < N-1

… (2.2.3.1)

Jenis window yang digunakan adalah window

Hamming.

w(n) = 0.54 – 0.46 cos [ (2πn)/(N-1) ] , 0 < n < N-1

… (2.2.3.2)

Dengan N adalah jumlah sampel.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

9

2.2.4. Fast Fourier Transform

Tahap ini bertujuan untuk mengubah masing-masing

frame N sample dari domain waktu menjadi domain

frekuensi. FFT merupakan algoritma cepat untuk

mengimplementasikan discrete fourier transform (DFT)

dengan didefinisikan pada kumpulan N sampel.

… (2.2.4.1)

Dengan :

Xk = Deretan aperiodik dengan nilai N

N = Jumlah sampel

2.2.5. Triangular Bandpass Filter

Persepsi manusia dari kandungan frekuensi suara

pada sinyal wicara tidak mengikuti skala linier. Untuk

masing-masing nada dengan frekuensi aktual, f dalam Hz,

pitch diukur dengan skala ‘mel’. Skala mel-frequency

merupakan frekuensi linear yang berada dibawah 1000Hz

dan bentuk logaritmik berada diatas 1000Hz. Sebagai titik

referensi adalah pitch dengan tone 1 kHz, 40dB diatas nilai

batas ambang pendengaran, ini dinyatakan 1000mel.

Pendekatan persamaan untuk menghitung mel dalam

frekuensi adalah :

mel( f ) = 2595 x log10( 1 + f / 700 ) … (2.2.5.1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

10

Salah satu pendekatan simulasi spektrum yaitu

menggunakan filter bank, satu filter untuk masing-masing

komponen mel-frequency yang diinginkan. Filter bank

mempunyai respon frekuensi bandpass segitiga dan jarak

bandwidth ditentukan oleh konstanta interval mel-frequency.

2.2.6. Discrete Cosine Transform

Langkah selanjutnya yaitu merubah spektrum log

mel menjadi domain waktu. Hasil ini disebut mel frequency

cepstrum coefficient (MFCC). Representasi cepstral dari

spectrum suara memberikan representasi baik dari sifat-sifat

spektral lokal sinyal untuk analisis frame yang diketahui.

Karena koefisien mel spectrum adalah bilangan nyata.

Dengan mengubahnya menjadi domain waktu menggunakan

discrete cosine transform (DCT). Jika koefisien spektrum

daya mel hasilnya adalah

… (2.2.6.1)

Maka MFCC dapat dihitung sebagai :

… (2.2.6.2)

Dimana :

= Koefisien cepstrum mel-frequency

= koefisien daya mel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

11

2.2.7. Log Energy

Merupakan salah satu cara untuk menambah nilai

koefisien yang dihitung dari linear prediction atau mel-

cepstrum, nilai tersebut merupakan log energy signal. Ini

berarti pada setiap frame terdapat nilai energi yang

ditambahkan.

2.2.8. Delta Cepstrum

Secara umum metode yang digunakan untuk

mendapat informasi dari ciri yang dinamis biasa disebut

dengan delta-features. Turunan waktu dari ciri dapat

dihitung dengan beberapa metode, hasil perhitungan delta

akan ditambahkan ke vector ciri, sehingga menghasilkan

vektor ciri yang lebih besar. Nilai delta akan diturunkan

sekali lagi terhadap waktu menjadi nilai delta-delta pada

beberapa kasus delta-delta disebut dengan koefisien

percepatan, karena nilai tersebut merupakan turunan dari

kuadrat waktu dari koefisien. Persamaannya adalah :

… (2.2.8.1)

Nilai M biasanya bernilai 2. Jika menambahkan

kecepatan, feature berdimensi 26. Jika menambahkan baik

kecepatan dan akselerasi, dimensi feature menjadi 39. Pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

12

umumnya sistem pengenalan suara menggunakan 39 feature

untuk mengenali ( Jang, 2005 ).

2.3. Jaringan Saraf Tiruan ( Artificial Neural Network )

Jaringan Saraf Tiruan atau sering disebut Artificial Neural Network

merupakan sistem komputasi yang memiliki arsitekstur dan cara kerja seperti

layaknya sel saraf biologis dalam otak manusia. Jaringan Saraf Tiruan dapat

digambarkan sebagai model matematis dan komputasi untuk fungsi aprokimasi

non-linier, klasifikasi data cluster, dan regresi non-parametrik atau sebuah simulasi

dari model saraf biologi. Jaringan Saraf Tiruan mampu menangani sistem yang

kompleks, rumit dan tidak linier serta mamp belajar dengan variabel-variabel

keputusan (decision variable).(Mittal & Zang, 2001;Hermawan, 2006

;Siang,2005).

Jaringan Saraf Tiruan memiliki 2 jenis arsitektur yakni lapis tunggal dan

lapis majemuk.

• Pada arsitektur lapis tunggal input atau masukan dihubungkan

dengan lapisan neuron tunggal sehingga pemrosesan data hanya

diproses sekali untuk mendapatkan output.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

13

Gambar 2.3.1 Ilustrasi Jaringan Lapis Tunggal (Hagan

& Beale, 2014)

• Pada arsitektur jaringan lapis majemuk jaringan memiliki lebih dari

satu lapisan neuron dan berupa proses berantai yang sering disebut

layer tersembunyi (Hidden Layer). Arsitektur ini dapat memproses

informasi yang lebih kompleks sehingga diharapkan mampu

menghasilkan akurasi yang lebih baik dari arsitektur tunggal.

Gambar 2.3.2 Ilustrasi Jaringan Lapis Majemuk (Hagan & Beale, 2014)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

14

2.3.1. Backpropagation

Backpropagation digunakan dalam melatih jaringan untuk

mendapatkan keseimbangan antara kemampuan jaringan dalam

mengenali pola yang digunakan selama pelatihan serta kemampuan

jaringan untuk memberi respon yang benar terhadap pola masukan.

Dimana backpropagation yang telah dilatih dengan baik akan

memberikan keluaran yang masukakal jika diberikan masukan yang

serupa dengan pola yang dipakai dalam pelatihan. ( Siang, 2005).

2.3.2. Fungsi Aktifasi

Berikut ini merupakan contoh jaringan fungsi aproksimasi

Gambar 2.3.2.1 Contoh Jaringan Fungsi Aproksimasi

(Hagan & Beale, 2014)

2.3.3. Propagasi Maju

Pada propagasi maju, input atau masukan

dipropagasikan ke lapisan tersembunyi dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

15

menggunakan fungsi aktivasi yang telah di tentukan.

Dimana keluaran-nya akan di propagasikan maju lagi ke

lapisan tersembunyi selanjutnya dan akan terus berlanjut

sampai menghasilkan hasil. Hasil luaran akan dibandingkan

dengan ouput atau target minimum dan perbaikan dilakukan

bila hasil tidak mencapai target minimum.

2.3.4. Propagasi Mundur

Propagasi mundur digunakan untuk melakukan

perbaikan dari hasil luaran propagasi maju yang tidak

mencapai target minimum.

Algoritma backpropagation digambarkan dengan

rumus :

Am+1 = f m+1(Wm+1am + bm+1) untuk m = 0, 1,.. M-1

...(2.3.4.1)

Dimana m merupakan jumlah layer dari jaringan

tersebut.

Gambar 2.3.4.1 Gambar Jaringan 3 Lapis, dengan

notasi ringkas (Hagan & Beale, 2014)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

16

2.3.5. Perbaikan Bobot

Setelah semua faktor 𝛿 dihitung, bobot semua garis

dimodifikasi bersamaan. Perubahan bobot suatu garis

didasarkan atas faktor 𝛿 neuron di lapis atasnya.

Secara umum algoritma pelatihan untuk jaringan

backpropagation adalah sebagai berikut :

1. Ini sialisasi bilangan bobot dengan nilai kecil

2. Jika kondisi untuk pemberhentian belum terpenuhi,

lakukan langkah 3-10

3. Untuk setiap pasang data pelatihan, lakukan langkah 4-9

4. Setiap neuron menerima sinyal dan meneruskannya ke

neuron tersembunyi selanjutnya

5. Hitung semua luaran di neuron tersembunyi z_j (j = 1, 2,

3, … , p)

𝑧_𝑛𝑒𝑡𝑗 = 𝑣𝑗0 + ∑ 𝑥𝑖𝑛𝑖=1 𝑣𝑗𝑖 … ( 2.3.5.1 )

𝑧𝑗 = 𝑓 (𝑧𝑛𝑒𝑡𝑗) =

1

1+𝑒−𝑧_𝑛𝑒𝑡𝑗

… ( 2.3.5.2 )

6. Hitung semua luaran jaringan di neuron y_k (k = 1, 2, 3,

… , m)

𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘0 + ∑ 𝑥𝑗𝑛𝑗=1 𝑤𝑘𝑖 … ( 2.3.5.3 )

𝑦𝑘 = 𝑓(𝑦𝑛𝑒𝑡𝑘) =

1

1+𝑒−𝑦_𝑛𝑒𝑡𝑘 … ( 2.3.5.4 )

7. Hitung faktor δ neuron luaran berdasarakan error

disetiap neuron luaran y_k (k = 1, 2, 3, … , m)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

17

𝛿𝑘 = (𝑡𝑘 − 𝑦𝑘)𝑓′(𝑦𝑛𝑒𝑡𝑘) = (𝑡𝑘 − 𝑦𝑘)𝑦𝑘(1 −

𝑦𝑘) … ( 2.3.5.5 )

Hitung suku perubahan bobot w_kj dengan laju

percepatan α

∆𝑤𝑘𝑗 = 𝛼𝛿𝑘𝑧𝑗 ; 𝑘 = 1, 2, … , 𝑚 ; 𝑗 = 0, 1, … , 𝑝

… ( 2.3.5.6 )

8. Hitung faktor δ neuron luaran berdasarakan error

disetiap neuron luaran z_j (j = 1, 2, 3, … , p)

𝛿_𝑛𝑒𝑡𝑗 = ∑ 𝛿𝑘𝑚𝑘=1 𝑤𝑘𝑗

… ( 2.3.5.7 )

Faktor δ neuron tersembunyi :

𝛿𝑗 = 𝛿_𝑛𝑒𝑡𝑗𝑓′(𝑧𝑛𝑒𝑡𝑗) = 𝛿𝑛𝑒𝑡𝑗

𝑧𝑗(1 − 𝑧𝑗)

… ( 2.3.5.7 )

Hitung suku perubahan bobot v_ij

∆𝑣𝑖𝑗 = 𝛼𝛿𝑗𝑥𝑖 ; 𝑗 = 1, 2, … , 𝑝 ; 𝑥 = 0, 1, … , 𝑛

… ( 2.3.5.8 )

9. Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke neuron

luaran:

𝑤𝑘𝑗(𝑏𝑎𝑟𝑢) = 𝑤𝑘𝑗(𝑙𝑎𝑚𝑎)∆𝑤𝑘𝑗(𝑘 =

1, 2, … , 𝑚 ; 𝑗 = 0, 1, … , 𝑝)…(2.3.5.9)

Perubahan bobot garis yang menuju ke neuron

tersembunyi:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

18

𝑣𝑗𝑖(𝑏𝑎𝑟𝑢) = 𝑣𝑗𝑖(𝑙𝑎𝑚𝑎)∆𝑣𝑗𝑖(𝑗 = 1, 2, … , 𝑝 ; 𝑖 = 0, 1, … , 𝑛)…(2.3.5.10)

10. Bandingkan kondisi penghentian.

2.4. K-Fold Cross Validation

K-Fold Cross Validation merupakan teknik umum untuk menguji

kenerja dari klasifikasi. Data dibagi menjadi k bagian ( fold ), kemudian

selama I = 1,…,k dilakukan pelatihan terhadap data selain fold ke-I dan

dilakukan pengujian terhadap data fold ke-I tersebut. Kemudian menghitung

jumlah pengujian yang mengalami kesalahan klasifikasi.

2.5. Confusion Matrix

Confusion Matrix menunjukkan jumlah prediksi yang benar dan

salah yang dibuat oleh model klasifikasi dibandingkan dengan hasil yang

sebenarnya dalam data. Matrix adalah n x n, dimana n adalah jumlah nilai

target. Kinerja model ini biasanya dievaluasi dengan menggunakan data

dalam matrix (Diana dan Shidik, 2014).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

19

BAB III

METODOLOGI PENELITIAN

Bab ini membahas analsisa kebutuhan sistem mencangkup metode

yang digunakan untuk ekstraksi ciri, klasisfikasi, dan pengujian sistem. Bab

ini juga berisi perancangan sistem mencangkup preprocessing, ekstraksi

ciri, klasifikasi, metode pengujian, algoritma, dan perancangan antar muka

sistem.

3.1.Gambaran Penelitian

Sesuai dengan gambar 3.1 pada penelitian ini data hasil rekaman

kalimat suara akan di proses dengan melakukan tahap pre-processing

terlebih dahulu. Pada tahap ini data suara akan dirubah format dan

frekuensinya menjadi .WAV dengan frekuensi 11025Hz mono channel.

Kemudian sistem akan melakukan normalisasi nilai sampel suara yang

selanjutnya dicari nilai energi dan zero-crossing dari data suara. Nilai energi

dan zero-crossing kemudian digunakan dalam proses pemotongan file

kalimat suara menjadi potongan kata.

Setelah kalimat suara dipotong menjadi beberapa kata, proses

selanjunya yang dilakukan adalah proses ekstraksi ciri. Pada proses ini hasil

potongan kata akan di cari ciri atau feature dari setiap potongan kata dimana

dalam prosesnya dilakukan dengan metode Mel Frequency Cepstral

Coefficients (MFCC). Adapun tahapan yang dilakukan adalah pre-

emphasis, frame blocking, hamming windowing, fast fourier transform,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

20

triangular bandpass filter, discrete cosine transform, log energy dan delta

cepstrum.

Proses selanjutnya adalah dengan membagi hasil ekstraksi ciri

menjadi 3 kelompok data dimana 1 kelompok data akan dijadikan data

testing dan 2 kelompok data akan dijadikan data training. Setelah itu

dilakukan proses klasifikasi dengan metode jaringan syaraf tiruan sehingga

didapat hasil yang diinginkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

21

Gambar 3.1 Diagram Blok Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

22

3.2.Data

Data suara yang dipakai merupakan data suara hasil rekaman 14

jenis perintah suara berupa kalimat perintah dari 10 orang berbeda yang

direkam dengan menggunakan HandPhone dan disimpan dalam format

.mp3 . Untuk setiap jenis perintah suara akan dikumpulkan maksimal

sebanyak 6 data rekaman suara per-orang (3 rekaman dari depan & 3

rekaman dari samping) yang akan dijadikan sebagai data training. Data

rekaman yang didapat haruslah bersih dari noise (gangguan suara) atau

sekurang-kurangnya memiliki noise yang masih dapat di toleransi.

Adapun jenis perintah kalimat suara yang digunakan adalah sebagai

berikut :

➢ Hidupkan lampu ruang tamu

➢ Hidupkan lampu kamar

➢ Hidupkan lampu garasi

➢ Matikan lampu ruang tamu

➢ Matikan lampu kamar

➢ Matikan lampu garasi

➢ Hidupkan TV ruang tamu

➢ Hidupkan TV kamar

➢ Matikan TV ruang tamu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

23

➢ Matikan TV kamar

➢ Buka pintu

➢ Buka jendela

➢ Tutup pintu

➢ Tutup jendela

Tabel 3.2: Tabel Kata dalam Kalimat Perintah Suara

Perintah Objek Lokasi

Hidupkan Lampu Ruang Tamu

Matikan Televisi Kamar

Garasi

Buka Pintu

Tutup Jendela

Data perintah suara yang digunakan bila dirubah menjadi sinyal

digital dan spektogram dalam penelitian ini :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

24

Gambar 3.2.1 Sinyal digital “Hidupkan Lampu Ruang Tamu”

Gambar 3.2.2 Sinyal spectogram “Hidupkan Lampu Ruang Tamu”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

25

3.3.Preprocessing

Terdapat beberapa tahapan dalam preprocessing yakni : merubah

file ke format .WAV, melakukan proses deteksi silence voice,

normalisasi nilai data, dan memotong suara per-kata.

3.3.1. Merubah Format File Suara

Pada tahap ini file suara dalam format .WAV di konversi

dari frekuensi 44100Hz stereo channel ke dalam bentuk file

.WAV dengan format Pulse-Code Modulation (PCM),

11025Hz, 8 bit, mono channel. Dalam proses ini membutuhkan

aplikasi Format Factory 4.1.0.

3.3.2. Normalisasi

Proses ini dilakukan dengan metode min-max yang

bertujuan untuk menyetarakan nilai tertinggi dan terendah dari

suatu kesatuan nilai signal data suara. Pada proses ini nilai

tertinggi dan terendah dari nilai signal ditetapkan secara

konstan. Dimana pada proses ini menggunakan rumus :

Zi = [ 𝑋𝑖 − min(𝑋)

max(𝑋) − min(𝑋)]

Dimana Zi merupakan nilai hasil normalisasi ke i dari

matriks X, Xi merupakan nilai ke i dari matriks X.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

26

3.3.3. Deteksi Silence Voice

Proses deteksi Silence Voice dilakukan dengan cara

mencari Energy & Zero-Crossing dari suatu data suara. Dalam

prosesnya data suara akan di potong menjadi beberapa Frame

dan dicari nilai Energy & Zero-Crossing -nya.

Gambar 3.3.1 Deteksi Energy dari Data Suara AgusDepan (1)

“Hidupkan Lampu Ruang Tamu”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

27

Gambar 3.3.2 Gambar hasil deteksi energi potongan pertama dan

ke-2 yang masih memiliki kemungkinan terdapat potongan kata di

dalamnya

Dalam prosesnya pertama-tama sistem akan mencari Energy dari

data suara sehingga didapatkan energy seperti pada gambar 3.3.1 diatas.

Dimana pada gambar bisa di dapatkan 5 potongan suara dimana

potongan pertama dan ke-2 masih memiliki kemungkinan untuk adanya

potongan suara (kata) di dalamnya.

Gambar 3.3.3 Deteksi Zero-Crossing Dari Potongan Suara

Pertama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

28

Gambar 3.3.4 Deteksi Zero-Crossing Dari Potongan Suara ke-2

Setelah melakukan pemotongan suara dengan menggunakan nilai

energy, selanjutnya hasil potongan akan di cari zero-crossingnya. Pada

gambar 3.3.3 sistem tidak menemukan nilai zero-crossing unik pada

data potongan suara sehingga dapat disimpulkan bahwa potongan suara

merupakan satu kesatuan. Sedangkan pada gambar 3.3.4 terdapat nilai

zero-crossing yang unik sehingga suara dapat di potong lagi menjadi 2

potongan suara.

• Potong per-Kata

Pada proses ini koordinat dari Silence Voice akan

digunakan untuk menentukan jarak atau panjang data kalimat

suara yang akan di potong sehingga menjadi suatu data kata

suara. Data yang dipotong adalah data suara yang telah di

Normalisasi terlebih dahulu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

29

3.4.Ekstraksi Ciri

Ekstraksi ciri menggunakan metode MFCC (Mel Frequency Cepstral

Coefficient). Dimana metode tersebut dipilih karena sering digunakan

dalam speech recognition. Salah satu contohnya adalah pada penelitian

dengan judul “Klasifikasi Burung Berdasarkan Suara Kicau Burung

Menggunakan Jaringan Syaraf Tiruan Propagasi Balik” (Lorencious Echo,

2016) dimana pada penelitian tersebut didaptkan akurasi yang cukup tinggi

dalam melakukan klasifikasi yakni berkisar dari 85,28% hingga 99,17%.

Namun dari penelitian tersebut juga dapat dilihat kekurangan dari metode

jaringan syaraf tiruan yakni proses klasifikasi yang lama dan peneliti harus

mencoba-coba kombinasi secara manual hingga mendapatkan kombinasi

model yang optimal.

Untuk proses ekstraksi ciri dilakukan pada semua file suara dengan

menentukan terlebih dahulu ukuran frame dan overlap yang akan digunakan

pada saat proses perhitungan nilai MFCC. Kemudian nilai MFCC yang

dihasilkan dari setiap rekaman direduksi ciri dengan menghitung nilai

statistic berupa nilai mean, variance, standart-deviasi, dan standar deviasi

by mean dari nilai MFCC yang nantinya akan digunakan sebagai nilai input

dalam HMM.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

30

Gambar 3.4 Gambar Tabel hasil ekstraksi ciri MFCC ( Tabel lengkap

dapat dilihat pada bagian lampiran dokumen )

Pada gambar 3.4 diatas nilai 13 merupakan jumlah koefisien MFCC

yang dihasilkan, sedangkan 27 merupakan jumlah frame yang

dihasilkan pada saat proses frame blocking. Jumlah frame sebanyak 27

dihasilkan melalui perhitungan sebagai berikut :

Sample Rate = 11025 Hz

Frame Size = 15ms = (15/1000)*11025 = 165.375 sample point

Overlap = 10ms = (10/1000)*11025 = 110.25 sample point

Step = 165.375 – 110.25 = 55.125

Duration = 0.1486s

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

31

Sample Total = 0.1486*11025 = 1638.315 , Dibulatkan = 1638

Sample

Jumlah Frame = (1638-110.25)/55.125 = 27.714

Proses reduksi ciri dilakukan dengan menghitung nilai mean,

median, standar deviasi dan standar deviasi by mean setiap baris

koefisien MFCC (baris 1-13) yang nantinya akan menghasilkan

sebanyak 52x1 ciri untuk masing-masing potongan file suara.

Ada 9 tahap yang dilakukan pada proses ekstraksi ciri, dengan 8

tahap merupakan proses dari MFCC dan 1 tahap lainnya merupakan

perhitungan terhadap nilai MFCC yang telah dihasilkan. Tahap-tahap

tersebut adalah :

➢ Pre-Emphasis

➢ Frame Blocking

➢ Hamming Windowing

➢ Fast Fourier Transform ( FFT )

➢ Triangular Bandpass Filter

➢ Discrete Cosine Transform ( DCT )

➢ Log Energy

➢ Delta Cepstrum

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

32

➢ Menghitung nilai mean, median, standar deviasi dan standar

deviasi by mean

Kemudian data dibagi menjadi 3 kelompok data ciri yang

berisikan ciri dari potongan kata kalimat suara. Kelompok data ini

kemudian akan dijadikan sebagai data training sebanyak 2

kelompok data ciri dan data testing sebanyak 1 kelompok data ciri.

Tabel 3.4 : 3-Fold Cross Validation

Percobaa

n

Trai

n

Validatio

n

Tes

t

1 2,3 1 1

2 1,3 2 2

3 1,2 3 3

Setelah itu data feature yang telah dipilih akan dijadikan

sebagai input pada jaringan saraf tiruan.

3.5.Jaringan Syaraf Tiruan

Ada 2 jenis arsitektur jaringan syaraf tiruan yang akan

digunakan untuk proses pelatihan dan pengujian, yaitu arsitektur

jaringan syaraf tiruan dengan 1 hidden layer dan 2 hidden layer. Setiap

arsitektur akan dilakukan percobaan dengan mengkombinasikan

beberapa parameter yakni jumlah neuron input yang bervariasi serta

fungsi aktivasi purelin.

➢ Arsitektur Jaringan Syaraf Tiruan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

33

Gambar 3.5 : Arsitektur Jaringan untuk Pelatihan dan Pengujian

Arsitektur jaringan yang digunakan pada proses pelatihan

dan pengujian arsitektur memiliki kombinasi 1 hingga 25 neuron

pada setiap hidden layer-nya. Pada sistem ini menggunakan 12 input

sehingga luaran yang dihasilkan adalah [0 0 0 1] hingga [1 1 0 0]

jadi akan ada 4 neuron output untuk mendapatkan luaran yang

diinginkan.

Pada Gambar 3.5 dijelaskan bahwa masukan ciri berupa P

dimana banyak masukan maksimum sebanyak n. Feature yang

dimasukkan bergantung pada jumlah data hasil ekstraksi ciri dan n

merupakan neuron yang divariasikan dengan nilai variasi maksimun

25 neuron dan dikombinasi menggunakan 2 hidden layer untuk

menghasilkan luaran sebanyak 4 luaran yang dapat mewakili 12

label kata.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

34

Adapun percobaan perhitungan, jika gambar sebelumnya

akan menghasilkan perintah “Hidup” maka hasil tersebut akan

diberikan nilai. Pada percobaan ini akan diberi nilai W = [1 0 0 0],

setelah itu masuk ke dalam jaringan syaraf tiruan dengan bobot dan

bias bilangan random dengan nilai terkecil. Dilakukan pelatihan

hingga mendapatkan nilai mendekati target yang diinginkan yakni

sesuai dengan label asli.

Adapun percobaan perhitungannya adalah sebagai berikut ,

𝑊1(0) = [

1000

] , 𝑏1(0) = [

1000

] ,𝑊2(0) = [0 1 0 0], 𝑏2(0)

= [0],

𝑊3(0) = [

1000

] , 𝑏3(0) = [

1000

],

Luaran lapis Pertama

𝑎1 = 𝑓1(𝑊1𝑎0 + 𝑏1) = 𝑙𝑜𝑔𝑠𝑖𝑔([

1000

] [1] + [

1000

])

= 𝑙𝑜𝑔𝑠𝑖𝑔([

2000

])

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

35

=

[

1

1 + 𝑒−2

1

1 + 𝑒0

1

1 + 𝑒0

1

1 + 𝑒0 ]

= [

0,88222

]

𝑎2 = 𝑓2(𝑊2𝑎1 + 𝑏2) = 𝑙𝑜𝑔𝑠𝑖𝑔([0 1 0 0] [

0,88222

] + [0])

= 𝑙𝑜𝑔𝑠𝑖𝑔([2])

= [1

1 + 𝑒−2] = [0,88]

𝑎3 = 𝑓3(𝑓2(𝑊3𝑎0 + 𝑏3) + 𝑏2)+𝑏3

= 𝑝𝑢𝑟𝑒𝑙𝑖𝑛([

1000

] [0,88] + [

1000

])

= [

0,88000

]

Perbaikan Error

𝑒 = 𝑡 − 𝑎 = {1 + sin (𝜋

4𝑝)} − 𝑎3 = {1 + sin (

𝜋

41)} − 0,88

= 1,88

Langkah selanjutnya dari algoritma yakni sensitivitas

backpropagation, untuk memanggil kembali diperlukan turunan

fungsi transfer dari f 1(n), f 2(n) dan f 3(n) untuk lapis pertama

𝑓1(𝑛) =𝑑

𝑑𝑛(

1

1 + 𝑒𝑛) =

𝑒−𝑛

(1 + 𝑒−𝑛)2= (1 −

1

1 + 𝑒−𝑛) (

1

1 + 𝑒−𝑛)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

36

= (1 − 𝑎1)(𝑎1)

untuk lapis kedua

𝑓2(𝑛) =𝑑2

𝑑𝑛2(

1

1 + 𝑒𝑛) =

(𝑒𝑛 − 1)𝑒𝑛

(1 + 𝑒𝑛)3

= (1 −1

1 + 𝑒−𝑛)(2

1

1 + 𝑒−𝑛)(

1

1 + 𝑒−𝑛)

3

= (1 − 𝑎2)(2𝑎2)(𝑎2)3

Untuk lapis ketiga,

𝑓3(𝑛) =𝑑

𝑑𝑛(𝑛) = 1

Backpropagation dimulai dari lapis ketiga

𝑠3 = −2𝐹3(𝑛3)(𝑡 − 𝑎) = −2[𝑓3(𝑛3)] [

0,88000

] = −2[1] [

0,88000

]

= [

−1,76000

]

Sensitifitas layer pertama dan kedua merupakan komputasi

dari backpropagation sensitifitas lapis ketiga.

𝑠2 = 𝐹2(𝑛2)(𝑊3)𝑇𝑠3 = [

0,12000

] [1 0 0 0] [

0,88000

]

= [0,22 0 0 0] [

0,88000

] = [1,936]

𝑠1 = 𝐹1(𝑛1)(𝑊2)𝑇𝑠2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

37

= [

0,12000

] [

1000

] [0,1936]

= [

0,22000

] [0.1936] = [

0,426000

]

Langkah terakhir yakni memperbaharui bobot dengan

menggunakan laju pembelajaran α =1.

𝑊2(1) = 𝑊2(0) − αs2(a1)𝑇

= [

1000

] − 1[0.1936][0.88 2 2 2]

= [0.728 0 0 0],

𝑏2(1) = 𝑏2(0) − αs2 = [0] − 1[0.1936] = [−0.1936],

𝑊1(1) = 𝑊1(0) − αs1(a0)𝑇 = [

1000

] − 1 [

0,426000

] [1] = [

0,574000

],

𝑏1(1) = 𝑏1(0) − αs1 = [

1000

] − 1 [

0,426000

] = [

0,574000

],

Hasil dari iterasi pertama, untuk mencari nilai optimal

diperlukan beberapa kali iterasi lagi sehingga didapatkan nilai hasil

yang mencapai atau mendekati target.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

38

3.6.Metode Pengujian

Metode pengujian akan menggunakan K-Fold Cross Validation,

dengan k=3. Metode ini dipakai karena menghasilkan data yang berbeda

untuk proses pelatihan dan pengujian, sehingga dapat diketahui rata-rata

akurasi yang dihasilkan pada percobaan berdasarkan confusion matrix

yang dihasilkan.

3.7. Pengenalan Data Tunggal

Gambar 3.7 Diagram Pengenalan Data Tunggal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

39

Pada proses pengenalan data tunggal data suara yang digunakan

sebagai masukan merupakan file suara dari kalimat perintah suara

dimana seperti pada gambar 3.7 pertama-tama data suara masukan atau

data input akan dibaca oleh sistem. Setelah data terbaca sistem akan

melakukan proses normalisasi dari sampel data masukan. Hasil

normalisasi tersebut kemudian akan digunakan dalam proses

pemotongan kalimat suara menjadi beberapa kata.

Dalam proses pemotongan kalimat suara terdapat beberapa

tahap yang dilakukan. Tahap pertama adalah mencari nilai energi dari

sampel suara yang telah di normalisasi dimana nilai energi tersebut akan

digunakan untuk mencari letak jeda atau suara hening dengan

menggunakan metode horizontal projecting. Ketika jeda suara telah di

dapatkan maka sistem akan melakukan pemotongan sampel kalimat

suara menjadi beberapa sampel kata. Tahap kedua adalah mencari nilai

zero-crossing dari hasil pemotongan sampel kata dengan energi. Nilai

zero-crossing ini nantinya akan digunakan untuk mencari jeda atau

suara hening dari sampel suara potongan kata dengan metode horizontal

projecting. Bila dalam sampel suara potongan kata ditemukan jeda maka

sistem akan memotong kembali sampel suara tersebut menjadi beberapa

potongan kata baru. Namun bila tidak ditemukan jeda pada sampel

potongan suara maka sampel potongan suara tersebut akan masuk

kedalam proses ekstraksi ciri.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

40

Proses Ekstraksi ciri dilakukan dengan metode Mel Frequency

Cepstral Coefficient (MFCC) dimana nanti hasil MFCC akan diambil

nilai mean, median, standar deviasi dan standar deviasi by mean nya

yang kemudian digunakan sebagai ciri dari sampel suara. Ciri suara

yang didapatkan diberikan label ciri.

Setelah ciri suara beserta labelnya ada maka proses selanjutnya

adalah membagi ciri suara menjadi 3 kelompok data dimana dua

kelompok data akan digunakan sebagai data training dan satu kelompok

data akan digunakan sebagai data testing.

Selanjutnya sistem akan melakukan klasifikasi dari data ciri

suara yang telah dimiliki dengan model jaringan syaraf tiruan. Setelah

hasil atau luaran dari proses klasifikasi didapatkan maka sistem dapat

menghitung akurasi dari klasifikasi data suara.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

41

3.7.Algoritma

Gambar 3.8 Flow Chart Sistem

Seperti yang digambarkan pada gambar 3.8, ketika sistem dimulai

pertama-tama sistem akan melakukan proses Baca File Suara dengan

menggunakan fungsi audioread. File suara yang dibaca oleh sistem adalah

file kalimat perintah suara dengan format file bertipe WAV. Selanjutnya

sistem melakukan proses Normalisasi sampel suara dengan metode min-

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

42

max. Setelah sampel suara ter-normalisasi sistem melakukan proses Deteksi

Energi yakni menghitung intensitas gelombang suara pada setiap frame dari

sampel suara hasil normalisasi dalam satuan waktu. Hasil deteksi energi

kemudian digunakan dalam proses pemotongan sampel suara menjadi

beberapa sampel suara baru yang merupakan potongan kata dari kalimat

suara masukan. Setelah sampel kalimat suara terpotong menjadi beberapa

sampel kata, sistem melakukan proses Deteksi Zero-Crossing yakni

menghitung berapa kali suatu gelombang suara dari sampel kata hasil

potongan melewati titik 0 dalam satuan waktu.

Hasil deteksi zero-crossing akan diperiksa kembali oleh sistem untuk

mencari suara hening dalam sampel kata. Ketika sistem masih menemukan

suara hening dari sampel kata, sistem akan kembali melakukan proses

pemotongan sampel suara dimana sampel suara yang digunakan dalam

proses pemotongan adalah sampel kata hasil deteksi zero-crossing. Namun

bila setelah memeriksa sampel kata sistem tidak menemukan suara hening,

sistem akan melakukan proses ekstraksi ciri dengan metode Mel Frequency

Cepstral Coefficients.

Hasil ekstraksi ciri kemudian di bagi menjadi tiga kelompok data ciri

dengan metode 3-Fold Cross Validation dimana kemudian 2 kelompok data

ciri akan digunakan sebagai data training dan satu kelompok data ciri

digunakan sebagai data testing. Setelah data training dan data testing

didapatkan sistem melakukan proses klasifikasi data dengan menggunakan

metode Jaringan Syaraf Tiruan Backpropagation. Hasil klasifikasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

43

kemudian diambil dan digunakan dalam proses terkahir pada sistem yakni

proses menghitung akurasi hasil klasifikasi.

3.8.Kebutuhan Sistem

Alat yang akan digunakan dalam proses perancangan sistem :

1. Perangkat keras :

1.1 Komputer :

Processor : Intel Core i5 4590 – Quad Core, 3.3GHz

Memory : 16 GB

Hard Drive : 1500 GB

VGA : GTX 1050 TI – 4 GB, 1303MHz/1417MHz

1.2 SmartPhone (Vivo Y65):

CPU : Snapdragon 425 – Quad Core, 1.4 GHz

GPU : Adreno 308

Storage : 16 GB

RAM : 3 GB

2. Perangkat Lunak :

1.1 Microsoft Windows 8.1 PRO

1.2 Format Factory

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

44

1.3 Matlab 2014b

3.9. Perancangan Antarmuka Sistem

Gambar 3.9 Rancangan Antarmuka Jendela Awal Sistem

Gambar diatas merupakan rancangan antarmuka untuk jendela

awal sistem dimana dibagi menjadi 3 panel yakni panel Uji Data, panel

Masukan Ciri Suara, dan panel Graph yang berfungsi untuk

memunculkan grafik serta hasil akurasi dan hasil uji data tunggal.

➢ Panel Uji Data

Pada panel ini terdapat 2 buah tombol. Tombol “Uji Data

Tunggal” yang berfungsi untuk melakukan uji data tunggal.

Dimana bila tombol ini digunakan user akan diminta untuk

memilih file suara dengan format .WAV yang nantinya akan

diproses oleh sistem untuk mengenali perintah suara pada file

tersebut dan hasilnya akan ditampilkan pada panel Graph.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

45

Tombol “Lihat Akurasi Database” berfungsi untuk mengetahui

akurasi dari database file ciri yang telah dimiliki dan hasil

akurasi akan ditampilkan pada panel Graph.

➢ Panel Masukan Ciri Data Suara

Panel ini berfungsi untuk memasukkan data ciri baru

kedalam sistem dimana prosesnya dimulai dengan cara menekan

tombol cari file. User kemudian memilih file .WAV yang akan

di ambil cirinya untuk disimpan kedalam database. Didalamnya

terdapat listbox untuk melihat nama file yang akan diambil

cirinya. Terdapat pula 2 buah popupmenu yang berfungsi untuk

memberi label dan keterangan dari file yang digunakan.

➢ Panel Graph

Panel ini berfungsi untuk mengeluarkan output atau

luaran dari proses pada sistem. Pada panel ini terdapat sebuah

axes yang berfungsi untuk menampilkan grafik dari proses yang

dilakukan sistem. Panel ini juga menampilkan hasil dari uji data

tunggal dalam bentuk teks serta akurasi dari JST.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

46

BAB IV

IMPLEMENTASI DAN ANALISA

Bab ini membahas uraian implementasi perancangan sistem berupa hasil

penelitian dalam melakukan pengujian kombinasi data feature, kombinasi neuron

dan hidden layer, serta pengujian data tunggal dan uraian mengenai analisa hasil

output terkait dengan keberhasilan pemilihan atribut feature dan akurasinya.

4.1.Preprocessing

Ada beberapa tahapan yang dilakukan dalam preprocessing sebagaimana

digambarkan pada Gambar 3.1 dimana data akan diproses sehingga didapatkan

feature atau ciri dari data suara. Dimana feature itu sendiri didapatkan dengan

melalui proses merubah format file suara, normalisasi data sampel suara, deteksi

silence voice, memotong file suara, memotong sampel suara menjadi beberapa

kelompok sampel berdasarkan letak suara hening yang kemudian dilanjutkan

dengan ekstraksi ciri menggunakan Mel-Frequency Cepstral Coefficients.

4.1.1. Merubah Format File Suara

Proses yang paling pertama yang dilakukan dalam preprocessing

adalah merubah format dari file suara menjadi format .WAV dengan

frekuensi 11025Hz mono channel. Dimana dalam proses ini

menggunakan aplikasi Format Factory yang bertujuan untuk

menyamakan format file data suara yang akan dimasukkan kedalam

sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

47

Gambar 4.1.1: Proses Merubah Format File Suara dengan Format

Factory

4.1.2. Pemotongan File Suara

Karena data rekaman suara berupa sebuah kalimat perintah suara

maka proses pemotongan file suara diperlukan untuk mengambil kata-

kata yang terdapat dalam kalimat perintah suara tersebut. Pemotongan

file suara dibagi menjadi 2 yakni pemotongan file suara kalimat perintah

secara manual dan pemotongan sample suara kalimat perintah secara

otomatis.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

48

• Pemotongan File Suara dari Kalimat Perintah

Gambar 4.1.2.1 : Pemotongan File Kalimat “Buka Pintu” dengan

Wavepad Sound Editor

Proses ini dilakukan secara manual dengan

menggunakan aplikasi WavePad Sound Editor. Hasil dari

potongan dari proses ini berupa beberapa file suara baru yang

merupakan kata-kata yang terdapat dari file suara kalimat

perintah. Hasil tersebut kemudian dimasukkan kedalam sistem

untuk diambil cirinya sebelum digunakan sebagai data training

dan data testing untuk melakukan klasifikasi pada sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

49

Gambar 4.1.2.2 : Diagram Block Sistem dalam melakukan pemotongan

data secara manual menggunakan Wavepad Sound Editor

• Pemotongan Sample Suara dari Kalimat Perintah

Proses ini digambarkan pada Gambar 3.1 dimana

pemotongan dilakukan secara otomatis dengan cara mencari

suara hening atau silence voice dari sample suara dari kalimat

perintah. Setelah suara hening ditemukan sistem akan

memotong-motong sample suara menjadi beberapa bagian

berdasarkan suara heningnya seperti yang dijelaskan pada

bagian 4.1.4. Hasil potongan sample suara diambil cirinya dan

digunakan untuk uji data tunggal pada sistem.

4.1.3. Normalisasi Data Sample Suara

Pada tahap ini nilai dari signal suara akan di normalisasi agar

semua file data suara memiliki nilai signal dengan nilai tertinggi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

50

(maximum) dan nilai terendah (minimum) yang sama. Dimana nilai

tertinggi adalah 1 (Satu) dan nilai terendah adalah -1 (Minus Satu).

4.1.4. Deteksi Silence Voice atau Suara Hening

Pada tahap ini dilakukan deteksi silence voice dari file suara.

Silence voice yang dimaksud adalah jeda antar kata dari satu kalimat

dalam file suara. Tahap ini terbagi menjadi 2 proses yakni deteksi

silence voice dengan menggunakan Energi dan deteksi silence voice

dengan menggunakan zero-crossing. Dimana pada proses awal sistem

akan mencari energi dari data hasil normalisasi dengan fungsi energy.m

yang kemudian sampel data akan di potong sesuai hasil deteksi energy.

Gambar 4.1.4.1 : Grafik Deteksi Silence Voice menggunakan Energy

(Data : SAM – Hidupkan Lampu Kamar)

Gambar 4.4 merupakan hasil deteksi silence voice pada data

suara SAM- Hidupkan Lampu Kamar. Dimana pada gambar 4.4 didapat

bahwa dari deteksi silence voice dengan menggunakan energi sistem

dapat memotong data suara menjadi 5 potongan suara baru dimana

potongan ke-3 dan ke-5 memiliki kemungkinan untuk di potong

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

51

kembali. Potongan-potongan suara ini kemudian akan dicari zero-

crossing-nya guna untuk menemukan silence voice dari hasil setiap

potongan suara.

Gambar 4.1.4.2 : Grafik Deteksi Silence Voice menggunakan Zero-

Crossing (Potongan ke-1)

Gambar 4.1.4.3 : Grafik Deteksi Silence Voice menggunakan Zero-

Crossing (Potongan ke-2)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

52

Gambar 4.1.4.4 : Grafik Deteksi Silence Voice menggunakan Zero-

Crossing (Potongan ke-3)

Gambar 4.1.4.5 : Grafik Deteksi Silence Voice menggunakan Zero-

Crossing (Potongan ke-4)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

53

Gambar 4.1.4.6 : Grafik Deteksi Silence Voice menggunakan Zero-

Crossing (Potongan ke-5)

Dari gambar hasil deteksi silence voice menggunakan Zero-

Crossing (Gambar 4.1.4.2 hingga Gambar 4.1.4.6) didapatkan hasil

potongan pertama,ke-2 dan ke-4 dengan menggunakan energi sudah

optimal karena setelah di deteksi kembali dengan zero-crossing

hasil potongan tidak memiliki potongan suara baru didalamnya.

Berbeda dengan potongan ke-3 dan ke-5 dimana setelah deteksi

zero-crossing hasil potongan ini dapat di potong kembali menjadi

masing-masing 2 potongan suara baru.

Uji data dilakukan demi mendapatkan akurasi yang baik

untuk memperoleh hasil potongan yang akurat. Data uji yang

digunakan dalam proses ini adalah sebanyak 320 file suara berupa

rekaman dari arah depan dan samping pembicara yang akan di uji

satu per-satu kedalam sistem untuk mengambil potongan kata dari

file kalimat perintah tersebut. Adapun hasil uji adalah sebagai

berikut :

Tabel 4.1 : Tabel Persentase Hasil Potongan Suara

Posisi Rekaman

Suara

Total %

Potongan

Total % Kata

Terdeteksi

Rekaman Depan 69,79% 90,41%

Rekaman

Samping

75,96% 92,37%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

54

4.1.5. FEATURE DATA (Mel-Frequency Cepstral Coefficients)

Gambar 4.1.5 : Diagram Balok Proses Ekstraksi Ciri Pada MFCC

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

55

Tahap ini dilakukan untuk mendapatkan ciri atau feature dari

potongan suara. Pada tahap ini semua potongan suara akan dicari

matriks mfcc nya menggunakan fungsi mfcc yang ada pada Matlab.

Matriks tersebut nantinya akan digunakan dalam mencari nilai mean,

varian, standar deviasi, dan standar deviasi by mean yang merupakan

nilai feature dari data suara. Setelah data ciri di dapatkan, label dari ciri

data diberikan secara manual. Terdapat 12 label yang merupakan kata-

kata dalam kalimat perintah suara yakni : hidup, mati, buka, tutup,

lampu, tv, pintu, jendela, ruang, tamu,kamar dan garasi. Setelah label

diberikan sistem akan merubah label ciri menjadi bilangan biner yang

kemudian digunakan dalam klasifikasi pada jaringan syaraf tiruan.

Label pada tabel 4.2 digunakan sebagai label data ciri suara. Karena

label ciri merupakan 4 digit angka maka proses klasifikasi jaringan

syaraf tiruan memerlukan sebanyak 4 luaran.

Tabel 4.1.5 : Tabel Label Ciri Data

LABEL KATA LABEL BINER

HIDUP 0 0 0 1

MATI 0 0 1 0

BUKA 0 0 1 1

TUTUP 0 1 0 0

LAMPU 0 1 0 1

TV 0 1 1 0

PINTU 0 1 1 1

JENDELA 1 0 0 0

RUANG 1 0 0 1

TAMU 1 0 1 0

KAMAR 1 0 1 1

GARASI 1 1 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

56

4.1.6. 3-Fold Cross Validation

Dari hasil pemotongan kalimat suara didapatkan sebanyak 2760 file suara

baru yang merupakan kata dari hasil pemotongan kalimat perintah suara. 2760 file

suara berupa kata ini kemudian direduksi dan diambil hanya file suara yang tidak

cacat atau suara kata didalamnya tidak terpotong dan terdengar jelas. Setelah

melalui proses reduksi didapatkan sebanyak 1970 file suara berupa kata. Ekstraksi

ciri kemudian dilakukan demi mendapatkan ciri suara dan label dari 1970 file suara

tersebut. Kemudian semua data ciri tersebut dibagi menjadi 12 kelompok

berdasarkan labelnya. Kelompok data berdasarkan 12 label ciri dibagi kembali

menjadi 3 kelompok data baru untuk kemudian dijadikan sebagai data training dan

data testing seperti pada Tabel 3.4.

4.2.Klasifikasi

Pada proses klasifikasi menggunakan Jaringan Syaraf Tiruan dengan fungsi

aktivasi purelin, komputasi paralel dan kombinasi 1 hingga 25 neuron dalam satu

hidden layer dan dua hidden layer.

➢ Satu Hidden Layer

Gambar 4.2.1 : Arsitektur JST satu Hidden Layer

Pada gambar 4.2.1 menggunakan 52 input ciri data suara yang

merupakan nilai mean, median, standar deviasi dan standar deviasi by mean,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

57

algoritma backpropagation, satu hidden layer serta 4 luaran. Dimana pada layer

lakukan kombinasi neuron dengan menggunakan 5 ,10, 15, 20 dan 25 neuron.

Gambar 4.2.2 : Grafik hasil klasifikasi dengan menggunakan 1 hidden

layer

Kombinasi neuron pada 1 hidden layer menghasilkan hasil tertinggi pada

neuron 25 dengan hasil 63,49% .

➢ Satu Hidden Layer dengan variasi bobot dan bias

Gambar 4.2.3 : Arsitektur JST satu Hidden Layer dengan variasi bobot

dan bias

Arsitektur menggunakan 52 input ciri data suara yang

merupakan nilai mean, median, standar deviasi dan standar deviasi by

mean, algoritma backpropagation, satu hidden layer dan 4 luaran.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

58

Dimana pada layer lakukan kombinasi neuron dengan menggunakan 5

,10, 15, 20 dan 25 neuron dengan nilai bobot masukan divariasikan

dengan ketentuan nilai di antara -1 hingga 1. Berikut merupakan variasi

yang digunakan:

o Variasi 1 : Nilai bobot bersifat random dengan rentang nilai dari

-1 hingga 1 sedangkan nilai bias bersifat random dengan rentang

-1,5 hingga 1,5

o Variasi 2 : Nilai bobot dan bias bersifat random dengan rentang

nilai dari -1 hingga 1

Gambar 4.2.4 : Grafik hasil klasifikasi dengan menggunakan 1 hidden

layer yang telah divariasikan bobot dan biasnya

Akurasi tertinggi dari kombinasi neuron dengan 1 hidden layer yang di

variasikan nilai bobot dan biasnya tidak terlalu berbeda dengan akurasi kombinasi

1 hidden layer tanpa melakukan variasi nilai bobot dan bias. Namun pada variasi

pertama terjadi kenaikan akurasi mejadi sebesar 63,80% pada 1 hidden layer

dengan jumlah neuron 25 dan jenis variasi 1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

59

➢ Dua Hidden Layer

Gambar 4.2.5 : Arsitektur JST dua Hidden Layer

Pada gambar 4.2.5 menggunakan 52 input ciri suara yang

merupakan nilai mean, median, standar deviasi dan standar deviasi by

mean, algoritma backpropagation, dua hidden layer serta 4 luaran.

Dimana pada layer lakukan kombinasi neuron dengan menggunakan 5,

10, 15, 20, 25 neuron.

Gambar 4.2.6 : Grafik hasil klasifikasi dengan menggunakan 2 hidden layer

Kombinasi neuron pada 2 hidden layer menghasilkan hasil tertinggi pada

neuron 15 dengan hasil 71,52% .

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

60

➢ Arsitektur Optimal

Gambar 4.2.7 : Grafik perbandingan seluruh hasil akurasi JST

dengan 1 dan 2 hidden layer beserta variasi dari 1 hidden layer

Pada gambar 4.2.7 dapat dilihat arsitektur dari 2 hidden layer

memiliki nilai akurasi yang lebih optimal dibandingkan dengan

arsitektur lainnya yakni sebesar 71,52% pada jumlah neuron 15 untuk

setiap hidden layernya.

Gambar 4.2.8 : Arsitektur JST optimal

Berdasarkan hasil penelitian dengan menggunakan kombinasi

hidden layer dan neuron didapatkan arsitektur optimal dengan input

sebanyak 52 ciri suara yang merupakan nilai mean, median, standar

deviasi dan standar deviasi by mean, 2 hidden layer yang memiliki 15

neuron untuk tiap hidden layer-nya, dan 4 luaran.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

61

Arsitektur optimal ini menggunakan algoritma backpropagation

dengan fungsi aktivasi purelin.

Berikut merupakan confusion matriks dari arsitektur optimal

untuk 3-Fold Cross Validation.

Tabel 4.2.1 : Tabel Fold Pertama

Pada tabel 4.2.1 dapat dilihat bahwa pada proses klasifikasi

dengan kelompok data ciri satu sebagai data testing system mampu

mengenali sebanyak 327 data dari total 451 data masukan. Hal ini dapat

dilihat pada tabel 4.2.1 dimana system mengenali sebanyak 44 data yang

memiliki label 2, 54 data yang memiliki label 3, 9 data yang memiliki

label 4, 14 data yang memiliki label 5, 54 data yang memiliki label 6,

40 data yang memiliki label 7, 10 data yang memiliki data dengan label

8, 13 data yang memiliki label 9, 25 data yang memiliki label 10, 21

data yang memiliki label 11, 33 data yang memiliki label 12, dan

sebanyak 10 data yang memiliki label 13.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

62

Tabel 4.2.2 : Tabel Fold Kedua

Pada tabel 4.2.2 dapat dilihat bahwa pada proses klasifikasi

dengan kelompok data ciri satu sebagai data testing system mampu

mengenali sebanyak 357 data dari total 453 data masukan. Hal ini dapat

dilihat pada tabel 4.2.2 dimana system mengenali sebanyak 51 data yang

memiliki label 2, 52 data yang memiliki label 3, 11 data yang memiliki

label 4, 19 data yang memiliki label 5, 41 data yang memiliki label 6,

35 data yang memiliki label 7, 13 data yang memiliki data dengan label

8, 15 data yang memiliki label 9, 38 data yang memiliki label 10, 29

data yang memiliki label 11, 40 data yang memiliki label 12, dan

sebanyak 13 data yang memiliki label 13.

Tabel 4.2.3 : Tabel Fold Ketiga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

63

Pada tabel 4.2.3 dapat dilihat bahwa pada proses klasifikasi

dengan kelompok data ciri satu sebagai data testing system mampu

mengenali sebanyak 292 data dari total 361 data masukan. Hal ini dapat

dilihat pada tabel 4.2.3 dimana system mengenali sebanyak 37 data yang

memiliki label 2, 35 data yang memiliki label 3, 12 data yang memiliki

label 4, 8 data yang memiliki label 5, 58 data yang memiliki label 6, 37

data yang memiliki label 7, 11 data yang memiliki data dengan label 8,

7 data yang memiliki label 9, 26 data yang memiliki label 10, 20 data

yang memiliki label 11, 32 data yang memiliki label 12, dan sebanyak

9 data yang memiliki label 13.

4.3.Uji Data Tunggal

Uji data tunggal ini menggunakan 5 data suara untuk pengujian, berikut

merupakan hasil uji dari data tunggal.

➢ Data 1

Gambar 4.3.1 : Gambar Uji Data 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

64

Pada uji data 1 dapat di klasifikasikan dengan benar, dimana

kalimat perintah yang terdeteksi sama dengan kalimat pada file suara

yakni Hidupkan Lampu Kamar.

➢ Data 2

Gambar 4.3.2 : Gambar Uji Data 2

Pada uji data 2 di klasifikasikan dengan kurang lengkap, dimana

kalimat perintah yang terdeteksi adalah Hidupkan Lampu sedangkan

kalimat pada file suara masukan berbunyi Hidupkan Lampu Ruang

Tamu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

65

➢ Data 3

Gambar 4.3.3 : Gambar Uji Data 3

Pada uji data 3 dapat di klasifikasikan dengan benar, dimana

kalimat perintah yang terdeteksi sama dengan kalimat pada file suara

yakni Hidupkan TV Ruang Tamu.

➢ Data 4

Gambar 4.3.4 : Gambar Uji Data 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

66

Pada uji data 4 dapat di klasifikasikan dengan benar, dimana

kalimat perintah yang terdeteksi sama dengan kalimat pada file suara

yakni Buka Jendela. Namun terdapat tambahan kata perintah etc di

belakangnya yang merupakan kata tidak terdeteksi atau noise yang

tersisa pada hasil preprocessing file suara.

➢ Data 5

Gambar 4.3.5 : Gambar Uji Data 5

Pada uji data 5 di klasifikasikan dengan kurang lengkap, dimana

kalimat perintah yang terdeteksi adalah Matikan TV sedangkan kalimat

pada file suara masukan berbunyi Matika TV Kamar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

67

4.4.Analisa Hasil

Dalam hasil pengujian dengan menggunakan beberapa variasi arsitektur

dari jaringan syaraf tiruan seperti yang dijelaskan pada bagian 4.2 yakni dengan

menggunakan arsitektur 1 hidden layer, 1 hidden layer dengan variasi 1, 1 hidden

layer dengan variasi 2 serta arsitektur dengan menggunakan 2 hidden layer.

Menghasilkan nilai akurasi yang bervariasi seperti yang terlihat pada gambar grafik

4.4.1

Gambar 4.4.1 : Grafik perbandingan seluruh hasil akurasi JST

dengan 1 dan 2 hidden layer beserta variasi dari 1 hidden layer

Dari grafik tersebut terlihat bahwa klasifikasi dengan metode jaringan

syaraf tiruan menghasilkan nilai akurasi tertinggi ketika menggunakan arsitektur 2

hidden layer. Akurasi yang didapatkan ketika menggunakan arsitektur dengan 2

hidden layer yang optimal adalah sebesar 71,52% untuk jumlah neuron sebanyak

15 pada setiap hidden layernya. Hal ini disebabkan karena semakin banyak hidden

layer yang digunakan maka akan bertambah pula tingkat kompleksitas perhitungan

dalam jaringan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

68

Berdasarkan gambar 4.2.4, Variasi atribut bobot dan bias pada arsitektur

jaringan syaraf tiruan tidak terlalu berpengaruh dalam meningkatkan akurasi hasil

klasifikasi ciri suara. Dengan divariasikannya nilai bobot dan bias pada arsitektur

jaringan syaraf tiruan hanya dapat meningkatkan akurasi sebesar 0,31%.

Proses pemotongan kalimat suara juga memberikan pengaruh terhadap

perubahan nilai akurasi hasil klasifikasi. Hal ini dapat dilihat pada bagian 4.3 Uji

Data Tunggal , dimana masih terdapat beberapa potongan kata yang tidak terdeteksi

atau masih terdeteksi sebagai noise (suara bising) oleh sistem. Namun sistem telah

dapat mengenali perintah suara dengan cukup baik dimana pada uji data tunggal

system telah mampu menklasifikasi sebanyak 13 kata dengan benar dari total 16

kata yang harusnya terdeteksi atau dengan akurasi deteksi uji data tunggal sebesar

81,25%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

69

BAB V

PENUTUP

5.1.Kesimpulan

Dari hasil penelitian ini dapat disimpulkan sebagai berikut :

1. Hasil beberapa percobaan klasifikasi perintah suara dengan metode

Jaringan Syaraf Tiruan dan menggunakan feature mean, median, standar

deviasi dan standar deviasi by mean adalah sebagai berikut :

➢ Sistem mendapatkan akurasi 63,49% dengan menggunakan 1

hidden layer dimana didalamnya terdapat 25 neuron.

➢ Sistem mendapatkan akurasi 63,80% dengan menggunakan 1

hidden layer yang berisikan 25 neuron dan menggunakan variasi

bobot dengan rentang nilai dari -1 hingga 1 dan bias dengan rentang

nilai dari -1,5 hingga 1,5

➢ Sistem mendapatkan akurasi 71,52% dengan menggunakan 2

hidden layer dimana terdapat sebanyak 15 neuron untuk setiap

layer.

2. Identifikasi kata dalam proses pemotongan kalimat suara menggunakan

Energy dan Zero-Crossing mampu dilakukan dengan akurasi sebesar

90,41% untuk data suara yang diambil dari depan dan akurasi sebesar

92,37% untuk data suara yang diambil dari samping.

3. Semakin banyak kata yang terdapat pada satu kalimat suara

menyebabkan hasil pemotongan kata dari kalimat suara menjadi kurang

maksimal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

70

5.2.Saran

Dari hasil penelitian ini, ada beberapa saran untuk penulis dalam penelitian

dengan topik yang sama :

1. Gunakan kombinasi kata yang sedikit mungkin untuk 1 file kalimat

suara. Contohnya dengan 2 kata dalam 1 file suara, karena semakin

banyak kata yang diucapkan dalam satu kalimat, seseorang akan

cenderung untuk mengucapkannya dengan jeda yang sangat singkat dan

suara yang dihasilkan semakin kurang jelas.

2. Perbanyak ciri data suara untuk setiap sumber suara karena aksen / logat

dari daerah individu sumber data sangat mempengaruhi variasi kata

yang ia diucapkan.

3. Menambahkan jumlah data suara seperti data suara dari 100 orang yang

berbeda, menambahkan jumlah hidden layer atau melakukan variasi

bobot dan bias yang lebih kompleks.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

71

DAFTAR PUSTAKA

Amrutha S, Aravind S, Ansu Mathew, Swathy Sugathan, Rajasree R,

Priyalakshmi S. (2015) Voice Controlled Smart Home. International

Journal of Emerging Technology and Advanced Engineering,

Volume 5, Issue 1, [272-276]. Available from:

https://www.researchgate.net/publication/282270177_Voice_Contr

olled_Smart_Home [ akses 30 Oktober 2017].

CH.Venkateswara Rao, Anirvan Sen, Debasish Tahbildar, Klanidhi Kumar.

(2016) Smart Home Equipped with Voice Recognition.

International Journal of Industrial Electronics and Electrical

Engineering, Volume 4, Issue 4, [115-117]. Available from:

http://pep.ijieee.org.in/journal_pdf/11-247-1462944702115-

117.pdf [ akses 30 Oktober 2017].

Ignatius Nathanael Andika, Bayu Kanigoro. (2014) Aplikasi Pengenalan

Suara untuk Rumah Pintar Menggunakan Algoritma Fast Fourier

Transform Berbasiskan Android. Jakarta : Binus University.

Available from:

http://library.binus.ac.id/Collections/ethesis_detail/2014-2-00638-

IF [ akses 30 Oktober 2017 ]

Lorencius Echo Sujianto Putera. (2016) Klasifikasi Burung Berdasarkan

Suara Kicau Burung Menggunakan Jaringan Syaraf Tiruan

Propagasi Balik. Yogyakarta : Universitas Sanata Dharma.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

72

Anastasia Rita Widiarti, Phalita Nari Wastu. (2009) Javanese Character

Recognition Using Hidden Markov Model. World Academy of

Science, Engineering and Technology, International Journal of

Computer and Information Engineering Vol 3. [2201 - 2204].

Available from :

https://www.researchgate.net/publication/266998615_Javanese_Ch

aracter_Recognition_Using_Hidden_Markov_Model [akses 2

November 2017]

Campbell Jr, J.P.. (1997), Speaker recognition: A tutorial. Proceedings of

the IEEE. 85. 1437 - 1462. 10.1109/5.628714. Available from :

https://scholar.google.com/citations?user=NUJqUkUAAAAJ&hl=

en [ akses 8 Januari 2018 ]

Fauzan Masykur, Fiqiana Prasetiowati (2016), Aplikasi Rumah Pintar

(Smart Home) Pengendali Peralatan Elektronik Rumah Tangga

Berbasis WEB. Jurmal Teknologi Informasi dan Ilmu Komputer Vol

3. [51-58]. Available from :

jtiik.ub.ac.id/index.php/jtiik/article/download/156/pdf [ akses 8

januari 2018 ]

Setiawan, A., Hidayanto, A., & Isnanto, R. (2011). Aplikasi Pengenalan

Ucapan dengan Ekstraksi Mel-Frequency Cepstrum Coefficients

(MFCC) Melalui Jaringan Syaraf Tiruan Learning Vector

Quantization (LVQ) untuk Mengoprasikan Kursor Komputer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

73

Transmisi, [82-86]. Available from :

https://www.researchgate.net/publication/277998882_Aplikasi_Pe

ngenalan_Ucapan_dengan_Ekstraksi_Mel-

Frequency_Cepstrum_Coefficients_MFCC_Melalui_Jaringan_Sya

raf_Tiruan_JST_Learning_Vector_Quantization_LVQ_untuk_Men

goperasikan_Kursor_Komputer [ akses 8 januari 2018 ].

Ali Mustofa (2007). Sistem Pengenalan Penutur dengan Metode Mel-

Frequency Wrapping. Malang: Universitas Brawijaya. Available

from :

http://jurnalelektro.petra.ac.id/index.php/elk/article/view/16704 [

akses 8 januari 2018 ]

Diana L & Shidik (2014). Analisis Data Transaksi Penjualan Untuk

Klasifikasi Jenis Barang dan Relasi Daya Beli Relatif Masyarakat

Menggunakan Algoritma K-Means Serta Asosiasi Apriori. Jurnal

Teknologi Informasi. [212-219]. Available from :

https://anzdoc.com/jurnal-teknologi-informasi-volume-10-nomor-

2-oktober-2014-is.html [ akses 8 januari 2018]

T. Ginnakopoulos (2015). An Open Source Phyton Library for Audio Signal

Analisys. Italy : University of Pavia. Available from :

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0

144610 [ akses 15 desember 2018 ]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

74

A. Astri (2016). Rancangan Bangun Open/Close Pintu Ruangan Otomatis

Menggunakan Voice Recognition Berbasis Raspberry PI. Sumatera

Selatan : Politeknik Negeri Sriwijaya. Available from :

http://eprints.polsri.ac.id/2964/ [ akses 15 desember 2018 ]

Jang, J-S. R. (2005). ASR (Automatic Speech Recognition) Toolbox.

Available from : http://mirlab.org/jang/matlab/toolbox/asr/ [ akses

15 desember 2018 ]

Jang, J-S. R. (2015). Audio Signal Processing and Recognition. Available

from : http://mirlab.org/jang/book/audiosignalprocessing/ [akses 15

desember 2018 ]

Mittal & Zhang (2001). Artificial Neural Network for The Prediction of

Temperature, Moisture and Fat Contents in Meatballs During Deep-

Fat Frying. International Journal of Food Science and Technology

[489-497] Available from :

https://www.researchgate.net/publication/230452945_Artificial_ne

ural_network_for_the_prediction_of_temperature_moisture_and_f

at_contents_in_meatballs_during_deep-fat_frying [ akses 15

desember 2018 ]

Hermawan A. (2006). Jaringan Syaraf Tiruan : Teori dan Aplikasi.

Available from :

https://openlibrary.telkomuniversity.ac.id/pustaka/103410/jaringan

-saraf-tiruan-teori-dan-aplikasi.html [akses 15 desember 2018]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

75

Siang JJ. (2005). Jaringan Syaraf Tiruan dan Pemrogramannya

Menggunakan Matlab. Yogyakarta : Andi Offets.

Anam, Khoirul (2013) Pengenalan Suara Manusia Dengan Menggunakan

Metode Linear Predictive Coding. Available from :

https://etheses.uin-malang.ac.id/7376/1/06550095.pdf [akses 15

Desember 2018]

Hagan, M. T. and Beale, M. H. (2014) Neural Network Design. 2nd edn.

Oklahoma: Martin Hagan, Avaliable from:

http://hagan.okstate.edu/NNDesign.pdf [akses 15 Desember 2017]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

76

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

77

A. Lampiran Program

1. Source Code GUI newGUI

Berikut merupakan source code tampilan muka Main Sistem

function varargout = newGUI(varargin)

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @newGUI_OpeningFcn, ...

'gui_OutputFcn', @newGUI_OutputFcn, ...

'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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

78

% End initialization code - DO NOT EDIT

% --- Executes just before newGUI is made visible.

function newGUI_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 newGUI (see

VARARGIN)

% Choose default command line output for newGUI

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes newGUI wait for user response (see

UIRESUME)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

79

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command

line.

function varargout = newGUI_OutputFcn(hObject, eventdata,

handles)

% varargout cell array for returning output args (see

VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of

MATLAB

% handles structure with handles and user data (see

GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% Cari Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

80

[filenames pathname] = uigetfile({'*.wav'},'File

Selector','MultiSelect','on');

set(handles.text2, 'String', pathname);

set(handles.listbox1,'string',filenames);

handles.pathname = pathname;

handles.filenames = filenames;

guidata(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)

% --- Executes on selection change in listbox1.

function listbox1_Callback(hObject, eventdata, handles)

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles structure with handles and user data (see

GUIDATA)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

81

% Hints: contents = cellstr(get(hObject,'String')) returns listbox1

contents as cell array

% contents{get(hObject,'Value')} returns selected item from

listbox1

% --- Executes during object creation, after setting all properties.

function listbox1_CreateFcn(hObject, eventdata, handles)

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles empty - handles not created until after all CreateFcns

called

% Hint: listbox controls usually have a white background on

Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

82

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles structure with handles and user data (see

GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns

popupmenu1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from

popupmenu1

% --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles empty - handles not created until after all CreateFcns

called

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

83

% Hint: popupmenu controls usually have a white background

on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on selection change in popupmenu2.

function popupmenu2_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles structure with handles and user data (see

GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns

popupmenu2 contents as cell array

% contents{get(hObject,'Value')} returns selected item from

popupmenu2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

84

% --- Executes during object creation, after setting all properties.

function popupmenu2_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of

MATLAB

% handles empty - handles not created until after all CreateFcns

called

% Hint: popupmenu controls usually have a white background

on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% SIMPAN

%% Get Value

filenames = handles.filenames;

pathname = handles.pathname;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

85

ppV = get(handles.popupmenu1,'Value'); % Label

tipeRekaman = get(handles.popupmenu2,'Value'); % Rekaman

depan/ samping

% Panggil Database

load('DB.mat');

[urutan b]= size(DB); % Jumlah data dalam database

for i=1:length(filenames)

[x,Fs] = audioread(horzcat(pathname,filenames{i})); % baca

file suara

[Features] = newFeatureExtraction(x,Fs); % Ambil ciri

% Masukan ciri suara kedalam database

DB{i+urutan,1}= Features;

DB{i+urutan,2}= ppV;

DB{i+urutan,3}= tipeRekaman;

end

save('DB','DB');

tt=1;

% hObject handle to pushbutton2 (see GCBO)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

86

% eventdata reserved - to be defined in a future version of

MATLAB

% handles structure with handles and user data (see

GUIDATA)

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

%% Uji Data Tunggal

[filenames pathname] = uigetfile({'*.wav'},'File

Selector','MultiSelect','off');

[x,Fs] = audioread(horzcat(pathname,filenames));

% Feature V1

[~,Features] = FeatureExtraction(x,Fs);

% Feature V2

[~,newF] = ReFragment(x,Fs);

% Combine

bantuLength = length(Features);

for i=1:length(newF)

Features{i+bantuLength}=newF{i};

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

87

%Uji JST

load('DB.mat');

[data label recPos] = pilahData(DB);

[lT,lTS] = ubahLuaran(13,label);

rand('seed', 491218382);

% membuat feed-forward backpropagation network

net = newff(data', lT', [19,19]);

%7. Membentuk model JST

[net, tr] = train(net,data', lT');

%8. Menguji model

for i=1:length(Features)

out = sim(net,Features{i}');

out(out < 0) = 0;

nout(i,:) = round(out); %nilai di atas 0.5 akan dibulatkan ke atas

end

nl = ubahkeDesimal(nout);

% Ambil Label Perintah

dKata = cekKata(nl);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

88

% Ubah Label Menjadi Kalimat

Kalimat = num2Kalimat(dKata);

if length(Kalimat) == 3

myTeks = horzcat('Terdeteksi : ',Kalimat{1},' ',Kalimat{2},'

',Kalimat{3});

else

myTeks = horzcat('Terdeteksi : ',Kalimat{1},' ',Kalimat{2});

end

set(handles.text6, 'String', myTeks);

%% Grafik

x = x.'; % Transposisi

% N = length(x); % Panjang Signal

% n = 0:N-1;

% ts = n*(1/Fs); % Waktu

% Definisi window

wintype = 'rectwin'; % Rectangular window

winlen = 201; % panjang window

winamp = [0.5,1]*(1/winlen);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

89

% find the zero-crossing rate

E = energy(x,wintype,winamp(2),winlen);

% time index for the STE after delay compensation

% out = (winlen-1)/2:(N+winlen-1)-(winlen-1)/2;

% t = (out-(winlen-1)/2)*(1/Fs);

% Edited Energy

makE = max(E);

rataE = mean(E);

for i=1:length(E)

if E(i) >= rataE*0.25

E(i) = makE;

else

E(i) = 0;

end

end

% Fltering

b = [1/4 1/4 1/4 1/4];

ENew = filter(b,1,E);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

90

%% Erosi & Dilasi

ENew = im2bw(ENew);

se = strel('rectangle',[1 300]);

ENew = imerode(E,se);

ENew = imdilate(ENew,se);

%%

N = length(x); % signal length

n = 0:N-1;

ts = n*(1/Fs); % time for signal

% time index for the ST-ZCR and STE after delay compensation

out = (winlen-1)/2:(N+winlen-1)-(winlen-1)/2;

t = (out-(winlen-1)/2)*(1/Fs);

cla reset;

axes(handles.axes1);

plot(ts,x); hold on;

plot(t,ENew(out),'r','Linewidth',2); xlabel('t, seconds');

% find the zero-crossing rate

zc = zerocross(x,wintype,winamp(1),winlen);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

91

%% Edited

mak = max(zc);

rata = mean(zc);

for i=1:length(zc)

if zc(i) >= rata*0.75

zc(i) = mak;

else

zc(i) = 0;

end

end

% Fltering

b = [1/4 1/4 1/4 1/4];

zcNew = filter(b,1,zc);

%% Erosi & Dilasi

zcNew = im2bw(zcNew);

se = strel('rectangle',[1 300]);

zcNew = imerode(zc,se);

zcNew = imdilate(zcNew,se);

% time index for the ST-ZCR and STE after delay compensation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

92

out = (winlen-1)/2:(N+winlen-1)-(winlen-1)/2;

t = (out-(winlen-1)/2)*(1/Fs);

plot(t,zcNew(out),'g','Linewidth',2); xlabel('t, seconds');

legend('signal','Energy','ZCross');

title('Short-time Energy');

%% END Grafik

% --- Executes on button press in pushbutton5.

function pushbutton5_Callback(hObject, eventdata, handles)

%% Akurasi DataBase

load('DB.mat');

[data label recPos] = pilahData(DB);

[dataTraining, dataTesting, labelTraining, labelTesting] =

buat3Fold(data,label,1);

clear data label recPos;

[lT,lTS] = ubahLuaran(labelTesting,labelTraining);

clear labelTesting labelTraining;

[confMat,akurasi(1)] =

ujiJST_BP(dataTesting,lTS,dataTraining,lT,[19,19]);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

93

clear lT lTS;

[data label recPos] = pilahData(DB);

[dataTraining, dataTesting, labelTraining, labelTesting] =

buat3Fold(data,label,2);

clear data label recPos;

[lT,lTS] = ubahLuaran(labelTesting,labelTraining);

clear labelTesting labelTraining;

[confMat,akurasi(2)] =

ujiJST_BP(dataTesting,lTS,dataTraining,lT,[19,19]);

clear lT lTS;

[data label recPos] = pilahData(DB);

[dataTraining, dataTesting, labelTraining, labelTesting] =

buat3Fold(data,label,3);

clear data label recPos;

[lT,lTS] = ubahLuaran(labelTesting,labelTraining);

clear labelTesting labelTraining;

[confMat,akurasi(3)] =

ujiJST_BP(dataTesting,lTS,dataTraining,lT,[19,19]);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

94

clear lT lTS;

akurasiRata = (akurasi(1)+akurasi(2)+akurasi(3))/3;

id = [1 2 3];

cla reset;

axes(handles.axes1);

plot(id,akurasi);

myTeks = horzcat('Akurasi : ',num2str(akurasiRata),'%');

set(handles.text5, 'String', myTeks);

2. Source Code FeatureExstraction

Berikut merupakan source code dari fungsi FeatureExtraction

function [PotonganSignal,Features] = FeatureExtraction(x,Fs)

%% Use File : audioread, potongSignalEnergy,

potongSignalZeroCrossing

%% Use File : FrameWindow, vec2frames, midColumFixer,

statistics, luruskan

%% Use File : energy, wincov, zerocross

%% Variable null Tipe CELL & bantu

PotonganSignal2 = {};

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

95

bantu = 1;

%% Normalisasi Signal

xNorm = x/abs(max(x));

%% Potong Signal berdasarkan Energy

[SignalPartE,SignalPartENorm] =

potongSignalEnergy(xNorm,xNorm);

%% Potong Signal berdasarkan Zero-Crossing

try

for i=1:length(SignalPartE)

clear SignalPartZC

[SignalPartZC,SignalPartZCNorm] =

potongSignalZeroCrossing(SignalPartE{i},SignalPartENorm{i});

checkCell = iscell(SignalPartZC);

if checkCell == 1

for j=1:length(SignalPartZC)

PotonganSignal{bantu} = SignalPartZC{j};

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

96

PotonganSignalNorm{bantu} = SignalPartZCNorm{j};

bantu = bantu+1;

end

end

if checkCell == 0

PotonganSignal{bantu} = SignalPartZC;

PotonganSignalNorm{bantu} = SignalPartZCNorm;

bantu = bantu+1;

end

end

catch

PotonganSignal = SignalPartE;

PotonganSignalNorm = SignalPartENorm;

end

% %% Tambahan

% if length(PotonganSignal2) == 4

% PotonganSignal{1} =

vertcat(PotonganSignal2{1},PotonganSignal2{2});

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

97

% PotonganSignalNorm{1} =

vertcat(PotonganSignalNorm2{1},PotonganSignalNorm2{2});

% PotonganSignal{2} =

vertcat(PotonganSignal2{3},PotonganSignal2{4});

% PotonganSignalNorm{2} =

vertcat(PotonganSignalNorm2{3},PotonganSignalNorm2{4});

% else

% PotonganSignal=PotonganSignal2;

% PotonganSignalNorm = PotonganSignalNorm2;

% end

%% Framesize & Overlap

framesize = 15;

overlap = 10;

%% Feature Extraction (MFCC)

for i=1:length(PotonganSignalNorm)

% [theFrames] =

FrameWindow(PotonganSignalNorm{i},Fs,framesize,overlap); % the

MFCC

% Define variables

Tw = 15; % analysis frame duration (ms) \ FrameSize

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

98

Ts = 10; % analysis frame shift (ms) \ Overlaps

alpha = 0.97; % preemphasis coefficient

M = 20; % number of filterbank channels

C = 12; % number of cepstral coefficients

L = 22; % cepstral sine lifter parameter

LF = 300; % lower frequency limit (Hz)

HF = 3700; % upper frequency limit (Hz)

[ theFrames, FBEs, frames ] = ...

mfcc( PotonganSignalNorm{i}, Fs, Tw, Ts, alpha,

@hamming, [LF HF], M, C+1, L ); % The MFCC

Hasil = statistics(theFrames'); % Ambil data statistik mfcc

statLine = luruskan(Hasil);

Features{i} = statLine; % Masukan data feature

clear theFrames;

% %% Samakan Kolom Feature

% if length(theFrames(1,:)) > 4

% jj = length(theFrames(1,:))/4;

% jj = floor(jj);

% % Hasil = midColumFixer(theFrames,jj); % menyamakan

ukuran kolom

% Hasil = real(ambilCiri(theFrames,Fs));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

99

% [statistic] = statistics(Hasil); % ambil nilai statistik

% statLine = luruskan(statistic); % meluruskan / membuat

sejejer data statistik

% %%

% Features{i} = statLine; % Masukan data feature

% else

% Hasil = real(ambilCiri(theFrames,Fs));

% [statistic] = statistics(theFrames); % ambil nilai statistik

% statLine = luruskan(statistic); % meluruskan / membuat

sejejer data statistik

% %%

% Features{i} = statLine; % Masukan data feature

% end

% clear theFrames;

% end % end For

End

3. Source Code potongSignalEnergy

Berikut merupakan source code potongSignalEnergy. Berfungsi

untuk mencari nilai energy dari sampel data suara.

% Functions required: zerocross, sgn, winconv.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

100

function [SignalBaru,SignalBaruNorm] =

potongSignalEnergy(x,xNorm)

xOriginal = x;

x = x.'; % Transposisi

% N = length(x); % Panjang Signal

% n = 0:N-1;

% ts = n*(1/Fs); % Waktu

% Definisi window

wintype = 'rectwin'; % Rectangular window

winlen = 201; % panjang window

winamp = [0.5,1]*(1/winlen);

% find the zero-crossing rate

E = energy(x,wintype,winamp(2),winlen);

% time index for the STE after delay compensation

% out = (winlen-1)/2:(N+winlen-1)-(winlen-1)/2;

% t = (out-(winlen-1)/2)*(1/Fs);

% Edited Energy

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

101

makE = max(E);

rataE = mean(E);

for i=1:length(E)

if E(i) >= rataE*0.25

E(i) = makE;

else

E(i) = 0;

end

end

% Fltering

b = [1/4 1/4 1/4 1/4];

ENew = filter(b,1,E);

%% Erosi & Dilasi

ENew = im2bw(ENew);

se = strel('rectangle',[1 300]);

ENew = imerode(E,se);

ENew = imdilate(ENew,se);

% %%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

102

% N = length(x); % signal length

% n = 0:N-1;

% ts = n*(1/Fs); % time for signal

%

% % time index for the ST-ZCR and STE after delay

compensation

% out = (winlen-1)/2:(N+winlen-1)-(winlen-1)/2;

% t = (out-(winlen-1)/2)*(1/Fs);

% figure;

% plot(ts,x); hold on;

% plot(t,ENew(out),'r','Linewidth',2); xlabel('t, seconds');

% title('Short-time Energy');

% legend('signal','STE');

% %%

%% get The Data

AP = zeros(1,2);

a=1;

for i=2:length(ENew)-1

if ENew(i) == 0 && ENew(i+1) == makE

AP(a,1) = i;

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

103

if ENew(i) == makE && ENew(i+1) == 0

if i <= length(xOriginal)-1

AP(a,2) = i;

a=a+1;

else

AP(a,2) = length(xOriginal)-1;

a=a+1;

end

end

end

for j=1:length(AP(:,1))

SignalBaru{j} = xOriginal(AP(j,1):AP(j,2));

SignalBaruNorm{j} = xNorm(AP(j,1):AP(j,2));

end

end

4. Source Code potongSignalZeroCrossing

Berikut merupakan source code potongSignalZeroCrossing.

Berfungsi untuk mencari nilai zero-crossing dari sampel data suara hasil

fungsi potongSignalEnergy.

function [SignalBaru,SignalBaruNorm] =

potongSignalZeroCrossing(x,xNorm)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

104

xOriginal =x;

x = x.';

% define the window

wintype = 'rectwin';

winlen = 201;

winamp = [0.5,1]*(1/winlen);

% find the zero-crossing rate

zc = zerocross(x,wintype,winamp(1),winlen);

%% Edited

mak = max(zc);

rata = mean(zc);

for i=1:length(zc)

if zc(i) >= rata*0.75

zc(i) = mak;

else

zc(i) = 0;

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

105

% Fltering

b = [1/4 1/4 1/4 1/4];

zcNew = filter(b,1,zc);

%% Erosi & Dilasi

zcNew = im2bw(zcNew);

se = strel('rectangle',[1 300]);

zcNew = imerode(zc,se);

zcNew = imdilate(zcNew,se);

%% get The Data

AP = zeros(1,2);

a=1;

for i=2:length(zcNew)-1

if zcNew(i) == 0 && zcNew(i+1) == mak

AP(a,1) = i;

end

if zcNew(i) == mak && zcNew(i+1) == 0

AP(a,2) = i;

a=a+1;

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

106

if length(AP(:,1)) > 1

for i=1:length(AP(:,1))

SignalBaru{i} = xOriginal(AP(i,1):AP(i,2));

SignalBaruNorm{i} = xNorm(AP(i,1):AP(i,2));

end

end

if length(AP(:,1)) == 1

for i=1:length(AP(:,1))

SignalBaru = xOriginal;

SignalBaruNorm = xNorm;

end

end

5. Source Code statistics

Berikut merupakan source code statistics. Berfungsi untuk

mencari nilai mean, median, standar deviasi dan standar deviasi by

mean.

function [statistic] = statistics(frames)

% statistic = mean,median,std,stdbymean,max,min

for i=1:length(frames(1,:))

statistic(i,1) = mean(frames(:,i));

statistic(i,2) = median(frames(:,i));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

107

statistic(i,3) = std(frames(:,i));

statistic(i,4) = std(frames(:,i)) ./ (mean(frames(:,i))+eps);

% statistic(i,5) = max(frames(:,i));

% statistic(i,6) = min(frames(:,i));

end

end

6. Source Code PilahData

Berikut merupakan source code PilahData. Berfungsi untuk

memilah data sebelum dijadikan tiga kelompok data untuk 3-Fold Cross

Validation

function [data label recPos] = pilahData(database)

% Memilah data suara untuk mengambil data yang dikenali

sebagai kata

% data = ciri dari data suara

% label = label dari ciri data

% recPos = posisi rekaman dari data suara

AllLabel(:,1) = database(:,2); % Mengambil semua Label data

AllLabel = cell2mat(AllLabel); % Mengubah cell array menjadi

matrix array

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

108

label1 = find(AllLabel==1); % Mengambil posisi ciri kata Hidup

dalam database

label2 = find(AllLabel==2); % Mengambil posisi ciri kata Mati

dalam database

label3 = find(AllLabel==3); % Mengambil posisi ciri kata Buka

dalam database

label4 = find(AllLabel==4); % Mengambil posisi ciri kata Tutup

dalam database

label5 = find(AllLabel==5); % Mengambil posisi ciri kata

Lampu dalam database

label6 = find(AllLabel==6); % Mengambil posisi ciri kata TV

dalam database

label7 = find(AllLabel==7); % Mengambil posisi ciri kata Pintu

dalam database

label8 = find(AllLabel==8); % Mengambil posisi ciri kata

Jendela dalam database

label9 = find(AllLabel==9); % Mengambil posisi ciri kata

Ruang dalam database

label10 = find(AllLabel==10); % Mengambil posisi ciri kata

Tamu dalam database

label11 = find(AllLabel==11); % Mengambil posisi ciri kata

Kamar dalam database

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

109

label12 = find(AllLabel==12); % Mengambil posisi ciri kata

Garasi dalam database

%% Mengambil matriks ciri data suara beserta label dan posisi

pengambilan suaranya

for i=1:length(label1)

try

d1(i,:) = cell2mat(database(label1(i),1));

l1(i,1) = AllLabel(label1(i),1);

pos1(i,1) = cell2mat(database(label1(i),3));

catch

d1(i,:) = zeros(1,52);

l1(i,1) = 13;

end

pos1(i,1) = cell2mat(database(label1(i),3));

end

for i=1:length(label2)

try

d2(i,:) = cell2mat(database(label2(i),1));

l2(i,1) = AllLabel(label2(i),1);

pos2(i,1) = cell2mat(database(label2(i),3));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

110

catch

d2(i,:) = zeros(1,52);

l2(i,1) = 13;

pos2(i,1) = cell2mat(database(label2(i),3));

end

end

for i=1:length(label3)

try

d3(i,:) = cell2mat(database(label3(i),1));

l3(i,1) = AllLabel(label3(i),1);

pos3(i,1) = cell2mat(database(label3(i),3));

catch

d3(i,:) = zeros(1,52);

l3(i,1) = 13;

pos3(i,1) = cell2mat(database(label3(i),3));

end

end

for i=1:length(label4)

try

d4(i,:) = cell2mat(database(label4(i),1));

l4(i,1) = AllLabel(label4(i),1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

111

pos4(i,1) = cell2mat(database(label4(i),3));

catch

d4(i,:) = zeros(1,52);

l4(i,1) = 13;

pos4(i,1) = cell2mat(database(label4(i),3));

end

end

for i=1:length(label5)

try

d5(i,:) = cell2mat(database(label5(i),1));

l5(i,1) = AllLabel(label5(i),1);

pos5(i,1) = cell2mat(database(label5(i),3));

catch

d5(i,:) = zeros(1,52);

l5(i,1) = 13;

pos5(i,1) = cell2mat(database(label5(i),3));

end

end

for i=1:length(label6)

try

d6(i,:) = cell2mat(database(label6(i),1));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

112

l6(i,1) = AllLabel(label6(i),1);

pos6(i,1) = cell2mat(database(label6(i),3));

catch

d6(i,:) = zeros(1,52);

l6(i,1) = 13;

pos6(i,1) = cell2mat(database(label6(i),3));

end

end

for i=1:length(label7)

try

d7(i,:) = cell2mat(database(label7(i),1));

l7(i,1) = AllLabel(label7(i),1);

pos7(i,1) = cell2mat(database(label7(i),3));

catch

d7(i,:) = zeros(1,52);

l7(i,1) = 13;

pos7(i,1) = cell2mat(database(label7(i),3));

end

end

for i=1:length(label8)

try

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

113

d8(i,:) = cell2mat(database(label8(i),1));

l8(i,1) = AllLabel(label8(i),1);

pos8(i,1) = cell2mat(database(label8(i),3));

catch

d8(i,:) = zeros(1,52);

l8(i,1) = 13;

pos8(i,1) = cell2mat(database(label8(i),3));

end

end

for i=1:length(label9)

try

d9(i,:) = cell2mat(database(label9(i),1));

l9(i,1) = AllLabel(label9(i),1);

pos9(i,1) = cell2mat(database(label9(i),3));

catch

d9(i,:) = zeros(1,52);

l9(i,1) = 13;

pos9(i,1) = cell2mat(database(label9(i),3));

end

end

for i=1:length(label10)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

114

try

d10(i,:) = cell2mat(database(label10(i),1));

l10(i,1) = AllLabel(label10(i),1);

pos10(i,1) = cell2mat(database(label10(i),3));

catch

d10(i,:) = zeros(1,52);

l10(i,1) = 13;

pos10(i,1) = cell2mat(database(label10(i),3));

end

end

for i=1:length(label11)

try

d11(i,:) = cell2mat(database(label11(i),1));

l11(i,1) = AllLabel(label11(i),1);

pos11(i,1) = cell2mat(database(label11(i),3));

catch

d11(i,:) = zeros(1,52);

l11(i,1) = 13;

pos11(i,1) = cell2mat(database(label11(i),3));

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

115

for i=1:length(label12)

try

d12(i,:) = cell2mat(database(label12(i),1));

l12(i,1) = AllLabel(label12(i),1);

pos12(i,1) = cell2mat(database(label12(i),3));

catch

d12(i,:) = zeros(1,52);

l12(i,1) = 13;

pos12(i,1) = cell2mat(database(label12(i),3));

end

end

%%

data = [d1;d2;d3;d4;d5;d6;d7;d8;d9;d10;d11;d12]; % Gabung

matrix ciri data potongan suara

label = [l1;l2;l3;l4;l5;l6;l7;l8;l9;l10;l11;l12]; % gabung label

data potongan suara

recPos =

[pos1;pos2;pos3;pos4;pos5;pos6;pos7;pos8;pos9;pos10;pos11;pos12];

% gabung posisi rekaman data suara

clc;

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

116

7. Source Code ubahLuaran

Berikut merupakan source code ubahLuaran. Berfungsi untuk

merubah label hasil JST kedalam bilangan desimal.

function [lT,lTS] = ubahLuaran(labelTesting,labelTraining)

bantu = labelTraining

for i=1:length(bantu)

if bantu(i) == 1

lT(i,:) = [0 0 0 1];

end

if bantu(i) == 2

lT(i,:) = [0 0 1 0];

end

if bantu(i) == 3

lT(i,:) = [0 0 1 1];

end

if bantu(i) == 4

lT(i,:) = [0 1 0 0];

end

if bantu(i) == 5

lT(i,:) = [0 1 0 1];

end

if bantu(i) == 6

lT(i,:) = [0 1 1 0];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

117

end

if bantu(i) == 7

lT(i,:) = [0 1 1 1];

end

if bantu(i) == 8

lT(i,:) = [1 0 0 0];

end

if bantu(i) == 9

lT(i,:) = [1 0 0 1];

end

if bantu(i) == 10

lT(i,:) = [1 0 1 0];

end

if bantu(i) == 11

lT(i,:) = [1 0 1 1];

end

if bantu(i) == 12

lT(i,:) = [1 1 0 0];

end

end

bantu2 = labelTesting

for i=1:length(bantu2)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

118

if bantu(i) == 1

lTS(i,:) = [0 0 0 1];

end

if bantu(i) == 2

lTS(i,:) = [0 0 1 0];

end

if bantu(i) == 3

lTS(i,:) = [0 0 1 1];

end

if bantu(i) == 4

lTS(i,:) = [0 1 0 0];

end

if bantu(i) == 5

lTS(i,:) = [0 1 0 1];

end

if bantu(i) == 6

lTS(i,:) = [0 1 1 0];

end

if bantu(i) == 7

lTS(i,:) = [0 1 1 1];

end

if bantu(i) == 8

lTS(i,:) = [1 0 0 0];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

119

end

if bantu(i) == 9

lTS(i,:) = [1 0 0 1];

end

if bantu(i) == 10

lTS(i,:) = [1 0 1 0];

end

if bantu(i) == 11

lTS(i,:) = [1 0 1 1];

end

if bantu(i) == 12

lTS(i,:) = [1 1 0 0];

end

end

end

8. Source Code ujiJST_BP

Berikut merupakan source code ujiJST_BP. Berfungsi untuk

melakukan klasifikasi dan pengenalan dari data yang dimasukkan.

function [confMat,akurasi] =

ujiJST_BP(dataTesting,labelTesting,dataTraining,labelTraining,hidden

layer)

rand('seed', 491218382);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

120

% membuat feed-forward backpropagation network

net = newff(dataTraining', labelTraining', hiddenlayer);

%7. Membentuk model JST

[net, tr] = train(net,dataTraining', labelTraining');

%8. Menguji model

out = sim(net,dataTesting');

out=round(out); %nilai di atas 0.5 akan dibulatkan ke atas

[y_out, idx]=max(out);

% Ubah ke desimal

oout = ubahkeDesimal(out');

LT = ubahkeDesimal(labelTesting);

%9. Membandingkan luaran dengan target

% LT = labelTesting';

% confMat=confusionmat(LT(1,:),out);

try

confMat=confusionmat(LT',oout');

%10. Akurasi model

akurasi=(sum(diag(confMat))/sum(sum(confMat)))*100;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

121

catch

confMat=0;

akurasi=0;

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

122

B. Lampiran Tabel Persentase Potongan Suara dari Depan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

123

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

124

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

125

C. Lampiran Tabel Persentase Potongan Suara dari Samping

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

126

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

127

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: SISTEM PENGENALAN SUARA UNTUK MENGENALI ...repository.usd.ac.id/33311/2/145314065_full.pdfserta mengklasifikasi kata-kata yang diucapkan tersebut. Maka dari itu, dalam melakukan pengendalian

128

D. Lampiran Tabel Hasil Proses Perhitungan Menggunakan Mel

Frequency Cepstral Coefficients

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI