Aplikasi perintah suara pada windows

(1)

HARIS KISUMAL 2040.9100.2533

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH


(2)

JAKARTA

2010 M / 1431 H

APLIKASI PERINTAH SUARA PADA WINDOWS

HARIS KISUMAL 2040.9100.2533

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI


(3)

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2010 M / 1431 H

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, september 2010

Haris Kisumal


(4)

ABSTRAKSI

HARIS KISUMAL, Apikasi Perintah Suara Pada Windows. (Dibawah bimbingan Zainul Arham dan Khodijah Huliyah).

Manusia merupakan makhluk sosial yang memerlukan komunikasi dengan sesamanya dalam kehidupan sehari-hari untuk menunjang kebutuhan hidup mereka, Suara merupakan salah satu media komunikasi yang paling sering dan umum digunakan oleh manusia. Manusia juga mengatur dan mengendalikan suara mereka yang disebut bernyanyi, sehingga menghasilkan keluaran suara yang baik dan bagus. Selain itu, setiap manusia mempunyai bentuk suara atau karakter suara yang berbeda-beda. Teknologi informasi adalah suatu teknologi yang digunakan untuk mengelolah data, termasuk memproses, mendapatkan, menyusun, menyimpan, memanipulasi data dalam berbagai cara untuk menghasilkan informasi yang berkualitas. Tetapi ada beberapa masalah yang menyebabkan user mengalami kesulitan untuk menggunakan komputer, keinginan manusia untuk mempermudah penggunaan suatu alat dan (dalam dunia kerja) kurangnya efektifitas produksi kerja user yang dikarenakan harus menggunakan tools yang rumit sehingga pengelolahan informasi menjadi lebih lama, serta pengguna cacat fisik (khususnya tangan), mengalami kesulitan saat menggunakan teknologi komputer. Untuk memecahkan beberapa masalah tersebut, pengenalan karakteristik alami manusia dapat digunakan, misalkan suara. Suara merupakan salah satu bentuk biometric yang dapat digunakan sebagai person identification, contoh lainnya adalah wajah, sidik jari, iris mata, atau tanda tangan. Sistem yang disebut voice command, menggunakan sistem yang menggunakan suara sebagai kunci utama untuk mengenali perintah dalam bahasa mesin yang kemudian perintah itu dijalankan. Penulis menggunkan C# (C Sharp) sebagai bahasa pemrograman dan RAD (Rapid Application Development).


(5)

