Implementasi speech recognition menggunakan sapi 5 dan visual basic 6.0 pada pembuatan aplikasi kalkulator audio visual

(1)

IMPLEMENTASI SPEECH RECOGNITION

MENGGUNAKAN SAPI 5 DAN VISUAL BASIC 6.0

PADA PEMBUATAN APLIKASI KALKULATOR

AUDIO VISUAL

JUNAEDIH

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2007 M / 1428 H


(2)

IMPLEMENTASI SPEECH RECOGNITION

MENGGUNAKAN SAPI 5 DAN VISUAL BASIC 6.0

PADA PEMBUATAN APLIKASI KALKULATOR

AUDIO VISUAL

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh: JUNAEDIH 101091123324

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2007 M / 1428 H


(3)

IMPLEMENTASI SPEECH RECOGNITION

MENGGUNAKAN SAPI 5 DAN VISUAL BASIC 6.0

PADA PEMBUATAN APLIKASI KALKULATOR

AUDIO VISUAL

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Informatika

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh: Junaedih 101091123324

Menyetujui

Pembimbing I Pembimbing II

Ir. Bakri La Katjong, MT, M.Kom Victor Amrizal, M.Kom

Mengetahui

Ketua Program Studi Teknik Informatika

Nurhayati, M.Kom NIP: 150 293 241


(4)

LEMBAR PENGESAHAN UJIAN

Skripsi ini berjudul “IMPLEMENTASI SPEECH RECOGNITION MENGGUNAKAN SAPI 5.0 DAN VISUAL BASIC 6.0 PADA PEMBUATAN APLIKASI KALKULATOR AUDIO VISUAL”. Telah diuji dan dinyatakan lulus dalam Sidang Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari jum’at, 9 Maret 2007. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata 1 (S1) pada Jurusan Teknik Informatika.

Jakarta, Maret 2007

Tim Penguji,

Penguji I Penguji II

Nasrul Hakiem, MT Khodijah Hulliyah, M.Kom

Mengetahui,

Dekan

Kaprodi Teknik Informatika

Dr. Ir. Syopiansyah Jaya Putra, M.Sis Nurhayati, M.Kom NIP. 150 317 956 NIP. 150 293 241


(5)

PENGESAHAN UJIAN

Skripsi yang berjudul “ Implementasi Speech Recognition Menggunakan SAPI 5 dan Visual Basic 6.0 Pada Pembuatan Aplikasi Kalkulator Audio Visual” telah di uji dan dinyatakan lulus dalam sidang Munaqosyah Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Hari, Tgl November 2006.

Jakarta, Januari 2007 Tim Penguji

Penguji I

Ir. Bakri La Katjong, MT, M.Kom NIP: 470 035 764

Penguji II Penguji III

Ir. Bakri La Katjong, MT, M.Kom Victor Amrizal, M.Kom

Dekan Fakultas Sains dan Teknologi Ketua Program Studi Teknik Informatika

DR. Syopiansyah Jaya Putra, M.Sis Ir. Bakrie La Katjong, MT, MKom NIP. 150 317 956 NIP: 470 035 764


(6)

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA

SKRIPSI INI BENAR-BENAR HASIL KARYA

SENDIRI YANG BELUM PERNAH DIAJUKAN

SEBAGAI SKRIPSI ATAU KARYA ILMIYAH PADA

PERGURUAN TINGGI ATAU LEMBAGA MANAPUN

Jakarta, Maret 2007

Junaedih

101091123324


(7)

ABSTRAK

JUNAEDIH (1010191123319), Implementasi Speech Recognition Menggunakan SAPI 5.1 dan Visual Basic 6.0 Pada Pembuatan Kalkulator Audio Visual (Di bawah bimbingan Victor Amrizal, M.Kom dan Ir. Bakrie La katjong, M.T M.Kom).

Produk-produk teknologi pada dasarnya dibuat dan dikembangkan sebagai alat untuk membantu manusia dalam kehidupan agar lebih mudah, praktis dan efisien, namun tidak semua orang dapat merasakan atau menggunakannya. Ada beberapa faktor yang menyebabkan manusia tidak bisa menggunakan atau merasakan teknologi yang ada saat ini, seperti: faktor ekonomi, faktor pendidikan, faktor budaya, dan faktor cacat indera.

Sebagai manusia yang memiliki panca indera yang utuh dan sempurna mungkin tidak ada masalah dalam menggunakan produk-produk teknologi, selama orang tersebut mampu dan mau mempelajari cara menggunakannya. Lalu bagaimana dengan mereka yang tidak memiliki panca indera yang utuh, seperti cacat pendengaran, cacat penglihatan? Tentu akan sangat sulit bagi mereka menggunakan produk teknologi tersebut, karena secara umum dalam perkembangannya teknologi hanya diperuntukan bagi mereka yang normal saja.

Dengan memanfaatkan teknologi pengenalan ucapan/sura (speech to text) dan TTS (text to speech), kita dapat membuat aplikasi kalkulator yang dapat digunakan oleh mereka yang tuna netra. Aplikasi Kalkulator Audio Visual dapat dibuat dengan menggunakan tools IndoTTS, Speech to Text, Text to Speech, serta Aplikasi Pemrograman Visual Basic 6.0.

Kata kunci: Speech Recognitin, Speech to Text, Text to Speech, IndoTTS.


(8)

KATA PENGANTAR

Assalamu’alaikum wa rahmatullahi wa barakatuh.

Dengan menyebut nama Allah Yang Maha Pemurah serta Maha Penyayang. Segala puji bagi Allah SWT yang telah melimpahkan hidayah, rahmah dan maghfirah-Nya sehingga penulis dapat menyelesaikan pembuatan skripsi ini. Selanjutnya shalawat serta salam penulis haturkan kepada Rasulullah SAW, yang telah membawa amanah Islam dan membawa umatnya ke jalan cahaya hidayah Allah SWT.

Penulis mengucapkan terima kasih kepada pihak-pihak yang memberikan bimbingan, bantuan, dan dukungan selama penyusunan dan pembuatan skripsi ini berlangsung. Secara khusus saya ucapkan terima kasih kepada:

1. Bapak Victor Amrizal, M.Kom dan Bapak Bakri La Katjong MT, M.Kom selaku pembimbing skripsi yang secara kooperatif, penuh kesabaran dan keramahan, memberi nasihat dan saran-saran berharga yang secara bijak membantu dan membimbing penulis dalam penyelesaian skripsi ini.

2. Bapak DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi.

3. Kedua orang tua tercinta, (Baba) Bapak Nasman dan (Emma) Ibunda tercinta Misah Anul Nasman yang sangat penulis cintai dan sayangi yang telah sekian lama membesarkan, merawat, dan membimbing penulis baik secara moril maupun materil.


(9)

4. Eskawati Musyarofah Bunyamin (bunga kemuliaan), terima kasih atas segala kebaikan, kesabaran, ketulusan, dan pengorbanan yang tidak mungkin dapat penulis sebutkan satu persatu dalam tulisan ini karena keterbatasan tempat. 5. Teman-teman Teknik Informatika UIN Jakarta Angkatan 2001 kelas B dan A

yang tak bisa penulis sebutkan satu persatu yang telah penulis anggap sebagai Keluarga besar kedua bagi penulis. Terima kasih atas bantuan, dukungan moril, nasihat, curhat, kejahilan, serta menemani dan menyemangati penulis dalam menjalani masa-masa kuliah di UIN Jakarta ini. Semuanya sangat berkesan dan insya Allah tak terlupakan sampai akhir nanti. Amien.

Pengalaman adalah guru yag paling bijak, sebagaimana kesalahan adalah awal dari kesempurnaan, diiringi keteguhan, keyakinan, dan ketabahan untuk terus memperjuangkan apa yang kita impikan. Itulah gambaran keseluruhan dari apa yang saya dapatkan dalam penyusunan tugas akhir ini. Skripsi yang jauh dari sempurna ini telah memberikan begitu banyak manfaat dan hikmat yang bisa saya petik. Dan hal itu juga yang saya harapkan akan diperoleh dari siapapun yang membacanya. Amin. Billahi taufik wal hidayah. Wassalamu’alaikum wa rahmatullahi wa barakatuh.


(10)

DAFTAR ISI

Halaman

Halaman Judul ... i

Halaman Persetujuan Pembimbing ... ii

Halaman Pengesahan ... iii

Halaman Pernyataan ... iv

Abstraksi ... v

Kata Pengantar ... vi

Daftar Isi ... xiii

Daftar Tabel ... ix

Daftar Gambar ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Identifikasi Masalah ... 2

1.3 Perumusan Masalah ... 2

1.4 Batasan Masalah ... 3

1.5 Tujuan Penulisan ... 3

1.6 Manfaat Penulisan ... 3

1.7 Metode Penelitian ... 5


(11)

BAB II LANDASAN TEORI ... 8

2.1 Speech Recognition... 8

2.2 SAPI (Speech Aplication Programming Interface) ... 13

2.2.1 Sistem Pengenalan Pembicaraan ... 13

2.2.2 Arsitektur Speech Aplication Programming Interface (SAPI) ... 14

2.3 Algoritma Program ... 23

2.3.1 Pseudocode ... 23

2.3.2 Diagram Alur (Flow Chart) ... 24

2.3.3 STD (State Transition Diagram) ... 26

2.4 Model-model Proses Perangkat Lunak ... 28

2.4.1 Model Sekuensial Linear ... 28

2.4.2 Model Prototipe ... 29

2.4.3 Model RAD ... 30

2.5 Visual Basic 6.0 ... 33

2.5 IndoTTS ... 37

BAB III METODOLOGI PENELITIAN ... 40

3.1 Pengumpulan Data ... 40

a. Studi Pustaka ... 40

b. Diskusi ... 40


(12)

a. Analisa Kebutuhan ... 40

b. Identifikasi Sistem ... 41

3.2 Tahapan Pengembangan Sistem ... 41

a. Perancanagan Syarat-syarat ... 43

b. Workshop Design ... 43

c. Pelaksanaan ... 43

BAB IV ANALISA, RANCANGAN, PELAKSANAAN DAN PENGUJIAN PROGRAM ... 44

4.1 Fase Menentukan Tujuan dan Syarat-syarat Informasi... 44

4.1.1 Analisa Kebutuhan Masalah ... 44

4.2 Fase Perancangan ... 45

4.2.1 Perancangan Algoritma Program Aplikasi ... 45

4.2.2 Speech To Text ... 47

4.2.2.1 Representasi Sinyal Ucapan ... 52

4.2.2.2 Karakteristik Sinyal Ucapan ... 57

4.2.3 TTS (Text To Speech) ... 63

4.2.4 Flowchart Algoritma Program ... 70

4.2.5 Perancangan Antarmuka ... 74

4.3 Fase Pelaksanaan ... 86

4.3.1 Sarana-sarana Pendukung Sistem Apliksi Kalkulator Audio Visual ... 86


