Date post: | 26-Mar-2023 |
Category: |
Documents |
Upload: | khangminh22 |
View: | 0 times |
Download: | 0 times |
APLIKASI PERINTAH SUARA PADA WINDOWS
HARIS KISUMAL
2040.9100.2533
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
1
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 2040 9100 2533
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). Kata Kunci : voice command, windows, C#, RAD.
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
5
A PENGAANTAR
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
laku Ketua PProgram Studdi Teknik Innformatika.
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
1.6 Sistematika Penulisan .............................................................. 8
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
3.4 Teknik Pengumpulan data ........................................................ 50
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
Gambar 4.13. Tampilan Menu Pemanggilan Data Winamp .............................. 65
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.4 Tujuan 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.
Yaitu menentukan tujuan dan syarat-syarat informasi.
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.
BAB II
LANDASAN TEORI
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.
21
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
mucul kepermukaan dan diterbitkan. Dekade ini dimulai dengan beberapa
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
seringkali disingkat menjadi .NET saja.
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);
6. tidak memerlukan hardware khusus untuk operasi multitasking;
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
35
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
Gambar 2.5 Sistem Pengolahan Sinyal Digital
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
2.6.2 Penentuan Voiced dan Unvoiced
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.
Gambar 2.8. Voiced Waveform
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)
BAB III
METODOLOGI PENELITIAN
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.
49
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).
Selesai
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 APLIKASIKOMPUTER
LPC
FFT
NNSuara dikenal
Input suara
Suara disimpan dalam bentuk wav
Program dijalankan
Gambar 3.3 Sequence Diagram Aplikasi
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) :
Gambar 3.5 Skema Pengembangan Sistem RAD
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 berpengalaman.
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.
BAB IV
ANALISA DAN PEMBAHASAN
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.
62
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 :
Gambar 4.1 Menjalankan Software Visual Studio
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,
sehingga muncul tampilan sebagai berikut :
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.
Gambar 4.4 Halaman Kerja Pembuatan GUI
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.
Gambar 4.5 Menginput kode program pada enable button
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
Gambar 4. 12 Tampilan 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.
BAB V
KESIMPULAN DAN SARAN
Pada bab 5 ini akan dijelaskan mengenai kesimpulan yang dapat diambil dari
mulai tahap rancanngan sampai ke dalam tahap implementasi dan evaluasi sistem
pengenelan suara untuk menjalankan perintah pada windows. Juga akan dibahas
mengenai saran-saran dan isu-isu yang patut untuk dibahas dan dikembangkan untuk
system aplikasi pengenalan suara.
5.1 Kesimpulan
Dari uji coba yang penulis telah lakukan pada situasi keadaan tenang dan
ramai, maka penulis menyimpulkan program ini cukup baik untuk digunakan.
Hal ini dapat dilihat pada tabel 4.2 (hal 60).
Berdasarkan pengamatan dan pembelajaran terhadap hasil dari penulisan
skripsi ini, penulis dapat mengambil kesimpulan mengenai pengenalan suara
untuk menjalankan perintah pada windows, Sehingga aplikasi ini dapat
meningkatkan produktifitas dan efektifitas bagi penggunanya dalam penggunaan
komputer berbasiskan operation system windows. Dengan menggunakan
transformasi aplikasi perintah suara untuk menjalankan perintah pada windows.
78
79
5.2 Saran
Kekurangan dari aplikasi ini adalah pengguna harus memasukan kedalam
program data yang akan digunakan sebelum dipanggil, pemanggilan suara lebih
mudah digunakan ditempat yang tenang, aplikasi ini bersifat close set, artinya
aplikasi ini hanya mengenali kata-kata yang berada dalam database, aplikasi ini
hanya dapat mengenali perintah dalam sistem operasi Windows.
Dalam pembuatan aplikasi prototype ini, penulis hanya menggunakan
beberapa perintah pada windows, penulis belum menyediakan semua program
atau aplikasi pada windows secara menyeluruh. Diharapkan nantinya, akan ada
yang melanjutkan untuk membuat aplikasi pelengkap untuk melengkapi aplikasi
ini. Sehingga, pengguna benar-benar mengoptimalkan suara sebagai alat untuk
menjalankan perintah pada windows. Dan dengan ditemukannya metode-metode
yang lebih baru dan mudah untuk menganalisis, mengolah dan menampilkan
suara sebagai alat untuk menjalankan perintah pada windows. Sehingga,
pengguna suara atau sinyal suara dapat dioptimalkan untuk beberapa aplikasi
lainnya maupun pada bidang lainnya yang terintegrasi dengan komputer.
lxxx
DAFTAR PUSTAKA
Natkusumah, E.K., 2002 “ perkembangan teknologi informasi di Indonesia.”, LIPI Bandung, 2002
Mukhopadhyay M., “speech recognition” 1995
Kristanto, H, 1994 “ Sistem oprasi pembuatan aplikasi” Yogyakarta : Andi
Agustina S, Maria, 2009 “Cara Mudah Menguasai Microsoft Visual C# 2008”, Yogyakarta : andi
Haykin, 1999, “Jaringan saraf tiruan”, Prentice Hall
M.J.Roberts, 2004 “Signals and System Analysis Using Transform Methods and Matlab”, New York : 2004
McGraw-Hill,2004, “Konteks analisa system dan metode perancangan”
Rabiner, L. R., "A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, Prov. of IEEE, vol. 77, no. 2, pp. 257-286, 1989.
Rabiner, L. R., and B. H. Juang, "An Introduction to Hidden Markov Models," IEEE ASSP Magazine, vol. 3, no. 1, pp. 4-16, Jan. 1986.
Fathansyah, 1999, “Buku Teks Ilmu Komputer Basis Data”, bandung Penerbit Informatika
Jogianto, 1999. “ Analisis dan Desain”, Yogyakarta : Andi Yogyakarta
Sutedjo, 2002 “ Perencanaan dan Pengembangan Sistem”, Yogyakarta : Andi Yogyakarta
Deitel, Harvey M., Deitel Paul J. 2006. “Visual C# 2008 How to program” 2nd edition.; prentice hall, new jersey
LAMPIRAN
lxxx
lxxxi
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using SpeechLib; namespace SpeechTest { /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.MainMenu mainMenu1; private System.Windows.Forms.MenuItem menuItem1; private System.Windows.Forms.MenuItem menuItem2; private System.Windows.Forms.MenuItem menuItem3; private System.Windows.Forms.MenuItem menuItem4; private System.Windows.Forms.MenuItem menuItem5; private System.Windows.Forms.MenuItem menuItem6; private System.Windows.Forms.MenuItem menuItem7; private System.Windows.Forms.MenuItem menuItem8; private System.Windows.Forms.MenuItem menuItem9; private System.Windows.Forms.MenuItem menuItem10; private System.Windows.Forms.MenuItem menuItem11; private System.Windows.Forms.Button cmdEnable; private System.Windows.Forms.Button cmdDiable; private SpeechLib.SpSharedRecoContext objRecoContext = null; private SpeechLib.ISpeechRecoGrammar grammar = null; private SpeechLib.ISpeechGrammarRule menuRule=null; private System.Windows.Forms.TextBox txtHyp; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox txtReco; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private IContainer components;
lxxxi
lxxxii
public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components); this.menuItem1 = new System.Windows.Forms.MenuItem(); this.menuItem2 = new System.Windows.Forms.MenuItem(); this.menuItem3 = new System.Windows.Forms.MenuItem(); this.menuItem4 = new System.Windows.Forms.MenuItem();
lxxxii
lxxxiii
this.menuItem5 = new System.Windows.Forms.MenuItem(); this.menuItem6 = new System.Windows.Forms.MenuItem(); this.menuItem7 = new System.Windows.Forms.MenuItem(); this.menuItem8 = new System.Windows.Forms.MenuItem(); this.menuItem9 = new System.Windows.Forms.MenuItem(); this.menuItem10 = new System.Windows.Forms.MenuItem(); this.menuItem11 = new System.Windows.Forms.MenuItem(); this.cmdEnable = new System.Windows.Forms.Button(); this.cmdDiable = new System.Windows.Forms.Button(); this.txtHyp = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.txtReco = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // mainMenu1 // this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem1, this.menuItem7}); // // menuItem1 // this.menuItem1.Index = 0; this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem2, this.menuItem3, this.menuItem4, this.menuItem5, this.menuItem6}); this.menuItem1.Text = "&File"; // // menuItem2 // this.menuItem2.Index = 0; this.menuItem2.Text = "New"; // // menuItem3
lxxxiii
lxxxiv
// this.menuItem3.Index = 1; this.menuItem3.Text = "Open"; // // menuItem4 // this.menuItem4.Index = 2; this.menuItem4.Text = "Close"; // // menuItem5 // this.menuItem5.Index = 3; this.menuItem5.Text = "-"; // // menuItem6 // this.menuItem6.Index = 4; this.menuItem6.Text = "Exit"; // // menuItem7 // this.menuItem7.Index = 1; this.menuItem7.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem8, this.menuItem9, this.menuItem10, this.menuItem11}); this.menuItem7.Text = "&Edit"; // // menuItem8 // this.menuItem8.Index = 0; this.menuItem8.Text = "Cut"; // // menuItem9 // this.menuItem9.Index = 1; this.menuItem9.Text = "&Copy"; // // menuItem10 //
lxxxiv
lxxxv
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; this.label1.Text = "Hypothesis";
lxxxv
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);
lxxxvi
lxxxvii
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|SpeechRuleAttributes.SRADynamic,1);
lxxxvii
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="";
lxxxviii
lxxxix
} //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") {
System.Diagnostics.Process jalan = new System.Diagnostics.Process();
lxxxix