A S R ( m b k 2 Assalaamu’a Alham Subhanahu Rasulullah M (amin). Ha menyelesaik Terwu bantuan dan kepada : 1. Bapak dan Te 2. Bapak alaikum Wr. mdulillah, ra Wata’ala. Muhammad anya berka kan skripsi y ujudnya tulis n bimbingan

k DR. Syopia eknologi. k Yusuf Durr

KATA

Wb. asa syukur Rahmat da SAW besert at petunjuk ang berjudu san dalam be

dari berbaga

ansyah Jaya

rachman, sel

A PENGA

ANTAR

tiada terki an salam ta keluarga, k dan per l : Aplikasi P

ira penulis semoga ter sahabat, dan rtolongan A

Perintah Sua

panjatkan rcurahkan s n pengikut-p Allah-lah p ara Pada Win

kepada All selalu kepa pengikut beli penulis dap ndows. lah ada iau pat

entuk skripsii ini, tentunyya tidak terleepas dari ai pihak. Rassa terima kassih penulis uucapkan

Putra, M.SIS, selaku Deekan Fakultaas Sains


(6)

3. Bapak Zainul Arham, M.Si selaku dosen pembimbing I, dan

4. Ibu Khodijah Hulliyah, M.Si selaku dosen pembimbing II, yang telah memberikan bimbingan, waktu, dan perhatiannya dalam penyusunan skripsi ini. 5. Kepada kedua orang tuaku. Papa, Mama terimakasih atas semua hal yang telah

engkau berikan kepadaku.

6. Adikku yang selalu mendukung dalam pembuatan skripsi ini.

7. Seluruh Dosen dan staf karyawan Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta yang telah mengajar atau membantu penulis selama kuliah.

8. Teman-teman semua yang telah membantu dan mendukung dalam pembuatan program dan penulisan skripsi ini (khususnya TI B), the best lah.

Dalam penyusunan skripsi ini, penulis juga tidak luput dari berbagai masalah dan menyadari sepenuhnya bahwa penulisan ini masih jauh dari sempurna dan tidak lepas dari kesalahan dan kekurangan, oleh karena itu dengan senang hati penulis akan menerima semua saran dan kritik maupun ide-ide yang membangun dari rekan-rekan pembaca. Akhir kata semoga Allah membalas kebaikan mereka yang telah membimbing penulis dalam membuat skripsi ini. Semoga skripsi ini berguna bagi penulis dan pada pembaca umumnya.

Wassalaamu’alaikum Wr. Wb.

Jakarta, September 2010 Penulis


(7)

Haris Kisumal NIM. 2040 9100 2533

DAFTAR ISI

JUDUL ... i

PENGESAHAN UJIAN ... ii

PERNYATAAN ... iii

ABSTRAK ... iv

KATA PENGANTAR ... v

DAFTAR ISI ... vi

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... x

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 4

1.3 Batasan Masalah ... 4

1.4 Tujuan dan Manfaat Penelitian ... 5

1.5 Metodologi Penelitian ... 6


(8)

BAB II LANDASAN TEORI

2.1 Pengertian aplikasi ... 10

2.2 Pengenalan Suara (speech recognition) ... 10

2.2.1 Sejarah Pengenalan Suara ... 11

2.2.2 Kinerja Sistem Pengenalan Suara ... 14

2.2.3 Proses perubahan dari suara ke data... 14

2.2.4 Bagaimana program pengenalan suara bekerja ... 16

2.2.5 Framework.net ... 17

2.2.6 GUI (Graphical User Interface) ... 20

2.3 Pengenalan Pola ... 20

2.4 Sinyal ... 21

2.5 Sistem Pengenalan Suara ... 28

2.6 Linear Predictive Coding (LPC) ... 29

2.6.1 LPC Model ... 30

2.6.2 Penentuan Voiced dan Unvoiced ... 32

2.7 C# ( C sharp) ... 34

2.7.1 Sekilas tentang c# (c sharp) ... 35

BAB III METODOLOGI PENELITIAN 3.1 Metodologi Penelitian ... 38

3.2 Analisis Kebutuhan Sistem ... 39

3.2.1 Metode perancangan system ... 40

3.2.2 Fase Menentukan Syarat-Syarat ... 45

3.2.3 Fase Perancangan ... 46

3.2.4 Fase Konstruksi ... 46

3.2.5 Fase Pelaksanaan ... 47

3.3 Alasan Menggunakan RAD ... 47


(9)

BAB IV ANALISA DAN PEMBAHASAN

4.1 Perencanaan Aplikasi ... 51

4.1.1 Pengumpulan Data ... 52

4.2 Fase Menentukan Syarat-syarat ... 53

4.2.1 Mendefinisikan Masalah ... 53

4.2.2 Pendefinisian Kebutuhan ... 53

4.2.3 Tujuan Informasi ... 53

4.3 Fase Perancangan ... 54

4.3.1 Perancangan Antar Muka ... 54

4.4 Fase Konstruksi ... 56

4.4.1 Instalasi Program ... 56

4.4.2 Menjalankan Software Visual Studio ... 56

4.4.3 Mengatur Tata Letak Komponen GUI ... 57

4.4.4 Memprogram Komponen GUI ... 59

4.5 Fase Pelaksanaan ... 62

4.5.1 Spesifikasi Minimum Pemakaian Simulasi ... 62

4.5.2 Spesifikasi computer yang digunakan ... 62

4.5.3 Proses pengujian aplikasi ... 63

4.6 Evaluasi Pengujian ... 65

4.7 Hasil Penelitian ... 66

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 67

5.2 Saran ... 68

DAFTAR PUSTAKA ... 69 LAMPIRAN


(10)

DAFTAR GAMBAR

Gambar 2.1. Diagram Gelombang Sinyal Analog 22

Gambar 2.2. Bentukan Sinyal Sample ... 24

Gambar 2.3. Bentukan Proses Pencuplikan ... 25

Gambar 2.4. Sistem Pengolahan Sinyal Analog ... 26

Gambar 2.5. Sistem Pengolahan Sinyal Digital ... 27

Gambar 2.6. Diagram Blok Sistem Pengenalan Suara ... 28

Gambar 2.7. Human vs Voice Coder Speech Production ... 31

Gambar 2.8. Voiced Waveform ... 32

Gambar 2.9. Unvoiced Waveform ... 33

Gambar 3.1. Global Flowchart Analisis Kebutuhan Sistem ... 40

Gambar 3.2. Rice Picture dari Sistem Aplikasi Perintah Suarfa Untuk Menjalankan Peritah Pada Windows ... 41

Gambar 3.3. Sequence Diagram Aplikasi ... 42

Gambar 3.4. Flowchart Program Utama ... 43

Gambar 3.5. Skema Pengembangan Sistem RAD ... 44

Gambar 4.1. Menjalankan Software Visual Studio... 56

Gambar 4.2. Tampilan Awal Software Visual Studio ... 57

Gambar 4.3. Membuat Project baru ... 58

Gambar 4.4. Halaman Kerja Pembuatan GUI... 58

Gambar 4.5. Menginput Kode Program Pada Enable Button ... 59

Gambar 4.6. Kode Program dari Enable Button ... 60

Gambar 4.7. Menginput Kode Program Pada Disable Button ... 61

Gambar 4.8. Kode Program pada Disable Button ... 61

Gambar 4.9. Tampilan Menu Utama Aplikasi Perintah Suara ... 63

Gambar 4.10. Tampilan Menu Saat Enable Speech Diaktifkan ... 53

Gambar 4.11. Tampilan Menu Pemanggilan Data World ... 64

Gambar 4.12. Tampilan Menu Pemanggilan Data Internet ... 64


(11)

DAFTAR TABEL

Tabel 3.1. Perbandingan Model Pengembangan Sistem ... 48 Tabel 4.1. Rancangan Menu Halaman Utama Aplikasi ... 54 Tabel 4.2. Pengucapan Pengenalan Suara ... 66


(12)

BAB I

PENDAHULUAN

1.7 Latar Belakang

Manusia merupakan makhluk sosial yang memerlukan komunikasi dengan sesamanya dalam kehidupan sehari-hari untuk menunjang kebutuhan hidup mereka, Suara merupakan salah satu media komunikasi yang paling sering dan umum digunakan oleh manusia. Manusia dapat memproduksi suaranya dengan mudah tanpa memerlukan energi yang besar. Manusia juga mengatur dan mengendalikan suara mereka yang disebut bernyanyi, sehingga menghasilkan keluaran suara yang baik dan bagus. Selain itu, setiap manusia mempunyai bentuk suara atau karakter suara yang berbeda-beda. Sehingga suara dapat dibedakan dengan cara didengarkan atau dengan menggunakan metode tertentu.

Teknologi informasi adalah suatu teknologi yang digunakan untuk mengelola data, termasuk memproses, mendapatkan, menyusun, menyimpan, memanipulasi data dalam berbagai cara untuk menghasilkan informasi yang berkualitas, yaitu informasi yang relevan, akurat dan tepat waktu, yang berguna untuk keperluan pribadi, bisnis, dan pemerintahan dan merupakan informasi yang strategis untuk pengambilan keputusan. Teknologi ini menggunakan seperangkat komputer untuk mengolah data, sistem jaringan untuk


(13)

menghubungkan suatu komputer dengan komputer lainnya sesuai dengan kebutuhan, dan teknologi telekomunikasi digunakan agar data dapat disebar dan diakses secara global (Natkusumah, E.K., “ perkembangan teknologi informasi di Indonesia.”, LIPI Bandung, 2002). Hampir semua bidang telah tereintegrasi dengan komputer, misalkan bidang industri, bidang pendidikan, bidang transportasi, sampai dengan bidang pertahanan dan keamanan suatu negara. Salah satu contoh, peran teknologi dalam dunia pendidikan dapat dilihat dari pergeseran dalam dunia pendidikan dari pendidikan tatap muka yang konvensional ke arah pendidikan yang lebih terbuka (Mukhopadhyay M., 1995).

Dengan menggunakan teknologi komputer segalanya menjadi lebih efisien dan praktis. Tetapi ada beberapa masalah yang menyebabkan user

mengalami kesulitan untuk menggunakan komputer, Masalah lain yang muncul dalam perkembangan teknologi komputer adalah kesulitan user atau pengguna komputer untuk menggunakan sejumlah tools yang terdapat di suatu aplikasi komputer, kemudian keinginan manusia untuk mempermudah penggunaan suatu alat dan (dalam dunia kerja) kurangnya efektivitas produksi kerja user yang dikarenakan harus menggunakan tools yang rumit sehingga pengelolaan informasi menjadi lebih lama, serta pengguna cacat fisik, mengalami kesulitan saat menggunakan teknologi komputer.

Untuk memecahkan beberapa masalah tersebut, pengenalan karakteristik alami manusia dapat digunakan, misalkan suara. Suara merupakan salah satu bentuk biometric yang dapat digunakan sebagai person identification, contoh


(14)

lainnya adalah wajah, sidik jari, iris mata, atau tanda tangan. Sistem yang disebut voice command, menggunakan sistem yang menggunakan suara sebagai kunci utama untuk mengenali perintah dalam bahasa mesin yang kemudian perintah itu dijalankan. Bila dibandingkan dengan person identification yang lain, pengenalan suara pembicara (speaker recognition) tidak membutuhkan biaya yang besar dan tidak membutuhkan peralatan khusus. Dari segi keamanan, sistem ini juga sangat baik, karena karakteristik suara manusia yang berbeda.

Perangkat lunak pengenalan suara pembicara ini merupakan cikal bakal munculnya perangkat lunak perintah suara. Perangkat lunak perintah suara adalah suatu aplikasi yang memungkinkan manusia untuk menggunakannya, tanpa perlu berhubungan langsung (untuk komputer), sebagai pengganti alat utama. Misalkan dalam penggunaannya untuk menjalankan perintah dari pengguna mobil, atau dalam segi keamanan data, dimana komputer akan menggunakan suara untuk membuka suatu data.

Pembuatan perangkat lunak perintah suara, dahulunya sangat mustahil, tapi semenjak ditemukannya Markov Model, aplikasi ini dapat dibuat. Dengan berkembangnya jaman dan teknologi, perintah suara dibuat dengan berbagai cara dengan menggunakan berbagai macam bahasa pemrograman. Oleh sebab itu, penulis mengambil judul tulisan Perancangan Aplikasi Perintah Suara Pada Windows, dikarenakan aplikasi perintah suara ini sangatlah penting dan efisien, serta pembuatan aplikasi ini juga disesuaikan dengan perkembangan teknologi saat ini.


(15)

Selain itu, dengan dibuatnya aplikasi perancangan program ini seorang

user juga dapat mempermudah menggunakan windows, mempercepat proses penggunaan aplikasi pada windows, Membantu pengguna cacat fisik (terutama tangan) agar dapat menjalankan program pada Microsoft Windows, dan Meningkatkan keefektifan kerja dan meningkatkan waktu penggunaan komputer yang semakin cepat bahkan bagi pengguna awal sekalipun.

Dengan adanya perangkat lunak perintah suara, pengguna komputer cukup memberikan perintah-perintah secara lisan kepada komputer selayaknya memberikan perintah kepada orang lain.

1.8 Perumusan Masalah

Berikut ini adalah perumusan masalah yang harus diselesaikan oleh penulis :

Bagaimana menerapkan perintah suara pada aplikasi yang telah disediakan oleh visual studio 2008.

1.9 Batasan Masalah

Agar pembahasan dalam skripsi ini tidak terlalu luas, namun dapat mencapai hasil yang optimal, maka penulis membatasi masalah tentang aplikasi perintah suara ini diantaranya adalah :


(16)

1. Pengambilan suara dilakukan dengan menggunakan microphone yang diletakan didekat mulut yang dihubungkan sound card yang terdapat dalam PC.

2. Pengambilan suara dilakukan dilingkungan yang tertutup dan tenang.

3. Aplikasi ini bersifat close set, artinya aplikasi ini hanya mengenali kata-kata yang berada dalam database.

4. Aplikasi ini hanya dapat mengenali perintah dalam sistem operasi Windows. 5. Proses pelatihan dan pengujian suara pada aplikasi ini dapat dilakukan oleh

penguna pria dan wanita.

6. Piranti lunak yang digunakan dalam proses perancangan aplikasi ini adalah Microsoft Visual C#.

1.4Tujuan dan Manfaat Penelitian

1.4.1 Tujuan dari aplikasi ini adalah :

a. Merancang aplikasi pengenalan suara untuk menjalankan beberapa perintah Windows.

b. Membuat komputer dapat mengenali dan melakukan perintah dari pembicara.

c. Meningkatkan keefektifan kerja dan meningkatkan waktu penggunaan komputer yang semakin cepat bahkan bagi pengguna awal sekalipun.


(17)

1.4.2 Sedangkan manfaat dari aplikasi ini adalah :

a. Mempermudah penggunaan Windows bagi pengguna. b. Mempercepat proses penggunaan Windows.

c. Membantu pengguna cacat fisik (terutama tangan) agar dapat menjalankan program pada Microsoft Windows.

d. Bagi perusahaan, lembaga atau organisasi, program ini dirancang untuk memotong waktu pengoperasian komputer seefektif mungkin sehingga kinerja perusahaan dapat meningkat.

1.5 Metodologi Penelitian

1.5.1 Teknik Pengumpulan Data

Metode pengumpulan data yang penulis gunakan adalah adalah metode studi pustaka, studi literatur, metode observasi.

a. Metode studi pustaka

Metode studi pustaka merupakan pengumpulan data dan informasi dengan cara membaca buku-buku referensi e-book dan

website yang berhubungan dengan penelitian ini seperti situs mengenai pemrograman C#, dan sebagainya.

b. Metode observasi

Metode Observasi adalah metode pengumpulan informasi dengan cara pengamatan atau peninjauan langsung terhadap obyek penelitian


(18)

c. Metode literatur

Metode literatur digunakan penulis untuk melakukan pembelajaran terhadap teknik pemrograman serta mengumpulkan dan mempelajari metode-metode dan aplikasi apa yang akan digunakan dalam pembuatan perangkat lunak perintah suara ini.

Pengumpulan data dan informasi dengan cara mencatat hasil penelitian yang sedang dilakukan yang didapat dari observasi, internet atau perpustakaan. yang dapat dijadikan sebagai acuan dalam pembahasan masalah ini.

1.5.2 Metode pengembangan sistem

Metode pengembangan sistem yang penulis gunakan adalah metode RAD (Rapid Application Development) yang dikembangkan oleh James Martin. Model RAD adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek/singkat/cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Model RAD mengadopsi model waterfall. Menurut kendall & kendall (2002). tahap-tahap metode RAD meliputi :

1. Fase Menentukan Syarat-Syarat.


(19)

2. Fase Perancangan.

Yaitu perancangan terjadi dalam sistem dan perancangan antar muka. 3. Fase Konstruksi.

Yaitu tahap dimana dilakukan pengkodean terhadap rencangan-rancangan yang telah didefinisikan.

4. Fase Pelaksanaan

Pada tahap ini dilakukan pengujian terhadap sistem.

1.6 Sistematika Penulisan

Skripsi ini tersusun atas lima bab. Isi dan pembahasan masing-masing bab secara garis besar adalah sebagai berikut :

BAB I : PENDAHULUAN

Pada bab ini berisi penjelasan mengenai latar belakang, perumusan masalah, ruang lingkup, tujuan dan manfaat, metodologi penelitian dari sistem yang akan dibuat.

BAB II : LANDASAN TEORI

Pada bab ini memberikan penjelasan mengenai dasar-dasar teori yang menunjang dalam pembuatan aplikasi ini, seperti metode pengenalan suara, teori-teori mendapatkan sinyal dan mengubah sinyal, pengenalan metode Voice Command dalam Windows, dan beberapa teori pendukung lainnya.


(20)

BAB III : METODOLOGI PENELITIAN

Pada bab ini menguraikan proses pengambilan dan pengelolahan data suara. Bab ini juga menjelaskan perancangan layar yang akan digunakan pada aplikasi yang sedang berjalan pada saat program digunakan.

BAB IV : ANALISIS DAN PEMBAHASAN

Pada bab ini akan diuraikan implementasi program beserta penggunaanya dan evaluasi program.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan yang dapat diambil oleh penulis setelah merancang aplikasi, menguji dan menjalankan, serta saran yang ditujukan bagi perancang aplikasi yang lebih baik nantinya.


(21)

2.1 Pengertian aplikasi

Menurut Whitten aplikasi adalah “Proses dimana keperluan pengguna dirubah ke dalam bentuk paket perangkat lunak dan atau kedalam spesifikasi pada komputer yang berdasarkan pada sistem informasi.” ( Kristanto, 1994, hal 60 ).

2.2 Pengenalan Suara (speech recognition)

Pengenalan suara (voice recognition atau dikenal juga sebagai automatic speech recognition, computer speech recognition) adalah proses mengubah sinyal suara ke kalimat text. Penelitian dibidang pengenalan suara (speech recognition) oleh mesin telah dilakukan hampir selama lima dekade, dimana percobaan awal oleh mesin dibuat tahun 1950-an, yaitu pada saat berbagai penelitian mencoba untuk mengekspolitasi ide fundamental dari acoustic-phonetics. Atau dengan kata lain proses yang dilakukan komputer untuk mengenali kata yang diucapkan oleh seseorang tanpa mempedulikan identitas orang terkait, proses identifikasi suara berdasarkan kata yang diucapkan. Parameter yang dibandingkan ialah tingkat penekanan suara yang kemudian akan dicocokkan dengan template database yang tersedia.


(22)

2.2.1 Sejarah Pengenalan Suara

Sejarah penelitian di bidang pengenalan suara (speech recognition) antara lain :

a. Tahun 1952, di Labotorium Bell, Davis, Bidullph, Balashek membuat suatu sistem pengenalan digit terisolasi untuk seorang pembicara. Sistem tersebut sangat tergantung kepada pengukuran resonasi spectral di daerah vokal dari setiap digit;

b. Tahun 1956, sebuah usaha independen pada Labotorium RCA, Olson dan Belar berusaha untuk mengenali sepuluh suku kata yang berbeda dari setiap pembicara yang juga bergantung pada pengukuran spectral pada area vokal; c. Tahun 1959, Universitas Collage di Inggis, Fry and Denes mencoba untuk

membuat suatu pengenalan fenom untuk mengenali empat vokal dan sembilan konsonan. Mereka menggunakan keputusan dari pengenalan; d. Usaha lain pada periode ini adalah mengenalkan vokal oleh Forgie dan

Forgie, dikonstruksikan di Labotorium Lincoln MIT pada tahun 1959, dimana sepuluh vokal disisipkan dalam format a/b/-vokal-/t dapat dikenali. Sekali lagi sebuah filter bank analyzer digunakan untuk menyediakan informasi spectral dan pengukuran waktu yang dipakai untuk memperkirakan resonasi jejak vokal yang menentukan vokal mana yang diucapkan;

e. Pada tahun 1960-an, sejumlah ide fundamental dalam speech recognition


(23)

Labotorium Jepang yang memasuki arena pengenalan dan membangun

special-purpose hardware sebagai bagian dari sistem mereka. Awal dari sistem Jepang dimulai dari Suzuki dan Nakata dari Lab. Penelitian Radio di Tokyo yang merupakan hardware pengenalan huruf vokal;

f. Usaha lainnya dilakukan oleh Sakai dan Doshita dari Universitas Kyoto tahun 1962, yang membangun sebuah hardware pengenalan fenom. Usaha yang ketiga merupakan hardware pengenalan digit oleh Nagata dan rekan kerjanya di Lab. NEC pada tahun 1963. Usaha ini mungkin yang paling dikenali sebagai percobaan perdana dari speech recognition pada NEC dan menjadi awal bagi sebuah program penelitian yang produktif;

g. Di era 60-an, terdapat tiga proyek penelitian kunci, yang pertama adalah usaha yang dilakukan oleh Martin dan rekannya pada labotorium RCA, untuk membangun solusi realistik bagi problem yang berkaitan dengan ketidakseragaman dalam interval waktu, dari speech event. Martin membangun sistem dengan dasar pada kemampuan unutk mendeteksi awal dan akhir dari suatu speech. Martin membangun metodenya dan mendirikan satu perusahaan bernama Threshold Technology yang membuat, memasarkan, dan menjual produk–produk speech recognition. Sementara pada waktu yang bersamaan di Uni Sovyet, Vintsyuk mengajukan penggunaan dari metode dynamic programming untuk penyamaan waktu dari sepasang pengutaraan speech;


(24)

h. Pencapaian yang akhir tahun 1960-an merupakan penelitian pioneer dari Reddy dalam bidang continues speech recognition dan dynamic tracking

dari fenom;

i. Pada tahun 1970-an penelitian speech recognition meraih sejumlah batu pijakan yang signifikan. Pertama, area dari kata terisolasi atau pengenalan ucapan diskrit menjadi suatu teknologi yang mungkin dan berguna berdasarkan pada pembelajaran fundamental oleh Velicho dan Zagoruyko di Rusia, Sakoe dan Chiba di Jepang, dan Itakura di Amerika. Pembelajaran di Rusia membantu memajukan penggunaan dari ide pattern recognition dalam speech recognition. Penelitian di Jepang memajukan bagaimana metode dynamic programming dapat diterapkan dengan sukses dan penelitian di Itakura menunjukkan bagaimana ide dari Linear Predictive Logic (LPC) yang mana telah digunakan dengan sukses pada pengkodean speech ber-bit rendah;

j. Penelitian speech pada tahun 1980-an bercirikan pada pergeseran teknologi dari pendekatan berbasis template menjadi statistik modeling, terutama pendekatan model Hidden Markov Model. Ide lain diperkenalkan pada akhir 1980-an adalah penerapan neural network pada speech recognition.

Neural networks pertama kali dikenalkan tahun 1950, tapi tidak terbukti berguna pada awalnya karena terlalu banyaknya masalah praktikal.


(25)

2.2.2 Kinerja Sistem Pengenalan Suara

Sistem pengenalan suara, tergantung pada beberapa faktor, dapat memiliki rentang kinerja yang diukur dari rata-rata eror kalimat. Faktor-faktor ini termasuk lingkungan, rata-rata berbicara, konteks (atau tata bahasa) yang digunakan dalam pengenalan.

Kebanyakan pengguna pengenalan suara cenderung setuju bahawa mesin perintah dapat mencapai kinerja yang tinggi pada kondisi terkontrol. Bagian yang membingungkan terutama datang dari campuran penggunaan istilah pengenalan suara dan pendiktean.

Terdapat 4 langkah utama dalam sistem pengenalan suara :

1. Penerimaan data input

2. Ekstraksi, yaitu penyimpanaan data masukaan sekaligus pembuatan

database untuk template.

3. Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data suara (pencocokan tata bahasa) pada template.

4. Validasi identitas pengguna.

2.2.3 Proses perubahan dari suara ke data

Untuk menukar atau mengubah ucapan kepada data text dalam komputer atau perintah komputer, sebuah komputer harus melewati langkah yang rumit.


(26)

Saat kita berbicara, kita menciptakan sebuah getaran diudara. Pengubahan sinyal analog kepada digital ( analog to digital converter) (ADC). Menerjemahkan getaran analog ini kepada data digital yang bisa dimengerti oleh komputer. Untuk melakukan ini, komputer mencontohkan atau menggambarkan suara tersebut dengan cara mengambil pengukuran tepat pada getaran yang ada di frekuensi interval.

System ini menyaring suara yang digambarkan untuk menghilangkan suara-suara yang tidak diinginkan, dan terkadang juga memisahkannya kepada jalur gelombang frekuensi yang berbeda. (frekuensi adalah jarak gelombang dari getaran suara yang didengar oleh manusia sebagai perbedaan tinggi atau rendahnya suara). Frekuensi juga menormalkan atau menetralkan suara, atau menyesuaikannya kepada level volume yang tetap. Frekuensi mungkin juga harus disusun atau disejajarkan sementara. Orang-orang tidak selalu berbicara pada kecepatan yang sama, jadi suara harus harus disesuaikan untuk mencocokan kecepatan. Contoh suara yang telah disimpan didalam memory system selanjutnya sinyal tersebut dibagikan atau dipisahkan kedalam segmen atau juga ribuan dalam perkata (plogine consonant sound) konsonan berhenti memproduksi dengan menghalangi aliran udara didalam saluran vocal, seperti “P” atau “T”. setelah itu program akan mencocokan segmen tersebut untuk mengetahui phonemes didalam bahasa yang layak. Phonemes adalah element terkecil dalam sebuah bahasa gambaran atau perwakilan dari suara yang kita keluarkan dan menyatukannya untuk membentuk ekspresi yang bermakna.


(27)

Didalam bahasa inggris ada kira-kira 40 phonemes. (ahli bahasa yang berbeda mempunyai opini yang berbeda tentang jumlah tepatnya), sedangkan bahasa lainnya mempunyai phonemes kurang ataupun lebih dari itu.

2.2.4 Bagaimana program pengenalan suara bekerja

1. sound card komputer mengubah gelombang analog yang dikatakan ke

microphone menjadi format digital.

2. software model acoustic memecahkan kata-kata ke dalam tiga phonemes: ST,UH dan FF

3. software model bahasa membandingkan phonemes denngan kata-kata dalam kamus yang terdapat di dalam software, yaitu:

ST : 0010

UH : 0001

FF : 0100

4. Software memutuskan apa yang ia pikir dari kata-kata yang telah dikatakan dan menampilkan pasangan yang paling baik dalam layar.

Langkah selanjutnya terlihat lebih mudah, tetapi sebenarnya langkah ini adalah bagian tersulit untuk dilakukan dan bagian yang harus difokuskan di dalam penyelidikan pengenalan suara. Program ini memeriksa phonemes di dalam konteks dari phonemes yang ada disekitarnya.

Software menjalankan plot phonemes yang mengikuti konteks melalui model statistik kompleks dan membandingkan mereka kepada perpustakaan


(28)

besar dari kata-kata yang dikenal rangkaian kata dan kalimat. Program lalu akan menentukan apa yang pengguna (user) mungkin katakan dan dikeluarkan sebagai text atau mengeluarkan perintah pada komputer.

2.2.5 Framework.net

Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini. .NET

Framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows.

Pada dasarnya, .NET Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library.Program - program yang ditulis untuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtime program. Runtime environment ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui


(29)

kemampuan CPU tertentu yang akan menjalankan program. CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, garbage collection dan exception handling / penanganan kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan.

CLR adalah turunan dari CLI (Common Language Infrastructure) yang saat ini merupakan standar ECMA. Untuk keterangan lebih lanjut, silakan mengunjungi situs ECMA atau kunjungi sumber pranala di bawah artikel ini.

Solusi-solusi program pembentuk class library dari .NET Framework mengcover area yang luas dari kebutuhan program pada bidang user interface, pengaksesan data, koneksi basis data, kriptografi, pembuatan aplikasi berbasis

web, algoritma numerik, dan komunikasi jaringan. Fungsi-fungsi yang ada dalam class library dapat digabungkan oleh programmer dengan kodenya sendiri untuk membuat suatu program aplikasi baru.

Pada berbagai literatur dan referensi di Internet, .NET Framework


(30)

NET Framework

NET Framework merupakan suatu komponen Windows yang terintegrasi yang dibuat dengan tujuan pengembangan berbagai macam aplikasi serta menjalankan aplikasi generasi mendatang termasuk pengembangan aplikasi XML Web Services. Keuntungan Menggunakan .NET Framework

1. Mudah. Yang dimaksud mudah di sini adalah kemudahan developer untuk membuat aplikasi yang dijalankan di .NET Framework. Mendukung lebih dari 20 bahasa pemrograman : VB.NET, C#, J#, C++, Pascal, Phyton (IronPhyton), PHP (PhLager).

2. Efisien. Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi dari suatu proses produktivitas, baik efisien dalam hal waktu pembuatan aplikasi atau juga efisien dalam hal lain, seperti biaya (cost).

3. Konsisten. Kemudahan-kemudahan pada saat proses pembuatan aplikasi, juga bisa berimplikasi terhadap konsistensi pada aplikasi yang kita buat. Misalnya, dengan adanya Base Class Library, maka kita bisa menggunakan objek atau Class

yang dibuat untuk aplikasi berbasis windows pada aplikasi berbasis web. Dengan adanya kode yang bisa dintegrasikan ke dalam berbagai macam aplikasi ini, maka konsistensi kode-kode aplikasi kita dapat terjaga.

4. Produktivitas. Semua kemudahan-kemudahan di atas, pada akhirnya akan membuat produktivitas menjadi lebih baik. Produktivitas naik, terutama produktivitas para developer, akan berdampak pada meningkatnya produktivitas suatu perusahaan atau project.


(31)

2.2.6 GUI (Graphical User Interface)

Graphical User Interface (GUI),merupakan interface grafis yang memungkinkan interaksi antara user dengan program. Melalui GUI, user

dapat memberikan perintah yang akan dijalankan oleh program. User

juga dapat memasukan input nilai sebagai parameter atau sebagai data. Pembuatan GUI dilakukan pada form. User menambahkan objek kontrol ke dalam form berupa button, label, image dan sebagainya. Untuk mengintegrasikan objek kontrol dengan kode program yang dijalankan ketika user memerintahkan action tertentu, sebuah objek

control dapat melakukan event handling (penanganan event). Event

adalah aktifitas yang dilakukan user terhadap objek kontrol, seperti mengklik, menggerakan kursor diatas objek, atau mengubah nilai yang dimiliki objek tertentu. Ketika event tersebut dilakukan oleh user, program akan menjalankan kode yang bersesuaian.

2.3 Pengenalan Pola

Pola (pattern) adalah entitas yang terdefinisi dan dapat diberikan suatu identifikasi atau nama, misalkan buku, wajah manusia, dan sebagainya (Murni dan setiawan, 1992,p6). Pola adalah bentuk atau model (atau lebih abstrak suatu set peraturan) yang bisa dipakai untuk membuat atau untuk menghasilkan suatu atau bagian dari suatu, khususnya jika sesuatu yang ditimbulkan cukup mempunyai suatu yang sejenis untuk pola dasar yang dapat ditunjukan atau


(32)

terlihat, yang mana suatu itu dikatakan memamerkan pola (Robert, 2004,p89). Deteksi pola dasar disebut pengenalan pola.

Riset untuk pengenalan suara otomatis sudah lama dilakukan sekitar lebih dari empat dekade, yang awalnya terinspirasi dari sebuah film fiksi yang berjudul A Space Odysses. Pengenalan pola digunakan untuk mengenali objek kompleks dari bentuk sifat dari objek yang akan dikenali ciri-ciri objeknya. Pengenalan pola secara formal dapat dideskripsikan sebagai sebuah proses yang menerima pola atau sinyal berdasarkan hasil pengukuran yang kemudian diklasifikasikan ke dalam satu atau lebih kategori atau kelas tertentu (Haykin, 1999,p67).

Suatu sistem pengenalan pola pada dasarnya terdiri atas tiga tahap, yaitu penerimaan data, pengenalan data dan pengenalan objek atau pembuatan keputusan. Adapun pendekatan utama dalam pengenalan pola adalah pendekatan geometrik dan pendekatan struktural. Pendekatan geometrik adalah pendekatan secara fisik, sedangkan Pendekatan struktural dilakukan dengan penentuan dasar yang mendeskripsikan objek yang akan dikenali (pendekatan pola melalui deskripsi dan kesimpulan).

2.4 Sinyal

Sinyal dapat didefinisikan sebagai kuantitas yang fisik yang bervariasi seiring waktu atau variable bebas lainnya yang menyimpan suatu informasi (M.J.Roberts, Signals and System Analysis Using Transform Methods and


(33)

Matlab, manusia pada se komput yaitu, s Sinyal Analog Waktu melalui

, New York a, kode mor ebuah jaring ter, dan lain sinyal waktu

Waktu dapa yang merup Diskrit/Sin i proses samp

k : McGraw rse, tegangan gan serat op

nnya. Sinya u, sinyal nila

at dibagi me pakan sinyal nyal Digita

pling quanti

w-Hill,2004,h n listrik di k

tik yang dig al dapat dik

ai, sinyal ra enjadi dua, l yang belum al yang m

ization, dan e

h.1). Contoh kabel telepon gunakan dal klarifikasikan andom, dan yaitu Sinya m melalui pr merupakan s

encoding.

h dari sinyal n, variasi int

lam telepon n menjadi b sinyal nonra al Waktu Ko roses apapun sinyal anal

l adalah sua ensitas caha

atau jaring beberapa jen

andom. Unt ontinue/Siny n dan Siny log yang tel

ara aya gan nis tuk yal yal lah gelomb dengan dibawah Semua sua angnya ma sinyal ana h ini. ara audio, asing-masing alog. Bentuk baik vokal g. Umumny k dari sinya

l maupun ya bentukan al analog b

bunyi mem n gelomban bisa dilihat miliki bent ngnya diseb pada gamb tuk but bar

2.1 Diagramm Gelombaang Sinyal AAnalog Gambar


(34)

Namun sebuah teknik memungkinkan sinyal ini diubah dan diproses sehingga menjadi lebih baik. Teknik ini memungkinkan perubahan sinyal analog menjadi bit-bit digital. Teknik itu disebut teknik sampling. Jika telah menjadi sinyal digital maka sinyal ini jauh lebih baik, dengan noise yang sedikit dan juga dapat diproses dengan mudah. Digital Signal Prosessing merupakan perkembangan dari teknik ini yang memungkinkan untuk membentuk contoh-contoh yang berupa suara seperti yang ada pada keyboard, syntitizer, Audio Prosessing, dan lain–lain.

Digital Signal Processor atau DSP adalah sejenis mikroprosesor yang didesain/dirancang khusus untuk pemrosesan isyarat digital (digital signal processing). Biasanya komponen elektronika digital ini dipakai untuk komputer yang memerlukan waktu tanggap (response time) yangcepat (untuk real-time applications).

Ciri khas dari DSP meliputi: 1. dipakai untuk pemrosesan real-time;

2. mempunyai ADC (Analog to Digital Converter) pada bagian input dan DAC pada bagian output (lihat Gambar 2.5);

3. mempunyai kinerja (performance) yang optimal untuk streaming-data; 4. menggunakan arsitektur Harvard (memori program dan data terpisah);

5. memiliki instruksi khusus untuk pemrosesan SIMD (Single Instruction,

Multiple Data);


(35)

7. mem host (genera yang te (isyarat meneka (power diskrit s sinyal w sinyal dilakuk

frekuen

mpunyai kem

t system. Semua oper al-purpose m

elah di-optim t). Optimasi an biaya, pe

consumption

Proses samp sepanjang va waktu diskr

analog. Pen kan dengan s

Ada suatu nsi sinyal in

mampuan DM

rasi DSP seb microprocess masikan unt i ini juga enghantaran

n).

pling adalah ariable waktu rit. Pada pro ncuplikan di inyal-sinyal

Gambar aturan terte ni paling sed

MA (Direct

betulnya bisa or). Akan te tuk lebih da penting sek n panas (he

h proses pen u dari sinyal oses ini terj ilakukan pa

sample.

r 2.2 Bentuk entu dari sin dikit adalah

Memory Ac

a dilakukan p etapi, DSP m apat mempe

kali artinya

at emission

ngambilan n l waktu kont

adi suatu p ada bagian-b

kan Sinyal S nyal ini. Te dua kali fr

ccess) jika d

pada mikrop memiliki sis ercepat pemr a dalam kai

n), dan peng

ilai–nilai sin tinue, sehing encuplikan bagian sinya Sample eori Shanno ekuensi siny dipakai sebag prosesor umu stem arsitekt rosesan siny itannya unt ggunaan da

nyal pada tit gga didapatk

dari bentuk al analog. I

n menyatak yal yang ak

gai um tur yal tuk aya tik kan kan Ini kan kan


(36)

disampl nantiny Lebih b sinyal y sinyal a sebesar 11025 k

diskrit y saja. Q menjad diquant

ling (sinyal ya cuplikan y

besar tentun yang asli. Ke analog yang 11025 Hz, kali. Setelah dila yang bentuk Quantization i nilai–nilai tisasi maka t

analog). Ini yang diambil nya lebih ba esimpulan ya akan dicupl yang berart akukan pros knya menyer adalah pro yang diskrit iap-tiap disk adalah batas l menunjukk aik, karena ang didapat, likkan dalam ti dalam sat

ses ini, mak rupai aslinya oses pemeta t, sehingga d krit yang

s minimum d kan bentukan cuplikan ak

proses samp m satu detik

tu detik, sin

ka terbentuk a namun han aan nilai–ni didapatkan s

dari frekuen n sinyal yang kan lebih me pling menun k, misalkan s nyal dibagi–b

klah suatu s nya diambil ilai dari sin sinyal nilai d

nsi sample ag g asli (analog enggambark njukkan bera sinyal dicupl bagi sebany sinyal analo diskrit-disk nyal kontin diskrit. Setel gar g). kan apa lik yak og-krit nue lah

Gammbar 2.3 Beentukan Prooses Pencupplikan

kombin merupa

Ada telah nasi bilanga akan informa

memiliki t n biner, m asi dari siny

tetapan tert maka terbent yal Kesimpu tentu. Tetap tuklah bilan ulannya, pros

pan ini da ngan-bilanga ses quantiza

apat dijadik an biner ya ation bertuju

kan ang uan


(37)

untuk menunjukkan jumlah bit sinyal analog yang dicuplik, misalkan empat bit, delapan bit. Semakin tinggi jumlah bit yang digunakan maka semakin bagus hasil suara yang di dapat.

Setelah menjadi sinyal digital maka proses-proses perekayasaan dapat dilakukan. Yang harus dilakukan adalah merubah informasi digital tersebut dengan proses digital sehingga menjadi suara-suara yang kita inginkan, proses inilah yang disebut encoding. Proses dapat dilakukan dengan berbagai macam alat-alat digital (contohnya komputer). Sample-sample yang ada juga digunakan sebagai informasi untuk menciptakan suara dari berbagai macam alat elektronik misalkan keyboard dan syntitizer. Penyimpanan suara juga akan lebih baik karena informasinya adalah digital sehingga berkembanglah CD dan DAT (Digital Tape).

Dalam proses pengolahan sinyal analog, sinyal input masuk ke Analog Signal Processing (ASP), diproses atau diberi perlakuan misalkan pemfilteran, penguatan, dan outputnya berupa sinyal analog.

Gambar 2.4 Sistem Pengolahan Sinyal Analog

Proses pengolahan sinyal secara digital memiliki bentuk sedikit berbeda. Komponen utama sistem ini berupa sebuah processor digital yang mampu


(38)

bekerja apabila inputnya berupa sinyal digital. Untuk sebuah input berupa sinyal analog perlu proses awal yang bernama digitalisasi melalui perangkat yang bernama analog-digital conversion (ADC), dimana sinyal analog harus melalui proses sampling, quantizing dan encoding. Demikian juga output dari processor digital harus melalui perangkat digital-to-analog conversion (DAC) agar outputnya kembali menjadi bentuk analog. Hal ini bisa diamati pada perangkat seperti PC, digital sound system, dan lain sebagainya. Secara sederhana bentuk diagram blognya dapat digambar seperti Gambar 2.5.

Sinyal yang berbentuk digital dapat disimpan dalam media penyimpanan di komputer. WAV file (berasal dari kata wave) merupakan format umum yang paling sederhana untuk menyimpan data sinyal audio. WAV file terdiri dari tiga potongan informasi yaitu : RIFF chunk yang berisi informasi yang menandakan bahwa file


(39)

Berbentuk WAV, FORMAT chunk yang berisi parameter–parameter seperti jumlah channel, sample rate, resolusi, dan DATA chunk yang berisi aktual sinyal digital.

2.5 Sistem Pengenalan Suara

Sistem pengenalan suara pada aplikasi ini, dapat digambarkan secara diagram blok sebagai berikut :

Pembandingan/pencoco kan data baru dengan kata-kata/suara dalam

kamus St :0010 Software Model Akustik

mengubak sinyal suara dalam

3 phonems. ST,UH,FF Mikropon

Soundcard

LPC Output

Gambar 2.6. Diagram Blok Sistem Pengenalan Suara

Cara kerja pengenalan suara, secara garis besar dapat dijelaskan sebagai berikut :

1. Pertama, sinyal suara manusia yang diterima menggunakan microphone

(sinyal analog) dicuplik hingga menjadi sinyal digital dengan bantuan sound card pada PC


(40)

2. Sinyal digital diproses dengan LPC hingga didapat beberapa koefisien LPC 3. Kemudian koefisien LPC diproses dengan rumus yang ditentukan untuk

mendapatkan sinyal.

4. Setelah itu hasil atau output akan menampilkan sesuai dengan apa yang dipanggil.

2.6 Linear Predictive Coding (LPC)

Linear Predictive Coding atau LPC adalah sebuah alat yang digunakan dalam sebagian besar pemrosesan sinyal audio dan pemrosesan wicara untuk mewakili spectral envelope dari digital sinyal pembicaraan di bagian dikompresi, menggunakan informasi dari linear input model. LPC adalah salah satu yang paling baik dalam teknik analisi wicara, dan salah satu metode yang paling berguna untuk encoding berkualitas pada bit rate yang rendah dan menyediakan yang baik mengenai perkiraan pembicaraan parameter. LPC juga termasuk cukup efisien untuk komputasi.

LPC banyak digunakan aplikasi pengenalan suara, karena (Rabiner dan Juang, 1993,pp 97-100) :

a. Menyediakan suatu model yang baik untuk sinyal ucapan, dimana LPC menyediakan suatu perkiraan yang baik untuk sinyal spectral envelope.

Selama unvoiced dan daerah sementara dari sinyal ucapan, model LPC tetap saja menyediakan suatu model yang berguna yang dapat diterima untuk tujuan pengenalan suara.


(41)

b. LPC diterapkan untuk analisis sinyal ucapan mengarah pada suatu sumber yang layak, untuk pemisahan bidang suara, sehingga mengahsilkan suatu representasi sederhana dari karakteristik bidang suara menjadi jelas.

c. LPC lebih tepat secara matematika, sederhana dan dapat langsung diimplementasikan ke perangkat lunak atau perangkat keras

d. LPC lebih baik dari metode Digital Signal Processing (DSP)

2.6.1 LPC Model

LPC memiliki dua komponen kunci, yaitu : encoding dan decoding. Pada bagian encoding atau analisa, LPC melakukan pengecekan terhadap sinyal suara dan memecahkannya menjadi beberapa segmen atau beberapa blok. Setelah itu, setiap segmen dapat menyelesaikan beberapa pertanyaan, yaitu :

a. Apakah segmen itu voiced (terucap dan terdengar) atau unvoiced (terucap tapi tidak terdengar) ?

b. Apakah segmen dari pitch tersebut ?

c. Parameter apakah yang dibutuhkan untuk membentuk filter yang dapat dimodelkan sinyal suara menjadi segmen–segmen tersebut?

Pada bagian decoding atau sintesa, LPC berfungsi untuk memanipulasi suara yang diproduksi sebelumnya.

Voice Coder atau suara yang dihasilakan dari mesin, memodelkan dua hal dari suara manusia, yaitu Eksitasi dan Artikulasi. Eksitasi adalah tipe


(42)

suara yang melewati filter suara sedangkan artikulasi adalah transformasi dari sinyal eksitasi menjadi speech (suara yang terucap).

Pada Gambar 2.5, direpresentasikan tentang perbedaan suara manusia dan mesin. Dimana pada manusia, suara dikeluarkan melalui tekanan paru-paru dan menghasilkan dua jenis suara, yaitu suara voiced dan unvoiced, kemudian suara ini akan dikeluarkan dalam bentuk artikulasi pengucapan. Sedangkan pada mesin, suara dihasilkan melalui energi listrik dalam hal ini pada PC, dihasilkan oleh sound card dan dikeluarkan melalui speaker.

Gambar 2.7. Human vs. Voice Coder Speech Production


(43)

Sebelum sebuah segmen dari sinyal suara ditentukan sebagai voiced

atau unvoiced, terlebih dahulu dilakukan pemfilteran melalui low-pass filter dengan bandwidth sebesar 1 kHz. Menentukan sebuah segmen voiced atau unvoiced sangatlah penting karena kedua segmen tersebut mempunyai bentuk gelombang yang sangat berbeda. Perbedaan dari kedua bentuk gelombang ini menimbulkan sebuah kebutuhan akan penggunaan dua sinyal input untuk LPC filter pada bagian sintesa.


(44)

Gambar 2.9. Unvoiced Waveform

Satu input sinyal untuk voiced dan satu lagi untuk unvoiced. Bagian encoding akan mengirimkan single bit kepada bagian decoding untuk memberitahukan segmen tersebut voiced atau unvoiced.

Dari Gambar 2.8 dan Gambar 2.9, dipresentasikan perbedaan antara voiced dan unvoiced. Pada Gambar 2.8, gelombang frekuensi dari huruf “s” pada kata Sunday, memiliki amplitude yang lebih rendah dan frekuensinya yang renggang atau rendah bila dibandingkan dengan unvoiced (Gambar 2.9). Suara unvoiced memiliki energi yang lebih lemah sehingga amplitudonya terlihat lebih kecil dan memiliki frekuensi yang lebih tinggi. Suara yang bertipe unvoiced, biasanya, adalah bunyi non-vokal atau konsonan dan memiliki gelombang frekuensi yang lebih tidak beraturan dan acak.


(45)

Untuk menentukan apakah suara segmen tersebut voiced atau unvoiced, bisa dilakukan dengan dua langkah. Langkah pertama, adalah dengan melihat amplitudo dari gelombang sinyal suara tersebut. Jika amplitudonya bedar, maka segmen dari sinyal suara tersebut digolongkan voiced, namum jika amplitudonya kecil, maka segmen dari sinyal suara tersebut digolongkan unvoiced. Karena pada langkah pertama, kita tidak bisa langsung menentukan bahwa sebuah segmen dari sinyal suara itu voiced dan unvoiced jika hanya melihat amplitudonya saja, maka diperlukan langkah lain untuk menentukannya. Langkah kedua ini berguna mengambil informasi dari fakta bahwa segmen dari voiced speech memiliki amplitude yang besar, sedangkan segmen dari unvoiced speech memiliki frekuensi yang tinggi dan rata–rata nilai dari kedua segmen mendekati nol, sehingga pada akhirnya, dari ketiga informasi ini dapat diambil kesimpulan bahwa unvoiced speech harus melintasi x-axis lebih sering dibandingkan voiced speech. Sehingga pada akhirnya, kita dapat menentukan antara voiced dan unvoiced dengan menghitung berapa kali gelombang tersebut melintas x-axis dan membandingkan nilai tersebut dengan nilai dari kisaran normal kebanyakan voiced dan unvoiced speech.

2.7 C# ( C sharp)

Microsoft Visual C# adalah sebuah program alat bantu pemrograman (Rapid Application Development tool) yang dibuat oleh Microsoft Corporation dan dapat digunakan untuk membuat program berbasis grafis dengan


(46)

menggunakan bahasa pemrograman mirip C++. Program ini telah dimasukkan ke dalam produk Microsoft Visual Studio, bersama-sama dengan Visual C++, Visual Basic, Visual FoxPro serta Visual J#. Sejauh ini, program ini merupakan program yang paling banyak digunakan oleh para programmer untuk membuat program dalam bahasa C#.

2.7.1 Sekilas tentang c# (c sharp)

C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan angka # (U+0023). Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik (U+266F), dan tanda pagar # (U+0023) tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di dalam keyboard standar.

Pada akhir dekade 1990-an, Microsoft membuat program Microsoft Visual J++ sebagai sebuah langkah percobaan untuk menggunakan Java di dalam sistem operasi Windows untuk meningkatkan antarmuka dari Microsoft


(47)

Component Object Model (COM). Akan tetapi, akibat masalah dengan pemegang hak cipta bahasa pemrograman Java, Sun Microsystems, Microsoft pun menghentikan pengembangan J++, dan beralih untuk membuat pengganti J++, kompilernya dan mesin virtualnya sendiri dengan menggunakan sebuah bahasa pemrograman yang bersifat general-purpose. Untuk menangani proyek ini, Microsoft merekrut Anders Helsberg, yang merupakan mantan karyawan Borland yang membuat bahasa Turbo Pascal, dan Borland Delphi, yang juga mendesain Windows Foundation Classes (WFC) yang digunakan di dalam J++. Sebagai hasil dari usaha tersebut, C# pun pertama kali diperkenalkan pada bulan Juli 2000 sebagai sebuah bahasa pemrograman modern berorientasi objek yang menjadi sebuah bahasa pemrograman utama di dalam pengembangan di dalam platform Microsoft .NET Framework.

Pengalaman Helsberg sebelumnya dalam pendesain bahasa pemrograman seperti Visual J++, Delphi, Turbo Pascal) dengan mudah dilihat dalam sintaksis bahasa C#, begitu pula halnya pada inti Common Language Runtime (CLR). Dari kutipan atas interview dan makalah-makalah teknisnya ia menyebutkan kelemahan-kelemahan yang terdapat pada bahasa pemrograman yang umum digunakan saat ini, misalnya C++, Java, Delphi, ataupun Smalltalk. Kelemahan-kelemahan yang dikemukakannya itu yang menjadi basis CLR sebagai bentukan baru yang menutupi kelemahan-kelemahan tersebut, dan pada akhirnya mempengaruhi desain pada bahasa C# itu sendiri. Ada kritik yang menyatakan C# sebagai bahasa yang berbagi akar dari bahasa-bahasa