(13)

4.3.2 Instalasi Program ... 87

4.3.2 Tampilan Antarmuka Program ... 90

4.4 Pengujian Program Kalkulator Audio Visual ... 101

BAB V PENUTUP 5.1 Kesimpulan ... 108

5.2 Saran-saran ... 108

DAFTAR PUSTAKA ... 109


(14)

DAFTAR TABEL

Halaman TABEL 2.1: Simbol-simbol Flowchart ... 27 TABEL 4.1: Fonem-fonem Bahasa Inggris-Amerika dalam standar

IPA dan ARPABET ... 56 TABEL 4.2: Tabel Pengujian ... 102


(15)

DAFTAR LAMPIRAN

Halaman

A. Kamus Data ... 110

B. Surat Keterangan Penelitian dari MAN 4 Model Jakarta... 113

C. Source Code ... 114


(16)

DAFTAR LAMPIRAN

Halaman

A. Kamus Data ... 110

B. Surat Keterangan Penelitian dari MAN 4 Model Jakarta... 113

C. Source Code ... 114


(17)

DAFTAR GAMBAR

Halaman

GAMBAR 2.3: Blok Diagram Arsitektur SAPI ... 16

GAMBAR 2.11: Contoh perubahan state ... 28

GAMBAR 2.12: Notasi Modul ... 29

GAMBAR 2.13: Notasi Tampilan ... 29

GAMBAR 2.14: Notasi Tindakan ... 30

GAMBAR 2.16: Model Sekuensial Linear... 31

GAMBAR 2.17: Prototipe paradigma... 32

GAMBAR 2.18: Model RAD ... 34

GAMBAR 2.19: Tampilan aplikasi Micosoft Visual Basic 6.0... 36

GAMBAR 3.1: Siklus Pengembangan Sistem Model RAD ... 41

GAMBAR 4.1: Alur Proses inpu/output Dalam Aplikasi Kalkulator Audio Visxual ... 45

GAMBAR 4.2: Urutan proses dari suara ke text. ... 47

GAMBAR 4.3: Foto sinar X penampang alat-alat ucap manusia... 49

GAMBAR 4.4: Model Sistem Produksi Ucapan Manusia ... 50

GAMBAR 4.5: Contoh Sinyal Ucapan “It’s Time” ... 52

GAMBAR 4.6: Spektogram Pita Lebar, Spektogram

Pita Sempit,

dan Amplitudo dari Ucapan “

Every Salt

Breeze

Comes From Sea”. ... 54


(18)

GAMBAR 4.8: Bentuk Sinyal Ucapan Vokal Bahasa Inggris ... 58

GAMBAR 4.9: Spektogram Sinyal Ucapan Vokal Bahasa Inggris ... 58

GAMBAR 4.10: Contoh Sinyal dan Spektogram Diftong Bahasa Inggris ... 59

GAMBAR 4.11: Contoh Sinyal dan Spektogram Konsonan Nasal Bahasa Inggris ... 59

GAMBAR 4.12: Contoh Sinyal dan Spektogram

Konsonan Frikatif

Bahasa Inggris ... 61

GAMBAR 4.13: Contoh Sinyal dan Spektogram

Konsonan Stop

Bahasa Inggris ... 62

GAMBAR 4.14: Alur Proses Teks majadi Ucapan ... 62

GAMBAR 4.15: Urutan Proses Konversi dari Teks ke Ucapan... 66

GAMBAR 4.16: Flowchart Program Kalkulator. ... 70

GAMBAR 4.17: Flowchart Program Kalkulator (Lanjutan 1) ... 71

GAMBAR 4.18: Flowchart Program Kalkulator (Lanjutan 2) ... 72

GAMBAR 4.19: Rancangan Form intro ... 73

GAMBAR 4.20: Rancangan STD Form Intro ... 73

GAMBAR 4.21: Rancangan Form Menu Utama ... 75

GAMBAR 4.22: Rancangan STD Form Menu Utama ... 76

GAMBAR 4.23: Rancangan Form Kalkulator berbahasa Inggris ... 79

GAMBAR 4.24: Rancangan STD Form Kalkulator berbahasa Inggris... 79


(19)

GAMBAR 4.26: Rancangan STD Form Kalkulator berbahasa Indonesia ... 82

GAMBAR 4.27: Rancangan Form Info ... 83

GAMBAR 4.28: Rancangan STD Form Info ... 84

GAMBAR 4.29: Rancangan Form Bantuam ... 84

GAMBAR 4.30: Rancangan STD Form Bantuan ... 85

GAMBAR 4.31: Tampilan Program Kalkuator Audio Visual Setup ... 86

GAMBAR 4.32: Tampilan Proses Instalasi Program ... 87

GAMBAR 4.33: Tampilan Akhir Proses Instalasi Program... 88

GAMBAR 4.34: Form Intro... 89

GAMBAR 4.35: Form menu Utama... 90

GAMBAR 4.36: Form Kalkulator Berbahasa Indonesia ... 91

GAMBAR 4.37: Form Kalkulator Berbahasa Inggris ... 95

GAMBAR 4.38: Form Informasi... 99


(20)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Hadirnya teknologi informasi berdampak pada perubahan dan menjadikan mudahnya melakukan pekerjaan-pekerjaan manusia dalam berbagai bidang, seperti: sektor bisnis, sektor sosial, sektor pemerintahan, sektor militer, sektor pendidikan, sektor rumah tangga, dan hampir disetiap sendi-sendi kehidupan manusia modern.

Teknologi pada dasarnya dibuat dan dikembangkan sebagai alat untuk membantu manusia, tetapi apakah semua manusia dapat merasakan atau dapat mengunakan produk-produk teknologi yang selama ini dikembangkan. Ada beberapa faktor yang menyebabkan manusia tidak bisa menggunakan atau merasakan teknologi yang ada saat ini, seperti: faktor ekonomi, faktor pendidikan, faktor budaya, dan faktor cacat indera.

Sebagai manusia yang memiliki panca indera yang utuh dan sempurna mungkin tidak ada masalah dalam menggunakan produk-produk teknologi, selama orang tersebut mau mempelajari cara menggunakannya. Lalu

bagaimana dengan mereka yang tidak memiliki panca indera yang utuh, seperti cacat penglihatan. Tentu akan sangat sulit bagi mereka menggunakan produk teknologi tersebut, karena secara umum dalam perkembangannya teknologi hanya diperuntukan bagi mereka yang normal saja.


(21)

Dengan memanfaatkan teknologi informasi yang ada pada saat ini, diharapkan dapat menyelesaikan permasalahan diatas dengan efektif dan efisien. Oleh sebab itu pada penelitian ini penulis mengambil judul

Implementasi Speech Recognition menggunakan SAPI (Spech Aplication Progaramming Interface) dan Visual Basic 6.0 Pada Pembuatan Aplikasi Kalkulator Audio Visual”, diharapkan aplikasi ini dapat bermanfaat untuk mereka yang menyandang cacat tuna netra maupun mereka yang normal.

1.2 Identifikasi Masalah

Permasalahan yang ada pada saat ini adalah kesulitan orang yang cacat indera penglihatan (tuna netra) dalam menggunakan kalkulator, karena kalkulator yang ada saat ini hanya dapat digunakan dengan indera penglihatan tanpa ada input dan output dengan suara.

1.3 Perumusan Masalah

Sesuai dengan inti dari penulisan skripsi, maka permasalahan yang ada dapat penulis simpulkan yaitu:

a. Bagaimana merancang program untuk software kalkulator audio visual yang dapat membantu para penyandang cacat tuna netra dalam melakukan perhitungan-perhitungan.

b. Bagaimana system tool dan teknik yang bisa dipakai untuk merancang software tersebut.


(22)

Dalam penyusunan skripsi ini, penulis membatasi pembahasannya hanya pada:

a. Perancangan aplikasi kalkulator audio visual dengan menggunakan SAPI 5.0 dan Visual Basic 6.0.

b. Membangun system user dapat bertanya pada komputer terhadap persoalan perhitungan penjumlahan, pengurangan, perkalian, dan pembagian pada bilangan bulat dalam bahasa inggris dan bahasa indonesia.

c. Pada pilihan layanan bahasa Indonesia, tidak ada system pengenalan suara (Speech To Text)

1.5 Tujuan Penulisan

Tujuan penulisan yang penulis lakukan adalah:

a. Menganalisa dan merancang system aplikasi kalkulator audio visual. b. Tersedianya system (perangkat lunak) sebagai fasilitas yang

memberikan alternatif solusi bagi para tuna netra sehingga membantu dalam melakukan perhitungan-perhitungan.

1.6 Manfaat Penulisan

Sesuai dengan permasalahan dan tujuan penelitian yang sudah disebutkan, maka manfaat penelitian dapat dirumuskan sebagai berikut:


(23)

1. Untuk memenuhi salah satu syarat dalam menempuh gelar S1 (Strata 1) pada Fakultas Sains dan Teknologi Jurusan Teknik Informatika Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Menambah wawasan penulis tentang system pengenalan suara, teknologi informasi, khususnya dalam membangun sebuah software.

b. Bagi Universitas

1. Mengetahui kemampuan mahasiswa dalam menguasai materi teori yang telah diperoleh masa kuliah.

2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi.

c. Bagi Masyarakat

Memudahkan dalam menggunakan aplikasi kalkulator khususnya bagi para penyandang cacat tuna netra yang mempunyai keterbatasan. Sehingga di dalam kehidupanya sehari-hari menjadi lebih baik.

d. Bagi Pemerintah

Tersedianya produk teknologi yang dapat dimanfaatkan di lingkungan pendidikan Sekolah Luar Biasa (SLB) Tuna Netra.


(24)

Untuk memperoleh data dan informasi yang diperlukan, ada beberapa metode yang penulis gunakan :

A. Metode Pengumpulan Data 1. Studi Pustaka

Yaitu pengumpulan data dan informasi dengan cara membaca buku-buku referensi, mencari artikel, jurnal, dan e-book di Internet yang dapat dijadikan acuan pembahasan yang berhubungan dengan judul skripsi ini. 2. Diskusi

Melakukan diskusi dengan dosen pembimbing dan teman-teman di kampus.

B. Metode Pengembangan System

Pengembangan system dalam penelitian ini penulis lakukan menggunakan tahapan siklus pengembangan RAD, Kendal & Kendal (1998,2000), yaitu:

1. Fase Perencanaan Syarat-syarat, yaitu menentukan tujuan informasi.

2. Fase Perancangan

Yaitu perancangan proses-proses yang akan terjadi didalam system, perancangan basis data yaitu perancangan table-tabel yang akan digunakan dan perancangan antar muka keluaran.


(25)

Pada tahap ini dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan.

4. Fase Pelaksanaan

Pada tahap ini dilakukan pengujian terhadap system dan melakukan pengenalan terhadap system.

