PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IDENTIFIKASI KERUSAKAN MESIN SEPEDA MOTOR BERDASARKAN SUARA MESIN MENGGUNAKAN FITUR LINEAR PREDICTIVE CODING DAN METODE BACK PROPAGATION HALAMAN JUDUL SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Yosep Dio Dewantara 115314049
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAMAGE IDENTIFICATION OF MOTORCYCLE ENGINES BASED ON ENGINE NOISE USING LINEAR PREDICTIVE CODING FEATURES AND BACK PROPAGATION METHOD TITLE PAGE A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer Degree in Informatics Engineering Department
By: Yosep Dio Dewantara 115314049
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSETUJUAN
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO
“Bangsa yang malas belajar, tidak akan bisa berkembang”
“Banyak kegagalan dalam hidup ini dikarenakan orang-orang tidak menyadari betapa dekatnya mereka dengan keberhasilan saat mereka menyerah” (Thomas Alva Edison)
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa di dalam skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 23 November 2016 Penulis
Yosep Dio Dewantara
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama
: Yosep Dio Dewantara
NIM
: 115314049
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul:
IDENTIFIKASI KERUSAKAN MESIN SEPEDA MOTOR BERDASARKAN SUARA MESIN MENGGUNAKAN FITUR LINEAR PREDICTIVE CODING DAN METODE BACK PROPAGATION
Berserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 23 November 2016 Penulis
Yosep Dio Dewantara
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK Penelitian yang intensif dalam bidang pengolahan sinyal menyebabkan teknologi komunikasi berkembang sangat pesat, salah satunya adalah pengenalan suara. Konsep pengenalan suara dapat diterapkan dalam beberapa bidang untuk menyelesaikan beberapa permasalahan, diantaranya yaitu pengenalan suara mesin sepeda motor. Terdapat berbagai macam pola suara mesin sepeda motor yang dapat menunjukkan jenis kerusakan dari mesin sepeda motor. Masih banyak masyarakat pengguna sepeda motor yang tidak mengerti kerusakan yang terjadi pada mesin sepeda motor. Dalam melakukan pengecekan dan perawatan mesin sepeda motor, para teknisi bengkel sering kali lebih cepat mengetahui kerusakan yang terjadi pada sebuah mesin sepeda motor hanya dengan mendengar suara mesin sepeda motor tersebut. Oleh karena itu, pada penelitian ini akan dibuat sebuah aplikasi yang mampu untuk mengklasifikasikan suara mesin sepeda motor berdasarkan suara mesinnya. Penelitian ini menggunakan fitur Linear Predictive Coding untuk proses ekstraksi ciri suara dan metode Jaringan Syaraf Tiruan Back Propagation untuk proses klasifikasi suara. Untuk jenis klasifikasi suara mesin sepeda motor dibagi kedalam 4 kelompok yaitu mesin normal, mesin rusak katup/klep, mesin rusak stang seher, dan mesin rusak rantai kamprat. Data yang akan digunakan adalah data rekaman suara mesin sepeda motor dalam format .wav. Jumlah file rekaman suara yang digunakan dalam proses mendapatkan pola suara sebanyak 200 data suara. Berdasarkan percobaan pengujian variasi kombinasi ciri dan jumlah hidden layer beserta jumlah neuron-nya, diperoleh hasil penelitian optimal yaitu akurasi tertinggi sebesar 84% pada ciri orde 10 dengan 2 hidden layer, dengan jumlah neuron pada hidden layer 1 sebanyak 28 dan jumlah neuron pada hidden layer 2 sebanyak 20.
Kata Kunci: Klasifikasi, Linear Predictive Coding, Jaringan Syaraf Tiruan Back Propagation
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Intensive research in the field of signal processing causes communication technology is growing very rapidly, one of which is the voice recognition. The concept of voice recognition can be applied in several fields to resolve some problems, among which is the voice recognition engine motorcycles. There are various kind of motorcycle engine sound patterns that can indicate the type of damage from a motorcycle engine. There are still many people who use motorcycles do not understand the damage that occurs in a motorcycle engine. While checking and maintenance the motorcycle engine, the technicians often more quickly find damage to a motorcycle engine only from hearing the sound of a motorcycle engine. Therefore, in this study will be made an application that is able to classify the sound of motorcycle engine based on the engine sounds. This study uses Linear Predictive Coding feature for feature extraction process sound and method Back Propagation Neural Network for sound classification process. For this type of motorcycle engine sound classification is divided into 4 groups: normal machinery, machine broken valve, piston handlebar broken machines and broken machines timing chain. The data of motorcycle engine sound recordings will be used in .wav format. The number of voice recording files used in the process of getting sound patterns as many as 200 voice data. Based on the test trial variation combination of features and the number of hidden layer along with the number of it neurons, the result of research is optimal that the highest accuracy is 84% on the characteristic of order is 10 with two hidden layers, the number of neurons in the hidden layer 1 is 28 and the number of neurons in the hidden layer 2 is 20.
Keywords: Classification, Linear Predictive Coding, Back Propagation Neural Network
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, sehingga penulis dapat menyelesaikan tugas akhir dengan judul “Identifikasi Kerusakan Mesin Sepeda Motor Berdasarkan Suara Mesin Menggunakan Fitur Linear Predictive Coding dan Metode Back Propagation”. Tugas akhir ini merupakan salah satu mata kuliah wajib dan sebagai syarat akademik untuk memperoleh gelar sarjana komputer program studi Teknik Informatika Universitas Sanata Dharma Yogyakarta. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu penulis baik selama penelitian maupun saat mengerjakan tugas akhir ini. Ucapan terima kasih sebesar-besarnya penulis sampaikan kepada: 1.
Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan dalam proses pembuatan tugas akhir.
2.
Orang tua, Fransiskus Xaverius Suprapto dan Fransiska Yohanna Layola Manik, serta keluarga yang telah memberikan dukungan spiritual dan material.
3.
Dr. Cyprianus Kuntoro Adi, SJ., M.A., M.Sc. selaku dosen pembimbing tugas akhir, atas bimbingan, waktu dan saran yang telah diberikan kepada penulis.
4.
JB. Budi Darmawan S.T., M.Sc. selaku dosen pembimbing akademik, atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.
5.
Dr. Anastasia Rita Widiarti M.Kom selaku ketua program studi Teknik Informatika, atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.
6.
Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku dekan fakultas Sains dan Teknologi, atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.
7.
Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan semasa kuliah dan sangat membantu penulis dalam mengerjakan tugas akhir. x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8.
Pemilik Bengkel Rejo, Mas Wawan, dan Mas Cuweng selaku pemilik bengkel
sepeda
motor
atas
bantuannya
terhadap
penulis
dalam
mengumpulkan data untuk penelitian ini serta membantu memberi informasi yang dibutuhkan dalam penelitian ini. 9.
Mas Yanuar, Mas Susilo dan Mas Danang selaku laboran Teknik Informatika, atas bantuannya menyediakan tempat untuk mengerjakan tugas akhir.
10.
Bagus, Rio, Beny, Valen, Rifki, Agung, Be, Priska, Lukas, Tea, Kevin, Dion dan teman-teman lainnya yang telah berjuang bersama serta saling memberi dukungan semangat, doa dalam menyelesaikan penelitian ini.
11.
Teman-teman Teknik Informatika 2011 Sanata Dharma, terima kasih atas semangat dan perjuangan bersama yang telah kalian berikan kepada satu sama lain.
12.
Teman-temanku selain dari prodi TI, terima kasih atas dukungan yang telah kalian berikan.
13.
Semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu penulis dalam pengerjaan tugas akhir ini.
Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di masa mendatang. Akhir kata, penulis berharap tulisan ini dapat berguna bagi perkembangan ilmu pengetahuan dan wawasan pembaca.
Penulis,
Yosep Dio Dewantara
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
1 HALAMAN JUDUL ...............................................................................................i TITLE PAGE .........................................................................................................ii HALAMAN PERSETUJUAN ............................................................................. iii HALAMAN PENGESAHAN ............................................................................... iv MOTTO ..................................................................................................................v PERNYATAAN KEASLIAN KARYA ............................................................... vi LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ........................................................................... vii ABSTRAK ........................................................................................................... viii ABSTRACT ........................................................................................................... ix KATA PENGANTAR ............................................................................................ x DAFTAR ISI ......................................................................................................... xii DAFTAR TABEL ............................................................................................... xiv DAFTAR GAMBAR ........................................................................................... xvi BAB I PENDAHULUAN ...................................................................................... 1 1.1 Latar Belakang .......................................................................................... 1 1.2 Rumusan Masalah..................................................................................... 3 1.3 Tujuan ........................................................................................................ 3 1.4 Batasan Masalah ....................................................................................... 4 1.5 Sistematika Penulisan ............................................................................... 4 BAB II LANDASAN TEORI ............................................................................... 6 2.1 Mesin Sepeda Motor ................................................................................. 6 2.1.1 Kondisi Mesin Sepeda Motor Berdasarkan Suara .......................... 7 2.2 Daftar Istilah Resmi Dalam Mesin Sepeda Motor ............................... 11 2.3 Audio/Suara ............................................................................................. 12 2.4 Ekstraksi Ciri Sinyal Suara ................................................................... 13 2.4.1 Linear Predictive Coding (LPC) ...................................................... 13
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.5 Jaringan Syaraf Tiruan .......................................................................... 16 2.5.1 Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation ...... 18 2.6 K-Fold Cross Validation ......................................................................... 24 2.7 Confusion Matrix .................................................................................... 24 BAB III METODOLOGI PENELITIAN ......................................................... 26 3.1 Data .......................................................................................................... 26 3.2 Perancangan Sistem ................................................................................ 31 3.2.1 Ekstraksi Ciri .................................................................................... 32 3.2.2 Pelatihan dan Pengujian Arsitektur JST ........................................ 36 3.2.3 Klasifikasi dan Uji Data Tunggal .................................................... 42 3.3 Kebutuhan Sistem ................................................................................... 43 3.4 Perancangan Atarmuka Sistem ............................................................. 44 BAB IV IMPLEMENTASI DAN ANALISIS HASIL ..................................... 47 4.1 Implementasi Sistem ............................................................................... 47 4.1.1 Visualisasi Proses Ekstraksi Ciri ..................................................... 47 4.1.2 Tampilan Antarmuka Aplikasi ........................................................ 54 4.2 Analisis Hasil Penelitian ......................................................................... 58 4.2.1 Pengujian Variasi Arsitektur Jaringan ........................................... 58 4.2.2 Pengujian Data Tunggal ................................................................... 94 BAB V PENUTUP ............................................................................................... 95 5.1 Kesimpulan .............................................................................................. 95 5.2 Saran ........................................................................................................ 95 DAFTAR PUSTAKA .......................................................................................... 96 LAMPIRAN ......................................................................................................... 97
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1 Tabel Istilah-Istilah Resmi Dalam Mesin Sepeda Motor ...................... 11 Tabel 2.2 Confusion Matrix 2 Kelas (Tan, Steinbach, & Kumar, 2006) .............. 25 Tabel 3.1 Tabel Jumlah Data Hasil Ekstraksi Ciri ................................................ 36 Tabel 3.2 Five-Fold Cross Validation ................................................................... 37 Tabel 3.3 Jumlah Data Input Arsitektur Jaringan ................................................. 40 Tabel 4.1 Hasil Akurasi Seluruh Percobaan Pengujian ........................................ 60 Tabel 4.2 Confusion Matrix Percobaan Pengujian Orde 10, Jumlah Neuron Hidden Layer 1 28 dan Hidden Layer 2 20 ........................................................... 62 Tabel 4.3 Hasil Akurasi Orde 8, Hidden Layer 1 ................................................. 64 Tabel 4.4 Hasil Akurasi Orde 8, Hidden Layer 2 ................................................. 65 Tabel 4.5 Hasil Akurasi Orde 8+, Hidden Layer 1 ............................................. 66 Tabel 4.6 Hasil Akurasi Orde 8+, Hidden Layer 2 ............................................. 67 Tabel 4.7 Hasil Akurasi Orde 8++, Hidden Layer 1...................................... 68 Tabel 4.8 Hasil Akurasi Orde 8++, Hidden Layer 2...................................... 69 Tabel 4.9 Hasil Akurasi Orde 10, Hidden Layer 1 ............................................... 70 Tabel 4.10 Hasil Akurasi Orde 10, Hidden Layer 2 ............................................. 71 Tabel 4.11 Hasil Akurasi Orde 10+, Hidden Layer 1 ......................................... 72 Tabel 4.12 Hasil Akurasi Orde 10+, Hidden Layer 2 ......................................... 73 Tabel 4.13 Hasil Akurasi Orde 10++, Hidden Layer 1.................................. 74 Tabel 4.14 Hasil Akurasi Orde 10++, Hidden Layer 2.................................. 75 Tabel 4.15 Hasil Akurasi Orde 12, Hidden Layer 1 ............................................. 76 Tabel 4.16 Hasil Akurasi Orde 12, Hidden Layer 2 ............................................. 77 Tabel 4.17 Hasil Akurasi Orde 12+, Hidden Layer 1 ......................................... 78 Tabel 4.18 Hasil Akurasi Orde 12+, Hidden Layer 2 ......................................... 79 Tabel 4.19 Hasil Akurasi Orde 12++, Hidden Layer 1.................................. 80 Tabel 4.20 Hasil Akurasi Orde 12++, Hidden Layer 2.................................. 81 Tabel 4.21 Hasil Akurasi Orde 14, Hidden Layer 1 ............................................. 82 Tabel 4.22 Hasil Akurasi Orde 14, Hidden Layer 2 ............................................. 83 Tabel 4.23 Hasil Akurasi Orde 14+, Hidden Layer 1 ......................................... 84 Tabel 4.24 Hasil Akurasi Orde 14+, Hidden Layer 2 ......................................... 85 Tabel 4.25 Hasil Akurasi Orde 14++, Hidden Layer 1.................................. 86 Tabel 4.26 Hasil Akurasi Orde 14++, Hidden Layer 2.................................. 87 Tabel 4.27 Hasil Akurasi Orde 16, Hidden Layer 1 ............................................. 88 Tabel 4.28 Hasil Akurasi Orde 16, Hidden Layer 2 ............................................. 89 Tabel 4.29 Hasil Akurasi Orde 16+, Hidden Layer 1 ......................................... 90 xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.30 Hasil Akurasi Orde 16+, Hidden Layer 2 ......................................... 91 Tabel 4.31 Hasil Akurasi Orde 16++, Hidden Layer 1.................................. 92 Tabel 4.32 Hasil Akurasi Orde 16++, Hidden Layer 2.................................. 93 Tabel 4.33 Hasil Pengujian Data Tunggal dan Validasi Teknisi Mesin Sepeda Motor ..................................................................................................................... 94
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.1 Blok Silinder (Sutiman & Solikin, 2005) ............................................ 6 Gambar 2.2 Mesin Sepeda Motor (Sutiman & Solikin, 2005)................................ 8 Gambar 2.3 Batang Piston/Stang Seher (Sutiman & Solikin, 2005)....................... 9 Gambar 2.4 Katup/Klep (Sutiman & Solikin, 2005)............................................. 10 Gambar 2.5 Rantai Kamprat (Sutiman & Solikin, 2005) ...................................... 10 Gambar 2.6 frame blocking (Khrisnadi, 2005) ..................................................... 14 Gambar 2.7 Ilustrasi Arsitektur Jaringan Lapis Tunggal (Siang, 2005) ............... 17 Gambar 2.8 Ilustrasi Arsitektur Jaringan Lapis Majemuk (Siang, 2005) ............. 18 Gambar 2.9 Ilustrasi Arsitektur Back Propagation (Siang, 2005) ........................ 19 Gambar 3.1 Proses Perekaman Suara Mesin Sepeda Motor ................................. 27 Gambar 3.2 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Normal ............................................................................................................................... 28 Gambar 3.3 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Stang Seher ........................................................................................................... 29 Gambar 3.4 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Klep ....................................................................................................................... 30 Gambar 3.5 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Rantai Kamprat ..................................................................................................... 31 Gambar 3.6 Diagram Blok Sistem ........................................................................ 32 Gambar 3.7 Diagram Blok Proses Ekstraksi Ciri.................................................. 33 Gambar 3.8 Arsitektur JST 1 Hidden Layer ......................................................... 38 Gambar 3.9 Arsitektur JST 2 Hidden Layer ......................................................... 39 Gambar 3.10 Proses Klasifikasi dan Uji Data Tunggal ........................................ 42 Gambar 3.11 Tampilan Antarmuka Sistem .......................................................... 44 Gambar 4.1 Hasil Baca File Suara .wav ............................................................... 47 Gambar 4.2 Grafik Sinyal Data Suara Setelah Fungsi wavread() ......................... 48 Gambar 4.3 Data Hasil Proses Frame Blocking ................................................... 48 Gambar 4.4 Grafik Sinyal Data Hasil Proses Frame Blocking ............................. 49 Gambar 4.5 Data Hasil Proses Windowing .......................................................... 49 Gambar 4.6 Grafik Sinyal Data Hasil Proses Windowing .................................... 50 Gambar 4.7 Data Hasil Konversi .......................................................................... 50 Gambar 4.8 Data Hasil Proses Analisis Autokorelasi ........................................... 50 Gambar 4.9 Grafik Sinyal Data Hasil Proses Analisis Autokorelasi Orde 8 ........ 51 Gambar 4.10 Data Koefisien LPC Orde 8 ............................................................ 51 Gambar 4.11 Grafik Sinyal Data Koefisien LPC Orde 8 ...................................... 52
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.12 Data Delta LPC Orde 8 ................................................................... 52 Gambar 4.13 Data Delta Delta LPC Orde 8 .......................................................... 52 Gambar 4.14 Data Gabungan Hasil Ekstraksi Ciri LPC Orde 8 ........................... 53 Gambar 4.15 Grafik Sinyal Data Gabungan Hasil Ekstraksi Ciri LPC Orde 8 .... 53 Gambar 4.16 Tampilan Menu Utama Aplikasi ..................................................... 54 Gambar 4.17 Tampilan Proses Ekstraksi Ciri LPC ............................................... 55 Gambar 4.18 Hasil Ekstraksi Ciri 200 Data Suara ................................................ 55 Gambar 4.19 Tampilan Proses Pelatihan dan Pengujian Arsitektur JST .............. 56 Gambar 4.20 Tampilan Pelatihan 2 Hidden Layer................................................ 56 Gambar 4.21 Tampilan Pelatihan 1 Hidden Layer................................................ 56 Gambar 4.22 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Katup/Klep ............................................................................................................ 57 Gambar 4.23 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Normal .... 57 Gambar 4.24 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Rantai Kamprat ................................................................................................................. 57 Gambar 4.25 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Stang Seher/Batang Piston .............................................................................................. 57 Gambar 4.26 Grafik Perubahan Hasil Akurasi Keseluruhan Percobaan ............... 61 Gambar 4.27 Grafik Perubahan Akurasi Orde 8, Hidden Layer 1 ........................ 64 Gambar 4.28 Grafik Perubahan Akurasi Orde 8, Hidden Layer 2 ........................ 65 Gambar 4.29 Grafik Perubahan Akurasi Orde 8+ , Hidden Layer 1 .................. 66 Gambar 4.30 Grafik Perubahan Akurasi Orde 8+ , Hidden Layer 2 .................. 67 Gambar 4.31 Grafik Perubahan Akurasi Orde 8++, Hidden Layer 1 ............ 68 Gambar 4.32 Grafik Perubahan Akurasi Orde 8++, Hidden Layer 2 ............ 69 Gambar 4.33 Grafik Perubahan Akurasi Orde 10, Hidden Layer 1 ...................... 70 Gambar 4.34 Grafik Perubahan Akurasi Orde 10, Hidden Layer 2 ...................... 71 Gambar 4.35 Grafik Perubahan Akurasi Orde 10+, Hidden Layer 1 ................. 72 Gambar 4.36 Grafik Perubahan Akurasi Orde 10+, Hidden Layer 2 ................. 73 Gambar 4.37 Grafik Perubahan Akurasi Orde 10++, Hidden Layer 1 .......... 74 Gambar 4.38 Grafik Perubahan Akurasi Orde 10++, Hidden Layer 2 .......... 75 Gambar 4.39 Grafik Perubahan Akurasi Orde 12, Hidden Layer 1 ...................... 76 Gambar 4.40 Grafik Perubahan Akurasi Orde 12, Hidden Layer 2 ...................... 77 Gambar 4.41 Grafik Perubahan Akurasi Orde 12+, Hidden Layer 1 ................. 78 Gambar 4.42 Grafik Perubahan Akurasi Orde 12+, Hidden Layer 2 ................. 79 Gambar 4.43 Grafik Perubahan Akurasi Orde 12++, Hidden Layer 1 .......... 80 Gambar 4.44 Grafik Perubahan Akurasi Orde 12++, Hidden Layer 2 .......... 81 Gambar 4.45 Grafik Perubahan Akurasi Orde 14, Hidden Layer 1 ...................... 82 Gambar 4.46 Grafik Perubahan Akurasi Orde 14, Hidden Layer 2 ...................... 83 xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.47 Grafik Perubahan Akurasi Orde 14+, Hidden Layer 1 ................. 84 Gambar 4.48 Grafik Perubahan Akurasi Orde 14+, Hidden Layer 2 ................. 85 Gambar 4.49 Grafik Perubahan Akurasi Orde 14++, Hidden Layer 1 .......... 86 Gambar 4.50 Grafik Perubahan Akurasi Orde 14++, Hidden Layer 2 .......... 87 Gambar 4.51 Grafik Perubahan Akurasi Orde 16, Hidden Layer 1 ...................... 88 Gambar 4.52 Grafik Perubahan Akurasi Orde 16, Hidden Layer 2 ...................... 89 Gambar 4.53 Grafik Perubahan Akurasi Orde 16+, Hidden Layer 1 ................. 90 Gambar 4.54 Grafik Perubahan Akurasi Orde 16+, Hidden Layer 2 ................. 91 Gambar 4.55 Grafik Perubahan Akurasi Orde 16++, Hidden Layer 1 .......... 92 Gambar 4.56 Grafik Perubahan Akurasi Orde 16++, Hidden Layer 2 .......... 93
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1 BAB I PENDAHULUAN 1.1
Latar Belakang Perkembangan ilmu pengetahuan dan teknologi meningkat dengan cepat. Dalam ilmu pengetahuan dan teknologi khususnya pada bidang komunikasi, pengolahan sinyal memiliki peranan yang sangat penting. Penelitian yang intensif dalam bidang pengolahan sinyal menyebabkan teknologi komunikasi berkembang sangat pesat. Salah satunya adalah pengenalan suara. Konsep pengenalan suara dapat diterapkan dalam beberapa bidang untuk menyelesaikan beberapa permasalahan. Diantaranya yaitu pengenalan suara mesin kendaraan terutamanya mesin sepeda motor. Terdapat berbagai macam pola suara mesin sepeda motor yang dapat menunjukkan jenis kerusakan dari mesin sepeda motor. Masih banyak masyarakat pengguna sepeda motor yang tidak mengerti kerusakan yang terjadi pada mesin sepeda motor mereka, hingga menyebabkan mesin sepeda motor semakin rusak karena dibiarkan begitu saja. Selain itu kerusakan pada mesin sepeda motor sering terjadi akibat kelalaian dalam melakukan perawatan. Untuk penggunaan sepeda motor yang baik, diperlukan perawatan mesin sepeda motor secara berkala. Dalam melakukan pengecekan dan perawatan mesin sepeda motor, para teknisi bengkel sering kali lebih cepat mengetahui kerusakan yang terjadi pada sebuah mesin sepeda motor hanya dengan mendengar suara mesin sepeda motor tersebut. Hal ini mereka lakukan untuk mempercepat dalam mendiagnosa kerusakan mesin sepeda motor tanpa harus membongkar mesin terlebih dahulu. Pada tahun 2011, terdapat penelitian yang dilakukan oleh sekelompok mahasiswa Teknik Elektro Universitas Jendral Soedirman, mengenai sistem pendeteksian kerusakan mesin sepeda motor 4-langkah berbasis suara menggunakan Support Vector Machine (SVM). Dari penelitian tersebut diperoleh informasi bahwa kerusakan sepeda motor dapat dideteksi dengan
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
baik melalui suara dan penggunaan SVM dalam proses identifikasi suara mampu memberikan ketepatan pendeteksian hingga mencapai 100% (Susilawati, dkk 2011). Pada tahun 2007, terdapat penelitian yang dilakukan oleh sekelompok mahasiswa Teknik Elektro Sekolah Tinggi Teknologi Telkom, mengenai pengenalan suara jantung menggunakan metode LPC dan JST-BP. Dari penelitian tersebut diketahui bahwa metode ekstraksi ciri menggunakan LPC memberikan hasil yang menjanjikan untuk pengenalan suara secara otomatis, sehingga tingkat keberhasilan pada saat pendeteksian semakin tinggi. Hal tersebut terbukti dengan nilai sensitivitas total untuk klasifikasi 4 kelas TP adalah 96.55% (Anggraeni, dkk 2007). Pada tahun 2012, terdapat penelitian yang dilakukan oleh sekelompok mahasiswa Teknik Elektro Universitas Diponegoro, mengenai Aplikasi Pencirian Dengan Linear Predictive Coding Untuk Pembelajaran Pengucapan Nama Hewan Dalam Bahasa Inggris Menggunakan Jaringan Syaraf Tiruan Propagasi Balik. Dari penelitian tersebut di peroleh kesimpulan bahwa metode Jaringan Syaraf Tiruan Propagasi Balik mampu untuk mengenali pola suara dengan tingkat pengenalan yang tinggi, terbukti dengan presentasi benar antara 80-99% (Rohman, dkk 2012). Berdasarkan
beberapa
penelitian
diatas,
untuk
mengatasi
permasalahan tentang identifikasi kerusakan mesin sepeda motor tersebut, maka dalam penelitian ini akan dibuat sebuah aplikasi yang mampu untuk mengidentifikasi kerusakan mesin sepeda motor berdasarkan suara mesin dengan menggunakan fitur Linear Predictive Coding (LPC) untuk proses ekstraksi ciri suara dan untuk pengenalan pola sinyal suara menggunakan metode Jaringan Saraf Tiruan Back Propagation. Dengan adanya sistem ini diharapkan dapat membantu masyarakat yang kurang mengerti dengan mesin sepeda motor untuk dapat mengidentifikasi sendiri kerusakan mesin sepeda motor mereka dan juga dapat membantu khususnya teknisi mesin sepeda motor dalam mendiagnosa kerusakan mesin.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
1.2
Rumusan Masalah Berdasarkan permasalahan yang diuraikan pada latar belakang diatas, maka diperoleh rumusan masalah dari penelitian ini yaitu: 1. Bagaimana metode Jaringan Syaraf Tiruan Back Propagation mampu untuk mengenali kerusakan mesin sepeda motor berdasarkan suara mesin dengan cepat dan tepat. 2. Berapakah akurasi tertinggi yang dapat dihasilkan oleh metode Jaringan Syaraf Tiruan Back Propagation dalam mengklasifikasikan suara mesin sepeda motor. Hasil ekstraksi ciri menggunakan fitur LPC diharapkan mampu untuk menunjukkan perbedaan antar karakter masing-masing suara mesin, yang dapat mempermudah metode Jaringan Syaraf Tiruan Back Propagation dalam melakukan klasifikasi untuk setiap suara mesin sepeda motor.
1.3
Tujuan Tujuan dari penelitian ini adalah membuat aplikasi yang mampu: 1. Melakukan ekstraksi ciri file suara mesin menggunakan fitur LPC untuk mendapatkan perbedaan karakter suara pada masing-masing jenis kerusakan mesin 2. Mengklasifikasikan file suara mesin berdasarkan jenis kerusakan mesin menggunakan metode Jaringan Syaraf Tiruan Back Propagation. Aplikasi ini kiranya akan sangat berguna dikemudian hari untuk membantu masyarakat dan khususnya para teknisi mesin sepeda motor dalam mendiagnosa awal kondisi mesin sepeda motor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
1.4
Batasan Masalah Untuk membahas topik yang lebih terarah dan terfokus pada tujuan yang akan dicapai, maka batasan masalahnya adalah sebagai berikut : 1. Input data berupa file rekaman suara dalam bentuk format “.wav” dengan frekuensi rate 44,100 hz, dengan panjang data suara selama 3 detik. 2. Proses pengidentifikasian kerusakan mesin sepeda motor dibagi kedalam 4 jenis yaitu mesin sepeda motor normal, kerusakan katup/klep sepeda motor, kerusakan rantai kamprat sepeda motor, dan kerusakan batang piston/stang seher sepeda motor. 3. Mesin sepeda motor yang diidentifikasi yaitu mesin sepeda motor bebek 4-tak non injeksi dan non matic, dengan tahun keluaran diatas tahun 2000, volume silinder 110-150cc dan kondisi oli mesin serta knalpot dalam keadaan normal/standard.
1.5
Sistematika Penulisan Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab dengan susunan sebagai berikut : BAB I : PENDAHULUAN Pada bab ini dijelaskan mengenai latar belakang masalah yang mendorong dibangunnya sistem, rumusan masalah, tujuan dibangunnya sistem, batasan masalah dalam dibangunnya sistem, dan sistematika penulisan yang digunakan dalam menyelesaikan penelitian tugas akhir ini. BAB II : LANDASAN TEORI Pada bab ini akan diuraikan mengenai teori – teori dasar serta metode yang digunakan dalam pembangunan sistem pada penelitian ini beserta dengan teori – teori pendukung lainnya. Teori tersebut antara lain mengenai teori Linear Predictive Coding (LPC) untuk ekstraksi ciri sinyal suara, dan metode Jaringan Saraf Tiruan khususnya model Back Propagation untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
proses pengenalan pola sinyal suara, yang akan digunakan dalam perancangan sistem. BAB III : METODOLOGI PENELITIAN Pada bab ini akan dibahas mengenai analisa dan perancangan hal – hal atau komponen – komponen yang akan digunakan untuk melakukan penelitian, serta perancangan sistem secara lengkap. BAB IV : IMPLEMENTASI DAN ANALISA HASIL Pada bab ini akan dijelaskan mengenai implementasi sistem, sarana yang dibutuhkan, penerapan rancangan yang telah dibuat dalam suatu program, cara pengoperasian sistem, hasil implementasi, serta analisis dan evaluasi dari hasil implementasi. BAB V : PENUTUP Pada bab ini akan digambarkan kesimpulan dari seluruh penelitian dan saran – saran yang diusulkan untuk pengembangan lebih lanjut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
BAB II
LANDASAN TEORI Bab ini berisi penjabaran mengenai teori – teori yang mendukung dalam penelitian ini. Teori – teori yang digunakan dalam penelitian ini yaitu teori mesin sepeda motor, teori audio/suara, proses ekstraksi ciri sinyal suara menggunakan fitur Linear Predictive Coding (LPC), metode untuk pengenalan pola sinyal suara menggunakan Jaringan Saraf Tiruan khususnya model Back Propagation, teori KFold Cross Validation, dan teori Confussion Matrix. 2.1
Mesin Sepeda Motor Mesin merupakan penghasil tenaga pada suatu kendaraan bermotor, termasuk sepeda motor. Sepeda motor adalah kendaraan beroda dua yang digerakkan oleh sebuah mesin. Letak kedua roda sebaris lurus dan pada kecepatan tinggi sepeda motor tetap stabil disebabkan oleh gaya giroskopik. Mesin mempunyai komponen utama berupa silinder blok, silinder kop, dan karter (khusus motor 4 tak). Masing-masing komponen tersebut, terutama pada komponen pertama dan kedua masih dapat dirinci lagi menjadi beberapa sub-komponen. Di samping itu, masing-masing komponen tersebut di atas mempunyai fungsi tertentu, sesuai dengan cara kerja suatu motor. Salah satu komponen dalam mesin sepeda motor yaitu blok silinder. Blok silinder bisa dikatakan bagian yang penting pada suara mesin. Blok silinder tempat piston bergerak bolak balik dan tempat beberapa komponen kelistrikan dipasangkan (Sutiman & Solikin, 2005).
Gambar 2.1 Blok Silinder (Sutiman & Solikin, 2005)
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Selain itu, terdapat komponen-komponen yang disebut komponen bergerak, yang mempengaruhi suara dari mesin sepeda motor. Diantaranya piston, ring piston, batang piston, poros engkol (crankshaft), katup/klep, dan rantai kamprat (Sutiman & Solikin, 2005). Suara yang ditimbulkan oleh bergeraknya komponen-komponen tersebut dapat menunjukkan kondisi dari mesin sepeda motor tersebut. Jika mesin sepeda motor dalam kondisi normal maka suara mesin menunjukkan seluruh komponen bekerja dengan baik, namun apabila terjadi kerusakan terhadap beberapa komponen, maka akan timbul suara-suara yang berbeda dari komponen tersebut. Berikut beberapa kondisi mesin sepeda motor berdasarkan perbedaan suara bergeraknya komponen-komponen dalam mesin sepeda motor. 2.1.1
Kondisi Mesin Sepeda Motor Berdasarkan Suara Secara umum, berbagai macam cara dapat dilakukan untuk mengetahui kondisi dari mesin sepeda motor. Beberapa cara yang dapat dilakukan antara lain dengan langsung mengecek mesin sepeda motor dengan membongkar langsung mesin atau hanya dengan mendengar suara mesin sepeda motor tersebut. Kebanyakan yang dilakukan oleh para teknisi bengkel dan masyarakat yang mengerti akan mesin sepeda motor adalah dengan mendengar langsung suara mesin sepeda motor. Hal tersebut dikarenakan lebih mudah dan cepat untuk mendiagnosa kerusakan yang terjadi pada mesin sepeda motor. Berbagai macam alat dapat digunakan untuk membantu dalam mengidentifikasi kerusakan mesin sepeda motor secara manual melalui suara, diantaranya adalah menggunakan stetoskop mekanik hingga menggunakan batang besi ataupun obeng yang ditempelkan langsung ke mesin sepeda motor dan ke telinga manusia. Dari banyaknya kondisi pada mesin sepeda motor, terdapat beberapa jenis suara yang sering diidentifikasi melalui suara mesin, diantaranya sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
2.1.1.1 Mesin Sepeda Motor Normal Apabila kondisi mesin sepeda motor dalam keadaan normal, maka suara mesin akan terasa halus tanpa ada bunyi – bunyian yang mengganggu (noise) ketika mesin dinyalakan hingga rpm menunjuk angka 3000rpm. Tidak terdapat suara kasar yang timbul dari bergeraknya komponen-komponen dalam mesin sepeda motor (Sutiman & Solikin, 2005).
Gambar 2.2 Mesin Sepeda Motor (Sutiman & Solikin, 2005) 2.1.1.2 Kerusakan Batang Piston/Stang Seher Pada Mesin Sepeda Motor Batang piston sering juga disebut dengan setang seher, berfungsi menghubungkan piston dengan poros engkol. Batang piston meneruskan gerakan piston ke poros engkol, dimana gerak bolak-balik piston dalam ruang silinder diteruskan oleh batang piston menjadi gerak putaran (rotary) pada poros engkol. Ini berarti jika piston bergerak naik turun, poros engkol akan berputar. Dalam pergerakan batang piston timbul suara yang menandakan poros engkol sedang berputar. Dalam keadaan normal suara yang timbul akan terdengar halus, namun apabila batang piston dalam keadaan longgar atau bahkan patah, maka akan muncul suara berisik pada mesin. Hal ini menandakan mesin sepeda motor dalam keadaan rusak (Sutiman & Solikin, 2005).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
Gambar 2.3 Batang Piston/Stang Seher (Sutiman & Solikin, 2005) 2.1.1.3 Kerusakan Katup/Klep Pada Mesin Sepeda Motor Katup digerakkan oleh mekanisme katup, yang terdiri atas poros cam, batang penekan, pegas penutup, dan rol baut penyetel. Katup pada motor empat langkah (4 tak) terpasang pada kepala silinder. Tugas katup untuk membuka dan menutup ruang bakar. Setiap silinder dilengkapi dengan dua jenis katup (hisap dan buang). Fungsi
katup
sebenarnya
untuk
memutuskan
dan
menghubungkan ruang silinder di atas piston dengan udara luar pada saat yang dibutuhkan. Karena proses pembakaran gas dalam silinder mesin harus berlangsung dalam ruang bakar yang tertutup rapat. Jika sampai terjadi kebocoran gas meski sedikit, maka proses pembakaran akan terganggu. Oleh karenanya katup-katup harus tertutup rapat pada saat pembakaran gas berlangsung. Setelan katup yang sudah longgar bisa menyebabkan suara mesin sepeda motor terdengar berisik. Suara berisik akan semakin terdengar ketika putaran gas semakin ditinggikan. Selain itu, setelan katup yang lemah juga menjadi penanda kerusakan suatu mesin sepeda motor (Sutiman & Solikin, 2005).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
Gambar 2.4 Katup/Klep (Sutiman & Solikin, 2005) 2.1.1.4 Kerusakan Rantai Kamprat Pada Mesin Sepeda Motor Agar pembukaan katup-katup sesuai dengan proses yang terjadi
dalam
ruang bakar
maka
mekanisme
pembukaan dan penutupan katup-katup tersebut digerakkan oleh putaran poros engkol. Ada tiga macam mekanisme penggerak katup, yaitu dengan batang pendorong, roda gigi, dan rantai kamprat. Rantai kamprat sepeda motor harus dipasang dengan tegangan yang cukup. Rantai kamprat yang terlalu tegang akan menimbulkan bunyi mendesing terutama pada putaran tinggi sedangkan rantai kamprat yang terlalu kendor akan menimbulkan suara berisik. Jika kekencangan rantai berubah-ubah, akan berpengaruh pada putaran mesin, valve timing atau saat pengapian akan berubah-ubah pula. Oleh sebab itu, suara berisik pada rantai kamprat
dapat
menunjukkan kerusakan pada mesin
(Sutiman & Solikin, 2005).
Gambar 2.5 Rantai Kamprat (Sutiman & Solikin, 2005)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
2.2
Daftar Istilah Resmi Dalam Mesin Sepeda Motor Berikut ini beberapa kata atau istilah penting dalam mesin sepeda motor yang disesuaikan dengan bahasa yang digunakan oleh teknisi mesin secara umum (Sutiman & Solikin, 2005). Tabel 2.1 Tabel Istilah-Istilah Resmi Dalam Mesin Sepeda Motor Istilah CC
Keterangan Cubic Capacity (Kapasitas Kubik), satuan yang digunakan untuk mengukur mesin. Pipa dibagian belakang motor tempat membuang
Knalpot
gas-gas beracun yang terbentuk saat bensin dibakar. Knalpot juga digunakan untuk mengurangi kebisingan mesin.
RPM
Revolution Per Minute, banyaknya putaran pada mesin dalam satu menit. Bagian dari mesin dimana bahan bakar diolah
Silinder
untuk menjadi tenaga untuk menjalankan sepeda motor
Seher
Piston atau torak. Connecting Rod (Batang Piston), adalah
Stang Seher
penghubung antara piston dan poros engkol, yang berfungsi untuk mengubah gerakan bolak balik piston menjadi gerak putar. Crankshaft, berfungsi meneruskan daya yang
Poros Engkol
didapat dari piston ke penggerak roda. Disinilah putaran mesin terjadi. Timing Chain (Rantai Keteng), berfungsi untuk
Rantai Kamprat
memutar camshaft sehingga didapat pembukaan dan penutupan katup dengan waktu yang tepat sesuai putaran mesin dan langkah kerja mesin.
Poros Kam
Camshaft, berfungsi untuk mengatur gerakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
valve (gerakan membuka dan menutup). Valve (Katup), berfungsi untuk mengatur keluar Klep
masuk udara dan bahan bakar kedalam dan keluar silinder.
2.3
Audio/Suara Audio atau suara merupakan gelombang yang mengandung sejumlah komponen penting (amplitudo, panjang gelombang dan frekuensi) yang dapat menyebabkan suara yang satu berbeda dari suara lain. Amplitudo adalah kekuatan atau daya gelombang sinyal. Tinggi gelombang bisa dilihat dalam sebuah grafik. Gelombang yang lebih tinggi diinterpretasikan sebagai volume yang lebih tinggi. Suara beramplitudo lebih besar akan terdengar lebih keras. Frekuensi adalah jumlah dari siklus yang terjadi dalam satu detik. Satuan dari frekuensi adalah Hertz atau disingkat Hz. Getaran gelombang suara yang cepat membuat frekuensi semakin tinggi. Misalnya, bila menyanyi dalam pita suara tinggi memaksa tali suara untuk bergetar secara cepat. Suara dengan frekuensi lebih besar akan terdengar lebih tinggi. Gelombang suara adalah gelombang yang dihasilkan dari sebuah benda yang bergetar. Sebagai contoh, senar gitar yang dipetik, gitar akan bergetar dan getaran ini merambat di udara, atau air, atau material lainnya. Satu-satunya tempat dimana suara tak dapat merambat adalah ruangan hampa udara. Gelombang suara ini memiliki lembah dan bukit, satu buah lembah dan bukit akan menghasilkan satu siklus atau periode. Siklus ini berlangsung berulang-ulang, yang membawa pada konsep frekuensi. Telinga manusia dapat mendengar bunyi antara 20 Hz hingga 20 kHz (20.000 Hz) sesuai batasan sinyal audio. Karena pada dasarnya sinyal suara adalah sinyal yang dapat diterima oleh telinga manusia. Angka 20 Hz sebagai frekuensi suara terendah yang dapat didengar, sedangkan 20 KHz merupakan frekuensi tertinggi yang dapat didengar. Gelombang suara bervariasi sebagaimana variasi tekanan media perantara seperti udara. Suara diciptakan oleh getaran dari suatu obyek, yang menyebabkan udara disekitarnya bergetar. Getaran udara ini kemudian menyebabkan gendang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
telinga manusia bergetar, yang kemudian oleh otak dianggap sebagai suara (Sutara, 2014). 2.4
Ekstraksi Ciri Sinyal Suara Untuk mengekstraksi sinyal dari suara mesin sepeda motor, dalam penelitian ini digunakan fitur Linear Predictive Coding (LPC). Proses ini merupakan tahapan penting dalam klasifikasi suara mesin sepeda motor. Dari proses ini akan diperoleh ciri sinyal suara untuk membedakan tiap jenis suara mesin berdasarkan orde yang ditentukan. Berikut ini teori mengenai fitur LPC. 2.4.1
Linear Predictive Coding (LPC) Linear Predictive Coding (LPC) merupakan salah satu teori dalam digital signal processing. Linear Predictive Coding (LPC) secara sederhana adalah suatu sistem pengkodean (coding) untuk mengkodekan sinyal menjadi suatu sistem kode tertentu. Sistem kode ini adalah pemodelan dari sinyal suara tersebut dalam bentuk yang lain. Jadi, dari sinyal suara yang mula-mula berupa amplitudo berbasis time domain, diubah menjadi model tertentu. Model yang dihasilkan ini adalah berupa koefisien-koefisien filter synthesizer setelah melalui tahapan-tahapan pada proses LPC. Prinsip dasar dari ekstraksi ciri sinyal dengan menggunakan LPC adalah bahwa contoh sinyal ucapan s(n) pada waktu ke-n dapat diperkirakan sebagai kombinasi linear p sampel sinyal ucapan sebelumnya yaitu : s(n) ≈ 𝑎1 s(n − 1) + 𝑎2 s(n − 2) + ⋯ + 𝑎𝑝 s(n − p)
(2.1)
dimana, koefisien 𝑎1 , 𝑎2 , … , 𝑎𝑝 diasumsikan konstan untuk satu frame analisa sinyal suara (Khrisnadi, 2005). Langkah-langkah proses analisis LPC untuk mendapatkan koefisien LPC pada proses ekstraksi ciri sinyal suara, yang digunakan dalam penelitian ini adalah sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
1. Frame Blocking Sinyal suara yang telah dimasukkan diblok atau dibagi ke dalam beberapa frame yang terdiri dari N-sampel suara, dengan jarak antara frame yang berdekatan dipisahkan oleh M-sampel. Jika M ≤ N, maka beberapa frame yang berdekatan akan saling overlap dan hasil estimasi spektral LPC akan berkorelasi dari frame ke frame. Sebaliknya, jika M > N, maka tidak akan ada overlap antara frame yang berdekatan sehingga beberapa isyarat sinyal suara akan hilang total. Sebagai contoh, setiap frame 30 ms dengan overlap pada 20 ms.
Gambar 2.6 frame blocking (Khrisnadi, 2005) 2. Windowing Windowing digunakan untuk mengurangi discontinuitas sinyal pada awal dan akhir frame. Windowing dilakukan pada setiap frame yang didapat dari frame blocking. Teknik windowing yang biasa digunakan adalah “Hamming Window” dengan persamaan : 2𝜋𝑛
𝑤(𝑛) = 0,54 − 0,46𝑐𝑜𝑠 (𝑁−1) , 0 ≤ 𝑛 ≤ 𝑁 − 1
(2.2)
Jika window didefinisikan sebagai w(n), maka hasil dari penjendelaan sinyal adalah : 𝑥̃1 (𝑛) = 𝑠̃ (𝑛)𝑤(𝑛), 0 ≤ 𝑛 ≤ 𝑁 − 1 … … ….
(2.3)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
3. Analisis Autokorelasi Setiap frame dari sinyal setelah melalui proses windowing, kemudian dikonversi menjadi sebuah matriks 1 x (panjang 1 frame). Lalu dilakukan analisis autokorelasi dengan rumus sebagai berikut : 𝑟1 (𝑚) = ∑𝑁−1−𝑚 𝑥̃1 (𝑛)𝑥̃1 (𝑛 + 𝑚) , 𝑚 = 0,1, … 𝑝 𝑛=0
(2.4)
Dengan nilai autokorelasi tertinggi p adalah orde LPC. Nilai p biasanya antara 8 sampai 16. 4. Analisis LPC Proses selanjutnya adalah analisis LPC, yang mengubah hasil dari analisis autokorelasi p+1 ke dalam bentuk parameterparameter LPC atau yang biasa disebut dengan koefisien LPC. Metode yang biasa digunakan dalam analisis LPC ini adalah metode Levinson-Durbin yang mempunyai algoritma sebagai berikut (Rohman dkk, 2012) :
𝐸 (0) = 𝑟(0)
(2.5) (𝑖−1)
𝑘𝑖 =
{𝑟(𝑖)−∑𝐿−1 𝑗−1 𝛼𝑗
𝑟(|𝑖−𝑗|)}
𝐸 (𝑖−1)
,1 ≤ 𝑖 ≤ 𝑝
(𝑖)
𝛼𝑖 = 𝑘𝑖 (𝑖)
(𝑖−1)
𝛼𝑗 = 𝛼𝑗
(2.6) (2.7)
(𝑖−𝑗)
− 𝑘𝑖 𝛼𝑖−𝑗 , 1 ≤ 𝑗 ≤ 𝑖 − 1
𝐸 (𝑖) = (1 − 𝑘𝑖2 )𝐸 (𝑖−1)
(2.8) (2.9)
Dengan menyelesaikan persamaan 2.5 sampai 2.9 secara rekursif untuk i = 1,2,….,p , koefisien LPC diperoleh sebagai berikut : (𝑝)
𝛼𝑚 = 𝛼𝑚 , 1 ≤ 𝑚 ≤ 𝑝
(2.10)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
5. Nilai delta () dari Koefisien LPC Hasil dari koefisien LPC kemudian dicari nilai delta-nya dengan menghitung nilai turunannya. Untuk menghitung nilai delta-nya digunakan persamaan berikut ini (Ellis, 2003):
∆𝑦𝑡 = 𝑦(𝑡+𝐷) − 𝑦(𝑡−𝐷)
(2.11)
Dimana D mewakili jumlah dari frame untuk menutup kedua sisi frame saat ini dan dengan demikian dapat mengontrol window Y dengan pembedaan operasi. D diset bernilai 1 atau 2. ΔYt adalah koefisien delta yang dihitung dari frame t untuk vektor fitur LPC. Nilai dari delta diatas akan diturunkan lagi menjadi nilai delta delta. Berikut ini adalah persamaannya :
∆∆𝑦𝑡 = ∆𝑦(𝑡+𝐷) − ∆𝑦(𝑡−𝐷)
(2.12)
Hasil dari perhitungan delta dan delta delta akan ditambahkan ke vector ciri yang sudah berisi koefisien LPC tadi, sehingga menghasilkan vector ciri yang lebih besar. 2.5
Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2005). Jaringan Syaraf Tiruan dibentuk sebagai
generalisasi model
matematika dari jaringan syaraf biologis, dengan asumsi bahwa : 1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubungpenghubung. 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. 4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
Jaringan Syaraf Tiruan ditentukan oleh 3 hal: 1. Pola hubungan antar neuron (arsitekstur jaringan). 2. Metode untuk menentukan bobot penghubung. 3. Fungsi aktivasi. Arsitekstur Jaringan merupakan salah satu hal penting dalam Jaringan Syaraf Tiruan. Berikut ini
beberapa arsitektur jaringan yang sering
digunakan dalam Jaringan Syaraf Tiruan : 1.
Jaringan Lapis Tunggal Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan output-nya. Dalam jaringan lapis tunggal, bobot satu unit keluaran tidak mempengaruhi bobot unit keluaran lainnya.
Gambar 2.7 Ilustrasi Arsitektur Jaringan Lapis Tunggal (Siang, 2005) Pada gambar 2.7 terdapat n unit input (𝑥1 , 𝑥𝑖 , … , 𝑥𝑛 ) dan m buah unit output (𝑌1 , 𝑌𝑗 , … , 𝑌𝑚 ). Kemudian (𝑤11 , 𝑤𝑗1 , … , 𝑤𝑚 ) menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output.
Selama
proses
pelatihan,
bobot-bobot
tersebut
dimodifikasi untuk memperoleh keakuratan hasil yang maksimal. 2.
Jaringan Lapis Majemuk
akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan lapis majemuk, selain unit input dan output, ada pula unit lain, yang berada diantara unit input dan output (sering disebut lapis tersembunyi). Dalam jaringan ini dimungkinkan ada beberapa lapis tersembunyi. Unit dalam satu layar tidak saling berhubungan.
Gambar 2.8 Ilustrasi Arsitektur Jaringan Lapis Majemuk (Siang, 2005) Pada gambar 2.8 terdapat n buah unit input (𝑥1 , 𝑥𝑖 , … , 𝑥𝑛 ) dan m buah unit output (𝑌1 , 𝑌𝑗 , … , 𝑌𝑚 ), sebuah lapis tersembunyi yang terdiri dari p buah unit (𝑧1 , … , 𝑧𝑝 ). Jaringan ini dapat menyelesaikan masalah yang lebih kompleks. 2.5.1
Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation Jaringan Syaraf Tiruan Back Propagation pada umumnya membandingkan perhitungan keluaran Jaringan Syaraf Tiruan dengan target keluaran dan menghitung nilai error untuk setiap unit jaringan. Back Propagation adalah salah satu algoritma yang menggunakan metode terawasi (supervised learning), dan termasuk jaringan MLP (Multi Layer Perceptron) / Jaringan Lapis Majemuk. Metode ini merupakan salah satu metode yang sangat baik dalam menangani masalah pengenalan pola-pola kompleks. Di dalam jaringan ini, setiap unit yang berada di lapisan input berhubungan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
dengan setiap unit yang ada di lapisan tersembunyi. Sedangkan setiap unit di lapisan tersembunyi berhubungan dengan setiap unit di lapisan output. Dalam pola pelatihannya, jaringan ini akan diberi input-an yang akan diteruskan ke dalam layar tersembunyi dan menuju hingga output. Ketika hasil keluaran ternyata tidak sesuai dengan harapan maka keluaran akan kembali disebarkan mundur (backward) pada lapisan tersembunyi hingga menuju input. Tahap selanjutnya adalah dengan melakukan perubahan bobot. Iterasi ini terus dilakukan hingga ditemukan penyelesaian yang optimal (Siang, 2005). 1. Arsitektur Back Propagation
Gambar 2.9 Ilustrasi Arsitektur Back Propagation (Siang, 2005) Gambar 2.9 merupakan arsitektur jaringan syaraf tiruan back propagation dengan n buah input ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran. 2. Fungsi Aktivasi Dalam jaringan syaraf tiruan back propagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu : kontinu, terdeferensial dengan mudah dan merupakan fungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range (0,1). 1
𝑓(𝑥) = 1+𝑒 −𝑥 dengan turunan 𝑓 ′ (𝑥) = 𝑓(𝑥)(1 − 𝑓(𝑥)) (2.13) Fungsi lain yang sering dipakai adalah sigmoid bipolar dengan range (-1,1). 𝑓(𝑥) =
2 1+𝑒 −𝑥
− 1 dengan
turunan 𝑓 ′ (𝑥) = (1+𝑓(𝑥))(1−𝑓(𝑥)) 2
(2.14)
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya > 1, pola masukkan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas : 𝑓(𝑥) = 𝑥. 3. Proses Pelatihan Back Propagation Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation terdiri dari 3 proses yaitu propagasi maju, propagasi mundur, perubahan bobot. Ketiga proses tersebut diulang-ulang sampai kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error. Iterasi akan dihentikan jika iterasi melebihi iterasi yang ditentukan. Atau jika error sudah lebih kecil dari yang ditentukan. 1.
Propagasi Maju Selama propagasi maju, sinyal masukkan (= 𝑥𝑖 ) dipropagasikan ke lapis tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit lapis tersembunyi (= 𝑧𝑗 ) tersebut selanjutnya dipropagasikan maju lagi ke lapis tersembunyi di atasnya. Demikian seterusnya hingga mendapatkan luaran jaringan (= 𝑦𝑘 ).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
Berikutnya, luaran jaringan (= 𝑦𝑘 ) dibandingkan dengan target yang harus dicapai (= 𝑡𝑘 ). Selisih 𝑡𝑘 − 𝑦𝑘 adalah error yang terjadi. Jika nilai error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan, jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi error yang terjadi. 2.
Propagasi Mundur Berdasarkan error 𝑡𝑘 − 𝑦𝑘 , dihitung faktor 𝛿𝑘 (𝑘 = 1,2, … , 𝑚) yang dipakai untuk mendistribusikan error di unit 𝑦𝑘 ke semua unit tersembunyi yang terhubung langsung dengan 𝑦𝑘 . 𝛿𝑘 juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit luaran. Dengan cara yang sama, dihitung faktor 𝛿𝑗 di setiap unit lapis tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di bawahnya. Demikian seterusnya hingga semua faktor 𝛿 di unit tersembunyi yang berhubungan langsung dengan unit masukkan dihitung.
3.
Perbaikan Bobot Setelah semua faktor 𝛿 dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor 𝛿 neuron di lapis atasnya.
Algoritma pelatihan untuk jaringan dengan satu layar tersembunyi (dengan fungsi aktifasi sigmoid biner) adalah sebagai berikut (Siang, 2005) : Langkah 0: Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1: jika kondisi penghentian belum terpenuhi maka lakukan langkah 2-9. Langkah 2: untuk setiap pasang data pelatihan, lakukan langkah 3-8 Fase I : Propagasi Maju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Langkah 3: tiap unit masukan menerima sinyal kemudian meneruskan ke unit tersembunyi di atasnya. Langkah 4: hitung semua keluaran di unit tersembunyi 𝑧𝑗 (j = 1, 2, … , p) 𝑧_𝑛𝑒𝑡𝑗 = 𝑣𝑗𝑜 + ∑𝑛𝑖=1 𝑥𝑖 𝑣𝑗𝑖
(2.15)
𝑧𝑗 = 𝑓(𝑧_𝑛𝑒𝑡𝑗 )
(2.16)
Langkah 5: hitung semua keluaran di unit tersembunyi 𝑦𝑘 (k = 1, 2, … , m). 𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘𝑜 + ∑𝑛𝑗=1 𝑧𝑗 𝑤𝑘𝑗
(2.17)
𝑧𝑗 = 𝑓(𝑦_𝑛𝑒𝑡𝑘 )
(2.18)
Fase II : Propagasi Mundur Langkah 6: hitung faktor 𝛿𝑘 unit keluaran berdasarkan error setiap unit keluaran 𝑦𝑘 (k = 1, 2, … , m). 𝛿𝑘 = (𝑡𝑘 − 𝑦𝑘 )𝑦𝑘 (1 − 𝑦𝑘 )
(2.19)
Hitung suku perubahan bobot 𝑤𝑘𝑗 dengan laju percepatan 𝛼 ∆𝑤𝑘𝑗 = 𝛼𝛿𝑘 𝑧𝑗 ; 𝑘 = 1, 2, … , 𝑚;𝑗 = 0, 1, … , 𝑝
(2.20)
Langkah 7: hitung faktor 𝛿 unit tersembunyi berdasarkan error di setiap unit tersembunyi 𝑧𝑗 = (𝑗 = 1,2, … , 𝑝) 𝛿_𝑛𝑒𝑡𝑖 = ∑𝑚 𝑘=1 𝛿𝑘 𝑤𝑘𝑗
(2.21)
𝛿𝑖 = 𝛿_𝑛𝑒𝑡𝑖 𝑧𝑗 (1 − 𝑧𝑗 )
(2.22)
Hitung suku perubahan bobot 𝑣𝑗𝑖 ∆𝑣𝑗𝑖 = 𝛼𝛿𝑖 𝑥𝑖 ; = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛
(2.23)
Fase III : Perubahan Bobot Langkah 8: Hitung semua perubahan bobot Perubahan bobot garis yang menuju ke unit keluaran: 𝑤𝑘𝑗 (𝑏𝑎𝑟𝑢) = 𝑤𝑘𝑗 (𝑙𝑎𝑚𝑎) + ∆𝑤𝑘𝑗
(𝑘 = 1,2, … , 𝑚 ; 𝑗 = 0,1, … , 𝑝)
(2.24)
Perubahan bobot garis yang menuju ke unit tersembunyi: 𝑣𝑗𝑖 (𝑏𝑎𝑟𝑢) = 𝑣𝑗𝑖 (𝑙𝑎𝑚𝑎) + ∆𝑣𝑗𝑖
(𝑗 = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛)
Langkah 9: bandingkan kondisi penghentian
(2.25)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
Jaringan Syaraf Tiruan Back Propagation memiliki kelemahan tentang berapa epoch yang harus dilalui untuk memperoleh hasil yang diinginkan. Faktor-faktor penting dari Jaringan Syaraf Tiruan Back Propagation agar jaringan bekerja dengan maksimal adalah: 1.
Pemilihan Bobot dan Bias Awal Nguyen dan widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi yang lebih cepat. Misal: n
= jumlah unit masukan
p
= jumlah unit tersembunyi
𝛽
= factor skala = 0.7 𝑛√𝑝
Algoritma inisialisasi: Langkah 1: Inisisalisasi semua bobot (𝑣𝑗𝑖 (𝑙𝑎𝑚𝑎)) dengan bilangan acak dalam interval [-0.5, 0.5]. 2 2 2 Langkah 2: hitung ‖𝑣𝑗 ‖ = √𝑣𝑗1 + 𝑣𝑗2 + ⋯ + 𝑣𝑗𝑛
(2.26)
Langkah 3: bobot yang dipakai sebagai inisialisasi = 𝑣𝑗𝑖 = 𝛽𝑣𝑗𝑖 (𝑙𝑎𝑚𝑎) ‖𝑣𝑗 ‖
(2.27)
Langkah 4: bias yang dipakai sebagai inisialisasi = 𝑣𝑗0 = bilangan acak antara – 𝛽 dan 𝛽. 2.
Jumlah Unit Tersembunyi Jaringan dengan sebuah lapis tersembunyi sudah cukup bagi Jaringan Syaraf Tiruan Back Propagation untuk mengenali sembarang kelas antara masukan dan target dengan tingkat ketelitian yang ditentukan. Jika jaringan memiliki lebih dari 1 lapis tersembunyi maka algoritma pelatihan perlu direvisi. Dalam Fase I, keluaran harus dihitung untuk tiap lapis, dimulai dari lapis tersembunyi paling
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
bawah. Kemudian dalam fase II, faktor 𝛿 perlu dihitung untuk tiap lapis tersembunyi, dimulai dari lapis keluaran. 3.
Jumlah Pola Pelatihan Jumlah pola pelatihan ditentukan oleh banyaknya bobot dan tingkat akurasi yang diinginkan. 𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑜𝑙𝑎 =
2.6
𝑗𝑢𝑚𝑙𝑎ℎ 𝑏𝑜𝑏𝑜𝑡 𝑡𝑖𝑛𝑔𝑘𝑎𝑡 𝑎𝑘𝑢𝑟𝑎𝑠𝑖
(2.28)
K-Fold Cross Validation K-Fold Cross Validation adalah metode yang digunakan dalam proses pengujian klasifikasi data. Data dibagi menjadi k bagian kemudian bagian satu dan bagian yang lain ditukar-tukar sebanyak k (Tan, Steinbach, & Kumar, 2006). Sebagai contoh data dibagi menjadi 2 bagian dengan jumlah yang sama. Pertama, data bagian 1 digunakan sebagai data pelatihan dan data bagian 2 digunakan sebagai data pengujian. Kedua, data bagian 2 digunakan sebagai data pelatihan dan data bagian 1 digunakan sebagai data pengujian. Contoh ini disebut sebagai 2-Fold Cross Validation. K-Fold Cross Validation menjadikan data pelatihan dan pengujian tidak sama. Data pelatihan tidak digunakan sebagai data pengujian.
2.7
Confusion Matrix Data pelatihan dan pengujian merupakan data yang berbeda sehingga klasifikasi dapat diuji dengan benar. Nilai akurasi berdasarkan hasil klasifikasi dihitung dari jumlah data yang dikenali sesuai dengan target kelasnya. Perhitungan akurasi pada klasifikasi data dihitung menggunakan tabel yang bernama Confusion Matrix (Tan, Steinbach, & Kumar, 2006). Pada tabel 2.2 merupakan Confusion Matrix untuk klasifikasi 2 kelas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
Tabel 2.2 Confusion Matrix 2 Kelas (Tan, Steinbach, & Kumar, 2006) Hasil Pengujian 1
0
Target 1
F11
F10
Kelas
F01
F00
0
Fij adalah jumlah data yang dikenali sebagai kelas ke-j dengan target kelas ke-i. Dari tabel 2.2 didapat persamaan-persamaan untuk menghitung akurasi dan tingkat kesalahan suatu klasifikasi : 1.
Persamaan untuk menghitung akurasi keseluruhan klasifikasi 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
2.
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑡𝑖𝑑𝑎𝑘 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎
𝐹10+𝐹01 𝐹11+𝐹10+𝐹01+𝐹00
(2.30)
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠 1 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎 𝑘𝑒𝑙𝑎𝑠 1
=
𝐹11 𝐹11+𝐹10
(2.31)
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑡𝑖𝑑𝑎𝑘 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠 1 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎 𝑘𝑒𝑙𝑎𝑠 1
𝐹10
= 𝐹11+𝐹10
(2.32)
Persamaan untuk menghitung akurasi klasifikasi kelas 0 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
6.
=
Persamaan untuk menghitung error klasifikasi kelas 1 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
5.
(2.29)
Persamaan untuk menghitung akurasi klasifikasi kelas 1 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
4.
𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎
𝐹11+𝐹00
= 𝐹11+𝐹10+𝐹01+𝐹00
Persamaan untuk menghitung error keseluruhan klasifikasi 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
3.
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠 0 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎 𝑘𝑒𝑙𝑎𝑠 0
𝐹00
= 𝐹01+𝐹00
(2.33)
Persamaan untuk menghitung error klasifikasi kelas 0 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑡𝑖𝑑𝑎𝑘 𝑠𝑒𝑠𝑢𝑎𝑖 𝑡𝑎𝑟𝑔𝑒𝑡 𝑘𝑒𝑙𝑎𝑠 0 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎 𝑘𝑒𝑙𝑎𝑠 0
𝐹01
= 𝐹01+𝐹00
(2.34)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
BAB III
METODOLOGI PENELITIAN
Bab ini berisi penjelasan dan proses pengolahan data yang akan digunakan dalam penelitian ini, serta perancangan sistem yang meliputi proses ekstraksi ciri, pelatihan dan pengujian arsitektur JST, lalu klasifikasi dan uji data, rincian kebutuhan sistem dan juga perancangan antarmuka sistem. 3.1
Data Data yang digunakan dalam penelitian ini adalah data rekaman suara mesin sepeda motor. Suara mesin sepeda motor yang dipilih merupakan suara mesin sepeda motor yang terbagi kedalam 4 kondisi, yaitu suara mesin sepeda motor normal, suara mesin sepeda motor mengalami kerusakan batang piston/stang seher, katup/klep, dan rantai kamprat. Keempat kondisi mesin sepeda motor tersebut merupakan kondisi mesin yang lebih mudah dan sering diidentifikasi oleh teknisi bengkel sepeda motor melalui suara mesin ketika mesin dihidupkan. Untuk mendapatkan data-data suara mesin sepeda motor, dilakukan perekaman langsung terhadap suara mesin sepeda motor yang telah dihidupkan di bengkel-bengkel sepeda motor sesuai dengan kondisi mesin yang telah ditentukan. Perekaman suara mesin sepeda motor menggunakan aplikasi android yang ada di-handphone dengan nama Easy Voice Recorder. Aplikasi ini dapat langsung menghasilkan rekaman file suara dengan format .wav sehingga dengan mudah hasil perekaman dari aplikasi ini dapat langsung digunakan sebagai input-an dari aplikasi yang akan dibuat. Untuk proses perekamannya secara langsung terhadap mesin sepeda motor, dilakukan dengan mendekatkan handphone yang akan merekam terhadap mesin sepeda motor yang telah dihidupkan dengan jarak antara 5-10 cm. Berikut ini gambaran dalam cara merekam suara mesin sepeda motor menggunakan aplikasi handphone tersebut:
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
Jarak ± 5-10 cm
Gambar 3.1 Proses Perekaman Suara Mesin Sepeda Motor Proses perekaman suara mesin sepeda motor tersebut dilakukan sebanyak 40 kali terhadap sepeda motor yang berbeda – beda, sehingga diperoleh 40 file rekaman dengan rincian, 10 data untuk kondisi mesin sepeda motor normal dan 10 data untuk masing–masing kondisi kerusakan mesin sepeda motor. Masing-masing file rekaman suara berdurasi sekitar 15-20 detik. Untuk mengolah 10 data tersebut akan dilakukan proses preprosesing data sebelum masuk dalam proses ekstraksi ciri suara. Proses preprosesing tersebut adalah mengkonversi file rekaman asli menjadi file dengan format audio ‘.wav’, dengan nilai frekuensi rate untuk setiap data rekaman suara mesin yaitu 44100 hz, resolusi sampling 16 bit dan berformat PCM. Proses ini membutuhkan aplikasi bernama ‘Audacity’. Aplikasi tersebut tidak hanya digunakan untuk mengkonversi file rekaman menjadi format file ‘.wav’, namun juga digunakan untuk memotong-motong setiap file rekaman suara menjadi 5 file rekaman suara dengan panjang masing-masing 3 detik. 5 file tersebut diperoleh dengan melakukan potongan untuk setiap file rekaman suara secara berurutan mulai dari detik pertama. Dari proses preprosesing tersebut dihasilkan 50 file rekaman suara mesin untuk setiap kondisi mesin sepeda motor, sehingga total menjadi 200 file ‘.wav’. 200 file tersebut yang siap diolah dalam proses ekstraksi ciri suara.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
Contoh data audio berupa sinyal digital yang digunakan dalam penelitian ini dapat dilihat pada gambar-gambar di bawah ini. Data tersebut ditampilkan dalam bentuk grafik sinyal dan spektrogram.
Gambar 3.2 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Normal Pada gambar 3.2 , grafik pertama menggambarkan sinyal suara mesin sepeda motor normal berdasarkan nilai amplitude-nya dalam 1 detik. Untuk grafik kedua menggambarkan sinyal suara mesin sepeda motor normal dalam bentuk spectrogram berdasarkan nilai frekuensi-nya dalam 1 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
Gambar 3.3 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Stang Seher Pada gambar 3.3 , grafik pertama menggambarkan sinyal suara mesin sepeda motor rusak stang seher berdasarkan nilai amplitude-nya dalam 1 detik. Untuk grafik kedua menggambarkan sinyal suara mesin sepeda motor rusak stang seher dalam bentuk spectrogram berdasarkan nilai frekuensi-nya dalam 1 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
Gambar 3.4 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Klep Pada gambar 3.4 , grafik pertama menggambarkan sinyal suara mesin sepeda motor rusak klep berdasarkan nilai amplitude-nya dalam 1 detik. Untuk grafik kedua menggambarkan sinyal suara mesin sepeda motor rusak klep dalam bentuk spectrogram berdasarkan nilai frekuensi-nya dalam 1 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
Gambar 3.5 Contoh Sinyal dan Spektrogram Suara Mesin Sepeda Motor Rusak Rantai Kamprat Pada gambar 3.5 , grafik pertama menggambarkan sinyal suara mesin sepeda motor rusak rantai kamprat berdasarkan nilai amplitude-nya dalam 1 detik. Untuk grafik kedua menggambarkan sinyal suara mesin sepeda motor rusak rantai kamprat dalam bentuk spectrogram berdasarkan nilai frekuensinya dalam 1 detik. 3.2
Perancangan Sistem Sub bab ini berisi tentang perancangan sistem dari aplikasi yang akan dibuat. Proses dimulai dari ekstraksi ciri data sinyal suara, kemudian data hasil ekstraksi ciri masuk kedalam pelatihan arsitektur JST dengan parameter-parameter yang telah ditentukan, sehingga diperoleh model jaringan yang menghasilkan akurasi terbaik. Kemudian dilakukan uji pada sebuah data suara baru yang juga telah diekstraksi ciri dan dilakukan klasifikasi menggunakan model jaringan yang telah diperoleh, sehingga diperoleh hasil penunjukkan kelas dari data yang diklasifikasi. Pada proses ekstraksi ciri data sebelum pelatihan arsitektur jaringan dan pengujian data, digunakan fitur Linear Predictive Coding (LPC). Untuk proses pelatihan arsitektur jaringan dan klasifikasi data dalam pengujian digunakan metode Jaringan Syaraf Tiruan Back Propagation. Berikut ini gambaran sistem secara keseluruhan :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
Data
Ekstraksi Ciri
Data Uji
Jaringan Syaraf Tiruan
Ekstraksi Ciri
Model Jaringan
Hasil Klasifikasi
Gambar 3.6 Diagram Blok Sistem 3.2.1 Ekstraksi Ciri Fitur ekstraksi ciri sinyal suara yang digunakan dalam penelitian ini adalah Linear Predictive Coding (LPC). Fitur ini dipilih karena LPC merupakan salah satu teknik ekstraksi ciri yang sering digunakan dalam mengekstraksi ciri sinyal digital suara. Akurasi kemampuan pengenalan dari hasil ekstraksi ciri juga menunjukkan hasil yang baik. Ada dua tahapan proses utama dalam melakukan ekstraksi ciri LPC, yakni proses autokorelasi dan proses analisis koefisien LPC. Pada proses autokorelasi ditentukan suatu nilai orde analisis P, dimana nilai orde tersebut juga menentukan banyaknya ciri yang dihasilkan dari proses analisis LPC. Ciri tersebut dinamakan koefisien LPC. Proses ekstraksi ciri dilakukan pada semua data mentah yang telah dikonversi dan di lakukan proses preprosesing. Hasil ekstraksi ciri disimpan dalam sebuah vektor berdasarkan ciri yang dipilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
Keluaran dari proses ini berupa nilai numerik. Jumlah data hasil ekstraksi ciri berdasarkan orde koefisien LPC yang dipilih, yaitu 8, 10, 12, 14, dan 16, yang digabungkan dengan hasil perhitungan delta sebanyak satu dan dua kali, dari koefisien LPC yang telah diperoleh. Ada 5 tahap yang dilakukan dalam proses ekstraksi ciri sinyal suara, dengan 4 tahap merupakan proses dari fitur LPC dan 1 tahap lainnya merupakan perhitungan terhadap nilai koefisien LPC yang telah dihasilkan. Proses dimulai dari pembacaan data mentah hingga diperoleh nilai delta dari koefisien LPC. Tahap-tahap tersebut diantaranya : 1. Frame Blocking 2. Windowing 3. Analisis Autokorelasi 4. Analisis LPC 5. Menghitung nilai delta dari koefisien LPC Berikut ini gambaran dari langkah-langkah proses ekstraksi ciri:
Suara…*.wav
Frame Blocking
Windowing
Delta LPC
Analisis LPC
Autokorelasi
Gambar 3.7 Diagram Blok Proses Ekstraksi Ciri
Data suara bertipe ‘.wav’ yang di-input-kan menggunakan frekuensi sampling 44100 hz, sehingga diketahui setiap 1 detik suara terdapat 44100 sample data. Total untuk setiap data yang terdiri dari 3 detik suara diperoleh sample data sebanyak 132300. Untuk itu, diawal proses ekstraksi ciri, dilakukan pengecekan panjang data input-an
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
sesuai dengan panjang data yang dibutuhkan yaitu maksimal 150000 sample data (3 detik). Kemudian data tersebut masuk dalam proses ekstraksi ciri LPC, sebagai berikut: 1. Frame Blocking Dalam proses frame blocking, akan dilakukan sampling terhadap data input-an kedalam beberapa frame. Diambil sample data selama 40 ms untuk setiap frame-nya. Perhitungan untuk memperoleh jumlah sample tiap frame yaitu: -
40 ms = 0.04 detik
-
Jumlah sample tiap frame yaitu 44100 x 0.04 = 1764 sample
-
Jumlah overlapping setiap frame yaitu 1764/2 = 882 sample
-
Untuk menghitung jumlah frame digunakan rumus: 𝑗𝑢𝑚𝑙𝑎ℎ 𝑓𝑟𝑎𝑚𝑒 = (
(𝐼−𝑁) 𝑀
)+1
(3.1)
I = jumlah sample keseluruhan N= jumlah sample tiap frame M = N/2 = jumlah overlapping tiap frame -
Maka, jumlah frame yaitu = ((132300-1764)/882)+1) = 149 frame.
Dari proses ini diperoleh data dalam bentuk matriks dengan ukuran 149 x 1764. 2. Windowing Proses windowing dilakukan terhadap data hasil frame blocking. Algoritma yang digunakan dalam proses ini yaitu Hamming Window. Proses windowing dilakukan untuk setiap frame. Data yang sudah dalam bentuk frame dipadatkan, sehingga bentuk
gelombang
akan
menormalisasi sinyal digital.
naik.
Hal
ini
dapat
diartikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
3. Analisis Autokorelasi Sebelum data diproses dalam analisis autokorelasi, data hasil windowing dikonversi terlebih dahulu menjadi matriks 1 x (total data), dimana jumlah total data yaitu: -
149x1764 = 262836 data
Sehingga ukuran matriks data menjadi 1x262836. Kemudian data tersebut masuk dalam proses analisis autokorelasi. Nilai autokorelasi tertinggi yaitu sama dengan orde LPC (p) yang ditentukan, dalam penelitian ini digunakan orde 8, 10, 12, 14, dan 16. Jumlah data hasil analisis autokorelasi menjadi p+1, sehingga ukuran matriks data hasil analisis autokorelasi menjadi 1x(p+1). 4. Analisis LPC Hasil dari proses analisis autokorelasi akan masuk kedalam proses analisis LPC. Dalam proses ini akan diperoleh koefisien LPC yang dijadikan ciri dari sebuah sinyal suara. Algoritma yang digunakan dalam analisis LPC adalah Levinson Durbin. Jumlah hasil ciri yang didapat sebanyak orde LPC yang ditentukan, yaitu 8, 10, 12, 14, dan 16. 5. Menghitung delta LPC 1 dan 2 Koefisien LPC yang telah diperoleh, kemudian dihitung nilai delta-nya. Perhitungan dilakukan 2 kali sehingga diperoleh nilai delta 1 dan delta 2. Data hasil perhitungan delta 1 dan 2 kemudian digabungkan dengan hasil koefisien LPC-nya, sehingga membentuk kumpulan data baru untuk setiap orde LPC. Berikut tabel jumlah data yang diperoleh dari hasil ekstraksi ciri LPC berdasarkan ordenya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Tabel 3.1 Tabel Jumlah Data Hasil Ekstraksi Ciri Orde
Jumlah Data
Total Data
Koefisien LPC
Turunan 1
Turunan 2
8
8
8
8
24
10
10
10
10
30
12
12
12
12
36
14
14
14
14
42
16
16
16
16
48
Sebelum masuk dalam proses pelatihan dan pengujian arsitektur JST, setiap data yang telah diekstraksi, diberi label data sebagai perbandingan dengan target luaran dari proses pelatihan dan pengujian arsitektur JST. Berikut rincian label data untuk setiap data suara: -
Suara kerusakan klep/katup pada mesin sepeda motor = (1,0,0,0)
-
Suara mesin sepeda motor normal = (0,1,0,0)
-
Suara kerusakan rantai kamprat pada mesin sepeda motor = (0,0,1,0)
-
Suara kerusakan stang seher/batang piston pada mesin sepeda motor = (0,0,0,1)
3.2.2 Pelatihan dan Pengujian Arsitektur JST Dalam penelitian ini, proses identifikasi suara mesin sepeda motor dilakukan dengan mengklasifikasikan suara mesin sepeda motor berdasarkan kondisi mesin sepeda motor yang telah ditentukan. Metode yang digunakan dalam proses klasifikasi adalah metode Jaringan Syaraf Tiruan Back Propagation. Metode klasifikasi ini dipilih
karena
kemampuannya
untuk
menghasilkan
decision
boundaries yang kompleks pada fitur-fitur yang ada. Hasil ini dapat dilihat dengan nilai keakuratan yang dihasilkan dari pengujian sampel diluar kumpulan sampel yang digunakan pada saat pelatihan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
Metode pembagian data pelatihan dan pengujian arsitektur JST yang digunakan adalah 5-Fold Cross Validation. Metode ini dipakai karena menggunakan data yang berbeda untuk proses pelatihan dan pengujiannya, sehingga dapat diketahui dengan benar akurasi sistem yang telah dibuat. Hasil ekstraksi ciri dan label data, akan digunakan sebagai input-an dalam proses pelatihan dan pengujian arsitektur JST. Hasil dari proses ini adalah model jaringan dengan akurasi terbaik, yang akan digunakan dalam proses klasifikasi dan uji data. Pada proses awal sesuai dengan metode K-Fold Cross Validation, data yang berjumlah 200 dibagi menjadi 5 bagian. Setiap bagian akan diisi dengan 10 data dari satu jenis suara, sehingga masing-masing bagian akan diisi total 40 data. Dari 5 bagian tersebut akan dilakukan 5 kali percobaan dalam proses pelatihan dan pengujian arsitektur JST. Berikut ini tabel penggunaan bagian dalam setiap percobaan: Tabel 3.2 Five-Fold Cross Validation Percobaan Training Testing 1
1,2,3,4
5
2
1,2,3,5
4
3
1,2,4,5
3
4
1,3,4,5
2
5
2,3,4,5
1
Hasil dari tiap percobaan akan dimasukan ke dalam tabel Confusion Matrix untuk menghitung akurasi dari pengujian data.
Ada 2 jenis arsitektur jaringan syaraf tiruan yang digunakan untuk proses pelatihan dan pengujian, yaitu arsitektur dengan satu hidden layer dan 2 hidden layer. Berikut ini gambaran arsitektur untuk setiap jenis arsitektur JST:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
1. Arsitektur Jaringan Syaraf Tiruan 1 Hidden Layer Diambil contoh dengan ciri orde 8 maka jumlah data input sebanyak 8 data, kemudian digunakan 1 hidden layer, dengan jumlah neuron pada hidden layer 1 sebanyak 4, dan jumlah output sebanyak 4. x1
x2
x3
z1
y1
x4
z2
y2
x5
z3
y3
x6
z4
y4
Hidden Layer 1
Output
x7
x8
Input
Gambar 3.8 Arsitektur JST 1 Hidden Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
2. Arsitektur Jaringan Syaraf Tiruan 2 Hidden Layer Diambil contoh dengan ciri orde 8 maka jumlah data input sebanyak 8 data, kemudian digunakan 2 hidden layer, dengan jumlah neuron pada hidden layer 1 sebanyak 4, jumlah neuron pada hidden layer 2 sebanyak 4, dan jumlah output sebanyak 4. x1
x2
x3
z1
z1
y1
x4
z2
z2
y2
x5
z3
z3
y3
x6
z4
z4
y4
Hidden Layer 1
Hidden Layer 2
Output
x7
x8
Input
Gambar 3.9 Arsitektur JST 2 Hidden Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Berikut ini rincian parameter dalam arsitektur jaringan syaraf tiruan: 1. Lapisan jaringan terdiri dari 4 lapis, yaitu satu lapis masukan (input), 2 lapis tersembunyi (hidden layer) dan satu lapis keluaran (output). 2. Untuk input jaringan terdiri dari 1 – i neuron, dimana i merupakan jumlah total data hasil ekstraksi ciri sesuai dengan orde dan nilai delta-nya yang telah ditentukan. Berikut tabel jumlah data yang digunakan: Tabel 3.3 Jumlah Data Input Arsitektur Jaringan Ciri (orde,delta)
Jumlah Data
8
8
8+
16
8++
24
10
10
10+
20
10++
30
12
12
12+
24
12++
36
14
14
14+
28
14++
42
16
16
16+
32
16++
48
3. Untuk mendapatkan arsitektur jaringan yang optimal, digunakan 2 jenis arsitektur jaringan yaitu dengan 1 hidden layer dan 2 hidden layer, dimana lapisan tersembunyi pertama dan kedua memiliki
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
jumlah neuron yang bervariasi mulai dari 2,4,… dilanjutkan dengan kelipatan 4 hingga 40. Namun apabila pada neuron 40 nilai akurasi masih tinggi, maka dilanjutkan dengan kelipatan 4 selanjutnya
hingga
hasil
akurasinya
turun.
Contoh
:
2,4,8,12,…,40,44,48. 4. Fungsi aktivasi yang digunakan adalah sigmoid biner (logsig). 5. Fungsi pelatihan yang digunakan adalah trainrp. 6. Batas iterasi/epoch adalah 200. 7. Nilai target error (mse) adalah 0,0001. 8. Nilai laju pemahaman (=learning rate) adalah 0,1. 9. Jumlah neuron pada lapisan keluaran (output) adalah 4, sesuai dengan jumlah klasifikasi. 10. Memiliki 4 neuron output yang merupakan target keluaran jaringan diantaranya, Rusak Katup/Klep (1,0,0,0) , Mesin Normal (0,1,0,0), Rusak Rantai Kamprat (0,0,1,0), dan Rusak Stang Seher (0,0,0,1). Dalam pengujian arsitektur JST, dilakukan beberapa kali percobaan untuk mendapatkan model jaringan terbaik berdasarkan akurasi hasil yang tertinggi. Percobaan dilakukan dengan mengambil sejumlah data hasil ekstraksi ciri berdasarkan kombinasi ciri yang ada pada tabel 3.3 sebagai data masukan. Untuk setiap kombinasi ciri, dilakukan percobaan lagi dengan mengubah-ubah jumlah lapisan tersembunyi,
yaitu satu
lapisan tersembunyi
dan 2 lapisan
tersembunyi. Pada satu lapisan tersembunyi, jumlah neuron divariasi mulai dari 2,4 hingga 40 dengan penambahan jumlah kelipatan 4, contohnya 2,4,8,12….,40. Namun apabila pada neuron 40 nilai akurasi masih tinggi, maka dilanjutkan dengan kelipatan 4 selanjutnya hingga hasil akurasinya turun. Dari percobaan tersebut diperoleh jumlah neuron dengan akurasi tertinggi. Jumlah neuron dengan akurasi tertinggi di lapisan tersembunyi ke-1 kemudian digunakan dalam 2 lapisan tersembunyi. Jumlah neuron di lapisan tersembunyi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
ke-2 divariasi sama seperti di lapisan tersembunyi ke-1 hingga memperoleh akurasi tertingginya. Dari semua percobaan tersebut akan diperoleh model jaringan terbaik berdasarkan akurasi yang tertinggi. 3.2.3 Klasifikasi dan Uji Data Tunggal Model jaringan yang telah didapat dari proses pelatihan dan pengujian arsitektur JST akan digunakan dalam proses klasifikasi dari data masukan data baru untuk diuji. Proses klasifikasi dibagi kedalam 4 jenis suara mesin berdasarkan kondisinya, yaitu suara mesin sepeda motor rusak katup/klep, suara mesin sepeda motor normal, suara mesin sepeda motor rusak rantai kamprat, dan suara mesin sepeda motor rusak stang seher/batang piston. Proses dimulai dari memasukan data suara baru untuk diuji, kemudian dilakukan ekstraksi ciri pada data tersebut dan diambil sejumlah data sesuai jumlah pilihan ciri terbaik yang telah diperoleh. Hasil ekstraksi ciri tersebut disimulasikan kedalam model jaringan terbaik yang telah diperoleh, sehingga mendapatkan nilai keluaran sesuai target keluaran yang telah ditentukan, untuk menunjukkan hasil klasifikasi. Berikut ini gambaran proses klasifikasi dan uji data.
Data Uji
Ekstraksi Ciri
Model Jaringan
Hasil Klasifikasi
Gambar 3.10 Proses Klasifikasi dan Uji Data Tunggal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
3.3
Kebutuhan Sistem Aplikasi ini membutuhkan perangkat keras dan lunak dalam proses perancangannya sehingga mendapatkan hasil yang maksimal. 1.
Kebutuhan Perangkat Keras Aplikasi ini membutuhkan perangkat keras dengan spesifikasi minimal sebagai berikut: 1.
Processor
: Intel core i5 , 1.70GHz (4CPUs)
2.
Memory
: 4 GB
3.
Hard Drive : 500 GB
4.
Soundcard
: Speaker HD audio device
Spesifikasi tersebut dipilih agar aplikasi berjalan dengan maksimal. Untuk proses perekaman suara mesin sepeda motor dibutuhkan perangkat keras berupa handphone. 2.
Kebutuhan Perangkat Lunak Aplikasi ini membutuhkan perangkat lunak untuk perekaman suara, pembuatan dan proses menjalankan program, perangkat lunak tersebut adalah sebagai berikut : 1.
Easy Voice Recorder
2.
Microsoft Windows 10
3.
Audacity 2.1.1
4.
Matlab R2012b Aplikasi handphone Easy Voice Recorder digunakan untuk
merekam suara mesin sepeda motor. Microsoft Windows 10 digunakan sebagai sistem operasi agar kedua perangkat lunak lainnya dapat berjalan. Audacity 2.1.1 digunakan untuk proses preprosesing data pada file suara mesin sepeda motor sebelum data diproses oleh sistem. Matlab
R2012b
menjalankan sistem.
digunakan
untuk
membuat
sistem
sekaligus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
3.4
Perancangan Atarmuka Sistem
Gambar 3.11 Tampilan Antarmuka Sistem Pada gambar 3.11 , merupakan tampilan antarmuka sistem
yang
terdiri dari 4 panel sesuai dengan fungsi dari sistem yang akan dibuat. Berikut ini rincian untuk setiap panel tersebut: 1. Data Pelatihan Panel ini termasuk dalam fungsi ekstraksi ciri. Pada panel ini terdapat beberapa komponen diantaranya: a. Edit Text – berfungsi untuk menampilkan direktori data. b. Tombol Browse – berfungsi untuk membuka jendela pencarian direktori data suara. c. Tombol Hapus – berfungsi untuk menghapus isi dari listdata yang akan diekstraksi. d. Listbox data – berfungsi untuk menampilkan daftar semua data suara yang ada pada direktori yang dipilih. e. Tombol Ekstraksi Ciri – berfungsi untuk menjalankan proses ekstraksi ciri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
2. Koefisien LPC Panel ini berfungsi untuk menentukan kombinasi ciri pada fungsi pelatihan dan pengujian data. Ciri yang dapat dipilih yaitu orde dan delta/turunan LPC. Berikut komponen dalam panel tersebut: a. Group Button Orde – berfungsi untuk memilih orde dalam fungsi ekstraksi ciri, yaitu 8, 10, 12, 14, dan 16. b. 2 buah Check Box yaitu Delta LPC dan Delta,Delta LPC – berfungsi untuk menambah kombinasi ciri yang akan digunakan dalam proses pelatihan dan pengujian data. 3. Pelatihan JST Panel ini berisi komponen parameter yang berpengaruh dalam fungsi pelatihan dan pengujian JST. Berikut komponen dalam panel tersebut: a. Edit Text Hidden Layer 1 – berfungsi untuk memasukan jumlah neuron pada lapisan tersembunyi ke-1. b. Edit Text Hidden Layer 2 - berfungsi untuk memasukan jumlah neuron pada lapisan tersembunyi ke-2. c. Edit Text Epoch – berfungsi untuk memasukan batas jumlah iterasi/epoch dalam proses pelatihan arsitektur jaringan, dengan nilai default yaitu 200. d. Tombol Proses – berfungsi untuk menjalankan proses pelatihan arsitektur jaringan. e. Text Akurasi – berfungsi untuk menampilkan hasil perhitungan akurasi sistem (%). f.
Text Box Waktu Proses – berfungsi untuk menampilkan total waktu proses pelatihan arsitektur jaringan (detik).
g. Text Box Confusion Matrix – berfungsi untuk menampilkan tabel confusion matrix hasil dari proses pelatihan dan pengujian arsitektur jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
4. Identifikasi Data Panel ini berisi komponen yang dapat berfungsi untuk mengambil data uji, kemudian melakukan klasifikasi data berdasarkan model jaringan yang telah diperoleh dan menampilkan hasil klasifikasi. Terdapat juga komponen untuk menampilkan grafik sinyal dan spektrogram dari data suara yang dimasukan. Berikut komponen dalam panel tersebut: a. Edit Text Direktori Cari – berfungsi untuk menampilkan alamat direktori dari data yang akan diuji. b. Tombol Cari File – berfungsi untuk membuka jendela pencarian direktori data suara yang akan diuji. c. Tombol Identifikasi Suara – berfungsi untuk menjalankan proses klasifikasi data suara yang diuji berdasarkan model jaringan yang telah diperoleh. d. Text Hasil Identifikasi – berfungsi untuk menampilkan hasil klasifikasi data suara yang diuji. e. Tombol Grafik dan Spektrogram – berfungsi untuk menampilkan grafik sinyal dan spektrogram dari data suara masukan yang diuji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB IV
IMPLEMENTASI DAN ANALISIS HASIL
Bab ini berisi uraian dari implementasi sistem dan analisis hasil penelitian. Pada implementasi sistem berisi visualisasi proses ekstraksi ciri dan tampilan antarmuka program untuk setiap prosesnya. Sedangkan pada analisis hasil penelitian berisi analisis pengujian variasi arsitektur jaringan dan analisis hasil pengujian data tunggal. 4.1
Implementasi Sistem Dalam subbab ini akan ditunjukkan visualisasi proses ekstraksi ciri dan tampilan antarmuka dari aplikasi yang telah dibuat. Aplikasi ini dibuat menggunakan bahasa pemrograman Matlab. 4.1.1
Visualisasi Proses Ekstraksi Ciri Berikut ini visualisasi dari setiap tahap dalam proses ekstraksi ciri sinyal suara, dengan contoh suara mesin sepeda motor normal: 1. Baca Data Suara Dalam proses ini data suara yang bertipe “.wav” dengan panjang waktu
3 detik, dibaca oleh
program
dengan
menggunakan fungsi wavread(). Berikut ini hasil pembacaan file suara menggunakan fungsi wavread:
Gambar 4.1 Hasil Baca File Suara .wav Pada gambar 4.1 dapat dilihat dalam sebuah file rekaman suara dengan panjang suara 3 detik, diperoleh data sebanyak 133.397 data. Berikut ini grafik sinyal dari seluruh data tersebut:
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
Gambar 4.2 Grafik Sinyal Data Suara Setelah Fungsi wavread() 2. Proses Frame Blocking Data hasil proses pertama dimasukan kedalam proses frame blocking dan menghasilkan data sebagai berikut:
Gambar 4.3 Data Hasil Proses Frame Blocking Pada gambar 4.3 dapat dilihat hasil proses ini yaitu kumpulan data dalam matriks ukuran 149×1764. Berikut ini tampilan grafik sinyal dari hasil proses frame blocking:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
Gambar 4.4 Grafik Sinyal Data Hasil Proses Frame Blocking 3. Proses Windowing Data hasil proses frame blocking kemudian dimasukkan kedalam proses windowing dengan menggunakan metode hamming window. Berikut ini data hasil proses tersebut:
Gambar 4.5 Data Hasil Proses Windowing Dari gambar 4.5 dapat dilihat hasil dari proses windowing berupa matriks data berukuran sama dengan hasil frame blocking sebelumnya yaitu 149×1764. Berikut ini tampilan grafik sinyal dari data hasil proses windowing:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
Gambar 4.6 Grafik Sinyal Data Hasil Proses Windowing 4. Proses Analisis Autokorelasi Data hasil proses windowing selanjutnya dikonversi menjadi data dengan matriks berukuran 1×262836. Berikut ini data hasil konversinya:
Gambar 4.7 Data Hasil Konversi Kemudian data hasil konversi tersebut dimasukan kedalam proses analisis autokorelasi. Untuk contoh proses ini dipilih orde LPC yaitu 8. Berikut data hasil proses tersebut:
Gambar 4.8 Data Hasil Proses Analisis Autokorelasi Dari gambar 4.8 dapat dilihat bahwa diperoleh data sebanyak p+1 yaitu orde LPC sebanyak 8 ditambah 1 data, dari hasil proses analisis autokorelasi. Berikut ini tampilan grafik sinyal data hasil proses tersebut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
Gambar 4.9 Grafik Sinyal Data Hasil Proses Analisis Autokorelasi Orde 8 5. Proses Analisis LPC Hasil
dari
proses
analisis
autokorelasi
kemudian
dimasukkan kedalam proses analisis LPC untuk mendapatkan nilai koefisien LPC. Dalam proses ini digunakan metode Levinson Durbin. Orde LPC yang digunakan dalam contoh ini yaitu 8. Berikut data hasil proses tersebut:
Gambar 4.10 Data Koefisien LPC Orde 8 Pada gambar 4.10 dapat dilihat data koefisien LPC sebanyak 8 sesuai dengan orde LPC yang telah dipilih. Berikut ini grafik sinyal dari koefisien LPC tersebut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
Gambar 4.11 Grafik Sinyal Data Koefisien LPC Orde 8 6. Proses Perhitungan Nilai Delta LPC Data koefisien LPC yang telah diperoleh, kemudian dihitung nilai delta-nya. Perhitungan dilakukan sebanyak 2 kali untuk mendapatkan nilai delta LPC dan delta delta LPC. Berikut ini hasil dari proses tersebut:
Gambar 4.12 Data Delta LPC Orde 8
Gambar 4.13 Data Delta Delta LPC Orde 8 Seluruh data mulai dari koefisien LPC, delta LPC dan delta delta LPC, kemudian digabungkan menjadi sebuah vektor ciri dengan ukuran 1×24 data. Berikut ini hasil gabungan tersebut beserta grafik sinyalnya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
Gambar 4.14 Data Gabungan Hasil Ekstraksi Ciri LPC Orde 8
Gambar 4.15 Grafik Sinyal Data Gabungan Hasil Ekstraksi Ciri LPC Orde 8 Data hasil ekstraksi ciri menggunakan fitur LPC disimpan dalam
sebuah
file
bertipe
“.mat”,
diantaranya
data.mat,
norm_data.mat, dan dc.mat. Sedangkan label dari setiap data juga disimpan dalam file bertipe “.mat” yaitu target_pelatihan.mat. Agar model jaringan terbaik yang telah diperoleh dari proses pelatihan dan pengujian arsitektur JST dapat digunakan dalam proses pengujian data tunggal, maka disimpan dalam file bertipe “.mat” yaitu net.mat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
4.1.2
Tampilan Antarmuka Aplikasi Berikut ini tampilan antarmuka menu utama keseluruhan dari aplikasi dalam penelitian ini:
Gambar 4.16 Tampilan Menu Utama Aplikasi
Aplikasi ini dibagi kedalam 3 proses, yaitu ekstraksi ciri LPC, pelatihan - pengujian arsitektur JST, dan identifikasi data uji. Berikut ini tampilan antarmuka untuk masing- masing proses:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
1. Ekstraksi Ciri LPC
Gambar 4.17 Tampilan Proses Ekstraksi Ciri LPC Dari gambar 4.17, dapat dilihat nama-nama data dari 200 data pelatihan yang akan diekstraksi. Setelah menekan tombol Ekstraksi Data, berikut ini hasil data ekstraksinya:
Gambar 4.18 Hasil Ekstraksi Ciri 200 Data Suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
2. Pelatihan dan Pengujian Arsitektur JST Berikut ini tampilan dari proses pelatihan dan pengujian arsitektur JST:
Gambar 4.19 Tampilan Proses Pelatihan dan Pengujian Arsitektur JST Pada gambar 4.19, terdapat parameter-parameter yang dapat diubah-ubah untuk setiap percobaan pengujian agar mendapatkan akurasi terbaik. Parameter tersebut diantaranya orde LPC dan kombinasi dengan nilai turunannya, hidden layer satu dan 2, dan iterasi/epoch. Ditampilkan juga tabel confusion matrix yang dapat digunakan untuk mendapatkan nilai akurasi jaringan. Berikut ini tampilan proses pelatihan jaringan:
Gambar 4.21 Tampilan Pelatihan 1 Hidden Layer
Gambar 4.20 Tampilan Pelatihan 2 Hidden Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
3. Identifikasi Data Uji Setelah mengklik tombol ‘Identifikasi Suara’, terdapat 4 tampilan hasil klasifikasi data suara berdasarkan jenis suara mesin sepeda motor. Berikut tampilannya:
Gambar 4.22 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Katup/Klep
Gambar 4.23 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Normal
Gambar 4.24 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Rantai Kamprat
Gambar 4.25 Tampilan Hasil Klasifikasi Suara Mesin Sepeda Motor Rusak Stang Seher/Batang Piston Untuk memasukkan data dilakukan dengan mengklik tombol ‘Cari File’, kemudian memilih file yang akan diproses.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
4.2
Analisis Hasil Penelitian Dalam penelitian ini akan dicari model jaringan terbaik yang akan digunakan dalam proses klasifikasi data suara mesin sepeda motor. Model jaringan terbaik dapat dilihat dari hasil akurasi pelatihan arsitektur jaringannya. Untuk mendapat model jaringan terbaik berdasarkan akurasi pelatihan arsitektur jaringan, maka dilakukan beberapa percobaan pengujian dengan mengubah variasi arsitektur jaringan. Setelah model jaringan terbaik berdasarkan akurasi tertinggi diperoleh, maka model jaringan tersebut digunakan dalam pengujian data tunggal untuk menunjukkan ketepatan hasil klasifikasinya. 4.2.1
Pengujian Variasi Arsitektur Jaringan Dalam pengujian variasi arsitektur jaringan ini, data yang digunakan sebanyak 200. Data tersebut sebelumnya telah dilakukan ekstraksi ciri, sehingga menghasilkan 180 jumlah ciri untuk setiap datanya dan total data yang digunakan dalam pelatihan ini sebanyak 200x180 data. Dalam pengujian ini akan dilakukan beberapa kali percobaan dengan memvariasikan kombinasi ciri dan parameter dalam arsitektur jaringan. Variasi pertama yang dilakukan adalah mengkombinasikan ciri dari data suara. Berikut ini beberapa kombinasi ciri yang digunakan: 1. Orde 8 = hasil ekstraksi ciri orde 8 2. Orde 8+ = hasil ekstraksi ciri orde 8 + hasil perhitungan 3. Orde 8++ = hasil ekstraksi ciri orde 8 + hasil perhitungan + hasil perhitungan 4. Orde 10 = hasil ekstraksi ciri orde 10 5. Orde 10+ = hasil ekstraksi ciri orde 10 + hasil perhitungan 6. Orde 10++ = hasil ekstraksi ciri orde 10 + hasil perhitungan + hasil perhitungan 7. Orde 12 = hasil ekstraksi ciri orde 12 8. Orde 12+ = hasil ekstraksi ciri orde 12 + hasil perhitungan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
9. Orde 12++ = hasil ekstraksi ciri orde 12 + hasil perhitungan + hasil perhitungan 10. Orde 14 = hasil ekstraksi ciri orde 14 11. Orde 14+ = hasil ekstraksi ciri orde 14 + hasil perhitungan 12. Orde 14++ = hasil ekstraksi ciri orde 14 + hasil perhitungan + hasil perhitungan 13. Orde 16 = hasil ekstraksi ciri orde 16 14. Orde 16+ = hasil ekstraksi ciri orde 16 + hasil perhitungan 15. Orde 16++ = hasil ekstraksi ciri orde 16 + hasil perhitungan + hasil perhitungan Untuk variasi kedua, nilai parameter arsitektur jaringan yang diubah-ubah adalah neuron pada hidden layer 1 dan hidden layer 2. Neuron ditentukan mulai dari 2,4 dengan penambahan kelipatan 4 hingga 40. Selama akurasi hasil masih tinggi percobaan dilanjutkan, hingga akurasi turun, contohnya 2,4,8,…,40,44,48. Berikut ini parameter yang berpengaruh pada arsitektur jaringan yang digunakan: 1. Input jaringan sesuai dengan jumlah kombinasi ciri yang dipilih, contoh: 8, 16, 24, …., 48. 2. Jumlah hidden layer dibagi menjadi 2 jenis, yaitu 1 hidden layer dan 2 hidden layer. 3. Jumlah neuron dalam hidden layer 1 dan 2 bervariasi mulai dari 2, 4, 8, …. 40,48,dst. 4. Jumlah lapisan keluaran adalah 4, sesuai dengan jumlah klasifikasi. 5. Jumlah iterasi/epoch adalah 200. 6. Nilai target error (mse) yaitu 0,0001. 7. Nilai laju pemahaman (=learning rate) yaitu 0,1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60
Untuk
mendapatkan
akurasi
jaringan,
maka
dilakukan
perhitungan terhadap tabel confusion matrix yang dihasilkan dari proses pelatihan arsitektur jaringan. Dari seluruh percobaan variasi kombinasi ciri dan parameter arsitektur jaringan, maka diperoleh akurasi tertinggi dengan tabel sebagai berikut: Tabel 4.1 Hasil Akurasi Seluruh Percobaan Pengujian NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Ciri Orde 8 8+ 8++ 10 10+ 10++ 12 12+ 12++ 14 14+ 14++ 16 16+ 16++
Jumlah Neuron Hidden Layer 1 Hidden Layer 2 8 20 44 24 20 24 28 20 40 40 20 12 16 28 40 16 36 40 24 4 24 32 24 44 40 24 24 36 36 28
Akurasi Waktu Pelatihan (%) (detik) 15 78 18 79 11 80,5 22 83 10 79,5 35 81,5 9 81,5 12 84 17 83,5 36 82 10 79 11 82 9 81,5 11 82 17 82 35 81,5 43 80,5 36 81,5 9 83,5 10 81 10 82 36 83,5 26 80,5 38 81,5 10 81 35 79 10 80 30 80,5 35 79,5 34 82,5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
Dari tabel 4.1 dapat dilihat akurasi tertinggi ada pada variasi kombinasi ciri orde 10, dengan jumlah neuron pada hidden layer 1 = 28 dan hidden layer 2 = 20. Akurasi tertinggi yang diperoleh yaitu 84%. Dari seluruh percobaan tersebut, rata-rata waktu pelatihan selama 21 detik.
Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
84 83,5
84
82
82
81,5 81,5
82
Akurasi (%)
83,5 82,5
83
82 82 81,5
82 81,5
81,5
81,5 81
80,5
81
80,5
81 80,5
80,5 80
79,5
80 79
83,5
83
79
79,5 79
79
78
78 77 76 75 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
No. Percobaan
Gambar 4.26 Grafik Perubahan Hasil Akurasi Keseluruhan Percobaan
Untuk menghitung hasil akurasi dari sebuah percobaan pengujian arsitektur jaringan, digunakan data dalam tabel confusion matrix dari hasil proses pengujian tersebut. Berikut ini ditunjukkan perhitungan hasil akurasi dari tabel confusion matrix, dengan mengambil dari hasil akurasi tertinggi, yaitu memiliki input-an ciri dari orde 10 dengan jumlah neuron pada hidden layer 1 yaitu 28 dan hidden layer 2 yaitu 20.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
Tabel 4.2 Confusion Matrix Percobaan Pengujian Orde 10, Jumlah Neuron Hidden Layer 1 28 dan Hidden Layer 2 20 Klep
Normal
Rantai Kamprat
Stang Seher
Klep
36
5
4
5
Normal
4
45
0
1
Rantai Kamprat
3
0
43
4
Stang Seher
2
0
4
44
Dari confusion matrix pada tabel 4.2 , dapat dihitung akurasi keseluruhan menggunakan persamaan 2.29 , dan juga dapat dihitung akurasi untuk setiap kelas dengan menggunakan persamaan 2.31 dan 2.33. 1. Akurasi Keseluruhan 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
=
36 + 45 + 43 + 44 × 100% 36 + 5 + 4 + 5 + 4 + 45 + 0 + 1 + 3 + 0 + 43 + 4 + 2 + 0 + 4 + 44
168 × 100% = 0,84 × 100% = 𝟖𝟒% 200
2. Akurasi Rusak Klep 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑅𝑢𝑠𝑎𝑘 𝐾𝑙𝑒𝑝 =
36 × 100% = 72% 36 + 5 + 4 + 5
3. Akurasi Normal 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑁𝑜𝑟𝑚𝑎𝑙 =
45 × 100% = 90% 4 + 45 + 0 + 1
4. Akurasi Rusak Rantai Kamprat 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑅𝑢𝑠𝑎𝑘 𝑅𝑎𝑛𝑡𝑎𝑖 𝐾𝑎𝑚𝑝𝑟𝑎𝑡 =
43 × 100% = 86% 3 + 0 + 43 + 4
5. Akurasi Rusak Stang Seher 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑅𝑢𝑠𝑎𝑘 𝑆𝑡𝑎𝑛𝑔 𝑆𝑒ℎ𝑒𝑟 =
44 × 100% = 88% 2 + 0 + 4 + 44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
Hasil pengenalan suara terbaik ada pada jenis suara mesin sepeda motor normal dengan akurasi 90%. Hal ini menunjukkan bahwa suara mesin sepeda motor normal paling mudah untuk dikenali suaranya.
Berikut ini ditunjukkan seluruh detail dari hasil percobaan pengujian berdasarkan variasi kombinasi ciri hingga neuron pada hidden layer 1 dan 2:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
1. Orde 8 a) Hidden layer 1 Tabel 4.3 Hasil Akurasi Orde 8, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44
Akurasi (%) 51,5 60 78 75 68 74 76,5 76,5 74,5 71,5 77 76,5
Dari tabel 4.3 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 8. Akurasi tertinggi yang diperoleh yaitu 78%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.27 Grafik Perubahan Akurasi Orde 8, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
b) Hidden Layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.4 Hasil Akurasi Orde 8, Hidden Layer 2 Jumlah Neuron Hidden Layer 1 Hidden Layer 2 2 4 8 12 16 20 8 24 28 32 36 40 44
Akurasi (%) 58 73 69,5 79 75 79 76,5 70,5 69,5 70 78 66,5
Dari tabel 4.4 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 8 dan hidden layer 2 dengan jumlah neuron 20. Akurasi tertinggi yang diperoleh yaitu 79%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi akurasi (%)
90 80 70 60 50 2
4
8
12
16
20
24
28
32
36
40
44
jumlah neuron
Gambar 4.28 Grafik Perubahan Akurasi Orde 8, Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66
2. Orde 8 + a) Hidden layer 1 Tabel 4.5 Hasil Akurasi Orde 8+, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44 48
Akurasi (%) 53,5 63,5 70,5 73 73 70,5 77 74,5 76,5 72 76 80,5 75,5
Dari tabel 4.5 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 44. Akurasi tertinggi yang diperoleh yaitu 80,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
jumlah neuron
Gambar 4.29 Grafik Perubahan Akurasi Orde 8+ , Hidden Layer 1
44
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67
b) Hidden Layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.6 Hasil Akurasi Orde 8+, Hidden Layer 2 Jumlah Neuron Hidden Layer 1 Hidden Layer 2 2 4 8 12 16 20 44 24 28 32 36 40 44
Akurasi (%) 51,5 73,5 79,5 73,5 75,5 75 83 83 78 77 79,5 78
Dari tabel 4.6 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 44 dan hidden layer 2 dengan jumlah neuron 24. Akurasi tertinggi yang diperoleh yaitu 83%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
akurasi (%)
Grafik Perubahan Akurasi 85 80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
44
jumlah neuron
Gambar 4.30 Grafik Perubahan Akurasi Orde 8+ , Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68
3. Orde 8 + + a) Hidden layer 1 Tabel 4.7 Hasil Akurasi Orde 8++, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 50 69,5 77 72 75,5 79,5 76 73,5 75 79 77,5
Dari tabel 4.7 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 20. Akurasi tertinggi yang diperoleh yaitu 79,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.31 Grafik Perubahan Akurasi Orde 8++, Hidden Layer 1
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.8 Hasil Akurasi Orde 8++, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 55,5 4 79,5 8 81 12 67,5 16 78 20 78,5 20 24 81,5 28 79,5 32 76 36 74 40 81 44 75 Dari tabel 4.8 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 20 dan hidden layer 2 dengan jumlah neuron 24. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.32 Grafik Perubahan Akurasi Orde 8++, Hidden Layer 2
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70
4. Orde 10 a) Hidden layer 1 Tabel 4.9 Hasil Akurasi Orde 10, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44 48
Akurasi (%) 62,5 67 77,5 72 78,5 78,5 78 81,5 71,5 74 75 77,5 77
Dari tabel 4.9 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 28. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
jumlah neuron
Gambar 4.33 Grafik Perubahan Akurasi Orde 10, Hidden Layer 1
44
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.10 Hasil Akurasi Orde 10, Hidden Layer 2 Jumlah Neuron Hidden Layer 1 Hidden Layer 2 2 4 8 12 16 28 20 24 28 32 36 40
Akurasi (%) 64 77,5 77,5 74,5 73,5 84 79 80 76 81 77
Dari tabel 4.10 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 28 dan hidden layer 2 dengan jumlah neuron 20. Akurasi tertinggi yang diperoleh yaitu 84%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
akurasi (%)
Grafik Perubahan Akurasi 85 80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.34 Grafik Perubahan Akurasi Orde 10, Hidden Layer 2
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72
5. Orde 10 + a) Hidden layer 1 Tabel 4.11 Hasil Akurasi Orde 10+, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44
Akurasi (%) 57,5 68,5 75,5 72,5 75,5 78,5 74 74,5 78 79,5 83,5 76
Dari tabel 4.11 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 40. Akurasi tertinggi yang diperoleh yaitu 83,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.35 Grafik Perubahan Akurasi Orde 10+, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.12 Hasil Akurasi Orde 10+, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 69,5 4 73,5 8 81,5 12 76,5 16 81 40 20 76,5 24 76 28 76 32 76 36 79,5 40 82 44 79 Dari tabel 4.12 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 40 dan hidden layer 2 dengan jumlah neuron 40. Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
akurasi (%)
Grafik Perubahan Akurasi 85 80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
jumlah neuron
Gambar 4.36 Grafik Perubahan Akurasi Orde 10+, Hidden Layer 2
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
6. Orde 10 + + a) Hidden layer 1 Tabel 4.13 Hasil Akurasi Orde 10++, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 55 66,5 70,5 76,5 77 79 72 73,5 76,5 75,5 71
Dari tabel 4.13 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 20. Akurasi tertinggi yang diperoleh yaitu 79%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.37 Grafik Perubahan Akurasi Orde 10++, Hidden Layer 1
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.14 Hasil Akurasi Orde 10++, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 67 4 75 8 77,5 12 82 16 76 20 20 74,5 24 78 28 81 32 77 36 77,5 40 72,5 Dari tabel 4.14 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 20 dan hidden layer 2 dengan jumlah neuron 12. Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.38 Grafik Perubahan Akurasi Orde 10++, Hidden Layer 2
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76
7. Orde 12 a) Hidden layer 1 Tabel 4.15 Hasil Akurasi Orde 12, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44
Akurasi (%) 61,5 69 75,5 78,5 81,5 78,5 78 77,5 77 79 80 78,5
Dari tabel 4.15 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 16. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.39 Grafik Perubahan Akurasi Orde 12, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.16 Hasil Akurasi Orde 12, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 64,5 4 76,5 8 76,5 12 76,5 16 75,5 16 20 80,5 24 78 28 82 32 78 36 79,5 40 81 44 71,5 Dari tabel 4.16 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 16 dan hidden layer 2 dengan jumlah neuron 28. Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
akurasi (%)
Grafik Perubahan Akurasi 85 80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
jumlah neuron
Gambar 4.40 Grafik Perubahan Akurasi Orde 12, Hidden Layer 2
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
8. Orde 12 + a) Hidden layer 1 Tabel 4.17 Hasil Akurasi Orde 12+, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44
Akurasi (%) 64,5 74 79,5 78,5 79,5 75,5 78 74,5 75 77,5 82 81
Dari tabel 4.17 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 40. Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.41 Grafik Perubahan Akurasi Orde 12+, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 79
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.18 Hasil Akurasi Orde 12+, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 75,5 4 75 8 73,5 12 77 16 81,5 40 20 78 24 80 28 74,5 32 79,5 36 77,5 40 75,5 Dari tabel 4.18 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 40 dan hidden layer 2 dengan jumlah neuron 16. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.42 Grafik Perubahan Akurasi Orde 12+, Hidden Layer 2
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 80
9. Orde 12 + + a) Hidden layer 1 Tabel 4.19 Hasil Akurasi Orde 12++, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 59,5 70,5 77,5 76,5 76 77,5 75,5 79 77 80,5 77,5
Dari tabel 4.19 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 36. Akurasi tertinggi yang diperoleh yaitu 80,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.43 Grafik Perubahan Akurasi Orde 12++, Hidden Layer 1
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 81
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.20 Hasil Akurasi Orde 12++, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 61,5 4 77 8 75,5 12 77 16 74 36 20 77 24 75 28 72 32 77 36 74,5 40 81,5 44 76,5 Dari tabel 4.20 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 36 dan hidden layer 2 dengan jumlah neuron 40. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
akurasi (%)
Grafik Perubahan Akurasi 85 80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
40
44
jumlah neuron
Gambar 4.44 Grafik Perubahan Akurasi Orde 12++, Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 82
10. Orde 14 a) Hidden layer 1 Tabel 4.21 Hasil Akurasi Orde 14, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 56 74,5 78 77,5 80,5 73 83,5 82 83,5 76 74,5
Dari tabel 4.21 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 24. Akurasi tertinggi yang diperoleh yaitu 83,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.45 Grafik Perubahan Akurasi Orde 14, Hidden Layer 1
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 83
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.22 Hasil Akurasi Orde 14, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 75 4 81 8 77 12 77,5 16 74,5 24 20 74,5 24 78 28 81 32 77,5 36 80 40 76 Dari tabel 4.22 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 24 dan hidden layer 2 dengan jumlah neuron 4. Akurasi tertinggi yang diperoleh yaitu 81%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.46 Grafik Perubahan Akurasi Orde 14, Hidden Layer 2
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 84
11. Orde 14 + a) Hidden layer 1 Tabel 4.23 Hasil Akurasi Orde 14+, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 26 32 36 40 44
Akurasi (%) 63,5 79,5 77 79 79 80,5 82 80 82 77,5 81,5 79
Dari tabel 4.23 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 24. Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
26
32
36
jumlah neuron
Gambar 4.47 Grafik Perubahan Akurasi Orde 14+, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 85
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.24 Hasil Akurasi Orde 14+, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 60 4 78,5 8 79 12 78 16 75,5 24 20 74,5 24 81,5 28 78,5 32 83,5 36 79,5 40 78 Dari tabel 4.24 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 24 dan hidden layer 2 dengan jumlah neuron 32. Akurasi tertinggi yang diperoleh yaitu 83,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 90 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.48 Grafik Perubahan Akurasi Orde 14+, Hidden Layer 2
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 86
12. Orde 14 + + a) Hidden layer 1 Tabel 4.25 Hasil Akurasi Orde 14++, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 60 75,5 79 79,5 78 76,5 80,5 79 76,5 79,5 77
Dari tabel 4.25 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 24. Akurasi tertinggi yang diperoleh yaitu 80,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.49 Grafik Perubahan Akurasi Orde 14++, Hidden Layer 1
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 87
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.26 Hasil Akurasi Orde 14++, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 59 4 72,5 8 80,5 12 80 16 78 20 78,5 24 24 76,5 28 77,5 32 79,5 36 80,5 40 81 44 81,5 48 77 Dari tabel 4.26 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 24 dan hidden layer 2 dengan jumlah neuron 44. Akurasi tertinggi yang diperoleh yaitu 81,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi akurasi (%)
90 80 70 60 50 2
4
8
12
16
20
24
28
32
36
40
44
48
jumlah neuron
Gambar 4.50 Grafik Perubahan Akurasi Orde 14++, Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 88
13. Orde 16 a) Hidden layer 1 Tabel 4.27 Hasil Akurasi Orde 16, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40 44
Akurasi (%) 53 65 74 79 76,5 78,5 80 73,5 78,5 76 81 79
Dari tabel 4.27 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 40. Akurasi tertinggi yang diperoleh yaitu 81%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
jumlah neuron
Gambar 4.51 Grafik Perubahan Akurasi Orde 16, Hidden Layer 1
40
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 89
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.28 Hasil Akurasi Orde 16, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 61 4 72 8 74,5 12 70 16 77 40 20 78,5 24 79 28 75,5 32 78 36 74 40 75 44 78 48 77 Dari tabel 4.28 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 40 dan hidden layer 2 dengan jumlah neuron 24. Akurasi tertinggi yang diperoleh yaitu 79%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi akurasi (%)
90 80 70 60 50 2
4
8
12
16
20
24
28
32
36
40
44
48
jumlah neuron
Gambar 4.52 Grafik Perubahan Akurasi Orde 16, Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 90
14. Orde 16 + a) Hidden layer 1 Tabel 4.29 Hasil Akurasi Orde 16+, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 49,5 64,5 75 73 78 79,5 80 76,5 78 80 77
Dari tabel 4.29 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 24. Akurasi tertinggi yang diperoleh yaitu 80%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85 80
akurasi (%)
75 70 65 60 55 50 45 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.53 Grafik Perubahan Akurasi Orde 16+, Hidden Layer 1
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 91
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.30 Hasil Akurasi Orde 16+, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 60,5 4 76 8 75 12 76 16 73 24 20 74 24 74,5 28 77,5 32 78,5 36 80,5 40 75 Dari tabel 4.30 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 24 dan hidden layer 2 dengan jumlah neuron 36. Akurasi tertinggi yang diperoleh yaitu 80,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
jumlah neuron
Gambar 4.54 Grafik Perubahan Akurasi Orde 16+, Hidden Layer 2
36
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 92
15. Orde 16 + + a) Hidden layer 1 Tabel 4.31 Hasil Akurasi Orde 16++, Hidden Layer 1 Jumlah Neuron Hidden Layer 1 2 4 8 12 16 20 24 28 32 36 40
Akurasi (%) 60 70 77,5 78,5 77 76 75,5 71 77 79,5 75
Dari tabel 4.31 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron yaitu 36. Akurasi tertinggi yang diperoleh yaitu 79,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
Jumlah Neuron
Gambar 4.55 Grafik Perubahan Akurasi Orde 16++, Hidden Layer 1
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 93
b) Hidden layer 2 Jumlah neuron optimal pada hidden layer 1 digunakan untuk mencari jumlah neuron pada hidden layer 2. Tabel 4.32 Hasil Akurasi Orde 16++, Hidden Layer 2 Jumlah Neuron Akurasi (%) Hidden Layer 1 Hidden Layer 2 2 64 4 71,5 8 74 12 75 16 76,5 36 20 71 24 76 28 82,5 32 76,5 36 74 40 73 Dari tabel 4.32 , dapat dilihat akurasi tertinggi ada pada hidden layer 1 dengan jumlah neuron 36 dan hidden layer 2 dengan jumlah neuron 28. Akurasi tertinggi yang diperoleh yaitu 82,5%. Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat dilihat pada grafik berikut ini:
Grafik Perubahan Akurasi 85
akurasi (%)
80 75 70 65 60 55 50 2
4
8
12
16
20
24
28
32
36
Jumlah Neuron
Gambar 4.56 Grafik Perubahan Akurasi Orde 16++, Hidden Layer 2
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 94
4.2.2
Pengujian Data Tunggal Setelah dilakukan pelatihan pada arsitektur jaringan syaraf tiruan, selanjutnya akan dilakukan pengujian terhadap data tunggal, dimana data yang diuji merupakan data suara input-an terbaru yang tidak termasuk dalam proses pelatihan dan pengujian data kelompok. Proses ini dilakukan dengan mengklasifikasikan suara mesin sepeda motor menggunakan model jaringan terbaik yang telah didapatkan dari proses pelatihan arsitektur jaringan. Data uji untuk masing-masing jenis suara mesin sepeda motor berjumlah satu file rekaman. Kemudian seluruh hasil identifikasi dari aplikasi tersebut divalidasikan terhadap teknisi mesin. Berikut ini tabel hasil uji coba terhadap 4 file rekaman suara mesin sepeda motor serta validasi teknisi mesin sepeda motor: Tabel 4.33 Hasil Pengujian Data Tunggal dan Validasi Teknisi Mesin Sepeda Motor
No
Nama File
Hasil Dari
Hasil Dari
Rekaman
Aplikasi
Pengecekan Mesin
Kerusakan Klep
Kerusakan Klep
Mesin
Mesin
Mesin Normal
Mesin Normal
Kerusakan Rantai
Kerusakan Rantai
Kamprat Mesin
Kamprat Mesin
Kerusakan Stang
Kerusakan Stang
Seher Mesin
Seher Mesin
1
klep.wav
2
normal.wav
3
rantai.wav
4
seher.wav
Status
Benar
Benar
Benar
Benar
Validasi Teknisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB V PENUTUP
5.1
Kesimpulan Dari hasil penelitian ini, identifikasi kerusakan mesin sepeda motor berdasarkan suara mesin menggunakan fitur LPC dan metode Back Propagation, dapat disimpulkan dalam beberapa hal, sebagai berikut: 1. Hasil dari percobaan pengujian variasi kombinasi ciri dan jumlah hidden layer beserta jumlah neuron-nya, dengan parameter arsitektur jaringan syaraf tiruan Back Propagation yaitu jumlah iterasi/epoch 200, nilai target error (mse) 0,0001, dan nilai laju pemahaman (=learning rate) 0,1 , menghasilkan akurasi tertinggi sebesar 84% pada ciri orde 10 dengan 2 hidden layer, yaitu jumlah neuron pada hidden layer 1 sebanyak 28 dan jumlah neuron pada hidden layer 2 sebanyak 20. 2. Model jaringan syaraf tiruan yang dihasilkan sudah mampu mengklasifikasikan suara mesin sepeda motor berdasarkan kondisi mesinnya, dengan baik karena akurasi sistem yang diperoleh cukup tinggi, maka aplikasi ini mampu mengklasifikasikannya dengan tepat, sehingga hasilnya sesuai dengan target aslinya.
5.2
Saran Saran yang dapat diberikan untuk mengembangkan aplikasi ini kedepannya yaitu: 1. Jumlah data suara mesin yang akan digunakan dalam pelatihan dan pengujian arsitektur jaringan ditambah lagi. 2. Metode ekstraksi ciri dapat menggunakan metode lain, contohnya MFCC. 3. Untuk pengembangan aplikasi ini lebih lanjutkan, dapat dibuat dalam bentuk aplikasi handphone seperti android dan ios, agar lebih mudah digunakan
oleh
masyarakat
95
dan
para
teknisi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA Susilawati, H., Astuti, W., Ulinnuha, N., & Taufiqurrohman, N. (2011). Sistem Pendeteksian Kerusakan Mesin Sepeda Motor 4-Langkah Berbasis Suara Menggunakan Support Vector Machine (SVM). Jawa Tengah, Purwokerto: Universitas Jendral Soedirman Purwokerto. Sutiman & Solikin, M. (2005). Mesin Sepeda Motor. Yogyakarta: Penerbit Insania. Gold, B. & Morgan, N. (2000). Speech and Audio Signal Processing : Processing and Perception of Speech and Music. New York: John Wiley & Sons, Inc. Rabiner, L. & Juang, B. H. (1993). Fundamentals of Speech Recognition. New Jersey: Prentice Hall PTR. Siang, J. J. (2005). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab (1). Yogyakarta: Penerbit ANDI. Khrisnadi, B. (2005). Simulasi Linear Predictive Coding (LPC) dengan Menggunakan Visual Basic 6.0. Tidak dipublikasikan. Yogyakarta: Universitas Sanata Dharma. Tan, P.-N., Steinbach, M., & Kumar, V. (2006). Introduction To Data Mining. Boston: Pearson Addison Wesley. Rohman, S., N., Hidayatno, A., & Zahra, A., A., (2012). Aplikasi Pencirian Dengan Linear Predictive Coding Untuk Pembelajaran Pengucapan Nama Hewan Dalam Bahasa Inggris Menggunakan Jaringan Syaraf Tiruan Propagasi Balik. Semarang: Universitas Diponegoro. Sutara, F., A., (2014). Analisis dan Implementasi Song Recog-Nition Menggunakan Algoritma Fast Fourier Transform. Medan: Universitas Sumatera Utara. Ellis,
D. (2003). Matlab Audio Processing Examples. https://www.ee.columbia.edu/~dpwe/resources/matlab/rastamat/deltas.m . 8 Oktober 2015.
Anggraeni, L., Rizal, A., & Usman, K. (2007). Pengenalan Suara Jantung Menggunakan Metode LPC dan JST-BP. Jawa Barat, Bandung: Sekolah Tinggi Teknologi Telkom.
96
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN Source Code:
menu.m
function varargout = menu(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @menu_OpeningFcn, ... 'gui_OutputFcn', @menu_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function menu_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = menu_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function direktori_pelatihan_Callback(hObject, eventdata, handles) function direktori_pelatihan_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function browse_data_Callback(hObject, eventdata, handles) dirName = uigetdir('C:\','cari data pelatihan'); set(handles.direktori_pelatihan,'String',dirName); files = dir(fullfile(dirName,'*.wav')); set(handles.list_data,'String',{files.name}); function list_data_Callback(hObject, eventdata, handles) function list_data_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function tombol_ekstraksi_Callback(hObject, eventdata, handles) list_nama_data = get(handles.list_data, 'String'); [jumlah,kata] = size(list_nama_data); disp(jumlah); if jumlah < 2 h = msgbox('Tidak ada data', 'Error','error'); return; end
97
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 98
wb = waitbar(0, 'proses ekstraksi data') tic dirName = get(handles.direktori_pelatihan,'String'); nama_file=char(list_nama_data); data=zeros(jumlah, 180); target_pelatihan=zeros(jumlah,4); disp(jumlah); for i=1:jumlah i_str = int2str(i); disdat=strcat('proses data ke-',i_str); disdat=char(disdat); disp(disdat); disp(nama_file(i,:)); % input data target pelatihan if nama_file(i,1)=='k' %1-klep target_pelatihan(i,1)=1;target_pelatihan(i,2)=0;target_pelatihan(i,3)=0;t arget_pelatihan(i,4)=0; elseif nama_file(i,1)=='n' %2-normal target_pelatihan(i,1)=0;target_pelatihan(i,2)=1;target_pelatihan(i,3)=0;t arget_pelatihan(i,4)=0; elseif nama_file(i,1)=='r' %3-rantai target_pelatihan(i,1)=0;target_pelatihan(i,2)=0;target_pelatihan(i,3)=1;t arget_pelatihan(i,4)=0; elseif nama_file(i,1)=='s' %4-seher target_pelatihan(i,1)=0;target_pelatihan(i,2)=0;target_pelatihan(i,3)=0;t arget_pelatihan(i,4)=1; else %no_classified target_pelatihan(i,1)=0;target_pelatihan(i,2)=0;target_pelatihan(i,3)=0;t arget_pelatihan(i,4)=0; end file_suara=strcat(dirName,'\',nama_file(i,:)); data_suara=wavread(char(file_suara)); [hasil8,hasil10,hasil12,hasil14,hasil16]=ekstraksi_ciri_lpc(data_suara,wb ); data_gabung=[hasil8 hasil10 hasil12 hasil14 hasil16]; [b,k]=size(data_gabung); for j=1:k data(i,j)=data_gabung(j); end waitbar(i/jumlah); end norm_data=normalisasi(data); save('data.mat','data'); save('norm_data.mat','norm_data'); save('target_pelatihan.mat','target_pelatihan'); pilihan_ciri=[1 8;1 16;1 24;25 34;25 44;25 54;55 66;55 78;55 90;91 104;91 118;91 132;133 148;133 164;133 180;0 0]; save('pilihan_ciri.mat','pilihan_ciri'); toc waktu=round(toc); %total waktu proses (detik) disp(waktu); menit=waktu/60; %dalam menit disp(menit); jam=menit/60; %dalam jam disp(jam); close(wb); h = msgbox('Ekstraksi Ciri Data Berhasil', 'Ekstraksi Data','warn');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 99
function deltacek_Callback(hObject, eventdata, handles) deltacekStatus=get(handles.deltacek,'Value'); if deltacekStatus == 1 set(handles.delta2cek,'Enable','on'); else set(handles.delta2cek,'Value',0); set(handles.delta2cek,'Enable','off'); end function delta2cek_Callback(hObject, eventdata, handles) function direktori_identifikasi_Callback(hObject, eventdata, handles) function direktori_identifikasi_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function tombol_cari_Callback(hObject, eventdata, handles) [fileName,pathname] = uigetfile('C:\*.wav','Pilih File Suara'); set(handles.direktori_identifikasi,'String',fileName); dirFile = strcat(pathname,fileName); file_suara = char(dirFile); handles.file_suara=file_suara; guidata(hObject, handles); function tombol_identifikasi_Callback(hObject, eventdata, handles) teksDirektoriUji=get(handles.direktori_identifikasi,'String'); if strcmp(teksDirektoriUji, 'pilih file') == 1 || strcmp(teksDirektoriUji, '') == 1 h = msgbox('Tidak Ada Data', 'Error','error'); return; else load 'pilihan_ciri.mat'; if pilihan_ciri(16,1) == 0 h = msgbox('Pilihan Ciri Tidak Ada', 'Error','error'); return; else wb = waitbar(0, 'Identifikasi Data'); file_suara = handles.file_suara; data_suara=wavread(file_suara); [hasil8,hasil10,hasil12,hasil14,hasil16]=ekstraksi_ciri_lpc(data_suara,wb ); dc=[hasil8 hasil10 hasil12 hasil14 hasil16]; save('dc.mat','dc'); waitbar(1/2); load 'net.mat'; load 'data.mat'; [x,y]=size(data); data_gabung = [data;dc]; data_gabung_norm=normalisasi(data_gabung); data_sim=data_gabung_norm(x+1,pilihan_ciri(pilihan_ciri(16,1),1):pilihan_ ciri(pilihan_ciri(16,1),2)); a=sim(net,data_sim.'); a=compet(a); [q, r]=max(a); if r == 1 set(handles.tampil_hasil,'String','Kerusakan KLEP Mesin Sepeda Motor');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 100
elseif r == 2 set(handles.tampil_hasil,'String','Mesin Sepeda Motor NORMAL'); elseif r == 3 set(handles.tampil_hasil,'String','Kerusakan RANTAI KAMPRAT Mesin Sepeda Motor'); elseif r == 4 set(handles.tampil_hasil,'String','Kerusakan STANG SEHER Mesin Sepeda Motor'); else set(handles.tampil_hasil,'String','Kerusakan Mesin Sepeda Motor Tidak Diketahui'); end waitbar(2/2); close(wb); end end function tampil_signal_Callback(hObject, eventdata, handles) teksDirektoriUji=get(handles.direktori_identifikasi,'String'); if strcmp(teksDirektoriUji, 'pilih file') == 1 || strcmp(teksDirektoriUji, '') == 1 h = msgbox('Tidak Ada Data', 'Error','error'); return; else [y,fs]=wavread(handles.file_suara); sinyal=y(1:fs,1); % sinyal selama 1 detik figure(1);subplot(2,1,1);plot(sinyal);axis('tight');ylabel('Amplitude');x label('Time'); subplot(2,1,2);ylabel('Spectrogram');xlabel('Frequency');specgram(sinyal, [],fs); end function tombol_backpropagation_Callback(hObject, eventdata, handles) radio8=get(handles.button8,'Value'); radio10=get(handles.button10,'Value'); radio12=get(handles.button12,'Value'); radio14=get(handles.button14,'Value'); radio16=get(handles.button16,'Value'); cekboxDelta=get(handles.deltacek,'Value'); cekboxDelta2=get(handles.delta2cek,'Value'); editHidden1=str2double(get(handles.hidden1,'String')); editHidden2=str2double(get(handles.hidden2,'String')); editEpoch=str2double(get(handles.epoch,'String')); if editHidden1==0 h = msgbox('Hidden Layer 1 Tidak Boleh 0','Error','error'); return; end tic wb = waitbar(0, 'proses backpropagation'); load 'norm_data.mat'; load 'target_pelatihan.mat'; load 'pilihan_ciri.mat'; ciri=0; if radio8 == 1 if cekboxDelta == 1 if cekboxDelta2 ==1 ciri=3; else ciri=2; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 101
else ciri=1; end elseif radio10 == 1 if cekboxDelta == 1 if cekboxDelta2 ==1 ciri=6; else ciri=5; end else ciri=4; end elseif radio12 == 1 if cekboxDelta == 1 if cekboxDelta2 ==1 ciri=9; else ciri=8; end else ciri=7; end elseif radio14 == 1 if cekboxDelta == 1 if cekboxDelta2 ==1 ciri=12; else ciri=11; end else ciri=10; end elseif radio16 == 1 if cekboxDelta == 1 if cekboxDelta2 ==1 ciri=15; else ciri=14; end else ciri=13; end else ciri=0; end data_pelatihan=norm_data(:,pilihan_ciri(ciri,1):pilihan_ciri(ciri,2)); dataset1 = [data_pelatihan(1:10,:);data_pelatihan(51:60,:);data_pelatihan(101:110,:) ;data_pelatihan(151:160,:)]; dataset2 = [data_pelatihan(11:20,:);data_pelatihan(61:70,:);data_pelatihan(111:120,: );data_pelatihan(161:170,:)]; dataset3 = [data_pelatihan(21:30,:);data_pelatihan(71:80,:);data_pelatihan(121:130,: );data_pelatihan(171:180,:)]; dataset4 = [data_pelatihan(31:40,:);data_pelatihan(81:90,:);data_pelatihan(131:140,: );data_pelatihan(181:190,:)]; dataset5 = [data_pelatihan(41:50,:);data_pelatihan(91:100,:);data_pelatihan(141:150, :);data_pelatihan(191:200,:)];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 102
targetset1 = [target_pelatihan(1:10,:);target_pelatihan(51:60,:);target_pelatihan(101: 110,:);target_pelatihan(151:160,:)]; targetset2 = [target_pelatihan(11:20,:);target_pelatihan(61:70,:);target_pelatihan(111 :120,:);target_pelatihan(161:170,:)]; targetset3 = [target_pelatihan(21:30,:);target_pelatihan(71:80,:);target_pelatihan(121 :130,:);target_pelatihan(171:180,:)]; targetset4 = [target_pelatihan(31:40,:);target_pelatihan(81:90,:);target_pelatihan(131 :140,:);target_pelatihan(181:190,:)]; targetset5 = [target_pelatihan(41:50,:);target_pelatihan(91:100,:);target_pelatihan(14 1:150,:);target_pelatihan(191:200,:)]; hasil_conmat=zeros(4,4); max=0; for i=1:5 if i == 1 input_train = [dataset1;dataset2;dataset3;dataset4].'; input_test = dataset5.'; target_train = [targetset1;targetset2;targetset3;targetset4].'; target_test = targetset5.'; elseif i == 2 input_train = [dataset1;dataset2;dataset3;dataset5].'; input_test = dataset4.'; target_train = [targetset1;targetset2;targetset3;targetset5].'; target_test = targetset4.'; elseif i == 3 input_train = [dataset1;dataset2;dataset4;dataset5].'; input_test = dataset3.'; target_train = [targetset1;targetset2;targetset4;targetset5].'; target_test = targetset3.'; elseif i == 4 input_train = [dataset1;dataset3;dataset4;dataset5].'; input_test = dataset2.'; target_train = [targetset1;targetset3;targetset4;targetset5].'; target_test = targetset2.'; else input_train = [dataset2;dataset3;dataset4;dataset5].'; input_test = dataset1.'; target_train = [targetset2;targetset3;targetset4;targetset5].'; target_test = targetset1.'; end [output,net]=backpropagation(input_train,target_train,input_test,editHidd en1,editHidden2,editEpoch); hasil_conmat = confusionmatrix(output) + hasil_conmat; sumAll = sum(sum(hasil_conmat)); sumDiag = sum(diag(hasil_conmat)); akurasiSem = (sumDiag/sumAll)*100; if akurasiSem > max save('net.mat','net'); max=akurasiSem; end waitbar(i/5); end jmlh_total = sum(sum(hasil_conmat)); jmlh_diag = sum(diag(hasil_conmat)); akurasi = (jmlh_diag/jmlh_total)*100; set(handles.teksAkurasi,'String',num2str(akurasi)); tabel=num2str(hasil_conmat); set(handles.confusion_matrix,'String',tabel);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 103
pilihan_ciri(16,1)=ciri; save('pilihan_ciri.mat','pilihan_ciri'); toc waktu=round(toc); waktu=num2str(waktu); set(handles.waktu_proses,'String',waktu); close(wb); h = msgbox('Pelatihan Jaringan SELESAI', 'Pelatihan Backpropagation','warn'); function hidden2_Callback(hObject, eventdata, handles) function hidden2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function epoch_Callback(hObject, eventdata, handles) function epoch_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function hidden1_Callback(hObject, eventdata, handles) function hidden1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function buttonHapus_Callback(hObject, eventdata, handles) set(handles.direktori_pelatihan,'String','pilih direktori'); set(handles.list_data,'String','data...*.wav'); function edit12_Callback(hObject, eventdata, handles) function edit12_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit13_Callback(hObject, eventdata, handles) function edit13_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
autokorelasi.m
function [ hasil ] = autokorelasi( data,orde ) [f,s]=size(data); for i=1:f for j=1:orde+1 hasil(i,j)=0; for k=1:s-j
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 104
hasil(i,j)=hasil(i,j)+(data(i,k)*data(i,k+j)); end end end end
backpropagation.m
function [ output, net ] = backpropagation( input_train, target_train, input_test, hid_net1, hid_net2, epochs) % Inisialisasi jaringan rng(0); if hid_net2 == 0 net=newff(minmax(input_train),[hid_net1,4],{'logsig','purelin'},'trainrp' ); else net=newff(minmax(input_train),[hid_net1,hid_net2,4],{'logsig','logsig','p urelin'},'trainrp'); end net=init(net); net.trainParam.epochs = epochs; net.trainParam.lr = 0.1; net.trainParam.goal = 0.0001; % pelatihan jaringan [net,tr]=train(net,input_train,target_train); % pengujian jaringan error=sim(net,input_test); a=compet(error); output=a.'; end
confusionmatrix.m
function [ output_conmat ] = confusionmatrix( input_data ) [xb,yk] = size(input_data); conmat = zeros(xb,1); for i=1:xb data=input_data(i,:); [out, ind]=max(data); if(ind == 1) conmat(i)=1; elseif(ind == 2) conmat(i)=2; elseif(ind == 3) conmat(i)=3; else conmat(i)=4; end end output_conmat=zeros(4,4); conmat_a=conmat(1:10,:); conmat_b=conmat(11:20,:); conmat_c=conmat(21:30,:); conmat_d=conmat(31:40,:); for i=1:10 if(conmat_a(i)==1) output_conmat(1,1)=output_conmat(1,1)+1; end if(conmat_a(i)==2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 105
output_conmat(1,2)=output_conmat(1,2)+1; end if(conmat_a(i)==3) output_conmat(1,3)=output_conmat(1,3)+1; end if(conmat_a(i)==4) output_conmat(1,4)=output_conmat(1,4)+1; end if(conmat_b(i)==1) output_conmat(2,1)=output_conmat(2,1)+1; end if(conmat_b(i)==2) output_conmat(2,2)=output_conmat(2,2)+1; end if(conmat_b(i)==3) output_conmat(2,3)=output_conmat(2,3)+1; end if(conmat_b(i)==4) output_conmat(2,4)=output_conmat(2,4)+1; end if(conmat_c(i)==1) output_conmat(3,1)=output_conmat(3,1)+1; end if(conmat_c(i)==2) output_conmat(3,2)=output_conmat(3,2)+1; end if(conmat_c(i)==3) output_conmat(3,3)=output_conmat(3,3)+1; end if(conmat_c(i)==4) output_conmat(3,4)=output_conmat(3,4)+1; end if(conmat_d(i)==1) output_conmat(4,1)=output_conmat(4,1)+1; end if(conmat_d(i)==2) output_conmat(4,2)=output_conmat(4,2)+1; end if(conmat_d(i)==3) output_conmat(4,3)=output_conmat(4,3)+1; end if(conmat_d(i)==4) output_conmat(4,4)=output_conmat(4,4)+1; end end end
delta_lpc.m
function [ d ] = delta_lpc( x, w ) % D = deltas(X,W) Calculate the deltas (derivatives) of a sequence % Use a W-point window (W odd, default 9) to calculate deltas using a % simple linear slope. This mirrors the delta calculation performed % in feacalc etc. Each row of X is filtered separately. % 2003-06-30
[email protected] if nargin < 2 w = 9; end [nr,nc] = size(x); if nc == 0 % empty vector passed in; return empty vector d = x;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 106
else % actually calculate deltas % Define window shape hlen = floor(w/2); w = 2*hlen + 1; win = hlen:-1:-hlen; % pad data by repeating first and last columns xx = [repmat(x(:,1),1,hlen),x,repmat(x(:,end),1,hlen)]; % Apply the delta filter d = filter(win, 1, xx, [], 2); % filter along dim 2 (rows) % Trim edges d = d(:,2*hlen + [1:nc]); end end
ekstraksi_ciri_lpc.m
function [ hasil8,hasil10,hasil12,hasil14,hasil16 ] = ekstraksi_ciri_lpc( data,wb ) waitbar(0,wb,'ekstraksi ciri LPC'); % cek panjang data (maks. 3 detik) [xs,ys]=size(data); if xs > 150000 data_suara=data(1:150000,:); else data_suara=data; end % proses frame blocking hasil_framing = frame_blocking(data_suara); waitbar(1/6); % proses windowing hasil_windowing = hamming_window(hasil_framing); waitbar(2/6); % konversi data windowing matrix 1xdata [f,d]=size(hasil_windowing); out_windowing=hasil_windowing(1,:); for i=2:f out_windowing=[out_windowing hasil_windowing(i,:)]; end % proses analisis autokorelasi % orde 8 hasil_autokorelasi8=autokorelasi(out_windowing,8); % orde 10 hasil_autokorelasi10=autokorelasi(out_windowing,10); % orde 12 hasil_autokorelasi12=autokorelasi(out_windowing,12); % orde 14 hasil_autokorelasi14=autokorelasi(out_windowing,14); % orde 16 hasil_autokorelasi16=autokorelasi(out_windowing,16); waitbar(3/6); % proses analisis LPC (levinson durbin) % orde 8 orde8=levinson_durbin(hasil_autokorelasi8,8).'; lpc8=orde8(:,2:9); % orde 10 orde10=levinson_durbin(hasil_autokorelasi10,10).'; lpc10=orde10(:,2:11); % orde 12 orde12=levinson_durbin(hasil_autokorelasi12,12)'; lpc12=orde12(:,2:13); % orde 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 107
orde14=levinson_durbin(hasil_autokorelasi14,14).'; lpc14=orde14(:,2:15); % orde 16 orde16=levinson_durbin(hasil_autokorelasi16,16).'; lpc16=orde16(:,2:17); waitbar(4/6); % proses delta1 LPC % orde 8 delta1_8=delta_lpc(lpc8,8); % orde 10 delta1_10=delta_lpc(lpc10,10); % orde 12 delta1_12=delta_lpc(lpc12,12); % orde 14 delta1_14=delta_lpc(lpc14,14); % orde 16 delta1_16=delta_lpc(lpc16,16); waitbar(5/6); % proses delta2 LPC % orde 8 delta2_8=delta_lpc(delta1_8,8); % orde 10 delta2_10=delta_lpc(delta1_10,10); % orde 12 delta2_12=delta_lpc(delta1_12,12); % orde 14 delta2_14=delta_lpc(delta1_14,14); % orde 16 delta2_16=delta_lpc(delta1_16,16); % gabungan hasil ekstraksi LPC % orde 8 hasil8=[lpc8 delta1_8 delta2_8]; % orde 10 hasil10=[lpc10 delta1_10 delta2_10]; % orde 12 hasil12=[lpc12 delta1_12 delta2_12]; % orde 14 hasil14=[lpc14 delta1_14 delta2_14]; % orde 16 hasil16=[lpc16 delta1_16 delta2_16]; waitbar(6/6); end
frame_blocking.m
function [ output_data ] = frame_blocking( data_input ) % diambil 40 milisecond untuk setiap frame, dengan overlapping sebanyak 20 milisecond N=1764; M=N/2; jml_frame=149; % 3 detik hasil=zeros(jml_frame, N); x=1; for i=1:jml_frame for j=1:N hasil(i, j)=data_input(x); x=x+1; end x=x-M; end output_data=hasil; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 108
hamming_window.m
function [ hasil ] = hamming_window( input_window ) [x,y]=size(input_window); for i=1:x for j=1:y input_window(i, j) = input_window(i,j) * (0.54 - (0.46 * cos ((2 * pi * j) / (y-1)))); end end hasil = input_window; end
levinson_durbin.m
function [ap, b0, e, g] = levinson_durbin(r, p) ap = 0; g = []; aj(1) = 1; ej = r(1); e = [ej]; for j=1:p, aj1 = zeros(j+1, 1); aj1(1) = 1; gammaj = r(j+1); for i=2:j, gammaj = gammaj + aj(i)*r(j-i+2); end lambdaj1 = -gammaj/ej; g = [g ; lambdaj1]; for i=2:j, aj1(i) = aj(i)+lambdaj1*(aj(j-i+2)'); end aj1(j+1) = lambdaj1; ej1 = ej*(1-abs(lambdaj1)^2); e = [e ; ej1]; aj = aj1; ap = aj1; ej = ej1; end b0 = sqrt(ej1); end
normalisasi.m
function [ hasil_norm ] = normalisasi( input_data ) hasil_norm = normc(input_data); end
tampil_visual.m
[filename,pathname] = uigetfile('*.wav','Pilih File Suara'); file_suara = strcat(pathname,filename); % baca data suara .wav data_suara=wavread(char(file_suara)); figure(1);plot(data_suara);ylabel('Amplitude');xlabel('Time'); % proses frame blocking hasil_framing = frame_blocking(data_suara); figure(2);plot(hasil_framing);ylabel('Amplitude');xlabel('Frame'); % proses windowing hasil_windowing = hamming_window(hasil_framing); figure(3);plot(hasil_windowing);ylabel('Amplitude');xlabel('Frame');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 109
% konversi data windowing matrix 1xdata [f,d]=size(hasil_windowing);out_windowing=hasil_windowing(1,:); for i=2:f out_windowing=[out_windowing hasil_windowing(i,:)]; end % proses analisis autokorelasi (orde 8) hasil_autokorelasi8=autokorelasi(out_windowing,8); figure(4);plot(hasil_autokorelasi8);ylabel('Data Autokorelasi');xlabel('Orde LPC + 1'); % proses analisis LPC (levinson durbin) (orde 8) orde8=levinson_durbin(hasil_autokorelasi8,8).';lpc8=orde8(:,2:9); figure(5);plot(lpc8);ylabel('Koefisien LPC');xlabel('Orde LPC'); % proses delta1 LPC (orde 8) delta1_8=delta_lpc(lpc8,8); % proses delta2 LPC (orde 8) delta2_8=delta_lpc(delta1_8,8); % gabungan hasil ekstraksi LPC (orde 8) hasil8=[lpc8 delta1_8 delta2_8]; figure(6);plot(hasil8);ylabel('Data');xlabel('Gabungan LPC');i