(48)

pemrograman lain. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance). Fitur-fitur tersebut di dalam C# kini telah diaplikasikan terhadap iterasi, properti, kejadian (event), metadata, dan konversi antara tipe-tipe sederhana dan juga objek.

C# didisain untuk memenuhi kebutuhan akan sintaksis C++ yang lebih ringkas dan Rapid Application Development yang 'tanpa batas' (dibandingkan dengan RAD yang 'terbatas' seperti yang terdapat pada Delphi dan Visual Basic).

Agar mampu mempromosikan penggunaan besar-besaran dari bahasa C#, Microsoft, dengan dukungan dari Intel Corporation dan Hewlett-Packard, mencoba mengajukan standardisasi terhadap bahasa C#. Akhirnya, pada bulan Desember 2001, standar pertama pun diterima oleh European Computer Manufacturers Association atau Ecma International (ECMA), dengan nomor standar ECMA-334. Pada Desember 2002, standar kedua pun diadopsi oleh ECMA, dan tiga bulan kemudian diterima oleh International Organization for Standardization (ISO), dengan nomor standar ISO/IEC 23270:2006. (http://id.wikipedia.org/wiki/microsoft_visual_c_sharp)


(49)

Pada penyusunan skripsi ini di perlukan data-data informasi sebagai bahan yang dapat mendukung kebenaran materi uraian pembahasan, untuk menyelesaikan masalah yang ada dalam sebuah perancagan perangkat lunak ada beberapa tahap yang harus dilakukan. Dalam bab ini dijelaskan mengenai metodologi penelitian dan perancangan sistem yang digunakan.