1.8 Sistematika Penulisan

Dalam skripsi ini, penulis membagi laporan menjadi beberapa bab yang secara singkat dapat dijelaskan sebagai berikut:

BAB I

PENDAHULUAN

Dalam bab ini berisi uraian tentang latar belakang masalah, identifikasi masalah, perumusan masalah, batasan masalah, tujuan penulisan, manfaat penulisan metode penelitian dan systematika penulisan.

BAB II

LANDASAN TEORI

Dalam bab ini berisi uraian tentang landasan teori yang berhubungan dengan materi yang penulis buat. Teori-teori tersebut antara lain adalah system pengenalan suara (Speech Recognition), SAPI (Speech Aplication Programming

Interface), InoTTS, Algoritma Program, Model-model

Proses Perangkat Lunak, dan didukung komponen Microsoft Visual Basic 6.0.


(26)

BAB III METODOLOGI

Bab ini membahas tentang metodelogi yang digunakan penulis dalam perancangan system ini.

BAB IV ANALISA, PERANCANGAN,

PELAKSANAAN DAN PENGUJIAN

PROGRAM

Dalam bab ini, penulis menjelaskan analisis kebutuhan system, konsep metode Speech Aplication Programming

Interface, Recognizer Speech (Speech to Text), Text to

Speech, perancangan antarmuka serta spesifikasi system

yang di terapkan. Juga diuraikan tentang implementasi atau cara pemakaian serta pengujian program yang penulis buat.

BAB V

PENUTUP

Bab ini merupakan bab terakhir dari seluruh rangkaian bab yang ada di skripsi ini, dalam bab ini berisi uraian tentang kesimpulan-kesimpulan yang didapat penulis serta mengemukakan saran yang dianggap perlu.

DAFTAR PUSTAKA LAMPIRAN


(27)

BAB II

LANDASAN TEORI

2.1 Speech Recognition (Sytem Pengenalan Pembicaraan)

Terdapat dua macam mode pada sistem pengenalan pembicaraan yaitu:

a. Mode Diktasi

Pada mode ini pengguna komputer dapat mengucapkan kata/ kalimat yang selanjutnya akan dikenali oleh komputer dan diubah menjadi data teks. Kemungkinan jumlah kata yang dapat dikenali dibatasi oleh jumlah kata yang telah terdapat pada database. Pengenalan mode diktasi merupakan speaker dependent. Keakuratan pengenalan mode ini

bergantung pada pola suara dan aksen pembicara serta pelatihan yang telah dilakukan.

b. Mode Command and Control

Pada mode ini pengguna komputer mengucapkan kata/kalimat yang sudah terdefinisi terlebih dahulu pada database dan selanjutnya akan digunakan untuk menjalankan perintah tertentu pada aplikasi komputer. Jumlah perintah yang dapat dikenali tergantung dari aplikasi yang telah mendefinisikan terlebih dahulu pada database jenis-jenis perintah yang dapat dieksekusikan. Mode ini merupakan speaker independent karena jumlah kata yang dikenali biasanya


(28)

terbatas sekali dan ada kemungkinan pembicara tidak perlu melakukan pelatihan pada system sebelumnya.

Terdapat empat proses utama pada system pengenalan pembicaraan, baik pada mode diktasi ataupun command and control yaitu :

1. Pemisahan Kata

Pemisahan kata adalah proses untuk memisahkan suara yang di

ucapkan oleh pengguna menjadi beberapa bagian. Masing-masing bagian bisa berupa kalimat ataupun hanya sebuah kata. Terdapat tiga metode yang dapat digunakan pada proses pemisahan kata ini yaitu :

a. Discrete Speech

Pada discrete speech, pengguna diharuskan mengucapkan kalimat secara terpenggal dengan adanya jeda sejenak diantara kata. Jeda tersebut digunakan oleh sistem untuk mendeteksi awal dan akhir sebuah kata.

Discrete speech ini mempunyai kelebihan yaitu sedikit resource (memori komputer, waktu proses) yang digunakan oleh system untuk mendeteksi suara, tetapi mempunyai kelemahan yaitu ketidaknyamanan pengguna dalam mengucapkan sebuah kalimat. b. Word Spotting

Pada word spotting, dalam sebuah kalimat yang diucapkan pengguna, system hanya mendeteksi kata yang terdapat di dalam perbendaharaan yang

dimilikinya, dan mengabaikan kata-kata lain yang tidak dimilikinya. Sehingga walau pengguna mengucapkan kalimat yang berbeda tetapi di dalam kalimat tersebut terdapat sebuah kata yang sama dan terdapat di perbendaharaan sistem, maka hasil pengenalan akan sama. Kelemahan metode ini ialah besar kemungkinan sistem akan melakukan kesalahan arti pengenalan dalam bentuk kalimat. Tetapi metode ini mempunyai kelebihan yaitu pengguna dapat mengucapkan kalimat secara normal tanpa harus berhenti diantara kata.


(29)

c. Continuous Speech

Pada metode continuous speech, system akan mengenali dan memproses setiap kata yang diucapkan. Metode ini akan menghasilkan keakuratan dalam mengenali ucapan pengguna. Tetapi di samping itu metode ini memerlukan resource yang besar dalam prosesnya. Pada metode ini, system harus dapat mendeteksi awal dan akhir setiap kata dalam kalimat tanpa adanya jeda diantara kata-kata tersebut, dan setelah berhasil memisahkan kata, langkah selanjutnya adalah mencocokkan dengan perbendaharaan kata yang dipunyainya.

2. Ketergantungan Terhadap Pengguna

System pengenalan pembicaraan mempunyai beberapa

sifat dilihat dari ketergantungan terhadap pengguna yaitu: a. Speaker Dependent

Pada speaker dependent system membutuhkan pelatihan untuk setiap pengguna yang akan menggunakan system tersebut. System tidak akan bisa mengenali pengguna yang belum pernah melakukan pelatihan.


(30)

Pada speaker independent pengguna tidak perlu melakukan pelatihan sebelum dapat menggunakan system, karena system mampu mengenali suara semua pengguna tidak tergantung warna suara dan dialek yang digunakan.

c. Speaker Adaptive

Speaker adaptive merupakan perpaduan dari

speaker dependent dan speaker independent,

dimana pengguna tidak perlu melakukan pelatihan dan keakuratan pengenalan system akan makin meningkat jika pengguna yang sama bekerja terus menerus selama beberapa waktu tertentu.

3. Pencocokan Kata

Pencocokan kata adalah proses untuk mencocokkan kata ucapan yang berhasil di-identifikasi dengan basis data yang dipunyai oleh system. Terdapat dua metode yang dapat dipakai pada proses pencocokan kata ini, yaitu : whole-word matching dan phoneme matching.

Pada whole-word matching, system akan mencari di basis data kata yang sama persis dengan kata hasil ucapan pengguna. Sedangkan pada phoneme matching, sistem


(31)

mempunyai kamus fonem. Fonem ialah bagian terkecil dan unik dari suara yang membentuk sebuah kata.

4. Pembendaharaan Kata

Perbendaharaan kata ialah bagian terakhir dalam sebuah sistem pengenalan pembicaraan. Terdapat dua hal yang perlu diperhatikan pada perbendaharaan kata, yaitu ukuran dan keakuratan. Jika perbendaharaan kata berjumlah banyak maka sebuah sistem akan mudah dalam melakukan pencocokan kata, tetapi dengan makin meningkatnya jumlah perbendaharaan kata, maka jumlah kata yang mempunyai ucapan hampir sama juga meningkat, dimana hal ini menurunkan keakuratan pengenalan.

Dan sebaliknya, jika sebuah sistem mempunyai

perbendaharaan kata sedikit, maka keakuratan pengenalan akan tinggi karena sedikitnya kata yang hampir sama, tetapi akan semakin banyak kata yang tidak terkenali. Untuk system pengenalan pembicaraan dengan mode command and control, akan lebih baik jika menggunakan jumlah perbendaharaan kata sedikit (kurang dari 100 kata), tetapi untuk mode diktasi akan membutuhkan jumlah perbendaharaan kata yang banyak.


(32)

2.2.1 Sistem Pengenalan Pembicaraan

Sistem pengenalan pembicaraan pada aplikasi komputer sekarang sudah bukan merupakan hal yang baru. Banyak penelitian yang dilakukan untuk terus meningkatkan kemampuan pengenalan pembicaraan. Diantaranya yang cukup terkenal adalah penelitian yang dilakukan oleh Microsoft Corporation. Microsoft telah mengembangkan system pengenalan pembicaraan yang diimplementasikan pada sistem operasi Windows. Pada system ini juga dikembangkan standard interface SAPI (Speech Application Programming Interface) yang saat ini telah mencapai versi 5.1.

Dengan adanya SAPI memungkinkan pembuat aplikasi untuk mengimplementasikan system pengenalan pembicaraan dengan menggunakan engine yang berbeda tanpa merubah aplikasi yang telah dibuat.

2.2.2 Arsitektur Speech Aplication Programming Interface (SAPI 5.0)

SAPI 5.0 terdiri dari dua antar muka yaitu application programming interface (API) dan device driver interface (DDI).

(lihat Gambar 2.3)


(33)

Pada system pengenalan pembicaraan, aplikasi akan menerima even pada saat suara yang diterima telah dikenali oleh engine.

Gambar 2.3 Blok Diagram Arsitektur SAPI

Komponen SAPI yang akan menghasilkan even ini diimplementasikan oleh antar muka ISpNotifySource. Lebih spesifik, SAPI menggunakan SetNotifySink, yaitu aplikasi akan meneruskan pointer IspNotify- Sink ke

ISpNotifySource:: SetNotifySink.ISpNotifySource::SetNotifySink ini akan menerima pemanggilan melalui IspNotify- Sink:: Notify ketika terdapat satu atau lebih even yang menyatakan bahwa aplikasi dapat mengambil data. Biasanya aplikasi tidak mengimplementasikan ISpNotifySink secara langsung tetapi menggunakan CoCreateInstance untuk membuat obyek IspNotify Sink, yang diimplementasikan oleh komponen CLSID_SpNotify. Obyek ini menyediakan antar muka ISpNotifyControl.

Tetapi antar muka ISpNotifySource dan ISpNotifySink hanya menyediakan mekanisme untuk notifikasi dan tidak ada even yang ditimbulkan oleh notifikasi tersebut. Dengan menggunakan obyek IspEvent Source, aplikasi dapat menerima informasi tentang even yang ditimbulkan oleh notifikasi. ISpEventSource juga menyediakan mekanisme untuk menyaring dan membuat antrian even. Biasanya aplikasi tidak menerima notifikasi dari IspEvent Source sampai terjadi pemanggilan terhadap ISpEventSource::SetInterest untuk menentukan even mana yang akan menghasilkan notifikasi dan even mana


(34)

