SISTEM PENGENALAN SUARA UNTUK MENGENALI PERINTAH SUARA MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION

Gratis

0
0
144
3 weeks ago
Preview
Full text
(1)PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 i

(2) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 ii

(3) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI iii

(4) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI iv

(5) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 v

(6) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 vi

(7) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 vii

(8) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 viii

(9) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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. ix

(10) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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. x

(11) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8. Teman-teman Game Online yang menemani setiap malam penulis. Yogyakarta, 20 Januari 2019 Penulis I Putu Desyanndana xi

(12) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 xii

(13) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 xiii

(14) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 xiv

(15) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 xv

(16) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 xvi

(17) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 1

(18) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 yang dihasilkan pada penelitian tersebut adalah 70% dengan waktu proses ratarata 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.

(19) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 1.4. Batasan Masalah Agar pengerjaan tugas akhir ini lebih terfokus pada tujuan yangtelah ditetapkan maka perlu adanya batasan-batasan masalah. Dalam Batasanbatasan 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

(20) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(21) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(22) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 6

(23) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 Tujuan dari … (2.2.1.2) 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

(24) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(25) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(26) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(27) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 2.2.7. Log Energy Merupakan salah satu cara untuk menambah nilai koefisien yang dihitung dari linear prediction atau melcepstrum, 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

(28) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(29) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(30) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 dipropagasikan ke maju, lapisan atau masukan tersembunyi dengan input

(31) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 (W m+1 am + 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)

(32) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 𝑥𝑖 𝑣𝑗𝑖 𝑧𝑗 = 𝑓 (𝑧𝑛𝑒𝑡 𝑗 ) = 1+𝑒 1 −𝑧_𝑛𝑒𝑡𝑗 … ( 2.3.5.1 ) … ( 2.3.5.2 ) 6. Hitung semua luaran jaringan di neuron y_k (k = 1, 2, 3, … , m) 𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘0 + ∑𝑛𝑗=1 𝑥𝑗 𝑤𝑘𝑖 𝑦𝑘 = 𝑓(𝑦𝑛𝑒𝑡 𝑘 ) = 1 1+𝑒 −𝑦_𝑛𝑒𝑡𝑘 … ( 2.3.5.3 ) … ( 2.3.5.4 ) 7. Hitung faktor δ neuron luaran berdasarakan error disetiap neuron luaran y_k (k = 1, 2, 3, … , m)

(33) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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:

(34) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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).

(35) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 preemphasis, frame blocking, hamming windowing, fast fourier transform, 19

(36) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(37) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 Gambar 3.1 Diagram Blok Sistem

(38) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(39) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 :

(40) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 Gambar 3.2.1 Sinyal digital “Hidupkan Lampu Ruang Tamu” Gambar 3.2.2 Sinyal spectogram “Hidupkan Lampu Ruang Tamu”

(41) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(42) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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”

(43) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(44) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(45) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(46) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(47) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(48) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(49) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(50) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 1 0 𝑊 1 ( 0 ) = [ ] , 𝑏1 ( 0 ) = [ 0 ] , 𝑊 2 ( 0 ) = [ 0 1 0 0 0 0 = [ 0] , 0 0] , 𝑏 2 (0) 1 1 𝑊 3 (0) = [0] , 𝑏3 (0) = [0], 0 0 0 0 Luaran lapis Pertama 1 1 0 𝑎1 = 𝑓 1 (𝑊 1 𝑎0 + 𝑏1 ) = 𝑙𝑜𝑔𝑠𝑖𝑔 ([ ] [1] + [0]) 0 0 0 0 2 = 𝑙𝑜𝑔𝑠𝑖𝑔 ([0]) 0 0

(51) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35 1 1 + 𝑒 −2 1 0,88 0 1 + 𝑒 =[ 2 ] = 1 2 2 1 + 𝑒0 1 [ 1 + 𝑒0 ] 𝑎2 = 𝑓 2 (𝑊 2 𝑎1 + 𝑏2 ) = 𝑙𝑜𝑔𝑠𝑖𝑔 ([0 =[ = 𝑙𝑜𝑔𝑠𝑖𝑔([2]) 1 0,88 0 0] [ 2 ] + [0]) 2 2 1 ] = [0,88] 1 + 𝑒 −2 𝑎3 = 𝑓 3 (𝑓 2 (𝑊 3 𝑎0 + 𝑏3 ) + 𝑏2 )+𝑏3 1 1 = 𝑝𝑢𝑟𝑒𝑙𝑖𝑛 ([0] [0,88] + [0]) 0 0 0 0 0,88 =[ 0 ] 0 0 Perbaikan Error 𝜋 𝜋 𝑒 = 𝑡 − 𝑎 = {1 + sin ( 𝑝)} − 𝑎3 = {1 + sin ( 1)} − 0,88 4 4 = 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 ( ) = = (1 − )( ) 𝑛 −𝑛 −𝑛 2 𝑑𝑛 1 + 𝑒 1+𝑒 1 + 𝑒 −𝑛 (1 + 𝑒 )

