+ All Categories
Home > Documents > APLIKASI PERINTAH SUARA PADA WINDOWS PROGRAM ...

APLIKASI PERINTAH SUARA PADA WINDOWS PROGRAM ...

Date post: 26-Mar-2023
Category:
Upload: khangminh22
View: 0 times
Download: 0 times
Share this document with a friend
90
APLIKASI PERINTAH SUARA PADA WINDOWS HARIS KISUMAL 2040.9100.2533 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH 1
Transcript

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

54

c. Flow Chart Program Utama

Gambar 3.4 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) :

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

xc

xc

jalan.EnableRaisingEvents = false; jalan.StartInfo.FileName = "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.exe"; jalan.Start(); } } } }


Recommended