yang berulang sehingga harus dimasukkan ke daftar antrian. Even diidentifikasi dengan menggunakan

tanda SPEVENTENUM.

Ketika aplikasi menerima notifikasi, ada kemungkinan terdapat informasi yang sama pada beberapa even. Dengan memanggil ISpEventSource::GetInfo, maka variable anggota ulCount akan mengembalikan nilai yang berupa struktur SPEVENT SOURCEINFO yang didalamnya terdapat jumlah even yang mempunyai informasi yang sama. Dengan menggunakan IspEvent Source::GetEvents, aplikasi akan mengeluarkan sejumlah struktur SPEVENT, di mana masing-masing mempunyai informasi tentang even tertentu.

Langkah pertama pembuatan system pengenalan pembicaraan adalah pembuatan antar muka utama bagi aplikasi. Antar muka utama yang digunakan oleh aplikasi ialah ISpRecoContext. Antar muka ini merupakan sebuah ISpEventSource, yang berarti ISpRecoContext tersebut adalah antar muka aplikasi untuk menerima notifikasi dari sebuah even pengenalan pembicaraan. Aplikasi mempunyai dua pilihan untuk menggunakan engine pengenalan pembicaraan


(35)

(ISpRecognizer). Pilihan pertama ialah menggunakan shared recognizer yang memungkinkan untuk berbagi

resource dengan aplikasi pengenalan pembicaraan yang lain. Untuk membuat IspRecoContext untuk shared ISpRecognizer, aplikasi hanya memerlukan pemanggilan terhadap CoCreateInstance (COM) pada komponen CLSID_SpSharedRecoContext. Pada kasus ini, SAPI akan mengatur audio input stream sesuai dengan pengaturan standard SAPI. Shared ISpRecognizer ini paling banyak digunakan pada aplikasi pengenalan pembicaraan secara umum. Sedangkan untuk server aplikasi pengenalan pembicaraan yang besar dan berjalan sendiri pada sebuah sistem serta membutuhkan kemampuan kerja yang tinggi, maka lebih baik menggunakan InProc engine. Untuk membuat ISpRecoContext pada InProc

ISpRecognizer, maka pertama kali aplikasi harus memanggil CoCreateInstance pada komponen CLSID_SpInprocRecoInstance. Kemudian aplikasi juga harus memanggil ISpRecognizer::SetInput untuk mengatur input suara. Dan terakhir aplikasi harus memanggil ISpRecognizer:: CreateReco Context untuk mendapatkan IspReco Context.


(36)

Langkah berikut pembuatan system pengenalan pembicaraan adalah pengaturan notifikasi untuk even yang dibutuhkan oleh aplikasi. Karena ISpRecognizer adalah ISpEventSource yang juga merupakan

ISpNotifySource, maka aplikasi dapat memanggil salah satu metode IspNotify Source dari ISpRecoContext untuk memberitahukan dimana terdapat sebuah even dari ISpRecoContext.. Kemudian aplikasi juga harus memanggil ISpEventSource:: SetInterest untuk menyatakan even mana yang perlu untuk

dinotifikasikan. Even yang paling penting adalah SPEI_RECOGNITION, yang berfungsi untuk menyatakan bahwa ISpRecognizer telah mengenali suara tertentu dari ISpRecoContext.

Langkah terakhir pembuatan system pengenalan pembicaraan ini, aplikasi harus membuat, meletakkan di memori (load) dan mengaktifkan ISpRecoGrammar, sesuai dengan mode pengenalan pembicaraan, misal : diktasi atau command and control. Pertama kali, aplikasi harus membuat ISpRecoGrammar menggunakan IspReco Context::CreateGrammar. Kemudian aplikasi harus meletakkan grammar yang telah dibuat tersebut pada memori (load) yaitu dengan memanggil ISpRecoGrammar::Load Dictation untuk mode diktasi atau Isp RecoGrammar::LoadCmdxxx untuk mode command and control. Untuk mengaktifkan grammar sehingga sistem pengenalan pembicaraan dapat bekerja, aplikasi harus memanggil ISpRecoGrammar::Set Dictation State untuk mode


(37)

Grammar::SetRuleState/ISpRecoGrammar:: SetRuleIdState untuk mode command and control.

Ketika terjadi notifikasi pada saat pengenalan pembicaraan bekerja, maka lParam yang merupakan variabel anggota dari struktur SPEVENT akan menjadi ISpRecoResult yang kemudian digunakan oleh aplikasi untuk dapat menentukan apa yang telah terkenali dan sekaligus menentukan ISpRecoGrammar mana yang harus digunakan.

ISpRecognizer, baik shared ataupun InProc, dapat mempunyai IspRecoContext lebih dari satu dan masing-masing ISpRecoContext dapat menerima notifikasi sesuai dengan even yang telah didefinisikan. Sebuah ISpRecoContext dapat mempunyai lebih dari satu ISpRecoGrammars di mana masing-masing ISpRecoGrammar tersebut digunakan untuk mengenali tipe grammar yang berbeda.

b. Device Driver Interface (DDI)

DDI menyediakan fungsi untuk menerima data suara dari SAPI dan mengembalikan pengenalan frasa pada level SAPI paling dasar. Terdapat dua antar muka yang digunakan oleh DDI yaitu ISpSREngine, yang


(38)

diimplementasikan oleh engine dan ISpSREngineSite yang diimplementasikan oleh SAPI. Antar muka SAPI yaitu ISpSREngineSite juga menyediakan metode untuk memberikan informasi lebih detail mengenai apa yang dikenali oleh engine. Grammars dan speakers

menyediakan informasi ke engine yang dapat membantu engine untuk melakukan pengenalan pembicaraan lebih baik, disamping juga merupakan bagian penting komunikasi yang menghubungkan SAPI dan speech engine. Terdapat 2 aspek terakhir yang berhubungan dengan komunikasi antara engine dan SAPI yaitu urutan pemanggilan yang terjadi serta masalah threading. Salah satu keuntungan

menggunakan SAPI 5.1 ini adalah penyederhanaan masalah threading.

Engine menyediakan layanan ke SAPI melalui

antar muka ISpSREngine. Semua fungsi pengenalan terjadi melalui Isp SREngine::RecognizeStream. Ketika SAPI memanggil ISpSREngine::SetSite, maka SAPI memberikan pointer ke antar muka ISpSREngineSite dimana kemudian engine dapat berkomunikasi dengan SAPI selama ISpSREngine::RecognizeStream


(39)

ISpSREngine dan engine tidak boleh meninggalkan ISpSREngine::Recognize Stream sampai terjadi kesalahan atau SAPI sudah terindikasi dengan menggunakan ISpSREngineSite::Read, dimana tidak ada lagi data yang dapat diproses dan engine telah selesai melakukan tugasnya.

SAPI memisahkan pembuat engine dari kerumitan untuk mengatur peralatan suara secara detail. SAPI menjaga logical stream dari raw audio data dengan membuat indeks posisi stream. Dengan menggunakan indeks posisi stream, engine dapat melakukan pemanggilan terhadap ISpSREngineSite:: Read untuk menerima buffer dari raw audio data selama ISpSREngine::Recognize Stream dieksekusi. Pemanggilan ini akan terjadi sampai semua data yang dibutuhkan tersedia. Jika ISpSREngineSite::Read menghasilkan data yang lebih sedikit dari yang dibutuhkan, yang berarti tidak ada data lagi, maka engine akan menghentikan eksekusi ISpSREngine::RecognizeStream.

DDI memungkinkan engine untuk hanya mempunyai satu buah thread yang dieksekusi antara SAPI dan engine. Satu-satunya metode yang tidak


(40)

mengijinkan Isp SREngine untuk masuk dan keluar secara cepat ialah ISpSREngine::Recognize Stream. Engine akan selalu tereksekusi dan terpisah di dalam ::RecognizeStream sampai terjadi kegagalan atau tidak ada lagi data yang diterima dari ISpSREngine::Read. Ketika engine mempunyai kesempatan untuk memberikan SAPI giliran melakukan pemanggilan kembali ke ISpSREngine, maka engine harus memanggil Isp SREngine::Synchronize dan memberikan indeks posisi stream dimana engine telah selesai melakukan pengenalan data. Dari manapun Synchronize dipanggil, SAPI dapat melakukan pemanggilan kembali ke metode ISpSREngine yang lain kecuali Recognize. Sebagai contoh, speaker dapat berubah, grammars dapat di-unload, diaktifkan ataupun dinon-aktifkan secara dinamis. Pada bagian manapun, Isp SREngine akan dipanggil hanya pada thread semula yang membuat ISpSREngine atau thread dimana engine memanggil IspSREngineSite::Synchronize. Jika engine hanya memanggil ISpSREngineSite::Synchronize pada

thread yang sama dengan


(41)

SAPI hanya memanggil satu thread yang merupakan turunan dari ISpSREngine.

2.3 Algoritma Program

Algoritma program terdiri dari dua macam, yaitu pseudocode dan flow chart (diagram alur).

2.3.1 Pseudoceode

Pseudo berarti imitasi atau mirip atau menyerupai dan code menunjukkan dari program , berarti pseudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya. Pseudocode berbasis pada bahasa pemrograman yang

sesungguhnya seperti COBOL, FORTAN atau PASCAL, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada programmer.

Pseudocode akan memudahkan programmer untuk

memahami dan menggunakannya, karena mirip dengan kode-kode program sebenarnya. Pseudocode menjelaskan juga tentang pemberian nilai awal dari suatu variabel, membuka dan menutup file, subscript atau tipe-tipe data yang digunakan (misalnya real,

integer, boolean).

2.3.2 Diagram Alur (Flow Chart)

Komputer membutuhkan hal-hal yang terperinci, Alat yang banyak dipakai untuk membuat algoritma adalah diagram alur atau flow chart. Diagram alur dapat menunjukkan secara jelas arus pengendalian algoritma, yakni bagaimana rangkaian pelaksanaan kegiatan. Suatu diagram alur


(42)

memberikan gambaran dua dimensi berupa simbol-simbol grafis. Masing-masing simbol telah ditetapkan terlebih dahulu fungsi dan artinya. Simbol-simbol tersebut dipakai untuk menunjukkan berbagai kegiatan operasi dan jalur pengendalian.

Diantara simbol-simbol yang akan dipergunakan sebagai berikut:

SIMBOL KEGUNAAN Simbol yang menunjukkan pengolahan

yang dilakukan oleh komputer

Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya.

Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban/aksi.

Simbol untuk permulaan atau akhir dari suatu program.

Simbol untuk keluar atau masuk prosedur atau proses dalam lembar yang sama.

Menunjukkan bagan instruksi selanjutnya

Simbol untuk menyatakan input berasal Simbol proses

Simbol input-output

Simbol decision

Simbol terminal


(43)

dari dokumen dalam bentuk kertas atau output dicetak di kertas.