(52) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36 = (1 − 𝑎1 )(𝑎1 ) untuk lapis kedua 𝑓 2 (𝑛 ) = 1 (𝑒 𝑛 − 1)𝑒 𝑛 𝑑2 ( ) = (1 + 𝑒 𝑛 )3 𝑑𝑛2 1 + 𝑒 𝑛 3 1 1 1 = (1 − ) (2 )( ) 1 + 𝑒 −𝑛 1 + 𝑒 −𝑛 1 + 𝑒 −𝑛 = (1 − 𝑎2 )(2𝑎2 )(𝑎2 )3 Untuk lapis ketiga, 𝑓 3 (𝑛 ) = 𝑑 (𝑛 ) = 1 𝑑𝑛 Backpropagation dimulai dari lapis ketiga 0,88 0,88 𝑠 3 = −2𝐹 3 (𝑛3 )(𝑡 − 𝑎) = −2[𝑓 3 (𝑛3 )] [ 0 ] = −2[1] [ 0 ] 0 0 0 0 −1,76 =[ 0 ] 0 0 Sensitifitas layer pertama dan kedua merupakan komputasi dari backpropagation sensitifitas lapis ketiga. 2 2 ( 2 )( 𝑠 =𝐹 𝑛 = [0,22 0 𝑊 0,12 𝑠 = [ 0 ] [1 0 0 0 3 )𝑇 3 0,88 0 0 0] [ ] = [1,936] 0 0 𝑠1 = 𝐹1 (𝑛1 )(𝑊 2 )𝑇 𝑠 2 0,88 0 ] 0 0] [ 0 0

(53) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37 0,12 1 0 0 ] [ ] [0,1936] =[ 0 0 0 0 0,22 0,426 0 [ 0 ] 0.1936] = [ ] =[ 0 0 0 0 Langkah terakhir yakni memperbaharui bobot dengan menggunakan laju pembelajaran α =1. 𝑊 2 (1) = 𝑊 2 (0) − αs2 (a1 )𝑇 1 0 = [ ] − 1[0.1936][0.88 2 0 0 2 2] = [0.728 0 0 0], 𝑏2 (1) = 𝑏2 (0) − αs 2 = [0] − 1[0.1936] = [−0.1936], 0,426 1 0,574 0 0 ] [1] = [ 0 ], 𝑊1 (1) = 𝑊 1 (0) − αs1 (a0 )𝑇 = [ ] − 1 [ 0 0 0 0 0 0 1 0,426 0,574 0 0 ] = [ 0 ], 𝑏1 (1) = 𝑏1 (0) − αs1 = [ ] − 1 [ 0 0 0 0 0 0 Hasil dari iterasi pertama, untuk mencari nilai optimal diperlukan beberapa kali iterasi lagi sehingga didapatkan nilai hasil yang mencapai atau mendekati target.

(54) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(55) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(56) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(57) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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-

(58) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(59) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(60) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(61) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(62) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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. 46

(63) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 katakata 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.

(64) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(65) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(66) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(67) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51 kembali. Potongan-potongan suara ini kemudian akan dicari zerocrossing-nya guna untuk menemukan silence voice dari hasil setiap potongan suara. Gambar 4.1.4.2 : Grafik Deteksi Silence Voice menggunakan ZeroCrossing (Potongan ke-1) Gambar 4.1.4.3 : Grafik Deteksi Silence Voice menggunakan ZeroCrossing (Potongan ke-2)

(68) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52 Gambar 4.1.4.4 : Grafik Deteksi Silence Voice menggunakan ZeroCrossing (Potongan ke-3) Gambar 4.1.4.5 : Grafik Deteksi Silence Voice menggunakan ZeroCrossing (Potongan ke-4)

(69) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53 Gambar 4.1.4.6 : Grafik Deteksi Silence Voice menggunakan ZeroCrossing (Potongan ke-5) Dari gambar hasil deteksi silence voice menggunakan ZeroCrossing (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 69,79% 90,41% 75,96% 92,37% Rekaman Depan Rekaman Samping

(70) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54 4.1.5. FEATURE DATA (Mel-Frequency Cepstral Coefficients) Gambar 4.1.5 : Diagram Balok Proses Ekstraksi Ciri Pada MFCC

(71) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 katakata 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 HIDUP MATI BUKA TUTUP LAMPU TV PINTU JENDELA RUANG TAMU KAMAR GARASI LABEL BINER 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

(72) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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,

(73) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(74) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(75) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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% .

(76) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(77) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(78) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(79) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(80) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(81) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(82) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(83) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(84) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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%.

(85) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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. 69

(86) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(87) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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-1462944702115117.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-00638IF [ 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. 71

(88) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(89) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73 Transmisi, [82-86]. Available from : https://www.researchgate.net/publication/277998882_Aplikasi_Pe ngenalan_Ucapan_dengan_Ekstraksi_MelFrequency_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 MelFrequency 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-nomor2-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 ]

(90) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 DeepFat 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] :

(91) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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]

(92) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI LAMPIRAN 76

(93) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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}] = varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end gui_mainfcn(gui_State,

(94) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(95) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(96) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 GUIDATA) structure with handles and user data (see

(97) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(98) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(99) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 % popupmenu2 contents{get(hObject,'Value')} returns selected item from

(100) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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;

(101) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(102) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(103) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(104) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(105) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(106) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(107) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(108) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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]); =