3.1 Metodologi Penelitian

3.1.1 Metode Pengumpulan data

Tahapan ini dilakukan sebelum tahap pengembangan sistem. Tahap ini meliputi studi Pustaka, studi Literatur, dan Observasi.

a. Studi Pustaka

Metode studi pustaka dilakukan dengan mengumpulkan data dan informasi yang dijadikan sebagai acuan penerapan algoritma

Speech Recognation. dalam aplikasi perintah suara pada windows ini. Studi pustaka juga merupakan rujukan konseptual dan teoritis bagi keseluruhan proses studi, mulai dari perencanaan, pengumpulan data dan analisis data diharapkan diperoleh melalui studi kepustakaan agar kesahihan hasil dapat dipertanggungjawabkan.


(50)

Referensi-referensi tersebut berasal dari buku-buku pegangan maupun mencari referensi tambahan dari internet.

b. Observasi

Observasi dilakukan dengan cara melakukan uji coba terhadap beberapa user yang menggunakan aplikasi yang penulis buat.

c. Literatur

Literatur sejenis sebagai referensi pada penelitian ini yaitu:

Berdasarkan beberapa penelitian yang telah dilakukan, penulis membuat aplikasi perintah suara ini agar lebih mempercepat kinerja user

dalam menggunakan komputer, selain itu untuk lebih mempermudah penggunaan komputer khususnya bagi orang yang menderita cacat fisik (khususnya tanggan). Program ini dibuat sebagai prototype yang nantinya diharapkan untuk lebih bisa dikembangkan lagi.