Berisi catatan supaya mudah dimengerti isi/tujuan algoritma atau uraian data yang akan diproses.

Tanda hubung antara symbol flowchart yang berbeda halaman.

Tabel 2.1 Simbol-simbol Flowchart

2.3.3 STD (State Transition Diagram)

State Transition Diagram (Gambar 2.11) merupakan suatu

diagram yang menggambarkan bagaimana state yang lain pada satu waktu. State Transition Diagram menggambarkan suatu state yang mempunyai kondisi dimana dapat menyebabkan perubahan satu state ke state yang lain (Hoffer, George, dan Valacich, 1996, hal. 364).

State Transition Diagram pada dasarnya merupakan sebuah

diagram yang terdiri dari state dan transisi atau perpindahan state. Transisi atau perpindahan state. Transisi atau perpindahan state terdiri dari kondisi dan aksi. Transisi di antara kedua keadaan pada umumnya disebabkan oleh suatu kondisi. Kondisi adalah suatu kejadian yang dapat diketahui oleh sistem. Sedangkan aksi adalah tindakan yang dilakukan oleh sistem apabila terjadi perubahan state atau merupakan reaksi dari sistem.

Simbol catatan/keterangan Simbol document


(44)

Adapun perubahan atau simbol yang digunakan dalam diagram ini adalah:

a. Modul

Menggunakan simbol lingkaran kecil (Gambar 2.12) yang mewakili modul yang dipanggil apabila terjadi tindakan.

b. Tampilan Kondisi

Gambar 2.12. Notasi Modul State 1

State 2

Aksi


(45)

Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu bentuk keberadaan atau kondisi tertentu, disimbolkan dengan gambar kotak (Gambar 2.13).

c. Tindakan (state transition)

Menggunakan simbol anak panah (Gambar 2.14) disertai keterangan tindakan yang dilakukan.

2.4 Model-model Proses Perangkat Lunak

Untuk menyelesaikan masalah yang ada dalam sebuah perancangan perangkat lunak diperlukan model-model proses atau paradigma rekayasa perangkat lunak berdasarkan sifat aplikasi dan proyeknya, metode dan alat bantu yang dipakai, dan kontrol serta penyampaian yang dibutuhkan. Roger S. Pressman [Pressman, 1992] menyebutkan ada beberapa model dari proses perangkat lunak, di antaranya:

Gambar 2.13. Notasi Tampilan


(46)

2.4.1 Model Sekuensial Linear

Model sekuensial linear mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajan sistem pada seluruh analisis, desain, kode pengujian, dan pemeliharaan. Gambar 2.15 dan Gambar 2.16 menunjukkan sekuensial linear untuk rekayasa perangkat lunak, yang sering disebut juga denga “siklus kehidupan klasik” atau “model air terjun”.

2.4.2 Model Prototipe

Prototyping paradigma (Gambar 2.17) dimulai dengan

pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak, mendefinisikan segala kebutuhan yang diketahui, dan area garis besar di mana definisi lebih jauh merupakan keharusan kemudian analisis desain kode tes

Pemodelan sistem informasi


(47)

dilakukan “perancangan kilat”. Perancanga kilat berfokus pada penyajian dari aspek-aspek perangkat lunak tersebut yang akan nampak bagi pelanggan/pemakai (contohnya pendekatan input dan format output). Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak.

2.4.3 Model RAD (Rapid Application Development)

Rapid Application Development (RAD) adalah sebuah

model proses perkembangan perangkat lunak sekuensial linear yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari

Membangun Memperbaiki

Market

Uji pelanggan Mengendalikan

Market Mendengarkan

pelanggan


(48)