(109) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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]); =

(110) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 = {};

(111) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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}; =

(112) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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}); =

(113) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(114) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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));

(115) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.

(116) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 =

(117) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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); % %%

(118) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(119) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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) =

(120) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(121) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(122) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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));

(123) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(124) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(125) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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));

(126) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(127) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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));

(128) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(129) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(130) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(131) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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

(132) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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];

(133) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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)

(134) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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];

(135) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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);

(136) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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;

(137) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 121 catch confMat=0; akurasi=0; end end

(138) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 122 B. Lampiran Tabel Persentase Potongan Suara dari Depan

(139) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 123

(140) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 124

(141) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 125 C. Lampiran Tabel Persentase Potongan Suara dari Samping

(142) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 126

(143) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 127

(144) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 128 D. Lampiran Tabel Hasil Proses Perhitungan Menggunakan Mel Frequency Cepstral Coefficients

(145)

Dokumen baru

Download (144 Halaman)
Gratis

Tags

Dokumen yang terkait

PENGENALAN DAN PEMERIKSAAN TANDA TANGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN
0
10
1
IMPLEMENTASI JARINGAN SYARAF TIRUAN BACKPROPAGATION SEBAGAI SISTEM DETEKSI PENYAKIT TUBERCULOSIS (TBC)
7
63
154
PERAMALAN AWAL MUSIM HUJAN MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION LEVENBERG-MARQUARDT
0
4
6
PEMODELAN JARINGAN SYARAF TIRUAN RESILIENT BACKPROPAGATION UNTUK KONVERSI SUARA GITAR KECORD
0
4
7
PENERAPAN TEKNIK JARINGAN SYARAF TIRUAN ALGORITMA BACKPROPAGATION UNTUK PERAMALAN HARGA SAHAM.
0
4
5
IMPLEMENTASI JARINGAN SYARAF TIRUAN PROPAGASI BALIK DENGAN METODE LINEAR PREDICTIVE CODING UNTUK PENGENALAN SUARA MANUSIA - Diponegoro University | Institutional Repository (UNDIP-IR)
0
0
3
PENDETEKSIAN SUARA NOT NADA DASAR MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION
0
0
8
SISTEM PENGENALAN KARAKTER DENGAN JARINGAN SYARAF TIRUAN ALGORITMA PERCEPTRON
0
0
5
ANALISIS PENGGUNAAN ALGORITMA KOHONEN PADA JARINGAN SYARAF TIRUAN BACKPROPAGATION DALAM PENGENALAN POLA PENYAKIT PARU
0
0
21
JARINGAN SYARAF TIRUAN MENGGUNAKAN METODE PERCEPTRON UNTUK PENGENALAN GEJALA PENYAKIT KAKI GAJAH (FILARIASIS)
0
0
10
PEMBANGUNAN SISTEM PENDETEKSI PENYALAHGUNAAN NARKOBA MENGGUNAKAN ALGORITMA JARINGAN SYARAF TIRUAN METODE BACKPROPAGATION
0
0
8
PENERAPAN METODE JARINGAN SYARAF TIRUAN BACKPROPAGATION DALAM PENGENALAN POLA AKSARA HANACARAKA
1
2
10
PENGENALAN POLA PLAT NOMOR KENDARAAN MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION
0
0
10
PENGENALAN SUARA BURUNG MENGGUNAKAN MEL FREQUENCY CEPSTRUM COEFFICIENT DAN JARINGAN SYARAF TIRUAN PADA SISTEM PENGUSIR HAMA BURUNG
0
0
9
PENGENALAN POLA SIDIK JARI MENGGUNAKAN JARINGAN SYARAF BACKPROPAGATION
0
0
96
Show more