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
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
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
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
Dr. Ir. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Kaprodi Teknik Informatika
Nurhayati, M.Kom NIP. 150 293 241
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
Ir. Bakri La Katjong, MT, M.Kom
Dekan Fakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Penguji III
Victor Amrizal, M.Kom
Ketua Program Studi Teknik Informatika
Ir. Bakrie La Katjong, MT, MKom NIP: 470 035 764
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
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.
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.
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.
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
1.8 Sistematika Penulisan ...........................................................
6
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
3.2 Tahapan Pendekatan Sistem ................................................
40
BAB IV
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
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
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
LAMPIRAN................................................................................................
110
DAFTAR TABEL
Halaman TABEL 2.1: Simbol-simbol Flowchart ...................................................
27
TABEL 4.1: Fonem-fonem Bahasa Inggris-Amerika dalam standar IPA dan ARPABET ............................................................ TABEL 4.2: Tabel Pengujian ..................................................................
56 102
DAFTAR LAMPIRAN
Halaman A. Kamus Data ..........................................................................................
110
B. Surat Keterangan Penelitian dari MAN 4 Model Jakarta......................
113
C. Source Code .........................................................................................
114
D. Kuesioner Penelitian ............................................................................
136
DAFTAR LAMPIRAN
Halaman A. Kamus Data ..........................................................................................
110
B. Surat Keterangan Penelitian dari MAN 4 Model Jakarta......................
113
C. Source Code .........................................................................................
114
D. Kuesioner Penelitian ............................................................................
136
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
GAMBAR 4.7: Daftar dan Klsifikasi Fonem Bahasa Inggris-Amerika ......
57
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
GAMBAR 4.25: Rancangan Form Kalkulator berbahasa Indonesia ............
82
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
GAMBAR 4.39: Form Bantuan ....................................................................
99
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.
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.
1.4
Batasan Masalah
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: a. Bagi Penulis
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.
1.7
Metode Penelitian
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. 3. Fase Konstruksi
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, Microsoft Visual Basic 6.0.
dan didukung komponen
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
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
terbatas sekali dan ada kemungkinan pembicara tidak perlu melakukan pelatihan pada system sebelumnya.
Terdapat
empat
proses
pembicaraan, baik pada mode
utama
pada
system
pengenalan
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.
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. b. Speaker Independent
Pada speaker independent pengguna tidak perlu
melakukan
menggunakan
pelatihan
system,
karena
sebelum system
dapat 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
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.
2.2
SAPI (Speech Aplication Programming Interface)
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) a. Aplication Programming Interface (API)
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 IspNotifySink:: Notify ketika terdapat satu atau lebih even yang menyatakan bahwa aplikasi dapat mengambil data. Biasanya aplikasi tidak mengimplementasikan ISpNotifySink secara langsung tetapi menggunakan CoCreate Instance 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
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
ISpEventSource::GetInfo,
maka
memanggil
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
SPEVENT,
di
mengeluarkan mana
sejumlah
masing-masing
struktur
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
merupakan
ISpRecoContext.
sebuah
Antar
ISpEventSource,
muka
yang
ini
berarti
ISpRecoContext tersebut adalah antar muka aplikasi untuk menerima notifikasi dari sebuah even pengenalan pembicaraan. Aplikasi mempunyai dua pilihan untuk menggunakan
engine
pengenalan
pembicaraan
(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
Sedangkan
untuk
pembicaraan server
secara
aplikasi
umum.
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.
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
menggunakan
membuat
IspReco
ISpRecoGrammar
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 diktasi
atau
IspReco
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
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 dieksekusi. SAPI membuat sebuah thread ke obyek
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
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
memanggil
ISpSREngine, Isp
maka
engine
harus
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
ISpSREngine::RecognizeStream, maka hal ini berarti
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
Pseudocode
instruksi berbasis
kode pada
program bahasa
yang
sebenarnya.
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
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 proses Simbol yang menyatakan proses input dan output tanpa tergantung dengan Simbol input-output
jenis peralatannya. Simbol
untuk
kondisi
yang
akan
menghasilkan beberapa kemungkinan Simbol decision
jawaban/aksi. Simbol untuk permulaan atau akhir dari suatu program.
Simbol terminal Simbol
untuk
keluar
atau
masuk
prosedur atau proses dalam lembar yang Simbol connector
sama. Menunjukkan
bagan
instruksi
selanjutnya
Simbol untuk menyatakan input berasal
dari dokumen dalam bentuk kertas atau Simbol document
output dicetak di kertas. Berisi catatan supaya mudah dimengerti isi/tujuan algoritma atau uraian data
Simbol catatan/keterangan
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.
State 1 Aksi
State 2 Gambar 2.11 Contoh perubahan state 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.
Gambar 2.12. Notasi Modul
b. Tampilan Kondisi
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).
Gambar 2.13. Notasi Tampilan c. Tindakan (state transition) Menggunakan simbol anak panah (Gambar 2.14) disertai keterangan tindakan yang dilakukan.
Gambar 2.14. Notasi Tindakan
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:
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”.
Pemodelan sistem informasi
analisis
desain
kode
tes
Gambar 2.16 Model Sekuensial Linear
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
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.
Membangun Memperbaiki Market
Mendengarkan pelanggan
Uji pelanggan Mengendalikan Market
Gambar 2.17 Prototipe paradigma
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
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 syaratsyarat 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.
Fase Perencanaan Syarat-syarat
Menentukan Tujuan dan Syarat-syarat Informasi
Umpan Balik Pengguna
Fase Perancangan
Fase Konstruksi
Bekerja dengan Pengguna untuk Sistem Perancangan
Membangun Sistem
Menggunakan masukan dari Pengguna
Memperkenalkan Sistem Fase Pelaksanaan
Gambar 2.18 Model RAD
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 :
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.
Title Bar Menu Bar
Project
Tool Bar Tool Box Form
Properties
Gambar 2.19 Tampilan aplikasi Micosoft Visual Basic 6.0 Menurut Adi Kurniadi (2000:10), komponen-komponen yang ada pada lingkungan Visual Basic adalah :
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
(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 instruksi-instruksi untuk aplikasi Visual Basic.
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
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.
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.
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 temanteman 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.
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
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 )
Fase perencanaan Menentukan Tujuan dan syarat-syarat Informasi
Umpan Balik
Bekerja dengan Penguna Untuk Sistem Perancangan
Membangun sistem
Mengunakan kk
d i
Memperkenalkan Sistem Fese Pelaksanaan
Gambar 3.1 Model RAD
a. Perancangan Syarat-syarat
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.
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
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
KeyPrees
INPUT
Text
SYSTEM KALKULATOR
PROSES
Text
OUTPUT Text to Speech
Suara/ Speech
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
pola apa yang sebenarnya dikatakan. Pada Gambar 4.2 menjelaskan bagaimana tahapan-tahapan dari suara yang di input menjadi teks didalam sistem komputer.
Speech/ Ucapan
Microphone
SoundCard Digital Audio Arus Amplitudo windowed fast-Fourier
Frequenscy Domain Database Grafik amplitudo komponen frekwensi
Pencocokan dengan codebook feature number Grammar
Merepresentasikan Fonem Fonem Gambar 4.2 Urutan proses dari suara ke text.
Text
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.
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 putusputus, 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 cm2 sampai dengan mendekati nol. Nasal tract mulai dari bagian
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 paruparu. 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
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 sepanjang 500 mili detik.
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
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 daerahdaerah 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
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 dari Ucapan “Every Salt Breeze Comes From Sea”.
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 komponenkomponen 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 komponenkomponen sinyal ucapan, indetifikasi komponen frekuensi segmen ucapan, serta analisis frekuensi dasar yang diperlukan untuk analisis intonasi ucapan.
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]
Gambar 4.7 Daftar dan Klsifikasi Fonem Bahasa InggrisAmerika. 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 pada tahun 1999 [Arm99].
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/. Karakteristik diftong mirip dengan
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]
c. Konsonan Nasal
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 adalah glotis.
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 langitlangit. Selama perioda total pengerutan terjadi, tidak ada suara yang dikeluarkan dari mulut, sehingga fonem ini selalu
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).
Teks
Konventer Teks ke Fonem
Konventer Fonem ke Ucapan
Ucapan
kode fonem, durasi Gambar 4.14.Alur Proses Teks majadi Ucapan serta pitch
Bagian Konverter Teks ke Fonem berfungsi untuk mengubah kalimat masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode fonem, durasi serta pitch-nya. Bagian ini bersifat sangat language dependant. Untuk suatu bahasa baru, bagian ini harus dikembangkan secara lengkap khusus untuk bahasa tersebut. Bagian Konverter Fonem ke Ucapan akan menerima masukan berupa kode-kode fonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya. Berdasarkan kode-kode tersebut, bagian Konverter Fonem ke Ucapan akan menghasilkan bunyi atau sinyal ucapan yang sesuai dengan kalimat yang ingin diucapkan. Ada beberapa alternatif teknik yang dapat digunakan untuk implementasi bagian ini. Dua teknik yang banyak digunakan adalah formant synthesizer, serta diphone concatenation. Formant synthesizer bekerja berdasarkan suatu model matematis yang akan melakukan komputasi untuk menghasilkan sinyal ucapan yang diinginkan. Synthesizer jenis ini telah lama digunakan pada berbagai aplikasi. Walaupun dapat menghasilkan ucapan dengan tingkat kemudahan interpretasi yang baik, synthesizer ini tidak dapat menghasilkan ucapan dengan tingkat kealamian yang tinggi. Synthesizer yang menggunakan teknik diphone concatenation bekerja dengan cara menggabung-gabungkan segmen-segmen bunyi yang telah direkam sebelumnya. Setiap segmen berupa diphone
(gabungan
dua
buah
fonem).
Synthesizer
jenis
ini
dapat
menghasilkan bunyi ucapan dengan tingkat kealamian (naturalness) yang tinggi. Struktur sistem seperti di atas pada prinsipnya merupakan konfigurasi tipikal yang digunakan pada berbagai sistem Text to Speech berbagai bahasa. Namun demikian, pada setiap subsistem terdapat sifat-sifat serta proses-proses yang sangat spesifik dan sangat tergantung dari bahasanya. Konversi dari teks ke fonem sangat dipengaruhi oleh aturanaturan yang berlaku dalam suatu bahasa. Pada prinsipnya proses ini melakukan konversi dari simbol-simbol tekstual menjadi simbolsimbol fonetik yang merepresentasikan unit bunyi terkecil dalam suatu bahasa. Setiap bahasa memiliki aturan cara pembacaan dan cara pengucapan teks yang sangat spesifik. Hal ini menyebabkan implementasi unit konverter teks ke fonem menjadi sangat spesifik terhadap suatu bahasa. Untuk mendapatkan ucapan yang lebih alami, ucapan yang dihasilkan harus memiliki intonasi (prosody). Secara kuantisasi, prosodi adalah perubahan nilai pitch (frekuensi dasar) selama pengucapan kalimat dilakukan atau pitch sebagai fungsi waktu. Pada prakteknya, informasi pembentuk prosodi berupa data-data pitch serta durasi pengucapannya untuk setiap fonem yang dibangkitkan. Nilai-nilai yang dihasilkan diperoleh dari suatu model prosodi. Prosodi bersifat sangat spesifik untuk setiap bahasa, sehingga model
yang diperlukan untuk membangkitkan data-data prosodi menjadi sangat spesifik juga untuk suatu bahasa. Beberapa model umum prosodi pernah dikembangkan, tetapi untuk digunakan pada suatu bahasa masih perlu banyak penyesuaian yang harus dilakukan. Konverter fonem ke ucapan berfungsi untuk membangkitkan sinyal ucapan berdasarkan kode-kode fonem yang dihasilkan dari proses sebelumnya. Sub sistem ini harus memiliki pustaka setiap unit ucapan dari suatu bahasa. Pada sistem yang menggunakan teknik diphone concatenation, sistem harus didukung oleh suatu diphone database yang berisi rekaman segmen-segmen ucapan yang berupa diphone. Ucapan dalam suatu bahasa dibentuk dari satu set bunyi yang mungkin berbeda untuk setiap bahasa, oleh karena itu setiap bahasa harus dilengkapi dengan diphone database yang berbeda. Tahapan-tahapan utama konversi dari teks menjadi ucapan dapat dinyatakan dengan diagram seperti terlihat pada Gambar 4.15.
Tahap normalisasi teks berfungsi untuk mengubah semua teks kalimat yang ingin diucapkan menjadi teks yang secara lengkap memperlihatkan cara pengucapannya. Lihat contoh kalimat dan hasil normalisasinya pada Gambar 4.16.
Gambar 4.15. Urutan Proses Konversi dari Teks ke Ucapan Tahap berikutnya adalah melakukan konversi dari teks yang sudah secara lengkap merepresentasikan kalimat yang ingin diucapkan menjadi kode-kode fonem. Konversi teks menjadi fonem biasanya dilakukan dengan dua cara. Sebagian proses konversi dapat dilakukan dengan aturan konversi yang sederhana dan berlaku umum untuk berbagai kondisi. Sebagian proses lainnya
bersifat kondisional, tergantung dari huruf-huruf atau fonem-fonem tetangganya, bahkan terdapat bentuk-bentuk translasi yang tidak dapat ditemukan keteraturannya. Konversi yang teratur dapat diimplementasikan dengan tabel konversi yang berisi pasangan antara urutan huruf dan urutan fonem, bahkan mungkin hanya berisi satu huruf dan satu fonem. Aturan yang lebih sulit biasanya diimplementasikan dengan table konversi yang akan diterapkan jika kondisi rangkaian huruf tetangga kiri dan kanannya terpenuhi. Contoh bentuk aturan konversi huruf ke fonem yang memenuhi teknik tersebut adalah sebagai berikut. Left-context [letter-set] right-context = phoneme string
Huruf tertentu yang ditunjuk dalam posisi [letter-set] akan dikonversikan menjadi suatu fonem dalam “phoneme string” jika left-context dan right context terpenuhi. Bahasa
Inggris
termasuk
bahasa
yang
mempunyai
keteraturan yang rendah untuk proses konversi teks ke fonem. Suatu TTS bahasa Inggris biasanya dilengkapi dengan suatu basis data yang berisi ribuan kata serta konversi padanan urutan fonemnya. Bahasa Indonesia termasuk bahasa yang jelas aturan konversinya. Sebagian besar kata dalam Bahasa Indonesia dapat dikonversikan menjadi fonem dengan aturan yang jelas dan sederhana, walaupun tetap ada kondisi-kondisi yang tidak dapat
ditemukan keteraturannya. Sebagai contoh, simbol huruf e dapat diucapkan sebagai e pepet atau e taling, artinya harus dikonversikan menjadi fonem yang berbeda untuk kondisi yang berbeda. Dalam blok diagram di atas, kondisi yang masih dapat ditangani oleh aturan diimplementasikan dengan blok Letter to Phoneme Conversion. Konversi yang tidak teratur ditangani oleh bagian Exception Dictionary Lookup. Hasil dari tahap tersebut adalah rangkaian fonem yang merepresentasikan bunyi kalimat yang ingin diucapkan. Bagian prosody generator akan melengkapi setiap unit fonem yang dihasilkan dengan data durasi pengucapannya serta pitchnya. Data durasi serta pitch diperoleh berdasarkan kombinasi antara tabel atau database serta model prosodi. Secara simbolik, hasil dari bagian ini sudah menghasilkan informasi yang cukup untuk menghasilkan ucapan yang diinginkan. Satu tahap berikutnya yang masih sering dilakukan adalah Phonetic Analysis. Tahap ini dapat dikatakan sebagai tahap penyempurnaan, yaitu melakukan perbaikan di tingkat bunyi. Sebagai contoh, dalam bahasa Indonesia, fonem /k/ dalam kata bapak tidak pernah diucapkan secara tegas, atau adanya sisipan fonem /y/ dalam pengucapan kata alamiah antara fonem /i/ dan /a/.
Gambar 4.15. Besaran – besaran Dalam Setiap Tahap Proses Konversi dari Teks ke Ucapan (dimodifikasi dari Pelton, 1992)
4.2.4 Flowchart Algoritma Program Kalkulator Audio Visual Pada tahapan ini akan digambarkan alur proses input/output program aplikasi kalkulator audio visual yang penulis kembangkan
START dengan menggunakan flowchart. Seperti terlihat paga Gambar 4.16, Input Agka-angka Gambar 4.17, dan Gambar 4.18. Ya 1
Angka 1 akan ditampilkan di layar display
Tidak Ya 2
Angka 2 akan ditampilkan di layar display
Tidak Ya Angka 3 akan ditampilkan di layar display
3 Tidak Ya
Angka 4 akan ditampilkan di layar display
4 Tidak Ya
Angka 5 akan ditampilkan di layar display
5 Tidak Ya
Angka 6 akan ditampilkan di layar display
6 Tidak Ya
Angka 7 akan ditampilkan di layar display
7 Tidak Ya
Angka 8 akan ditampilkan di layar display
8 Tidak Ya
Angka 9 akan ditampilkan di layar display
9 Tidak Ya 0
FINISH
Angka 0 akan ditampilkan di layar display Hasil perhitungan akan di tampilkan di layar Display
B
A
Gambar 4.16. Flowchart Program Kalkulator. A
Input Operator
Ya +
Angka input sebelumnya akan ditambah dengan input angka berikutnya.
Tidak Ya -
Angka input sebelumnya akan dikurang dengan input angka berikutnya.
Tidak Ya x
Angka input sebelumnya akan dikali dengan input angka berikutnya.
Tidak Ya /
Angka input sebelumnya akan dibagi dengan input angka berikutnya.
B
Gambar 4.17. Flowchart Program Kalkulator (Lanjutan 1)
B
Input Agka-angka
Ya 1
Angka 1 akan ditampilkan di layar display
Tidak Ya 2
Angka 2 akan ditampilkan di layar display
Tidak Ya Angka 3 akan ditampilkan di layar display
3 Tidak Ya
Angka 4 akan ditampilkan di layar display
4 Tidak Ya
Angka 5 akan ditampilkan di layar display
5 Tidak Ya
Angka 6 akan ditampilkan di layar display
6 Tidak Ya
Angka 7 akan ditampilkan di layar display
7 Tidak Ya
Angka 8 akan ditampilkan di layar display
8 Tidak Ya
Angka 9 akan ditampilkan di layar display
9 Tidak Ya 0
FINISH
Angka 0 akan ditampilkan di layar display Angka ke1, 2,3, … Operator Angka ke 1,2,3,… = hasil
Gambar 4.18. Flowchart Program Kalkulator (Lanjutan 2) 4.2.5 Perancangaan Antarmuka 1. Form Intro Form intro berfungsi menampilkan nama aplikasi, loding proses dan menampilkan menu utama program aplikasi kalkulator audio visual secara otomatis. Rancangan form intro terlihat paga Gambar 4.19 sebagai berikut :
Kalkulator Audio Visual Created by: Junaedih
Universitas Islam Negeri
Gambar 4.19 Syarif Hidayatullah
Rancangan Form intro copyright©2006-2007 Loading… STD (State Transition Diagram) rancangan Form Intro tersebut digambarkan pada Gambar 4.20 sebagai berikut: Form Intro
Loading…
Form Menu Utama
Gambar 4.20. Rancangan STD Form Intro.
2. Form Menu Utama Form Menu Utama merupakan tampilan utama pada program Kalkuator Audio Visual pada form ini terdapat 5 tombol utama yang masing-masing mempuyai fungsi sebagai berikut :
•
Tombol Layanan Bahasa Inggris : mempunyai fungsi untuk menampilkan Form Kalkulator Berbahasa Inggris.
•
Tombol Layanan Bahasa Indonesia : mempunyai fungsi untuk menampilkan Form Kalkulator Berbahasa Indonesia.
•
Tombol Info : mempunyai fungsi untuk menampilkan Form Info
•
Tombol Bantuan : mempunyai fungsi untuk menampilkan Form Help
•
Tombol Keluar : mempunyai fungsi untuk keluar dari Form Menu Utama
Untuk memperjelas rancangan Form Menu Utama dapat dilihat pada Gambar 4.21
Bahasa I d i
Bahasa Inggris
Informasi
Bantuan
Keluar
GAMBAR
Gambar 4.21 Rancangan Form Menu Utama.
STD (State Transition Diagram) rancangan Form menu utama tersebut digambarkan pada Gambar 4.22 sebagai berikut:
Input angka Input Opeartor
Proses
Input angka Form Kalkulator Berbahasa Inggris Hasil
Kembali_klik
Bahasa Indonesia_klik
Informasi_klik Form Informasi Intro
Form Menu Utama Kalkulator Audio Visual
Kembali_klik
Bantuan_klik
Keluar
Form Bantuan Keluar_klik
Kembali_klik
Kembali_klik
Bahasa Inggris_klik
Input angka Form Kalkulator Berbahasa Inggris
Input Opeartor Input angka
Gambar 4.22. Rancangan STD Form Menu Utama 3. Rancangan Form Kalkulator Berbahasa Inggris (Gambar 4.23) Form Kalkulator Berbahasa Inggris mempunyai fungsi untuk menginput (angka – angka dan operasi) yang di inginkan/ dipilih oleh user, dengan layanan bahasa inggris. Form Enkripsi ini dilengkapi dengan 18 tombol yang mempunyai fungsi sebagai berikut: •
Tombol Angka “1”: mempunyai fungsi untuk menginput angka 1 di layar display.
•
Tombol Angka “2”: mempunyai fungsi untuk menginput angka 2 di layar display.
•
Tombol Angka “3”: mempunyai fungsi untuk menginput angka 3 di layar display.
•
Tombol Angka “4”: mempunyai fungsi untuk menginput angka 4 di layar display.
•
Tombol Angka “5”: mempunyai fungsi untuk menginput angka 5 di layar display.
•
Tombol Angka “6”: mempunyai fungsi untuk menginput angka 6 di layar display.
•
Tombol Angka “7”: mempunyai fungsi untuk menginput angka 7 di layar display.
•
Tombol Angka “8”: mempunyai fungsi untuk menginput angka 8 di layar display.
•
Tombol Angka “9”: mempunyai fungsi untuk menginput angka 4 di layar display.
•
Tombol Angka “0”: mempunyai fungsi untuk menginput angka 0 di layar display.
•
Tombol Koma “.”: mempunyai fungsi untuk menginput text koma “.” di layar display.
•
Tombol Operator Tambah
“+”: mempunyai fungsi untuk
menjumlahkan angka sebelumnya dengan angka yang akan dimasukan di layar display. •
Tombol Operator Kurang
“-”: mempunyai fungsi untuk
mengurangkan angka sebelumnya dengan angka yang akan dimasukan di layar display. •
Tombol Operator Kali “x”: mempunyai fungsi untuk mengalikan angka sebelumnya dengan angka yang akan dimasukan di layar display.
•
Tombol Operator Bagi membagi angka
“/”: mempunyai fungsi untuk
sebelumnya
dengan angka yang akan
dimasukan di layar display. •
Tombol Sama dengan
“=”: mempunyai fungsi untuk
menampilkan hasil proses perhitungan di layar display. •
Tombol Hapus “C”: mempunyai fungsi untuk menghapus angka-angka yang berada
•
di layar display.
Tombol Hapus “CE”: mempunyai fungsi untuk menghapus angka-angka yang berada Untuk
di layar display dan registry.
memperjelas rancangan Form Enkripsi dapat dilihat pada gambar 4.23.
Bahasa Inggris
CE
C
7
8
9
+
4
5
6
-
1
2
3
x
0
+/-
.
/
Gambar 4.23 Rancangan Form Kalkulator berbahasa Inggris STD (State Transition Diagram) rancangan Form Kalkulator Berbahasa Indonesia tersebut terlihat pada Gambar 4.24 sebagai berikut: Input Angka Input Operator Form Menu Utama Input Angka Bahasa Indonesia_Klik
Proses
Form Kalkulator berbahasa Inggris Kembali_Klik
Hasil
Gambar 4.24 Rancangan STD Form Kalkulator berbahasa Inggris.
4. Rancangan Form Kalkulator Berbahasa Indonesia Form Kalkulator Berbahasa Indonesia mempunyai fungsi untuk menginput (angka – angka dan operasi) yang di inginkan/ dipilih oleh user, dengan layanan bahasa inggris. Form Enkripsi ini dilengkapi dengan 18 tombol yang mempunyai fungsi sebagai berikut: •
Tombol Angka “1”: mempunyai fungsi untuk menginput angka 1 di layar display.
•
Tombol Angka “2”: mempunyai fungsi untuk menginput angka 2 di layar display.
•
Tombol Angka “3”: mempunyai fungsi untuk menginput angka 3 di layar display.
•
Tombol Angka “4”: mempunyai fungsi untuk menginput angka 4 di layar display.
•
Tombol Angka “5”: mempunyai fungsi untuk menginput angka 5 di layar display.
•
Tombol Angka “6”: mempunyai fungsi untuk menginput angka 6 di layar display.
•
Tombol Angka “7”: mempunyai fungsi untuk menginput angka 7 di layar display.
•
Tombol Angka “8”: mempunyai fungsi untuk menginput angka 8 di layar display.
•
Tombol Angka “9”: mempunyai fungsi untuk menginput angka 4 di layar display.
•
Tombol Angka “0”: mempunyai fungsi untuk menginput angka 0 di layar display.
•
Tombol Koma “.”: mempunyai fungsi untuk menginput text koma “.” di layar display.
•
Tombol Operator Tambah
“+”: mempunyai fungsi untuk
menjumlahkan angka sebelumnya dengan angka yang akan dimasukan di layar display. •
Tombol Operator Kurang
“-”: mempunyai fungsi untuk
mengurangkan angka sebelumnya dengan angka yang akan dimasukan di layar display. •
Tombol Operator Kali “x”: mempunyai fungsi untuk mengalikan angka sebelumnya dengan angka yang akan dimasukan di layar display.
•
Tombol Operator Bagi membagi angka
“/”: mempunyai fungsi untuk
sebelumnya
dengan angka yang akan
dimasukan di layar display. •
Tombol Sama dengan
“=”: mempunyai fungsi untuk
menampilkan hasil proses perhitungan di layar display.
•
Tombol Hapus “C”: mempunyai fungsi untuk menghapus angka-angka yang berada
•
di layar display.
Tombol Hapus “CE”: mempunyai fungsi untuk menghapus angka-angka yang berada
di layar display dan registry.
Untuk memperjelas rancangan Form Kalkulator Berbahasa Indonesia dapat dilihat pada gambar 4.25
Bahasa Indonesia
CE
C
7
8
9
+
4
5
6
-
1
2
3
x
0
+/-
.
/
Gambar 4.25 Rancangan Form Kalkulator berbahasa Indonesia
STD (State Transition Diagram) rancangan Form Kalkulator Berbahasa Indonesia tersebut terlihat pada Gambar 4.26 sebagai berikut:
Input Angka Input Operator Form Menu Utama Input Angka Bahasa Indonesia_Klik
Proses
Form Kalkulator berbahasa Indonesia Kembali_Klik
Hasil
Gambar 4.26 Rancangan STD Form Kalkulator berbahasa Indonesia.
5. Rancangan Form Informasi (Gambar 4.27) Form Informasi Mempunyai Fungsi untuk memberikan informasi kepada pemakai tentang pembuat program Kalkuator Audio Visual. Form Info ini dilengkapi dengan 1 tombol (Tombol Tutup) yang mempunyai fungsi untuk menutup Form Informasi
Universitas Islam Negeri Syarif Hidayatullah
Gambar
Nama : Junaedih Ni 1010191123324 Fakultas : Sains Dan Teknologi J
T k ik I f
tik
Alamat : Jl. Pamulang 2, No. 20 Rt01/08 Parakan, Pd. Benda Pamulang Kode Pos 15416 Tangerang Banten
Tutup
Gambar 4.27 Rancangan Form Informasi
STD (State Transition Diagram) rancangan Form Info tersebut terlihat pada Gambar 4.28 sebagai berikut: Tutup klik
Form Info
Form Utrama
Gambar 4.28 Rancangan STD Form Info
6. Form Bantuan Form Bantuan Mempunyai Fungsi sebagai menu bantuan bagi pemakai yang belum mengerti atau memahami cara mengunakan program Kalkuator Audio Visual •
Form Bantuan
ini dilengkapi dengan 1 tombol yang
mempunyai fungsi untuk kembali ke meu utama. Untuk memperjelas rancangan Form Help dapat dilihat pada gambar 4.29 sebagai berikut :
Kemb
Gambar 4.29 Rancangan STD Form Bantuan
STD (State Transition Diagram) rancangan Form Help tersebut terlihat pada Gambar 4.30 sebagai berikut : Form Bantuan
Kembali klik
Form Utrama
Gambar 4.30 Rancangan STD Form Bantuan.
4.3 Fase Pelaksanaan (Implementasi) 4.3.1 Sarana-sarana Pendukung Apliksi Kaklukaltor Audio Visual a. Perangkat Keras (Hardware) Perangkat keras untuk menjalankan program aplikasi kaklkulator audio visual ini adalah suatu unit komputer dengan konfigurasi sebagai berikut: a. Prosessor setara Pentium III ke atas. b. Memori minimal 128 MB. c. Monitor dengan resolusi 1024 x 768 pixel d. VGA minimal 8 MB. e. Sound Card f. Microphone g. Keyboard dan mouse.
h. Headphone / Speaker
b. Perangkat Lunak (Software) Spesifikasi perangkat lunak dan sistem operasi yang digunakan adalah sebagai berikut: a. Sistem Operasi Windows 98/2000/NT/XP. b. API 5.0 c. IndoTTS c. Source Code Sourcecode
ditulis
dengan
menggunakan
Aplikasi
Pemrograman Visual Basic 6.0. Dapat dilihat pada bagian lampiran.
4.3.2 Instalasi Program Berikut ini adalah tahapan-tahapan
instalasi Aplikasi. Terlihat
pada Gambar 4.31 sampai dengan Gambar 4.34 1. Tampilan Prpgram Kalkuator Audio Visual Setup (Gambar 4.31)
Gambar 4.31 Tampilan Program Kalkuator Audio Visual Setup
Pada tampilan Program Kalkuator Audio Visual Setup ini berisi tampilan awal proses instalasi program Kalkuator Audio Visual yang dilengkapi dengan 2 tombol yaitu: o Tombol
Ok
: berfungsi menjalankan proses instalasi
berikutnya o Tombol
Exit
Setup
:
berfungsi
mengakhiri
membatalkan proses instalasi
2. Tampilan Proses Instalasi Program (Gambar 4.32)
Gambar 4.32 Tampilan Proses Instalasi Program
atau
Tampilan Proses Instalasi Program berisi gambaran proses instalasi yang sedang berjalan yang ditandai dengan meningkatnya persentase prose 3. Tampilan Akhir Proses Instalasi Program (Gambar 4.33)
Gambar 4.33 Tampilan Akhir Proses Instalasi Program Tampilan Akhir Proses Instalasi Program berisi pesan yang meberikan informasi bahwa program telah terinstall dengan baik
4.3.2 Tampilan Antarmuka Program 1. Form Intro (Gambar 4.34)
Gambar 4.34 Form Intro
Form intro berfungsi menampilkan nama apliksi, loding proses dan menampilkan menu utama program Kalkuator Audio Visual secara otomatis. 2. Form menu Utama (Gambar 4.35)
Gambar 4.35 Form menu Utama
Form Menu Utama merupakan tampilan utama pada program Kalkuator Audio Visual pada form ini terdapat 5 tombol utama yang masing-masing mempuyai fungsi sebagai berikut : •
Tombol Informasi : mempunyai fungsi untuk menampilkan Form Informasi Biodata Pembuat Program.
•
Tombol Bahasa Inggris : mempunyai fungsi untuk menampilkan Form Kalkulator Berbahasa Inggris.
•
Tombol Bahasa Indonesia: mempunyai fungsi untuk menampilkan Form Kalkulator Berbahasa Indonesia.
•
Tombol Bantuan : mempunyai fungsi untuk menampilkan Form Bantuan
•
Tombol Keluar : mempunyai fungsi untuk keluar dari Form Menu Utama
3. Form Kalkulator Berbahasa Indonesia (Gambar 4.36)
Gambar 4.36 Kalkulator Berbahasa Indonesia Form Kalkulator Berbahasa Indonesia mempunyai fungsi untuk mengucapkan angka – angka yang di input di layar display dengan menggunakan bahasa indonesia. Form Enkripsi ini dilengkapi dengan 19 tombol yang mempunyai fungsi sebagai berikut:
•
Tombol
1:
mempunyai
fungsi
untuk
menginput/ menampilkan angka 1 di layar display.
•
Tambol 2
: mempunyai fungsi untuk
menginput/ menampilkan angka 2 dilayar display.
•
Tombol 3 : mempunyai fungsi untuk menginput/ menampilkan angka 3 dilayar display.
•
Tombol 4 : mempunyai fungsi untuk menginput/ menampilkan angka 4 dilayar display.
•
Tombol 5 : mempunyai fungsi untuk menginput/ menampilkan angka 5 dilayar display.
•
Tombol 6 : mempunyai fungsi untuk menginput/ menampilkan angka 6 dilayar dispalay.
•
Tombol 7 : mempunyai fungsi untuk menginput/ menampilkan angka 7 dilayar display.
•
Tombol 8 : mempunyai fungsi untuk menginput/ menampilkan angka 8 dilayar display.
•
Tombol 9 : mempunyai fungsi untuk menginput/ menampilkan angka 9 dilayar display.
•
Tombol 0 : mempunyai fungsi untuk menginput/ menampilkan angka 0 dilayar display .
•
Tombol + : mempunyai fungsi untuk menjumlahkan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol - : mempunyai fungsi untuk mengurangkan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol / : mempunyai fungsi untuk membagi angka yang sudah di input sebelumnya
dilayar dispalay
dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol x : mempunyai fungsi untuk mengalikan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol +/- : mempunyai fungsi untuk menegatifkan atau mempositifkan angka yang sudah di input sebelumnya dilayar dispalay display.
•
Tombol . : mempunyai fungsi untuk menginput/ menampilkan tanda koma di layar display.
•
Tombol = : mempunyai fungsi untuk menampilkan hasil proses perhitungan di layar display.
•
Tombol CE : mempunyai fungsi untuk menghapus angka – angka yang berada di layar display.
•
Tombol C : mempunyai fungsi untuk menghapus angka – angka yang berada di layar display.
4. Form Bahasa Inggris (Gambar 4.37)
Gambar 4.37 Form Kalkulator Berbahasa Inggris. Form Kalkulator Berbahasa Inggris
Mempunyai Fungsi
untuk mengucapkan angka – angka yang di input di layar display dengan menggunakan bahasa Indonesia. Form Enkripsi ini dilengkapi dengan 19 tombol yang mempunyai fungsi sebagai berikut:
•
Tombol
1:
mempunyai
fungsi
untuk
menginput/ menampilkan angka 1 di layar display.
•
Tambol 2
: mempunyai fungsi untuk
menginput/ menampilkan angka 2 dilayar display.
•
Tombol 3 : mempunyai fungsi untuk menginput/ menampilkan angka 3 dilayar display.
•
Tombol 4 : mempunyai fungsi untuk menginput/ menampilkan angka 4 dilayar display.
•
Tombol 5 : mempunyai fungsi untuk menginput/ menampilkan angka 5 dilayar display.
•
Tombol 6 : mempunyai fungsi untuk menginput/ menampilkan angka 6 dilayar dispalay.
•
Tombol 7 : mempunyai fungsi untuk menginput/ menampilkan angka 7 dilayar display.
•
Tombol 8 : mempunyai fungsi untuk menginput/ menampilkan angka 8 dilayar display.
•
Tombol 9 : mempunyai fungsi untuk menginput/ menampilkan angka 9 dilayar display.
•
Tombol 0 : mempunyai fungsi untuk menginput/ menampilkan angka 0 dilayar display .
•
Tombol + : mempunyai fungsi untuk menjumlahkan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol - : mempunyai fungsi untuk mengurangkan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol / : mempunyai fungsi untuk membagi angka yang sudah di input sebelumnya
dilayar dispalay
dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol x : mempunyai fungsi untuk mengalikan angka yang sudah di input sebelumnya dilayar dispalay dengan angka yang akan dimasukan/ ditampilkan di layar display.
•
Tombol +/- : mempunyai fungsi untuk menegatifkan atau mempositifkan angka yang sudah di input sebelumnya dilayar dispalay display.
•
Tombol . : mempunyai fungsi untuk menginput/ menampilkan tanda koma di layar display.
•
Tombol = : mempunyai fungsi untuk menampilkan hasil proses perhitungan di layar display.
•
Tombol CE : mempunyai fungsi untuk menghapus angka – angka yang berada di layar display.
•
Tombol C : mempunyai fungsi untuk menghapus angka – angka yang berada di layar display.
5. Form Informasi (Gambar 4.38)
Gambar 4.38 Form Informasi Form Informasi Mempunyai Fungsi untuk menampilkan biodata pembuat program. •
Form Lokasi File Di Enkripsi dilengkapi dengan 1 tombol yang mempunyai fungsi untuk kembali ke form menu utama.
6. Form Bantuan (Gambar 4.39)
Gambar 4.40 Form Bantuan
Form Bantuan Mempunyai Fungsi untuk menjelaskan bagaimana cara membuka form – form yang ada pada program aplikasi. Form Bantuan ini dilengkapi dengan 1 tombol yang mempunyai fungsi untuk kembali ke form menu utama.
4.5 Pengujian Program Kalkuator Audio Visual Setelah melakukan proses instalasi kemudian dilakukan pengujian terhadap program Kalkuator Audio Visual, pada tahapan pengujian ini penulis mencoba menggunakan kalkulator berbahsa Indonesia dan berbahasa inggris dalam membantu melakukan proses perhitungan.
Tabel Pengujian No Tampilan Awal
Navigasi
Tampilan Akhir
Keterangan
1
2
Form Menu Utama Intro: Ketika program aplikasi ini di jalankan aka ada ucapan: ”selamat datang di program aplikasi kalkulator audio visual, aplikasi ini didedikasikan khusus bagi anda yang tuna netra. Untuk layanan bahasa indonesia tekan tombol huruf ”I”, untuk layanan bahasa inggris silahkan tekan tombol huruf ”E”. Untuk keluar dari program ini silahkan tekan tombol huruf”A”. Selamat mencoba!”
Autorun/ secara otomatis setelah dialog selesai akan tampil menu utama program
Form Menu Utama
Tampilan Awal pada Program Aplikasi Kalkulator Audio Visual
Form Informasi Klik Button Informasi
3
Form Menu Utama Klik Button Bahasa Indonesia atau menekan tombol huruf “I” pada keyboard
4
Form Menu Utama
Sebelum Form Informasi di tampilkan ada dialog yang di audiokan: ”Program aplikasi ini dibuat oleh junaedih, mahasiswa teknik informatika pada fakultas sains dan teknologi. Pembuat program lahir pada tanngal 9 oktober 1982. bertempat tinggal di jalan pamulang 2 rt 01/08 No 20. parakan, Pd Benda. Pamulang tangerang. Banten” Form Layanan Bahasa Indonesia
Form Layanan Bahasa Inggris Klik Button Bahasa Inggris atau menekan tombol huruf “E” pada keyboard
No Tampilan Awal Form Menu Utama 5
Pada saat Form layananan Bahasa Indonesia di tampilkan ada dialog yang di audiokan: ”Selamat datang di layanan bahasa indonesia anda dapat menggunakan kalkulator ini dengan menekan tombol-tombol yang ada pada keyboard. Untuk kembali ke menu utama silahkan tekan tombol huruf”K””
Navigasi
Pada saat Form layananan Bahasa Inggris di tampilkan ada dialog yang di audiokan: ”Welcome to calculator Audio Visual, this is calkulator created by June. The calculator to ferform a standard basic aritmhaics, Tank’s”
Tampilan Akhir Form Bantuan
Keterangan
Klik Button Bantuan
6
Form Menu Utama Klik Button Keluar atau menekan tombol huruf ”A” pada keyboard
7
8
Pada saat Form Bantuan di tampilkan ada dialog yang di audiokan: ”untuk layanan bahasa indonesia silahkan tekan tombol huruf ”i”, untuk layanan bahasa Inggris silahkan tekan tombol huruf ”E”. Untyk kembali ke menu utama silahkan tekan tombol huruf ”K”.
Form Layanan Bahasa Indonesia
Form Layanan Bahasa Indonesia
No Tampilan Awal Form Layanan Bahasa 9 Indonesia
Klik Button Angka ”9” atau menekan tombolangka”9” pada keyboard
Klik Button Operator ”+” atau menekan tombol ”+” pada keyboard
Navigasi Klik Button Angka ”5” atau
Exit/ keluar dari Program Aplikasi Kalkulator Audio Visual
Form Layanan Bahasa Indonesia
Form Layanan Bahasa Indonesia
Tampilan Akhir Form Layanan Bahasa Indonesia (hasil perhitungan)
Exit/End
Pada saat di TetxDisplay tampil angka 9 ada dialog yang di audiokan: ”sembilan”.
Pada saat ditekan tombol ”+” ada dialog yang di audiokan: ”ditambah”.
Keterangan Pada saat di TetxDisplay tampil
menekan tombolangka”7” pada keyboard dan kemudian klik Button”=” Atau menekan tombol ”=” pada keyboard
angka 7 ada dialog yang di audiokan: ”tujuh”. Pada saat ditekan tombol ”=” ada dialog yang di audiokan: ”samadengan”. Pada saat di TetxDisplay tampil angka 16 ada dialog yang di audiokan: ”tenambelas”.
10
11
Form Layanan Bahasa Indonesia
Form Menu Utama Tekan tombol huruf ”K” pada keyboard
Form Layanan Bahasa Inggris Klik Button Angka ”9” atau menekan tombolangka”9” pada keyboard
12
Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.
Form Layanan Bahasa Inggris
Form Layanan Bahasa Inggris
Form Layanan Bahasa Inggris Klik Button Operator ”+” atau menekan tombol ”+” pada keyboard
No Tampilan Awal 13 Form Layanan Bahasa Inggris
Pada saat di TetxDisplay tampil angka 9 ada dialog yang di audiokan: ”sembilan”.
Navigasi Klik Button Angka ”6” atau menekan
Pada saat ditekan tombol ”+” ada dialog yang di audiokan: ”ditambah”.
Tampilan Akhir
Keterangan
Form Layanan Bahasa Inggris
Pada saat di TetxDisplay tampil angka 7 ada dialog yang di audiokan:
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
Form Menu Utama Tekan tombol huruf ”K” pada keyboard
15
Form Informasi
Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.
Form Menu Utama Tekan tombol huruf ”K” pada keyboard atau menekan Button Kembali ke menu Utama
16
Form Bantuan
Form Menu Utama Tekan tombol huruf ”K” pada keyboard atau menekan Button Kembali ke menu Utama
4.5.1
Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.
Pada saat Form Menu Utama di tampilkan ada dialog yang di audiokan: ”anda telah kembali ke menu utama”.
Proses Menghitung Angka-angka Pada Kalkulator Berbahsa Indonesia
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), menekan angka 1 & 4 pada keyboard.
maka harus
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 angkaangka dan operator yang diinginkan, serta hasil perhitungan) dengan bahasa inggris.
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.
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: 2003)
IKAPI,
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)