model sekuensial linear di mana perkembangan cepat dicapai dengan menggunakan model pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam waktu periode yang sangat pendek (kira-kira 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD meliputi fase-fase: 1. Fase Perencanaan Syarat. Dalam fase ini, pengguna dan

penganalisis bertemu untuk mengidentifikasi tujuan-tujuan aplikasi atau sistem serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut 2. Workshop Desain RAD. Fase ini adalah fase untuk

merancang dan memperbaiki yang bisa digambarkan sebagai workshop. Terdiri dari fase perancangan dan fase konstruksi. 3. Fase implementasi. Dalam Gambar 2.18 ditunjukkan bahwa

Anda dapat melihat bahwa penganalisis bekerja dengan pengguna secara intens selama workshop untuk merancang aspek-aspek bisnis dan nonteknis dari perusahaan. Segera sesudah aspek-aspek ini disetujui dan sistem-sistem dibangun dan disaring, sistem-sistem baru atau bagian dari sistem diuji coba dan kemudian diperkenalkan kepada organisasi.


(49)

Gambar 2.18 Model RAD

Fase Perencanaan Syarat-syarat Menentukan Tujuan dan

Syarat-syarat Informasi

Umpan Balik Pengguna

Fase Konstruksi

Membangun Sistem

Menggunakan masukan dari Pengguna

Bekerja dengan Pengguna untuk Sistem Perancangan

Memperkenalkan Sistem

Fase Pelaksanaan Fase Perancangan


(50)

2.5 Visual Basic 6.0

Microsoft Visual Basic merupakan sebuah program yang sangat

populer di dunia pemrograman. Visual Basic adalah sebuah bahasa pemrograman yang digunakan untuk membuat program aplikasi berbasis orientasi objek atau object oriented program (OOP). Dengan Visual Basic, perancangan sebuah program akan lebih mudah dan menyenangkan karena didukung oleh komponen-komponen pelengkap yang memiliki standar Windows.

Visual Basic merupakan pengembangan dari bahasa BASIC

(Beginner's All Symbolic Instruction Code). BASIC adalah sebuah bahasa pemrograman "kuno" yang merupakan awal dari bahasa-bahasa pemrograman tingkat tinggi lainnya. BASIC dirancang tahun 1950-an dan ditujukan untuk dapat digunakan oleh para programmer pemula. Visual Basic mulai dikembangkan sejak tahun 1980-an dan kini telah mencapai

versi yang ke-6. Tampilan Visual Basic dan bagian-bagianya dapat dilihat pada Gambar 2.19.

Beberapa versi Visual Basic 6 yang ada di pasaran diantaranya adalah :


(51)

1. Standard Edition/Learning Edition : versi standar yang sudah

mencakup berbagai sarana dasar dari Visual Basic 6.

2. Professional Edition : memberikan berbagai sarana ekstra yang dibutuhkan oleh para programmer professional.

3. Enterprise Edition : dikhususkan untuk para programmer yang ingin mengembangkan aplikasi remote computing atau client/server.

Gambar 2.19 Tampilan aplikasi Micosoft Visual Basic 6.0

Menurut Adi Kurniadi (2000:10), komponen-komponen yang ada pada lingkungan Visual Basic adalah :

Title Bar

Menu Bar Tool Bar

Tool Box

Project

Form


(52)

Control Menu

Control menu adalah menu yang digunakan terutama untuk memanipulasi jendela Visual Basic. Dari menu ini Anda bisa mengubah ukuran, memindahkan, atau menutup jendela Visual Basic atau jendela Windows lainnya. Control menu tersebut adalah menu Restore, Move, Size,

Minimize, Maximize dan Close.

Menu

Menu Visual Basic berisi semua perintah Visual Basic yang dapat anda pilih untuk melakukan tugas tertentu. Isi dari menu ini sebagian hampir sama dengan program-program Windows pada umumnya.

Toolbar

Toolbar adalah tombol-tombol yang mewakili suatu perintah

tertentu dari Visual Basic. Biasanya tombol-tombol ini merupakan perintah-perintah yang sering digunakan dan terdapat pula pada menu Visual Basic.

Form Window

Form window atau jendela form adalah daerah kerja utama, di

mana Anda akan membuat program-program aplikasi Visual Basic. Pada form ini, Anda akan meletakkan berbagai macam objek interaktif seperti teks, gambar, tombol-tombol perintah, scroolbar, dan sebagainya.

Toolbox

Toolbox adalah sebuah "kotak peranti" yang mengandung semua

objek atau kontrol yang dibutuhkan untuk membentu suatu program aplikasi. Kontrol adalah suatu objek yang akan menjadi interface


(53)

(penghubung) antara program aplikasi dan usernya, dan kesemuanya harus di letakkan di dalam jendela form.

Project Explorer

Jendela project explorer adalah jendela yang mengandung semua file di dalam aplikasi Visual Basic Anda. Setiap aplikasi dalam Visual Basic disebut dengan istilah project (proyek), dan setiap proyek bisa

mengandung lebih dari satu file. Pada project explorer ditampilkan semua file yang terdapat pada aplikasi (proyek) Anda, misalnya form, modul class dan sebagainya.

Jendela Properties

Jendela properties adalah jendela yang mengandung semua informasi mengenai objek yang terdapat pada aplikasi Visual Basic Anda. Properti adalah sifat dari sebuah objek, misalnya seperti namanya, warna, ukuran, posisi dan sebagainya.

Form Layout Window

Form Layout Window adalah jendela yang menggambarkan posisi

dari form yang ditampilkan pada layar monitor. Posisi form pada Form Layout Window inilah yang merupakan petunjuk di mana aplikasi Anda

akan ditampilkan pada layar monitor saat dijalankan nanti.

Jendela Code

Jendela code adalah salah satu jendela yang penting di dalam Visual Basic. Jendela ini berisi kode-kode program yang merupakan


(54)

2.6 IndoTTS

Teknologi pengenalan suara oleh mesin sudah biasa digunakan, salah satunya menjadi aplikasi voice dialing di telefon selular. Proses perubahan ucapan menjadi perintah-perintah yang dimengerti oleh mesin dilakukan melalui teknologi natural language processing (NLP). Kemampuan mesin mengeluarkan ucapan manusia terbantu oleh teknologi text to speech (TTS).

Arry Akhmad Arman meluncurkan program IndoTTS, sebuah program text to speech yang menghasilkan pengucapan dalam bahasa Indonesia. Program ini dapat menjadi modal agar semua sistem yang masih angan-angan, nantinya tidak hanya bisa berbicara bahasa Inggris atau Jepang, tetapi juga berbahasa Indonesia.

Dengan bantuan IndoTTS, dapat memasukkan teks bahasa Indonesia apapun dan tinggal memencet satu tombol untuk memerintahkan program ini membacakan teks tersebut.

Arry menghabiskan waktu kurang lebih 10 tahun untuk mewujudkan IndoTTS, tetapi memang ia merancangnya di sela rutinitas utamanya sebagai dosen dan peneliti di ITB, tidak mengalokasikan waktu


(55)

khusus kecuali saat merekam diphone database di Belgia pada tahun 2000 lalu. Arry memaparkan, unit terkecil bentuk tulisan adalah huruf, sedangkan unit terkecil bentuk lisan adalah fonem. Fonem tidak identik dengan huruf karena gabungan huruf "n" dan "g", misalnya, menjadi fonem "ng". Mengingat hasil akhir TTS adalah ucapan maka fokus tertuju pada fonem yang dalam bahasa Indonesia berjumlah 35.

Arry membangun IndoTTS dengan teknologi diphone concatenation, suatu teknik membangkitkan ucapan dengan cara

menyambung-nyambung diphone yang direkam dari ucapan manusia. Diphone adalah dua fonem berurutan, dari 35 fonem akan tercipta 1.296

diphone termasuk diphone "silence" untuk awal dan akhir kata.

Penentuan fonem saja belum cukup karena untuk keperluan perekaman masih dibutuhkan informasi tentang durasi sebuah fonem yang pada umumnya diucapkan. Jika dipukul rata, diperkirakan butuh waktu 70 milisecond untuk mengucapkan satu fonem. Selesai? Belum, agar ucapan

yang dihasilkan tidak kaku dan datar seperti robot, perlu diketahui frekuensi suara untuk intonasi.

Untuk identifikasi karakteristik kuantitatif bahasa Indonesia itu, Arry melibatkan sejumlah mahasiswa untuk membantunya. Pada tahun 2000, berkat bantuan dana dari sebuah perusahaan perbankan di Indonesia, Arry dapat membuat diphone database bahasa Indonesia di salah satu universitas di Mons, Belgia.


(56)

Setelah semua tersedia, IndoTTS siap bekerja. Rangkaian huruf yang dimasukkan akan diubah menjadi rangkaian fonem lengkap dengan durasi dan frekuensinya. Data itu akan diumpankan ke modul Mbrola, metode speech synthesizer (penyusunan ucapan) dengan menggunakan metode diphone buatan Belgia, yang kemudian akan menyambung diphone sesuai database yang disediakan serta memanipulasi durasi dan

frekuensinya. Akhirnya, keluarlah ucapan dari IndoTTS yang berlogat Indonesia. Suara yang dihasilkan IndoTTS adalah suara Arry yang direkam di Mons, Belgia.


(57)

BAB III

METODOLOGI PENELITIAN

Seperti yang telah dibahas pada bab satu didalam

pengembangan sistem aplikasi kalkulator audio visual,

ada beberapa tahapan yang harus dilakukan diantaranya

:

3.1 Pengumpulan Data a. Studi Pustaka

Yaitu pengumpulan data dan informasi dengan cara membaca buku-buku referensi, mencari artikel, jurnal, dan e-book di Internet yang dapat dijadikan acuan pembahasan yang berhubungan dengan judul skripsi ini.

b. Diskusi

Melakukan diskusi dengan dosen pembimbing dan teman-teman di kampus.

3.2 Tahapan Pendekatan Sistem

Tahapan ini dilakukan sebelum tahapan pengembangan system. Pada tahapan ini di lakukan analisis kebutuhan dan identifikasi system.

a. Analisa Kebutuhan.

Pada tahapan ini, ditentukan pengguna dan kebutuhanya terhadap system. Pengguna dari aplikasi yang akan dibangun adalah orang yang menyandang cacat indera penglihatan (tuna netra). Juga dapat digunakan sebagai perangkat ajar bagi orang yang normal.


(58)

b. Identifikasi System.

Aplikasi kalkulator audio visual yang dibuat dengan memanfaatkan teknologi pengenalan suara (speech recognition), SAPI (Speech Aplikation Programming Interface)

5.0, Visual Basic 6.0 merupaka aplikasi yang dapat membantu para penyandang cacat indera penglihatan (tuna netra) dalam melakukan perhitungan-perhitungan. Aplikasi ini hanya dapat digunakan pada proses perhitungan penjumlahan, pengurangan, perkalian, dan pembagian yang melibatkan bilangan-bilangan bulat saja. Pembuatan aplikasi ini diperlukan sebagai alternative bagi para penyandang cacat tuna netra yang tidak

dapat menggunakan kalkulator biasa karena keterbatasanya.

3.3 Tahapan Pengembangan Sistem

Pengembangan sistem yang penulis lakukan menggunakan tiga tahap siklus pengembangan model RAD (Rapid Application Development), yaitu fase perencanaan syarat, fase workshop desain

(perancangan dan konstruksi), dan fase implementasi. Model RAD penulis gunakan untuk melakukan pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan perangkat-perangkat lunak. Tujuan yang lain adalah mempersingkat waktu pengerjaan aplikasi serta proses yang dihasilkan didapatkan secara cepat dan tepat. Syarat-syarat menggunakan RAD adalah pihak perekayasa


(59)

perangkat lunak telah mengetahui dengan jelas kebutuhan user (pengguna) dengan tepat, mengetahui proses-proses apa saja yang ada dalam perangkat lunak yang dibuat, dan input-output yang dihasilkan.

Kendall & Kendall (2003: 327), mengilustrasikan model RAD seperti pada (Gambar 3.1 )

Gambar 3.1 Model RAD

a. Perancangan Syarat-syarat

Fase perencanaan

Menentukan Tujuan dan syarat-syarat

Informasi

Umpan Balik

Bekerja dengan Penguna

Untuk Sistem Perancangan Membangun sistem

Mengunakan kk d i

Memperkenalkan Sistem


(60)

Dalam fase ini, pengguna dan penganalisa bertemu untuk mengidentifikasi tujuan-tujuan aplikasi serta untuk mengidentifikasikan syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Hal ini penulis uraikan sebagai analisa terhadap sistem yang akan diterapkan.

b. Workshop Design

Pada tahapan ini dilakukan perancangan proses yaitu perancangan proses-proses yang akan terjadi di dalam aplikasi, perancangan antarmuka yaitu perancangan antarmuka program, serta dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan.

c. Pelaksanaan

Pada tahapan ini dilakukan pengujian terhadap program dan melakukan pengenalan aplikasi kepada pengguna. Dalam hal ini aplikasi kalkulator audio visual diuji dan diperkenalkan kepada para penyandang cacat tuna netra.


(61)

BAB IV

ANALISA, RANCANGAN, PELAKSANAAN

DAN PENGUJIAN PROGRAM

Dalam perancangan dan pengembangan aplikasi kalkulator audio visual ini penulis menggunakan metode RAD, Kendal & Kendal (1998,2000), yang terdiri: Fase Menentukan Tujuan dan Syarat-syarat Informasi, Fase Perancangan, Fase Kontruksi, serta Fase Pelaksanaan.

4.1

Fase Menentukan Tujuan dan Syarat-syarat Informasi

4.1.1

Analisa Kebutuhan Masalah

Sering kali, untuk dapat melakukan kegiatan kehidupannya sehari-hari secara mandiri, orang tunanetra harus menggunakan teknik alternatif, yaitu teknik yang memanfaatkan indera-indera lain untuk menggantikan fungsi indera penglihatan dalam kegiatan kehidupannya sehari-hari sehingga pola kehidupan kesehariannya pun sangat berubah dan dalam banyak hal menjadi berbeda dari orang pada umumnya.

Teknik alternatif adalah cara khusus (baik dengan ataupun tanpa alat bantu khusus) yang memanfaatkan indera-indera nonvisual atau sisa indera penglihatan untuk melakukan suatu kegiatan yang normalnya dilakukan dengan indera penglihatan. Teknik-teknik alternatif itu diperlukannya dalam berbagai bidang kegiatan seperti dalam membaca dan menulis, bepergian, menggunakan komputer, menata rumah, menata diri, dll. Kadang-kadang teknologi diperlukan untuk membantu menciptakan teknik-teknik alternatif tersebut.

Indera pendengaran dan perabaan merupakan saluran penerima informasi yang paling efisien sesudah indera penglihatan. Oleh karena itu, teknik alternative itu pada umumnya memanfaatkan indera pendengaran dan/atau perabaan. Sejalan dengan hal ini, untuk memungkinkan orang tunanetra menggunakan kalkulator, teknik alternative yang dikembangkan adalah dengan memanfaatkan speech recognition untuk membuat aplikasi kalkulator audio visual. Dengan adanya aplikasi ini, seorang tunanetra dapat merasakan manfaat kalkulator seperti orang pada umumnya menggunakan kalkulator.

4.2 Fase Perancangan ( Workshop Design)

4.2.1 Perancangan Algoritma Program Aplikasi (Gambar 4.1)

Dalam pembuatan aplikasi ‘kalkulator audio visual’ ini penulis menggunakan system pengenalan suara (speech to text) untuk memasukan angka-angka dan operasinya, selain itu user juga dapat menggunakan alternatif lain seperti mouse dan keyboard. Speech to text digunakan pada


(62)

saat si user memasukan suaranya yang kemudian dirubah menjadi bentuk teks lalu disimpan didalam registry computer. Sedangkan text to speech digunakan untuk merubah teks angka hasil perhitungan menjadi speech/ suara.

Suara/ Speech Mouse Keyboard

Speech Recognition

Command Button

Text

SYSTEM KALKULATOR

Text

KeyPrees

Text to Speech

Suara/ Speech

OUTPUT INPUT


(63)

Gambar 4.1 Alur Proses inpu/output Dalam Aplikasi Kalkulator Audio Visxual

4.2.2

Speech to Text

(Pengenalan Suara

)

Speech Recognition pada dasarnya berfungsi sebagai saluran

yang mengkonversi PCM (Pulse Code Modulation) audio digital dari sebuah sound card ke dalam recognized speech (pengenalan ucapan). Elemen dari saluran tersebut adalah:

1. Mengubah bentuk PCM audio digital ke dalam suatu penyajian yang lebih baik.

2. Menerapkan sebuah “grammar” sehingga speech recognizer mengenali fonem apa yang dimaksud dari sebuah ucapan.

3. Merepresentasikan fonem yang diucapan. 4. Mengkonversi fonem ke dalam kata-kata.

Unsur Pertama dari saluran mengkonversi audio digital berasal dari sound card menjadi bentuk yang lebih representatif seperti apa yang seseorang dengar. Digital audio adalah suatu arus amplitudo, dengan sample sekitar 16,000 kali per detik. Jika data yang masuk divisualisasi maka itu seperti hasil osiloskop, yaitu berupa suatu garis berombak yang secara periodik mengulang ketika user sedang berbicara. Data dalam format ini tidak dapat digunakan bagi Speech Recognition karena terlalu sulit untuk diidentifikasikan


(64)

pola apa yang sebenarnya dikatakan. Pada Gambar 4.2 menjelaskan bagaimana tahapan-tahapan dari suara yang di input menjadi teks didalam sistem komputer.

Gambar 4.2 Urutan proses dari suara ke text. Speech/ Ucapan Microphone

SoundCard

Digital Audio Arus Amplitudo

windowed fast-Fourier

Merepresentasikan Fonem

Text Grammar

Frequenscy Domain

Pencocokan dengan codebook Database Grafik

amplitudo komponen frekwensi

feature number


(65)

Untuk membuat pola pengenalan lebih mudah, PCM audio digital diubah ke dalam "frequency domain." Perubahan dilakukan

dengan menggunakan suatu windowed fast-Fourier. Hasilnya mirip seperti yang dihasilkan spektrograf. Di "frequency domain", dapat diidentifikasi komponen frekwensi dari suatu bunyi. Dari komponen frekwensi inilah, dimungkinkan untuk memperkirakan bagaimana telinga manusia mendengar suara.

Transformasi Fourier dengan cepat menganalisa setiap

1/100 detik dan mengkonversi data audio ke dalam daerah frekwensi. Setiap 1/100 detik menghasilkan suatu grafik amplitudo komponen frekwensi, yang menggambarkan suara yang terdengar setiap 1/100 detik tersebut. Pengenal suara mempunyai suatu database beberapa ribu grafik seperti itu ( yang disebut suatu

codebook) yang mengidentifikasi jenis suara manusia yang

berbeda. Bunyi yang diidentifikasi melalui pencocokan data di codebook, menghasilkan angka yang menggambarkan suara.

Angka ini disebut ” feature number” (sebenarnya ada beberapa ” feature number” untuk setiap 1/100 detik tetapi proses yang lebih mudah untuk dijelaskan hanya satu).

Masukan kepada recognizer mulai pada arus 16,000 PCM per detik. Melalui penggunaan transformasi fast fourier dan codebook, data diubah menjadi informasi penting, menghasilkan 100 ” feature number” per detik.


(66)

Ucapan manusia dihasilkan oleh suatu sistem produksi ucapan yang dibentuk oleh alat alat ucap manusia. Proses tersebut dimulai dengan formulasi pesan dalam otak pembicara. Pesan tersebut akan diubah menjadi perintah-perintah yang diberikan kepada alat-alat ucap manusia, sehingga akhirnya dihasilkan ucapan yang sesuai dengan pesan yang ingin diucapkan.

Gambar 4.3 Foto sinar X penampang alat-alat ucap manusia[Rab 93]

Gambar 4.3. memperlihatkan foto sinar X

penampang alat-alat ucap manusia.

Vocal tract

pada gambar tersebut ditandai oleh garis

putus-putus, dimulai dari

vocal cords

atau

glottis

, dan

berakhir pada mulut.

Vocal tract

terdiri dari

pharynx

(koneksi antara esophagus dengan

mulut) dan mulut. Panjang vocal tract pria pada

umumnya sekitar 17 cm. Daerah pertemuan

vocal tract

ditentukan oleh lidah, bibir, rahang,

dan bagian belakang langit-langit; luasnya

berkisar antara 20 cm

2

sampai dengan

mendekati nol.

Nasal tract

mulai dari bagian


(67)

belakang langit-langit dan berakhir pada

nostrils

. Pada keadaan tertentu, suara nasal

akan dikeluarkan melalui rongga ini.

Gambar 4.4 memperlihatkan model sistem

produksi ucapan manusia yang disederhanakan.

Pembentukan ucapan dimulai dengan adanya

hembusan udara yang dihasilkan oleh

paru-paru. Cara kerjanya mirip seperti piston atau

pompa yang ditekan untuk menghasilkan

tekanan udara. Pada saat

vocal cord

berada

dalam keadaan tegang, aliran udara akan

menyebabkan terjadinya vibrasi pada

vocal cord

dan menghasilkan bunyi ucapan yang disebut

voiced speech sound

. Pada saat

vocal cord

berada

dalam keadaan lemas, aliran udara akan melalui

daerah yang sempit pada

vocal tract

dan

menyebabkan terjadinya turbulensi, sehingga

menghasilkan suara yang dikenal sebagai

unvoiced sound

.

Gambar 4.4 Model Sistem Produksi Ucapan

Manusia

Ucapan dihasilkan sebagai rangkaian atau

urutan komponen-komponen bunyi-bunyi


(68)

pembentuknya. Setiap komponen bunyi yang

berbeda dibentuk oleh perbedaan posisi, bentuk,

serta ukuran dari alat-alat ucap manusia yang

berubah-ubah selamat terjadinya proses

produksi ucapan.

4.2.2.1

Representasi Sinyal Ucapan.

Sinyal ucapan merupakan sinyal yang

berubah terhadap waktu dengan kecepatan

perubahan yang relatif lambat. Jika

diamati pada selang waktu yang pendek

(antara 5 sampai dengan 100 mili detik),

karakteristiknya praktis bersifat tetap;

tetapi jika diamati pada selang waktu yang

lebih panjang karakteristiknya terlihat

berubah-ubah sesuai dengan kalimat yang

sedang diucapkan. Gambar 4.5

memperlihatkan contoh sinyal ucapan dari

suatu kalimat bahasa Inggris

“It’s time”

yang diucapkan oleh seorang pria. Setiap

baris pada gambar tersebut

memperlihatkan potongan sinyal selama

100 mili detik, sehingga seluruh gambar

tersebut memperlihatkan sinyal ucapan


(69)

Gambar 4.5 Contoh Sinyal Ucapan “It’s

Time” [Rab 93]

Ada berbagai cara untuk

mengklasifikasikan bagian-bagian atau

komponen sinyal ucapan. Salah satu cara

yang sederhana adalah dengan cara

mengklasifikasikannya menjadi tiga

keadaan yang berbeda, yaitu (1)

silence

(S),

keadaan pada saat tidak ada ucapan yang

diucapkan; (2)

unvoiced

(U), keadaan pada

saat vocal cord tidak melakukan vibrasi,

sehingga suara yang dihasilkan bersifat

tidak periodic atau bersifat random; (3)

voiced

(V), keadaan pada saat terjadinya

vibrasi pada

vocal cord

, sehingga

menghasilkan suara yang bersifat kuasi

periodik.

Pada gambar 4.5 di atas sudah

tercantum label-label S, U dan V yang

dapat mempermudah untuk mengamati

perbedaan keadaan-keadaan tersebut. Baris

pertama serta awal baris kedua ditandai

dengan S, artinya bagian tersebut


(70)

merepresentasikan keadaan diam dimana

pembicara belum mengucapkan apapun.

Amplituda kecil yang tampak pada perioda

tersebut merupakan noise latar belakang

yang ikut terekam.

Suatu perioda singkat unvoiced (U)

tampak mendahului vocal pertama dalam

kata “It”. Selanjutnya diikuti oleh daerah

voiced (V) yang cukup panjang,

merepresentasikan vocal “i”. Berikutnya

diikuti oleh daerah unvoiced (U) yang

merepresentasikan daerah pelemahan

pengucapan “i”. Setelah itu diikuti oleh

silence (S) yang merupakan bagian dari

fonem “t”, dan seterusnya.

Dari contoh tersebut jelas bahwa

segmentasi ucapan menjadi S, U dan V

tidak bersifat eksak, artinya ada

daerah-daerah yang tidak dapat dikategorikan

dengan tegas ke dalam salah satu dari tiga

kategori tersebut. Salah satu penyebabnya

adalah perubahan dari keadaan-keadaan

alat ucap manusia yang tidak bersifat

diskrit dari satu keadaan ke keadaan

lainnya, sehingga bunyi transisi dari satu

segmen ke segmen lainnya menghasilkan

bentuk yang tidak mudah ditentukan.

Selain itu, ada segmen-segmen ucapan yang

mirip atau bahkan mengandung

silence

didalamnya.

Representasi sinyal dalam diagram

waktu terhadap amplituda seperti gambar

sebelumnya seringkali tidak cukup untuk

mendapatkan besaran-besaran kuantitatif


(71)

yang efektif untuk melakukan analisis dari

suatu ucapan. Untuk melakukan analisis

sinyal ucapan, lebih sering digunakan

representasi spektral menggunakan

spektogram seperti terlihat pada Gambar

4.6. Dengan menggunakan spektogram,

dapat diidentifikasikan

komponenkomponen frekuensi dari suatu

segmen ucapan. Segmen ucapan yang

bentuknya mirip pada domain waktu lebih

mudah dibedakan pada spektogram dengan

cara melihat perbedaan komponen

frekuensinya.

Gambar 4.6. Spektogram Pita Lebar, Spektogram Pita

Sempit, dan Amplitudo


(72)

Spektogram dibedakan menjadi

spektogram pita lebar (

wideband

spectogram

) dan spektogram pita sempit

(

narrowband spectogram

).

Spektogram

pita

lebar adalah

analisis spectral

pada suatu

interval sepanjang 15 mili detik

menggunakan filter dengan lebar pita 125

Hz serta analisis detail yang dilakukan

setiap 1 mili detik. Spektogram pita sempit

adalah analisis

spectral

pada suatu

interval

sepanjang 50 mili detik menggunakan filter

dengan lebar pita 40 Hz serta analisis detail

yang dilakukan setiap 1 mili detik.

Spektogram pita lebar dapat digunakan

untuk melihat komponen-komponen

frekuensi utama dari suatu ucapan dengan

jelas, seperti terlihat pada gambar paling

atas dari gambar 4.6 tersebut. Sebagian

komponen frekuensi yang tidak dominan

menjadi tidak terlihat pada spektogram

pita lebar. Untuk melihat

komponen-komponen frekuensi yang lebih rinci

dilakukan menggunakan

spektogram

pita

sempit, seperti yang terlihat pada gambar

kedua dari atas pada Gambar 4.6.

Dalam kegiatan penelitian dan

pengembangan sistem TTS, analisis

spektral diantaranya digunakan untuk

melakukan segmentasi

komponen-komponen sinyal ucapan, indetifikasi

komponen frekuensi segmen ucapan, serta

analisis frekuensi dasar yang diperlukan

untuk analisis intonasi ucapan.


(73)

4.2.2.2

Karakteristik Sinyal Ucapan

Unit bunyi terkecil yang dapat

dibedakan oleh manusia disebut fonem.

Suatu ucapan kata atau kalimat pada

prinsipnya dapat dilihat sebagai urutan

fonem. Himpunan fonem yang ada dalam

suatu bahasa berbeda-beda. Setiap fonem

disimbolkan dengan suatu symbol yang

unik.

Saat ini ada beberapa standar cara penamaan fonem yang berlaku [Rab93], diantaranya adalah standar (1) IPA (International Phonetic Alphabet)1, (2) ARPABET, serta (3)

SAMPA. Tabel 4.1 memperlihatkan daftar fonem bahasa Inggris-Amerika serta representasinya dalam simbol-simbol IPA serta ARPABET.

Tabel 4.1 Fonem-fonem Bahasa Inggris-Amerika dalam standar IPA dan ARPABET [Rab93]


(74)

Gambar 4.7 Daftar dan Klsifikasi Fonem Bahasa

Inggris-Amerika.

a.

Vokal

Sinyal ucapan vokal memiliki bentuk

kuasi periodik seperti terlihat pada

Gambar 4.8. Setiap vokal mempunyai

komponen frekuensi tertentu yang

membedakan karakter satu fonem vokal

dengan fonem vokal lainnya, seperti terlihat

pada spektogram Gambar 4.9. Fonem vokal

Bahasa Inggris mencakup fonem-fonem

/IY/, /IH/, /EH/, /AE/, /AA/, /ER/, /AH/,

/AX/, /AO/, /UW/, /UH/, dan /OW/.

Penelitian untuk mengidentifikasikan

karakteristik fonem-fonem vokal Bahasa

Indonesia pernah dilakukan dan

dipublikasikan oleh Arry Akhmad Arman


(75)

Gambar 4.8. Bentuk Sinyal Ucapan Vokal Bahasa Inggris

[Rab 93]

Gambar 4.9. Spektogram Sinyal Ucapan Vokal Bahasa Inggris [Rab93]

b.

Diftong

Diftong pada prinsipnya adalah dua

fonem vokal yang berurutan dan diucapkan

tanpa jeda. Fonem diftong Bahasa Inggris

mencakup /AY/, /OY/, /AW/, dan /EY/.


(76)

karakteristik fonem-fonem vokal

pembentuknya disertasi bentuk transisinya.

Gambar 4.10. Contoh Sinyal dan Spektogram Diftong Bahasa Inggris [Rab93]

Gambar4.11. Contoh Sinyal dan Spektogram Konsonan Nasal Bahasa Inggris [Rab93]


(77)

Konsonan nasal dibangkitkan dengan

eksitasi glotal dan vocal tract mengerut

total pada beberapa titik tertentu sepanjang

lintasan pengucapan. Bagian belakang

langit-langit merendah, sehingga udara

mengalir melalui nasal tract dengan suara

yang dipancarkan melalui lubang hidung.

Konsonan nasal Bahasa Inggris adalah /M/,

/N/, dan /NX/. Contoh bentuk sinyal ucapan

serta spektogramnya dapat dilihat pada

Gambar 4.11.

d.

Konsonan Frikatif

Konsonen frikatif pada prinsipnya

dapat dibedakan menjadi frikatif

unvoiced

serta

voiced

. Fonem Bahasa Inggris yang

termasuk frikatif

unvoiced

adalah /F/, /TH/,

/S/, dan /SH/, sedangkan yang termasuk

frikatif

voiced

adalah /V/, /Z/, dan /ZH/.

Frikatif

unvoiced

dibentuk dengan suatu

eksitasi terhadap

vocal tract

dengan suatu

aliran udara yang tetap, sehingga

menyebabkan turbulensi di daerah yang

mengkerut dalam

vocal tract

.

Frikatif voiced

agak berbeda

dengan frikatif unvoiced

. Pada

frikatif voiced

, suara dihasilkan oleh dua

sumber eksitasi. Sumber eksitasi lainnya


(78)

Gambar 4.12. Contoh Sinyal dan Spektogram Konsonan

Frikatif

Bahasa Inggris [Rab 93]

e.

Konsonan Stop

Seperti konsonan frikatif, konsonen stop

dapat dibedakan menjadi konsonan stop

unvoiced

serta

voiced

. Konsonan stop

memiliki bentuk yang berbeda dengan

konsonankonsonan lainnya. Konsonan ini

memperlihatkan pola transient dan tidak

kontinyu. Konsonan ini dibentuk dengan

cara memberikan tekanan pada kondisi

pengerutan total di bagian rongga mulut

tertentu, dan segera diikuti dengan

pelemasan. Untuk fonem /B/ pengerutan

terjadi di bibir, untuk fonem /D/

pengerutan terjadi di belakang gigi depan,

sedangkan untuk fonem /G/ pengerutan

terjadi di sekitar bagian belakang

langit-langit. Selama perioda total pengerutan

terjadi, tidak ada suara yang dikeluarkan


(79)

mengandung bagian yang menyerupai

silence

. Fonem Bahasa Inggris yang

termasuk konsonan stop

unvoiced

adalah

/P/, /T/, dan /K/, sedangkan yang termasuk

konsonan stop

voiced

adalah /B/, /D/, dan

/G/.

Gambar 4.13. Contoh Sinyal dan Spektogram Konsonan

Stop

Bahasa Inggris [Rab 93]

4.2.3

TTS (

Text to Speech

)

Sistem Text to Speech pada prinsipnya terdiri dari dua sub system (Gambar 4.14), yaitu :

1) Bagian Konverter Teks ke Fonem (Text to Phoneme), serta 2) Bagian Konverter Fonem ke Ucapan (Phoneme to Speech).

