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 berbedabeda. 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.
5
KATA A PENGA ANTAR
A Assalaamu’a alaikum Wr. Wb. Alham mdulillah, raasa syukur tiada terkiira penulis panjatkan kepada Alllah S Subhanahu Wata’ala. Rahmat daan salam semoga terrcurahkan selalu s kepaada R Rasulullah Muhammad M SAW besertta keluarga, sahabat, dann pengikut-ppengikut beliiau ( (amin). Haanya berkaat petunjukk dan perrtolongan Allah-lah A p penulis dappat m menyelesaik kan skripsi yang berjudul : Aplikasi Perintah P Suaara Pada Winndows. Terwu ujudnya tulissan dalam beentuk skripsii ini, tentunyya tidak terleepas dari b bantuan dan n bimbingan dari berbagaai pihak. Rassa terima kassih penulis ucapkan k kepada : 1.
Bapak k DR. Syopiaansyah Jaya Putra, M.SIS, selaku Deekan Fakultaas Sains dan Teeknologi.
2 2.
Bapak k Yusuf Durrrachman, sellaku Ketua Program 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 ...............................................................................................
BAB I
x
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
BAB III
Sekilas tentang c# (c sharp) ........................................ 35
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.3
4.2.2
Pendefinisian Kebutuhan ............................................ 53
4.2.3
Tujuan Informasi .......................................................... 53
Fase Perancangan ..................................................................... 54 4.3.1
Perancangan Antar Muka ............................................. 54
4.4 Fase Konstruksi ........................................................................ 56
4.5
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
Fase Pelaksanaan...................................................................... 62 4.5.1 Spesifikasi Minimum Pemakaian Simulasi.................. 62
BAB V
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
KESIMPULAN DAN SARAN 5.1
Kesimpulan .............................................................................. 67
5.2 Saran......................................................................................... 68
DAFTAR PUSTAKA ......................................................................................... 69 LAMPIRAN
10
DAFTAR GAMBAR Gambar 2.1. Gambar 2.2.
Diagram Gelombang Sinyal Analog 22 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). tahaptahap 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 rencanganrancangan 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 acousticphonetics. 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,, New Yorkk : McGraw w-Hill,2004,hh.1). Contohh dari sinyall adalah suaara manusiaa, kode morrse, tegangann listrik di kabel k teleponn, variasi intensitas cahaaya pada seebuah jaringgan serat optik yang diggunakan dallam telepon atau jaringgan komputter, dan lainnnya. Sinyaal dapat dikklarifikasikann menjadi beberapa b jennis yaitu, sinyal s waktuu, sinyal nilaai, sinyal raandom, dan sinyal nonraandom. Unttuk Sinyal Waktu dapaat dibagi meenjadi dua, yaitu Sinyaal Waktu Koontinue/Sinyyal Analog yang meruppakan sinyall yang belum m melalui prroses apapunn dan Sinyyal Waktu Diskrit/Sinnyal Digitaal yang merupakan m s sinyal anallog yang tellah melaluii proses samppling quantiization, dan encoding. e Semua suaara audio, baik vokall maupun bunyi mem miliki benttuk gelombangnya maasing-masingg. Umumnyya bentukann gelombanngnya disebbut dengan sinyal anaalog. Bentukk dari sinyaal analog bisa b dilihat pada gambbar dibawah h ini.
Gambar 2.1 Diagram m Gelombaang Sinyal Analog
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 contohcontoh 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;
35
7. mem mpunyai kem mampuan DM MA (Direct Memory Acccess) jika dipakai d sebaggai hostt system. Semua operrasi DSP sebbetulnya bisaa dilakukan pada p mikropprosesor umuum (generaal-purpose microprocess m or). Akan teetapi, DSP memiliki m sisstem arsitekttur yang teelah di-optim masikan unttuk lebih daapat mempeercepat pemrrosesan sinyyal (isyaratt). Optimasii ini juga penting sekkali artinyaa dalam kaiitannya unttuk menekaan biaya, peenghantarann panas (heat emissionn), dan pengggunaan daaya (power consumptionn). Proses samppling adalahh proses penngambilan nilai–nilai sinnyal pada tittik diskrit sepanjang s vaariable waktuu dari sinyall waktu konttinue, sehinggga didapatkkan sinyal waktu w diskrrit. Pada prooses ini terjadi suatu pencuplikan dari bentukkan sinyal analog. Penncuplikan diilakukan paada bagian-bbagian sinyaal analog. Ini I kan dengan sinyal-sinyal sample. dilakuk
Gambarr 2.2 Bentuk kan Sinyal Sample S Ada suatu aturan terteentu dari sinnyal ini. Teeori Shannon menyatakkan frekuen nsi sinyal inni paling seddikit adalah dua kali frekuensi sinyyal yang akkan
36
disamplling (sinyal analog). Ini adalah batass minimum dari d frekuennsi sample aggar nantiny ya cuplikan yang y diambill menunjukkkan bentukann sinyal yangg asli (analogg). Lebih besar b tentunnya lebih baaik, karena cuplikan akkan lebih meenggambarkkan sinyal yang y asli. Keesimpulan yaang didapat, proses samppling menunnjukkan beraapa sinyal analog a yang akan dicupllikkan dalam m satu detikk, misalkan sinyal s dicupllik sebesar 11025 Hz, yang berartti dalam sattu detik, sinnyal dibagi–bbagi sebanyyak 11025 kali. k s analoogSetelah dilaakukan prosses ini, makka terbentukklah suatu sinyal diskrit yang y bentukknya menyerrupai aslinyaa namun hannya diambil diskrit-diskkrit saja. Quantization Q adalah prooses pemetaaan nilai–niilai dari sinnyal kontinnue menjadi nilai–nilai yang diskritt, sehingga didapatkan d s sinyal nilai diskrit. d Setellah diquanttisasi maka tiap-tiap diskkrit yang
Gam mbar 2.3 Beentukan Prooses Pencup plikan
Ada telah memiliki tetapan t terttentu. Tetappan ini daapat dijadikkan nasi bilangan biner, maka m terbenttuklah bilanngan-bilangaan biner yaang kombin merupaakan informaasi dari sinyyal Kesimpuulannya, prosses quantizaation bertujuuan
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 : Mikropon
Software Model Akustik
Soundcard
mengubak sinyal suara dalam
Pembandingan/pencoco kan data baru dengan
3 phonems. ST,UH,FF
kata-kata/suara dalam kamus St :0010
Output
LPC
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 paruparu 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 tipetipe 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
(http://id.wikipedia.org/wiki/microsoft_visual_c_sharp)
ISO/IEC
23270:2006.
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.
Mulai
Menyimpan model Hasil Input Suara
Menjalankan
Mengubah
Mematahkan Kata
Proses Sinyal
Kedalam
Keluaran Hasil
Program
Selesai
Gambar 3.1 Global Flowchart Analisis Kebutuhan Sistem
3.2.6 Metode perancangan system Secara harafiah kata perancangan berasal dari kata design yang berarti proses membuat struktur atau bentuk lain dari sesuatu dengan membuat gambar-gambar rencana (The Collins Dictionary and Thesaurus, 1987). Untuk menyelesaikan masalah di dalam sebuah sistem harus dilakukan pengabungan strategi perancangan yang melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik (Presman, 2002 : 27).
52
Proses perancangan sistem diartikan sebagai sekumpulan aktivitas, metode, best practice, deliverable dan tools-tools otomatis yang digunakan stakeholder untuk merancang sistem informasi dan software secara kontinu, artinya perancangan yang dilakukan secara bertahap dari hal-hal yang menjadi kendala sistem sampai hal-hal yang menjadi kebutuhan sistem (Whitten, 2004:84). a. Rice Picture Data suara
User
Soundcard
Program pada
Mencocokan data
windows dijalankan
suara dengan
LPC
Kata Dalam Phonemes
Gambar 3.2 Rice Picture dari Sistem Aplikasi Perintah Suara untuk Menjalankan Perintah Pada Windows
53
b. Sequence Diagram SISTEM APLIKASI KOMPUTER
Suara disimpan dalam bentuk wav USER
LPC Input suara
FFT
Program dijalankan
Suara dikenal
NN
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 syaratsyarat, 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 prosesproses 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
Sequensial Linier (waterfall)
Metode ini baik digunakan untuk kebutuhan yang sudah diketahui dengan baik
Prototype
Metode ini cukup efektif dengan mendapatkan kebutuhan dan aturan yang jelas dan pelanggan bisa langsung melihat sistem yang sebenarnya. Metode ini lebih cepat dari waterfall jika kebutuhan dan batasan proyek sudah diketahui dengan baik. Dan bisa untuk dimodularisasi.
RAD
Kekurangan
Pengunaan secara umum Iterasi yang sering waterfall bekerja terjadi menyebabkan dengan baik pada masalah baru. bagi proyek skala kecil pelanggan sulit menentukan kebutuhan secara eksplisit dan harus sabar karena memakan waktu yang lama. Pengembang prototyping dapat kadang-kadang bekerja dengan baik membuat jika ada kerjasama implementasi yang baik antara sembarang, karena pengembang dengan ingin working pengguna version selesai dengan cepat.
Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim. Karena komponenkomponen 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
Incremental
fleksibel dan mudah untuk dikelola dan pengujian yan mudah.
Iterative
Fase desain, pengkodean, pengujian lebih cepat.
Spiral
Model ini digunakan untuk sistem skala besar. membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga dapat mengurangi terjadinya resiko yang lebih besar.
sudah ada, fasilitasfasilitas pada tiap komponen belum tentu digunakan seluruhnya sehingga kualitas program bisa menurun. semua kebutuhan tidak dikumpulkan pada tahap awal sehingga menimbulkan masalah serta sulit untuk mengukur progress karena tidak ada milestone. butuh waktu yang banyak untuk menganalisis dan terlalu banyak langkah yang dibutuhkan model resiko utama tidak ditemukan, maka masalah bisa muncul kemudian. Sehingga membutuhkan kemampuan manajemen dan perkiraan resiko (risk assessment) yang cukup tinggi.
cocok untuk aplikasi yang kebutuhannya telah diidentifikasi dengan baik.
hanya cocok untuk softwere berskala besar
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, ebook 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
Menu File
Edit File
Enable Speech
Disable Speech
Hypothesis Form Recognition
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 manual
1.
word
s.r manual Internet
s.r manual 3.
winamp
berisik
s.r
2-3 kali
tenang 1 kali berisik
2-3 kali
tenang
s.r manual
pengucapan
1 kali
s.r manual
Jumlah
tenang
s.r manual
2.
Keadaan
1-2 kali berisik
2-3 kali
Waktu
Yang menguji
7 detik
3 orang
2 detik
3 orang
10 detik
3 orang
4-5 detik
3 orang
4 detik
3 orang
2 detik
3 orang
6 detik
3 orang
4-5 detik
3 orang
4 detik
3 orang
2-3 detik
3 orang
6 detik
3 orang
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”, Informatika
bandung
Penerbit
Jogianto, 1999. “ Analisis dan Desain”, Yogyakarta : Andi Yogyakarta Sutedjo, 2002 Yogyakarta
“ Perencanaan dan Pengembangan Sistem”, Yogyakarta : Andi
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. /// 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. /// 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. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.mainMenu1 = 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
new
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 += 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 += 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
new
new
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. /// [STAThread] static void Main() { Application.Run(new Form1()); } private void cmdEnable_Click(object sender, System.EventArgs e) { label4.Text = "Initializing Speech Engine...."; // Get an insance of RecoContext. I am using the shared RecoContext. objRecoContext = new SpeechLib.SpSharedRecoContext(); // Assign a eventhandler for the Hypothesis Event. objRecoContext.Hypothesis += new _ISpeechRecoContextEvents_HypothesisEventHandler(Hypo_Event); // Assign a eventhandler for the Recognition Event. objRecoContext.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(Reco_Event); //Creating an instance of the grammer object. grammar = objRecoContext.CreateGrammar(0); label3.Text = "Speak Out one of the follwoing.\r\n1. Lagu 2. Dokumen 3. yahoo 4. internet\r\n5. word"; //Activate the Menu Commands. menuRule = grammar.Rules.Add("MenuCommands",SpeechRuleAttributes.SRATopLevel|Spe echRuleAttributes.SRADynamic,1);
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
jalan.EnableRaisingEvents = false; jalan.StartInfo.FileName = Office\\Office12\\WINWORD.exe"; jalan.Start(); } }
} }
xc
"C:\\Program
Files\\Microsoft