3.2 Analisis Kebutuhan Sistem

Analisis kebutuhan dibuat adalah analisis mengenai berbagai tahapan proses yang dibutuhkan oleh sistem untuk mendapatkan hasil yang diinginkan. Gambar 3.1 menunjukkan gambaran secara umum mengenai tahapan-tahapan analisis sistem aplikasi pengenalan suara untuk menjalankan perintah windows.

Bebagai metode analisis yang dilakukan dalam semua proses yang ditunjukkan Gambar 3.1, untuk menjalankan program windows dengan suara dengan aplikasi ini. Sistem secara umum akan membutuhkan sebuah unit input


(51)

dari pengguna untuk mendapatkan data suara yang akan digunakan dalam proses pengenalan suara yang nantinya akan menjadi perintah untuk menjalan program pada windows.

Menyimpan m Hasil Input Suara

odel Mematahkan Kata

Kedalam Mengubah

Proses Sinyal Mulai

Menjalankan Program

Keluaran Hasil

Gambar 3.1 Global Flowchart Analisis Kebutuhan Sistem

3.2.6 Metode perancangan system

Secara harafiah kata perancangan berasal dari kata design yang berarti proses membuat struktur atau bentuk lain dari sesuatu dengan membuat gambar-gambar rencana (The Collins Dictionary and Thesaurus, 1987).