Gambar 4.14.Alur Proses Teks majadi Ucapan

Konventer Teks ke Fonem

Konventer Fonem ke

Ucapan

Teks Ucapan

kode fonem, durasi serta pitch


(1)

tombolangka”6” pada keyboard dan kemudian klik Button”=” Atau menekan tombol ”=” pada keyboard ”tujuh”.

Pada saat ditekan tombol ”=” ada dialog yang di audiokan: ”samadengan”.

Pada saat di TetxDisplay tampil angka 16 ada dialog yang di audiokan: ”tenambelas”.

14 Form Layanan Bahasa Inggris

Tekan tombol huruf ”K” pada keyboard

Form Menu Utama

Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.

15 Form Informasi

Tekan tombol huruf ”K” pada keyboard atau menekan Button Kembali ke menu Utama

Form Menu Utama

Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.

16 Form Bantuan

Tekan tombol huruf ”K” pada keyboard atau menekan Button Kembali ke menu Utama

Form Menu Utama

Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.

4.5.1 Proses Menghitung Angka-angka Pada Kalkulator Berbahsa Indonesia


(2)

Pada tahapan ini user diharapkan dapat menginput angka pada program Kalkuator Audio Visual Berbahasa Indonesia, cara memasukan akan dijelaskan sebagai berikut:

