Identifikasi kerusakan mesin sepeda motor berdasarkan suara mesin menggunakan fitur linear predictive coding dan metode back propagation.

(1)

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


(2)

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


(3)

i

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


(4)

ii

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


(5)

iii HALAMAN PERSETUJUAN


(6)

iv HALAMAN PENGESAHAN


(7)

v 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”


(8)

vi

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


(9)

vii

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


(10)

viii 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


(11)

ix 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


(12)

x

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


(13)

xi

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,


(14)

xii 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


(15)

xiii

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


(16)

xiv

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


(17)

xv

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


(18)

xvi

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


(19)

xvii

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


(20)

xviii

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


(21)

1

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


(22)

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.


(23)

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.


(24)

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


(25)

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


(26)

6

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 K-Fold 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).


(27)

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 :


(28)

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).


(29)

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).


(30)

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).


(31)

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 Keterangan

CC Cubic Capacity (Kapasitas Kubik), satuan yang digunakan untuk mengukur mesin.

Knalpot

Pipa dibagian belakang motor tempat membuang 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.

Silinder

Bagian dari mesin dimana bahan bakar diolah untuk menjadi tenaga untuk menjalankan sepeda motor

Seher Piston atau torak.

Stang Seher

Connecting Rod (Batang Piston), adalah penghubung antara piston dan poros engkol, yang berfungsi untuk mengubah gerakan bolak balik piston menjadi gerak putar.

Poros Engkol

Crankshaft, berfungsi meneruskan daya yang didapat dari piston ke penggerak roda. Disinilah putaran mesin terjadi.

Rantai Kamprat

Timing Chain (Rantai Keteng), berfungsi untuk memutar camshaft sehingga didapat pembukaan dan penutupan katup dengan waktu yang tepat sesuai putaran mesin dan langkah kerja mesin.


(32)

valve (gerakan membuka dan menutup).

Klep

Valve (Katup), berfungsi untuk mengatur keluar 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


(33)

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 ≈ s n − + s n − + ⋯ + s n − p (2.1)

dimana, koefisien , , … , 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 :


(34)

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.2) Jika window didefinisikan sebagai w(n), maka hasil dari penjendelaan sinyal adalah :


(35)

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 :

= ∑ − − ̃ ̃ +

= , = , , … (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 parameter-parameter 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) :

=

(2.5)

=

{ −∑�−1−1 −1−1 | − | }

, ≤ ≤

(2.6)

=

(2.7)

=

, ≤ ≤ −

(2.8)

� =

(2.9)

Dengan menyelesaikan persamaan 2.5 sampai 2.9 secara rekursif untuk i = 1,2,….,p , koefisien LPC diperoleh sebagai berikut :


(36)

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

penghubung-penghubung.

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.


(37)

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 , , … , dan m buah

unit output (� , � , … , � ). Kemudian ( , , … , ) menyatakan

bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk memperoleh keakuratan hasil yang maksimal.


(38)

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 , , … , dan m

buah unit output (� , � , … , � ), sebuah lapis tersembunyi yang terdiri

dari p buah unit ( , … , ). 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


(39)

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


(40)

yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range (0,1).

= + −� dengan turunan ′ = ( − ) (2.13)

Fungsi lain yang sering dipakai adalah sigmoid bipolar dengan range (-1,1).

= + −�− dengan turunan ′ =

( + � )( − � )

(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


(41)

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 � =

, , … , 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


(42)

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)

_ = + ∑= (2.15)

= ( _ ) (2.16)

Langkah 5: hitung semua keluaran di unit tersembunyi (k = 1, 2,

… , m).

_ = + ∑ = (2.17)

= _ (2.18)

Fase II : Propagasi Mundur

Langkah 6: hitung faktor � unit keluaran berdasarkan error setiap

unit keluaran (k = 1, 2, … , m).

� = − − (2.19)

Hitung suku perubahan bobot dengan laju percepatan

∆ = � ; = , , … , ; = , , … , (2.20) Langkah 7: hitung faktor � unit tersembunyi berdasarkan error di

setiap unit tersembunyi = = , , … ,

�_ = ∑ = � (2.21)

� = �_ ( − ) (2.22)

Hitung suku perubahan bobot

∆ = � ; = , , … , ; = , , … , (2.23) Fase III : Perubahan Bobot

Langkah 8: Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke unit keluaran:

= + ∆ ( = , , … , ; = , , … , ) (2.24) Perubahan bobot garis yang menuju ke unit tersembunyi:

= + ∆ ( = , , … , ; = , , … , ) (2.25) Langkah 9: bandingkan kondisi penghentian


(43)

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 = . √� Algoritma inisialisasi:

Langkah 1: Inisisalisasi semua bobot ( ) dengan

bilangan acak dalam interval [-0.5, 0.5].

Langkah 2: hitung ‖ ‖ = √ + + ⋯ + (2.26)

Langkah 3: bobot yang dipakai sebagai inisialisasi = =

‖ ‖ (2.27)

Langkah 4: bias yang dipakai sebagai inisialisasi = =

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


(44)

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.28)

2.6 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.


(45)

Tabel 2.2 Confusion Matrix 2 Kelas (Tan, Steinbach, & Kumar, 2006) Hasil Pengujian

1 0

Target Kelas

1 F11 F10

0 F01 F00

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.29)

2. Persamaan untuk menghitung error keseluruhan klasifikasi

= ℎ = + ++ + (2.30)

3. Persamaan untuk menghitung akurasi klasifikasi kelas 1

= ℎ = + (2.31)

4. Persamaan untuk menghitung error klasifikasi kelas 1

= ℎ = + (2.32)

5. Persamaan untuk menghitung akurasi klasifikasi kelas 0

= ℎ = + (2.33)

6. Persamaan untuk menghitung error klasifikasi kelas 0


(46)

26

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:


(47)

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.


(48)

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.


(49)

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.


(50)

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.


(51)

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 frekuensi-nya 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 :


(52)

Data

Data Uji Ekstraksi Ciri

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.


(53)

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

Analisis LPC Autokorelasi

Delta LPC

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


(54)

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:

ℎ = �− +

(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 naik. Hal ini dapat diartikan menormalisasi sinyal digital.


(55)

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:


(56)

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.


(57)

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:


(58)

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

x4

x5

x6

x7

x8

Input

z1

z2

z3

z4

y1

y2

y3

y4

Hidden Layer 1 Output


(59)

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

x4

x5

x6

x7

x8

Input

z1

z2

z3

z4

z1

z2

z3

z4

Hidden Layer 1

y1

y2

y3

y4

Output Hidden Layer 2


(60)

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


(1)

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


(2)

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 dpwe@ee.columbia.edu

if nargin < 2 w = 9; end

[nr,nc] = size(x); if nc == 0

% empty vector passed in; return empty vector


(3)

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);


(4)

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


(5)

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);


(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); 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];