Untuk menyelesaikan masalah di dalam sebuah sistem harus dilakukan pengabungan strategi perancangan yang melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik (Presman, 2002 : 27).


(52)

Proses perancangan sistem diartikan sebagai sekumpulan aktivitas, metode,

best practice, deliverable dan tools-tools otomatis yang digunakan stakeholder untuk merancang sistem informasi dan software secara kontinu, artinya perancangan yang dilakukan secara bertahap dari hal-hal yang menjadi kendala sistem sampai hal-hal yang menjadi kebutuhan sistem (Whitten, 2004:84).

a. Rice Picture

Gambar 3.2 Rice Picture dari Sistem Aplikasi Perintah Suara untuk Menjalankan Perintah Pada Windows

Kata Dalam Phonemes Soundcard

LPC

Mencocokan data suara dengan Program pada

windows dijalankan

Data suara User


(53)

b. Sequence Diagram

USER

SISTEM APLIKASI KOMPUTER

LPC

FFT

NN Suara dikenal

Input suara

Suara disimpan dalam bentuk wav

Program dijalankan


(54)

c. Flow Chart Program Utama


(55)

Dari beberapa metode perancangan sistem yang ada, maka penulis menggunakan metode perancangan sistem RAD (Rapid Application Development). Penulis menggunakan model RAD karena melihat aplikasi yang dirancang adalah aplikasi yang sederhana dan tidak membutuhkan waktu yang lama, metode RAD adalah metode yang diperuntukkan untuk jangka pendek sesuai dengan aplikasi yang dirancang. Model perancanganan RAD diperkenalkan oleh James Martin pada tahun 1991 (Pressman, 2002 : 42).

Adapun skema model perancanganan RAD (Rapid Application Development) dapat dilihat pada gambar 3.1 (Kendall & Kendall, 2002 : 237) :


(56)

Model perancangan RAD memiliki empat fase, yaitu fase perencanaan syarat-syarat, fase perancangan, fase konstruksi dan fase pelaksanaan (kendall & kendall, 2002:238). Berikut adalah penjelasan masing-masing fase dalam penelitian ini : 3.2.7 Fase Menentukan Syarat-Syarat

Pada tahapan ini dilakukan pengidentifikasian tujuan aplikasi atau sistem serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Apabila pengetahuan diformulasikan secara lengkap, maka tahap implementasi dapat dimulai dengan membuat garis besar masalah, Kemudian memecahkan masalah kedalam modul-modul. Untuk memudahkan, maka harus diidentifikasikan hal-hal sebagai berikut:

a. Mendefinisikan masalah : manusia tidak semuanya diberikan kesempurnaan, ada yang memiliki keterbatasan fisik seperti tidak mempunya anggota tubuh yang lengkap seperti tangan..masalah tersebut mendorong penulis untuk menciptakan suatu aplikasi yang bisa mempermudah orang dalam menggunakan suatu aplikasi pada windows. Selain itu agar lebih mempercepat kinerja user dalam menggunakan komputer.

b. Analisis kebutuhan masalah : dari masalah tersebut penulis menyimpulkan dibutuhkannya suatu system yang dapat mengurangi interfensi antara manusia dengan hardware.

c. Tujuan informasi : output yang penulis hasilkan dari suara merupakan data-data yang telah dimasukan kedalam program.


(57)

3.2.8 Fase Perancangan

Pada tahap ini dilakukan perancangan proses, yaitu perancangan proses-proses yang akan terjadi didalam sistem.

a. Perancangan Basis Data

Perancangan tabel-tabel yang akan digunakan untuk pengolahan data (input data). Dan kemudian akan diimplementasikan database tersebut kedalam bentuk program. Data-data yang digunakan oleh aplikasi jaringan syaraf tiruan dalam menyelesaikan masalah ini adalah hasi data tidak nyata / dummy.

b. Perancangan Antar Muka Pemakai(user interface)

Antar muka pemakai memberikan fasilitas komunikasi antar pemakai dan sistem, memberikan berbagai fasilitas informasi dan berbagai keterangan yang bertujuan untuk membantu mengarahkan alur penelusuran masalah sampai ditemukannya solusi. Antar muka dirancang sebagai gambaran pada saat pembuatan komponen-komponen GUI pada fase konstruksi.

3.2.9 Fase Konstruksi

Pada tahapan ini dilakukan instalasi pengaturan tata letak komponen GUI dan pengkodean terhadap rancangan-rancanngan yang telah didefinisikan. Penulis menggunakan software C# sebagai pembuatan antar muka dan editor kode program.


(58)

3.2.10Fase Pelaksanaan

Pada tahap ini dilakukan pengujian terhadap sistem untuk mengetahui apakah program simulasi dapat berjalan dengan baik dan menghasilkan output yang sesuai dengan respon yang diberikan. Pada fase ini akan diketahui tingkat keakuratan yang dihasilkan program simulasi pada penelitian ini. Dari fase ini, juga dapat diketahui kesalahan-kesalahan apa yang terjadi, sehingga dapat diperbaiki dalam pengembangan selanjutnya.

3.3 Alasan Menggunakan RAD

Berikut ini adalah beberapa alasan penulis menggunakan RAD pada Aplikasi Perintah Suara Pada Windows

1. Melihat dari aplikasi yang akan dikembangkan oleh penulis, merupakan aplikasi yang sederhana dan tidak memerlukan waktu yang lama. Metode RAD adalah metode yang diperuntukan untuk jangka pendek. Sesuai dengan aplikasi yang akan dikembangkan. (Pressman, 2002: 42).

2. RAD ini menekankan pada pengembangan komponen program yang bisa dipakai kembali. Dari aplikasi Perintah Suara Pada Windows ini bisa dikembangkan lebih lanjut dengan membandingkan dengan metode pelatihan lainnya dalam hal tampilan interfacenya. (Pressman, 2002: 44).


(59)

3.3.1 Model-model metode pengembangan sistem

Pada Tabel 3.1 di bawah dijelaskan beberapa model-model metode pengembangan sistem dan perbedaannya.

Tabel 3.1. Perbandingan Model Pengembangan Sistem

Metode Kelebihan Kekurangan Pengunaan

secara umum

Sequensial Linier

(waterfall)

Metode ini baik digunakan untuk

kebutuhan yang sudah diketahui dengan baik

Iterasi yang sering terjadi menyebabkan masalah baru. bagi pelanggan sulit menentukan

kebutuhan secara eksplisit dan harus

sabar karena memakan waktu yang lama.

waterfall bekerja dengan baik pada proyek skala kecil

Prototype Metode ini