a. Pertama yang harus user lakaukan adalah menampilkan Form

Kalkulator Berbahasa Indonesia dengan (menekan Tombol

Bahasa Indonesia atau dengan menekan

huruf “I” di keyboard) pada Form Menu Utama, maka akan tampil Form Kalkulator Berbahasa Indonesia.

b. Setelah tampil Form Kalkulator Berbahasa Indonesia lalu isilah Layar display dengan angka-angka dengan cara menekan angka di keyboard.

Misalkan menginput angka 14 (empat belas), maka harus menekan angka 1 & 4 pada keyboard.


(3)

c. Kemudian Kemudian pilih operator yang di inginkan (+, -, x, /) dengan menekan tombol operator pada keyboard. Misalkan memilih operator “x” (perkalian) maka tekan * pada keyboard. d. Masukan angka selanjutnya setelah memilih operator. MIsal

angka 31 (tiga puluh satu), maka tekan angka 3 & 1 pada keyboard.

e. Untuk melihat hasil perhitungan tekan tombol “=” pada keyboard.

f. Setiap angka-angka dan operator yang kita pilih serta hasil perhitungan akan di ucapkan oleh system dalam bahasaindonesia.

3.5.2 Proses Menghitung Angka-angka Pada Kalkulator Berbahsa Inggris.

Pada prinsipnya sama saja dengan proses perhitugan kalkulator berbahasa Indonesia, hanya saja pada kalkulator berbahasa inggris ini, system mengucapakan (setiap angka-angka dan operator yang diinginkan, serta hasil perhitungan) dengan bahasa inggris.


(4)

BAB V

PENUTUP

5.1 Kesimpulan

Dalam bab penutup ini, kesimpulan yang penulis peroleh dari pembahasan materi pada bab-bab sebelumnya, yaitu:

a. Dengan memanfaatkan teknologi pengenalan ucapan/sura (speech to text) dan TTS (text to speech), kita dapat membuat aplikasi kalkulator yang dapat digunakan oleh mereka yang tuna netra. b. Aplikasi Kalkulator Audio Visual dapat dibuat dengan

menggunakan tools IndoTTS, Speech to Text, Text to Speech, serta Aplikasi Pemrograman Visual Basic 6.0.

c. Untuk menutupi keterbatasan system pengenalan suara, kita dapat memanfaatkan keyboard yang dirancang khusus sebagai media input pada program aplikasi.

5.2 Saran-saran

Untuk pengembangan lebih lanjut, aplikasi kalkulator ini diharapkan mempunyai fungsi-fungsi matematis yang lebih kompleks seperti : akar kuadrat, logaritma, sinus, cosinus, tangen, dan yang lainnya; (kalkulator scientific audio visual). Dan pada pengembangkan aplikasi selanjutnya di harapkan mempunyai

engine speech to text yang lebih baik, terutama speech recognizer berbahasa Indonesia.


(5)

DAFTAR PUSTAKA

Agustinus Nalwan, Membuat Program Profesional Secara Cepat dengan VB

(Jakarta: PT Alex Media Komputindo Kelompok Gramedia, 2004)

Agustinus Nalwan, Membuat Program Profesional Secara Cepat dengan VB

Library CD How Text To Speech Work (Jakarta: PT Alex Media

Komputindo Kelompok Gramedia, 2004)

Agustinus Nalwan, Membuat Program Profesional Secara Cepat dengan VB Library CD Speech Aplication Programming Interface (Jakarta: PT Alex Media Komputindo Kelompok Gramedia, 2004)

Arry Akhmad arman, Proses Pembentukan dan Karakteristik Sinyal Ucapan 13 Agustus, 2000: 13 hlm. http://www.IndoTTS.melsa.net.id/library.html, 14 oktober 2006.

Arry Akhmad arman, Proses Pembuatan Dhiphone Databse MBROLA based 13 Agustus, 2000: 3 hlm. http://www.IndoTTS.melsa.net.id/proses pembentukan dhipone database.html, 3 oktober 2006.

Arry Akhmad arman, Perkembangan TTS dari masa ke masa 13 Agustus, 2000: 3 hlm. http://www.IndoTTS.melsa.net.id/ Perkembangan tts dari masa ke masa .html, 3 oktober 2006

Arry Akhmad arman, Ketika Teks Tidak Lagi Bisu13 Agustus, 2000: 4 hlm. http://www.ikastara.org/forums/showthread.php?t=347, 3 oktober 2006

Candra Wirawan, Keamanan Data Menggunakan Metode Block Chiper (RC4) Pada PT. Panca Inti Sejati Utama [Skripsi] (Jakarta: Universitas Islam Negeri Syarif Hidayatullah Jakarta, 2006)

Fakultas Sains dan Teknologi-UIN, Pedoman Penulisan Skripsi (Jakarta: UIN Press, 2004)

Kendall, Kendall, Analisa dan Perancangan Sistem Jilid 1 (Jakarta: IKAPI, 2003)

Pandia Hendry, Visual Basic 6.0 Tingkat Lanjut (Yogyakarta: Andi Yaogya, 2004)

Sanjaya Ridwan, Membuat Menu Cantik untuk Aplikasi Visual Basic 6.0 (Yogyakarta: Andi Yogya, 2000)


(6)