cukup efektif dengan mendapatkan kebutuhan dan aturan yang jelas dan pelanggan bisa langsung melihat sistem yang sebenarnya. Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version selesai dengan cepat. prototyping dapat bekerja dengan baik jika ada kerjasama yang baik antara pengembang dengan pengguna

RAD Metode ini

lebih cepat dari waterfall jika kebutuhan dan batasan proyek sudah diketahui dengan baik. Dan bisa untuk dimodularisasi.

Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim. Karena

komponen-komponen yang

RAD cocok utuk aplikasai yang tidak mempunyai resiko teknis yang tinggi. RAD cocok untuk proyek yang memiliki SDM yang baik dan sudah


(60)

sudah ada, fasilitas-fasilitas pada tiap komponen belum tentu digunakan seluruhnya sehingga kualitas program bisa menurun.

Incremental fleksibel dan

mudah untuk dikelola dan pengujian yan mudah. semua kebutuhan tidak dikumpulkan pada tahap awal sehingga

menimbulkan

masalah serta sulit untuk mengukur progress karena tidak ada milestone.

cocok untuk aplikasi yang kebutuhannya telah diidentifikasi dengan baik.

Iterative Fase desain,

pengkodean, pengujian lebih cepat.

butuh waktu yang banyak untuk menganalisis dan terlalu banyak langkah yang dibutuhkan model

hanya cocok untuk softwere berskala besar

Spiral Model ini

digunakan untuk sistem skala besar. membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga dapat mengurangi terjadinya resiko yang lebih besar.

resiko utama tidak ditemukan, maka masalah bisa muncul kemudian. Sehingga membutuhkan kemampuan manajemen dan perkiraan resiko (risk assessment) yang cukup tinggi.

hanya cocok untuk softwere skala besar


(61)

3.4 Teknik Pengumpulan data

Setelah mengamati berbagai metode pengumpulan data di atas, maka penulis memutuskan untuk memakai metode studi pustaka, metode observasi dan Metode literatur. metode studi pustaka dilakukan penulis dengan melakukan pengumpulan data dan informasi dengan cara membaca buku-buku referensi, e-book dan situs internet yang dapat dijadikan acuan pembahasan dalam masalah ini. Adapun buku-buku dan bahan referensi lainnya yang dipakai dalam skripsi ini dapat dilihat pada daftar pustaka. Metode observasi dilakukan dengan cara melakukan uji coba terhadap beberapa user yang menggunakan aplikasi yang penulis buat dan Metode literatur dibuat prototype oleh penulis yang nantinya diharapkan akan lebih bisa untuk dikembangkan lagi.


(62)

Setelah membahas tentang teori-teori dan konsep-konsep yang dipakai serta metodologi yang digunakan pada bab sebelumnya, maka pada bab ini seperti yang telah ditulis pada bab satu, penulis akan membahas tentang aplikasi perintah suara pada windows.

4.1 Perencanaan Aplikasi

Pada tahap ini penulis merencanakan membuat suatu aplikasi perintah suara sebagai salah satu alternatif untuk lebih mempermudah menjalankan suatu aplikasi pada komputer. Berdasarkan beberapa analisis Pengguna dari aplikasi ini adalah, hampir semua elemen masyarakat menggunakan program aplikasi ini. Penulis merencanakan fasilitas yang dapat digunakan adalah sebagai berikut : a) Mempermudah penggunaan Windows bagi pengguna.

b) Mempercepat proses penggunaan Windows.

c) Membantu pengguna cacat fisik (terutama tangan) agar dapat menjalankan program pada Microsoft Windows.

d) Bagi perusahaan, lembaga atau organisasi, program ini dirancang untuk memotong waktu pengoperasian komputer seefektif mungkin sehingga kinerja perusahaan dapat meningkat.


(63)

4.1.1 Pengumpulan Data

Dalam perancangan sistem aplikasi perintah suara ini, variabel yang digunakan adalah suara dari user. Sebagai outputnya adalah munculnya aplikasi sesuai dengan apa yang dipanggil oleh user dengan menggunakan

microphone. Aplikasi perintah suara ini dapat mengenali barbagai macam tipe suara sesuai dengan data yang sudah diinput kedalam komputer.

Data-data yang digunakan dalam pemanggilan perintah suara ini adalah hasil data yang sudah dimasukan kedalam pogram, oleh sebab itu jika user

memanggil data yang tidak terdaftar maka aplikasi yang dipanggil tidak akan muncul

Data dibagi menjadi dua kelompok besar, yaitu data yang berfungsi sebagai masukan (input) untuk proses pembelajaran dan keluaran (output).

Output yang diinginkan pada aplikasi ini adalah munculnya suatu program aplikasi yang telah dipanggil oleh user melalui microphone. Adapun hasil yang dimaksud adalah sebagai berikut :

a. Untuk mempermudah proses penggunaan aplikasi windows, menggunakan perintah suara.

b. Untuk mempersingkat waktu penggunaan proses windows. Agar pengoprasian komputer lebih efektif sehingga kinerja perusahaan semakin meningkat.


(64)

4.2 Fase Menentukan Syarat-syarat 4.2.1 Mendefinisikan Masalah

Masalah yang ingin diselesaikan dengan sistem ini adalah bagaimana caranya mempermudah user untuk mengoprasikan suatu aplikasi pada komputer sehingga komputer dapat mengenali suara yang diucapkan oleh manusia. Dengan demikaian dari implementasi tersebut, kita dapat mengetahui bahwa suara manusia dapat di ubah kedalam bentuk digital, Sehingga komputer dapat mencocokan perintah aplikasi yang dipanggil oleh user sampai program aplikasi tersebut muncul.

4.2.2 Pendefinisian Kebutuhan

Pemilihan bahasa pemrograman yang dipakai adalah bahasa pemrograman C# (C sharp) 5.0, karena C# merupakan perangkat lunak yang cocok dipakai sebagai alat komputasi yang melibatkan penggunaan aplikasi perintah suara. Banyak bahasa pemrograman yang digunakan untuk pembuatan aplikasi perintah suara, tetapi penulis disini menggunakan bahasa pemrogramam C# karena merupakan perangkat lunak yang cocok dan mudah dipakai. C# menyediakan fungsi-fungsi khusus untuk meyelesaikan aplikasi perintah suara ini.

4.2.3 Tujuan Informasi

Berdasarkan aturan pada pendefinisian kebutuhan di atas, maka penulis bertujuan untuk mengimpelementasikan aplikasi perintah suara. sehingga diharapkan dapat mempermudah dan mempercepat untuk


(65)

menjalankan suatu program aplikasi dalam menggunakan komputer dan memperoleh nilai keakuratan yang tinggi dalam memprediksikan kata yang digunakan oleh user.

4.3 Fase Perancangan

4.3.1 Perancangan Antar Muka

Karena aplikasi yang penulis buat adalah aplikasi dasar maka antar muka yang dibuat penulis cukup sederhana, antara lain

1. Menu Halaman Utama

Tabel 4.1 Rancangan Menu Halaman Utama Aplikasi

Disable Speech Edit File

Recognition Hypothesis Form Menu File

Enable Speech


(66)

2. Menu beserta fungsi di dalamnya

Penulis akan menjelaskan satu persatu fungsi dari menu, sub menu dan form yang ada di aplikasi ini, agar pembaca mengerti cara pemakaian dari aplikasi yang penulis buat.

a. File Menu

Menu File disini hanya berisi beberapa pilihan sub menu diantaranya, sub menu new untuk memulai proses dari awal, open untuk membuka file dan close untuk menutup aplikasi.

b. Menu Edit File

Menu disini juga merupakan menu pilihan file yang isinya cut, copy, paste dan delete.

c. Tombol Enable Speech

Tombol ini memiliki fungsi untuk mengaktifkan pengenalan suara. Aktifkan tombol ini terlebih dahulu apabila kita ingin mulai mengirim input suara melalui mikrophone

d. Tombol Disable Speech

Tombol ini memiliki fungsi untuk menonaktifkan pengenalan suara. Aktifkan tombol ini terlebih dahulu apabila kita ingin menghentikan inputan suara dari mikropon.


(67)

4.5 Fase Konstruksi

Pada fase ini penulis mentransformasikan semua hasil rancangan, lalu diterapkan menjadi program aplikasi yang dapat dioperasikan. Dalam melakukan proses konstruksi penulis melalui langkah-langkah sebagai berikut :

4.5.1 Instalasi Program

Sebelum memulai menuliskan kode program, perlu dilakukan penginstalan perangkat lunak Visual Studio terlebih dahulu.

4.5.2 Menjalankan Software Visual Studio

Setelah software terinstal dengan benar, maka selanjutnya adalah menjalankan visual studio 2008, yaitu dengan cara Start Æ All Programs ÆVisual Studio Æ seperti ditunjukkan oleh gambar berikut ini :


(68)

Kemudian akan terlihat tampilan sebagai berikut :

Gambar 4.2 Tampilan Awal Software Visual Studio

4.5.3 Mengatur Tata Letak Komponen GUI

Graphical User Interface (GUI) dalam aplikasinya dapat terdiri atas beberapa komponen user interface yang saling berinteraksi, sehingga membentuk sebuah program aplikasi. Setelah membuka GUIDE visual studio 2008, langkah selanjutnya adalah mendesain figure dengan menggunakan komponen palet seperti pushbutton, slider, static text, edit text, frame, radio button dan sebagainya. Untuk membuat GUI baru klik File Æ New Æ Project,


(69)

Gambar 4.3 Membuat Project Baru

Setelah itu penulis, mengatur tata letak masing-masing komponen, baik

string(caption), tag(name),button, font, maupun color, dengan menggunakan

design.


(70)

Jika telah selesai mendesain, maka langkah berikutnya adalah menyimpan dengan file berekstensi *.form1.cs.

4.5.4 Memprogram Komponen GUI

Langkah selanjutnya yang harus dilakukan adalah menulis kode program pada komponen GUI yang telah dibuat pada langkah sebelumnya agar komponen dapat bekerja secara simultan.


(71)

Gambar 4.6 kode program dari enable button

Untuk menginput kode program pada komponen button, penulis cukup memilih komponen button dan langsung menyisipkan kode program yang di simpan pada form.


(72)

Gambar 4.7 menginput kode program pada disable button

Gambar 4.8 kode program dari disable button

Inti dari aplikasi ini adalah untuk mempermudah user dalam menggunakan windows, khususnya dalam pemanggilan aplikasi windows dengan menggunakan perintah suara menggunakan microphone. Sehingga hal ini dapat mengurangi interfensi antara user dengan hardware komputer.


(73)

4.5 Fase Pelaksanaan

Pada fase pelaksanaan ini, penulis akan melakukan uji coba sistem, apakah sistem berjalan sesuai dengan yang diharapkan atau tidak.

4.5.1 Spesifikasi Minimum Pemakaian Simulasi

Agar aplikasi ini dapat berjalan dengan baik, maka dibutuhkan komputer yang mendukung operasional perangkat lunak visual studio 2008 5.0), dengan spesifikasi minimum sebagai berikut :

1. Prosesor : Intel Pentium (Pentium 4 atau versi diatasnya), Intel Celeron, Intel Xeon, Intel Core, AMD Athlon, AMD Optheron, AMD Sempron.

2. Sistem Operasi : Windows XP (Service Pack 1 atau 2), Windows Server (Service Pack 1 atau 2), Windows Vista.

3. RAM : 256 MB ( 512 MB direkomendasikan)

4. Space Harddisk : 2 GB untuk instalasi visual studio 2008. 4.5.2 Spesifikasi computer yang digunakan

1. Prosesor : Intel® Core™2 duo processor T5550 (1.83 GHz, 667 MHz FSB, 2 MB L2 cache).

2. Sistem Operasi : Windows 7 Ultimate. 3. RAM : 2 GB DDR2

4. Space Harddisk : 160 GB HDD. (2 GB untuk instalasi visual studio 2008).


(74)

4.5.3 Proses pengujian aplikasi

Berikut ini adalah menu utama dari program Fitur Menu Utama Aplikasi perintah suara

Gambar 4.9 Tampilan Menu Utama Aplikasi perintah suara

1. Fitur Menu saat enable speech diaktifkan

Gambar 4.10 Tampilan Menu saat enable speech diaktifkan


(75)

2. Fitur Menu Pemanggilan data world

Gambar 4.11 Tampilan Menu pemanggilan data world

3. Fitur Menu Pemanggilan internet


(76)

4. File menu pemanggilan winamp

Gambar 4.13 Tampilan Menu pemanggilan winamp

4.6 Evaluasi Pengujian

Pada tahap evaluasi pengujian penulis melakukan pengujian dan wawancara langsung pada berbagai macam user. Baik pada pekerja kantoran, pada teman kuliah dan pada pengguna yang mengalami cacat fisik (khususnya tangan). Sehingga didapat disimpulkan bahwa sistem ini sangat bermanfaat. Khususnya untuk mengurangi interfensi antara manusia denga komputer, labih efisiensi baik dalam segi waktu penggunaan, dan lebih mudah digunakan untuk menjalankan suatu aplikasi yang akan dipakai.


(77)

4.7 Hasil Penelitian

Proses penelitian dilakukan untuk mengetahui keakuratan dari program aplikasi yang dibuat. Hasil penelitian aplikasi perintah suara yang telah diuji dapat dilihat pada tabel berikut :

Tabel 4.2 pengucapan pengenalan suara

No Uji

coba Metode Keadaan

Jumlah

pengucapan Waktu

Yang menguji

1.

word

manual

tenang 7 detik 3 orang

s.r 1 kali 2 detik 3 orang

manual

berisik 10 detik 3 orang

s.r 2-3 kali 4-5 detik 3 orang

2.

Internet

manual

tenang 4 detik 3 orang

s.r 1 kali 2 detik 3 orang

manual

berisik 6 detik 3 orang

s.r 2-3 kali 4-5 detik 3 orang

3.

winamp

manual

tenang 4 detik 3 orang

s.r 1-2 kali 2-3 detik 3 orang

manual

berisik 6 detik 3 orang

s.r 2-3 kali 4 detik 3 orang

Dari hasil yang diperoleh, maka dapat dijelaskan bahwa untuk mengenal suatu perintah suara seorang user harus mengulang pemanggilan sekitar satu sampai dua kali pengucapan. Sehingga aplikasi ini cukup memuaskan untuk pengguna (user), dan memiliki keakuratan yang sangat baik.


(1)

this.menuItem10.Index = 2; this.menuItem10.Text = "&Paste"; //

// menuItem11 //

this.menuItem11.Index = 3; this.menuItem11.Text = "Delete"; //

// cmdEnable //

this.cmdEnable.Location = new System.Drawing.Point(16, 16); this.cmdEnable.Name = "cmdEnable";

this.cmdEnable.Size = new System.Drawing.Size(96, 23); this.cmdEnable.TabIndex = 0;

this.cmdEnable.Text = "Enable Speech";

this.cmdEnable.Click += new

System.EventHandler(this.cmdEnable_Click); //

// cmdDiable //

this.cmdDiable.Location = new System.Drawing.Point(152, 16); this.cmdDiable.Name = "cmdDiable";

this.cmdDiable.Size = new System.Drawing.Size(96, 23); this.cmdDiable.TabIndex = 0;

this.cmdDiable.Text = "Disable Speech";

this.cmdDiable.Click += new

System.EventHandler(this.cmdDiable_Click); //

// txtHyp //

this.txtHyp.Location = new System.Drawing.Point(106, 106); this.txtHyp.Name = "txtHyp";

this.txtHyp.Size = new System.Drawing.Size(168, 20); this.txtHyp.TabIndex = 6;

// // label1 //

this.label1.Location = new System.Drawing.Point(18, 106); this.label1.Name = "label1";

this.label1.Size = new System.Drawing.Size(72, 16); this.label1.TabIndex = 4;


(2)

lxxxvi

// // label2 //

this.label2.Location = new System.Drawing.Point(18, 146); this.label2.Name = "label2";

this.label2.Size = new System.Drawing.Size(72, 16); this.label2.TabIndex = 3;

this.label2.Text = "Recognition"; //

// txtReco //

this.txtReco.Location = new System.Drawing.Point(106, 146); this.txtReco.Name = "txtReco";

this.txtReco.Size = new System.Drawing.Size(168, 20); this.txtReco.TabIndex = 5;

this.txtReco.TextChanged += new

System.EventHandler(this.txtReco_TextChanged); //

// label3 //

this.label3.Location = new System.Drawing.Point(174, 202); this.label3.Name = "label3";

this.label3.Size = new System.Drawing.Size(74, 18); this.label3.TabIndex = 7;

this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter; //

// label4 //

this.label4.Location = new System.Drawing.Point(24, 72); this.label4.Name = "label4";

this.label4.Size = new System.Drawing.Size(240, 23); this.label4.TabIndex = 8;

// // Form1 //

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.Add(this.label4);

this.Controls.Add(this.label3); this.Controls.Add(this.txtHyp); this.Controls.Add(this.label1); this.Controls.Add(this.label2);


(3)

this.Controls.Add(this.txtReco); this.Controls.Add(this.cmdEnable); this.Controls.Add(this.cmdDiable); this.Menu = this.mainMenu1; this.Name = "Form1";

this.Text = "Speech Test"; this.ResumeLayout(false); this.PerformLayout();

}

#endregion

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

{

Application.Run(new Form1());

}

private void cmdEnable_Click(object sender, System.EventArgs e)

{

label4.Text = "Initializing Speech Engine....";

// Get an insance of RecoContext. I am using the shared

RecoContext.

objRecoContext = new SpeechLib.SpSharedRecoContext();

// Assign a eventhandler for the Hypothesis Event.

objRecoContext.Hypothesis += new _ISpeechRecoContextEvents_HypothesisEventHandler(Hypo_Event);

// Assign a eventhandler for the Recognition Event.

objRecoContext.Recognition += new

_ISpeechRecoContextEvents_RecognitionEventHandler(Reco_Event);

//Creating an instance of the grammer object.

grammar = objRecoContext.CreateGrammar(0);

label3.Text = "Speak Out one of the follwoing.\r\n1. Lagu 2.

Dokumen 3. yahoo 4. internet\r\n5. word";

//Activate the Menu Commands.

menuRule =

grammar.Rules.Add("MenuCommands",SpeechRuleAttributes.SRATopLevel|Spe echRuleAttributes.SRADynamic,1);


(4)

lxxxviii

object PropValue = "";

menuRule.InitialState.AddWordTransition(null,"Lagu","

",SpeechGrammarWordType.SGLexical,"Lagu", 1, ref PropValue, 1.0F );

menuRule.InitialState.AddWordTransition(null,"Dokumen","

",SpeechGrammarWordType.SGLexical,"Dokumen", 2, ref PropValue, 1.0F );

menuRule.InitialState.AddWordTransition(null,"yahoo","

",SpeechGrammarWordType.SGLexical,"yahoo",3, ref PropValue, 1.0F ); menuRule.InitialState.AddWordTransition(null,"internet"," ",SpeechGrammarWordType.SGLexical,"internet",4, ref PropValue, 1.0F );

menuRule.InitialState.AddWordTransition(null,"word","

",SpeechGrammarWordType.SGLexical,"word",5, ref PropValue, 1.0F );

// menuRule.InitialState.AddWordTransition(null,"copy","

",SpeechGrammarWordType.SGLexical,"copy",6, ref PropValue, 1.0F ); // menuRule.InitialState.AddWordTransition(null,"Paste"," ",SpeechGrammarWordType.SGLexical,"Paste",7, ref PropValue, 1.0F ); // menuRule.InitialState.AddWordTransition(null,"Delete"," ",SpeechGrammarWordType.SGLexical,"Delete",8, ref PropValue, 1.0F );

grammar.Rules.Commit();

grammar.CmdSetRuleState("MenuCommands",

SpeechRuleState.SGDSActive);

label4.Text = "Speech Engine Ready for Input";

}

private void Reco_Event(int StreamNumber, object

StreamPosition,SpeechRecognitionType RecognitionType,ISpeechRecoResult

Result)

{

txtReco.Text = Result.PhraseInfo.GetText(0, -1, true);

}

private void Hypo_Event(int StreamNumber, object StreamPosition, ISpeechRecoResult Result)

{

txtHyp.Text = Result.PhraseInfo.GetText(0, -1, true);

}

private void cmdDiable_Click(object sender, System.EventArgs e)

{

label3.Text = "";

objRecoContext = null;

label4.Text="";


(5)

}

//isi alamat perintah

private void txtReco_TextChanged(object sender, EventArgs e) {

if(txtReco.Text=="Lagu") {

System.Diagnostics.Process jalan = new System.Diagnostics.Process(); jalan.EnableRaisingEvents=false;

jalan.StartInfo.FileName = "C:\\Program Files\\Winamp\\winamp.exe"; jalan.Start();

}

else if(txtReco.Text=="Dokumen") {

System.Diagnostics.Process jalan = new System.Diagnostics.Process(); jalan.EnableRaisingEvents=false;

jalan.StartInfo.FileName="c:\\Users\\Haris Kisumal"; jalan.Start();

}

else if (txtReco.Text == "yahoo") {

System.Diagnostics.Process jalan = new System.Diagnostics.Process(); jalan.EnableRaisingEvents = false;

jalan.StartInfo.FileName ="C:\\Program Files\\Yahoo!\\Messenger"; jalan.Start();

}

else if (txtReco.Text == "internet") {

System.Diagnostics.Process jalan = new System.Diagnostics.Process(); jalan.EnableRaisingEvents = false;

jalan.StartInfo.FileName = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";

jalan.Start(); }

else if (txtReco.Text =="word") {


(6)

xc

xc jalan.EnableRaisingEvents = false;

jalan.StartInfo.FileName = "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.exe";

jalan.Start(); }

} } }