Anda di halaman 1dari 9

APLIKASI KONVERSI TEKS MENJADI SUARA DENGAN MENGGUNAKAN

METODE PENGGAL KATA FINITE STATE AUTOMATA (FSA)



Isrokah dan Mohamad Yasin
Universitas Negeri Malang
e-mail: ochis91@gmail.com; myasin1971@gmail.com

ABSTRAK: Konversi teks menjadi suara (text to speech) merupakan perangkat lunak yang
dapat menyuarakan tulisan yang diinputkan oleh pemakai (user). Sistem konversi teks menjadi
suara tersusun atas dua sistem yaitu analisa teks dan penghasil suara percakapan. Untuk
mewujudkan program konversi teks mejadi suara tersebut, pada penelitian ini memanfaatkan
metode penggal kata Finite State Automata. Dengan mengimplementasikan metode Finite State
Automata pada Delphi, pada penelitian diperoleh aplikasi konversi teks menjadi suara dengan
input dan output bahasa Indonesia.

Kata kunci: text to speech, teori automata, GoldWave, Delphi

ABSTRACT: text to speech convertion is a software for voicing text that inputed by user. text to
speech convertion systems arrenged into two systems they are natural language processing and
digital signal processing. To create text to speech convertion programs, in this research use
spelling word method is Finite State Automata. By implementation of Finite State Automata
method into Delphi, was gotten an application of text to speech convertion with input and output
Indonesian language.

Keyword: text to speech, automata theory, GoldWave, Delphi

Salah satu perkembangan di bidang komputasi yang mengalami penelitian yang lama
adalah pensintesa ucapan. Pensintesa ucapan memiliki kinerja untuk menyuarakan tulisan yang
diinputkan oleh pemakai (user). sehingga untuk mewujudkan adanya pensintesa ucapan,
haruslah terdapat perangkat lunak yang seolah-olah membacakan tulisan kepada pemakai (user).
Seiring perkembangannya, pensintesa ucapan dengan input bahasa Inggris telah banyak
diciptakan karena mmayoritas perangkat keras telah dibekali dengan bahasa Inggris. Jika
kalimat yang diinputkan adalah bahasa Indonesia, output yang dihasilkan berupa bahasa Inggris.
Padahal output yang diharapkan berupa bahasa Indonesia.
Untuk mewujudkan konversi teks menjadi suara dengan input dan output bahasa
Indonesia, diperlukan adanya metode untuk mengonversi kalimat yang diinputkan berdasarkan
ketatabahasaan. Dari kalimat yang sesuai dengan ketatabahasaan digunakan untuk menciptakan
realisasi fonetik dari setiap fonem yang ada.

TATA BAHASA BAKU BAHASA INDONESIA
Tata bahasa baku bahasa Indonesia adalah aturan tentang berbagai hal yang berhubungan
dengan penulisan bahasa Indonesia. Beberapa istilah dalam tata bahasa baku bahasa Indonesia
adalah sebagai berikut.
a. Abjad
b. Fonem
c. Vokal, merupakan puncak dari suku kata. Dalam bahasa Indonesia dikenal enam vokal,
yaitu:
1. /i/ yang merupakan vokal tinggi depan, misalkan i pada kata air.
2. /u/ yang merupakan vokal tinggi belakang, misalkan u pada kata udara.
3. /a/ yang merupakan vokal rendah tengah, mialkan a pada kata saya.
4. /o/ yang merupakan vokal sedang belakang, memiliki dua kelompok pengucapan yaitu
kelompok orang, obat, protes dan kelompok bakso, soto, toko.


5. /e/ yang merupakan vokal sedang depan, memiliki dua kelompok pengucapan, yaitu
kelompok sore, kare dan kelompok perak, remeh, ejaan.
e yang merupakan vokal sedang tengah. Contoh emas, bandeng, tipe.
d. Diftong
e. Gugus konsonan
f. Suku kata
Untuk pengklasifikasian suku kata bahasa Indonesia terdapat beberapa pola umum yaitu:
1. V misalnya pada kata: a-ku, a-lam, u-sap, o-rang, dan sebagainya.
2. VK misalnya pada kata: an-da, am-bang, in-dah, un-tuk, or-gan, dan sebagainya.
3. KV misalnya pada kata: ka-sur, gu-ling, li-ur, ko-lam, ke-las, dan lain sebagainya.
4. KVK misalnya pada kata: ka-sur, ban-tal, a-sik, ba-tok, ka-len-der, dan lain sebagainya.
5. KKV misalnya pada kata: pro-yek, pra-ju-rit, pri-ma-do-na, swa-da-ya, dan lain
sebagainya.
6. KKVK misalnya pada kata: prak-tek, truk, trak-tor, dan lain sebagainya.
7. VKK misalnya pada kata: ins-tru-men, eks-po-nen, ons, dan lain sebagainya.
8. KVKK misalnya pada kata: am-bang, kam-pung, ba-yang, sa-yang, dan lain sebagainya.
9. KKVKK misalnya pada kata: kom-pleks dan lain sebagainya.
10. KKKV misalnya pada kata: stra-te-gi dan lain sebagainya.
11. KKKVK misalnya pada kata: struk-tur dan lain sebagainya.

Karena terdapat bermacam-macam cara dalam pemenggalan kata, maka untuk
mempermudah dalam mengingat-ingatnya maka dikelompokkan menjadi:
a. Pemenggalan kata pada kata dasar
Jika di tengah kata ada vokal yang berurutan, pemenggalan itu dilakukan diantara kedua
huruf vokal.
Jika di tengah kata terdapat konsonan diantara dua vokal, termasuk gabungan huruf
konsonan diantara dua huruf vokal.
Jika di tengah kata terdapat dua huruf konsonan yang berurutan, pemenggalan dilakukan
diantara kedua huruf konsonan.
Jika di tengah kata terdapat tiga huruf konsonan atau lebih, pemenggalan dilakukan
diantara huruf konsonan pertama dan kedua. Misalnya
b. Imbuhan akhiran dan imbuhan awalan, termasuk awalan yang mengalami perubahan bentuk
serta partikel yang biasanya ditulis serangkai dengan kata dasarnya, dapat dipenggal pada
pergantian baris.

TEKNOLOGI TEXT TO SPEECH
Menurut Arry Akhmad A (2003: 1) sistem text to speech pada prinsipnya terdiri dari dua
sub sistem yaitu bagian konverter teks ke fonem dan bagian konverter fonem ke ucapan.
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 pitchnya.
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 diucapkan. Ada beberapa alternatif teknik yang digunakan untuk
implementasi bagian ini. dua teknik yang digunakan adalah formant synthesizer dan diphone
concatenation.

FI NI TE STATE AUTOMATA (FSA)
Menurut Thomas Anung Basuki FSA merupakan salah satu mesin pengenal pada bahasa
kelas sederhana. Oleh karena itu, dalam pemenggalan suku kata dapat menggunakan metode


Finite State Automata (FSA). Finite State Automata (FSA) yang digunakan dirancang menjadi
tiga tingkatan.
Pada tingkat pertama yang akan dikenali adalah pola-pola: V, K, atau VK. Hasil
pengenalan FSA tingkat pertama akan menjadi masukan pada tingkat berikutnya.
Pada tingkatan kedua FSA akan mengenali suku kata dengan pola V, VK, KV, KVK,
KKV, KKVK, KKKV, KKKVK.
Pada hasil tingkatan kedua, terlihat bahwa pola suku kata VKK, KVKK, dan KKVKK
belum bisa dikenali. Oleh karena itu, diperlukan FSA tingkatan ketiga agar dapat mengenalinya.
Berikut merupakan diagram FSA untuk mengenali bahasa regular.

Gambar 1. Diagram transisi FSA tingkatan pertama
Keterangan:
0
q = status awal
1
q = status awal
2
q = mengenali vokal
3 4 5 7
, , , q q q q = mengenali konsonan
6
q = mengenali konsonan yang terdiri dari 2
huruf
8
q = mengenali konsonan - vokal

Hasil pada FSA tingkatan pertama dapat menjadi masukan pada transisi FSA tingkatan
kedua.

Gambar 2. Diagram transisi FSA tingkatan kedua
Keterangan:
1
q = mengenali blank/spasi
2
q = mengenali V
3
q = mengenali VK
4
q = mengenali K
5
q = mengenali KKV atau KKKV
6
q = mengenali KKVK atau KKKVK
7
q = mengenali KV
8
q = mengenali KVK












Hasil pada FSA tingkatan kedua dapat menjadi masukan pada FSA tingkatan ketiga.

Gambar 3. Diagram transisi FSA tingkatan ketiga
Keterangan:
1
q = mengenali blank/spasi
2
q = mengenali VK
3
q = mengenali VKK
4
q = mengenali KVK
5
q = mengenali KVKK
6
q = mengenali KKVK
7
q = mengenali KKVKK
8
q = mengenali V
9
q = mengenali KV
10
q = mengenali KVV
11
q = mengenali KKV/KKKV
12
q = mengenali KKVV/KKKVV

GOLDWAVE
Menurut Strombon (2007:4) goldwave adalah suatu perangkat lunak audio editor yang
cukup handal. Selain itu, goldwave dapat mengedit audio dari hal yang paling sederhana seperti
merekam sampai mengedit hal yang sangat kompleks seperti audio processing. Fitur-fitur yang
disediakan oleh GoldWave adalah sebagai berikut.
Mendukung hampir semua jenis format audio
Dapat memproses berapapun banyaknya audio yang diinginkan dengan batch processing
Dapat merekam audio dari source apapun yang mendukung kinerja PC
Dilengkapi dengan perintah dasar audio editing seperti cut, copy, trim, paste, replace,
overwrite, dan lain-lain.
Dilengkapi dengan puluh an audio efek variasi
Dapat mengatur equalizer sesuai yang diinginkan
Dapat mengcopy audio langsung dari CD
Dapat menganalisa audio berdasarkan frekuensi dan amplitude visualnya

HASIL
Aplikasi program konversi teks menjadi suara menghasilkan tabel sebagai berikut.

Gambar 14. Form awal program
Keterangan:
1. Memo box Input kalimat tempat pemakai (user) menginputkan kalimatnya.


2. Button Verifikasi, tombol yang digunakan untuk menormalkan input dari simbol. Setelah
Verifikasi ditekan, tampilan form berubah menjadi gambar berikut.

Gambar 15. Tampilan setelah verifikasi ditekan
A merupakan tempat hasil pemenggalan kata.
3. Button Hapus, tombol yang digunakan untuk menghapus tulisan yang terdapat pada Input
kalimat. Jika Hapus ditekan, maka tampilan kembali seperti Gambar 11.
4. Button Suarakan, tombol yang digunakan untuk menyuarakan hasil pemenggalan kata.
5. Button Keluar, tombol yang digunakan untuk keluar dari program yang sedang dijalankan.

Hasil uji coba beberapa kata disajikan pada tabel berikut.
No Teks Hasil penggal kata Hasil suara
1 Kamar Ka-mar Ka-mar
2 Anak A-nak A-nak
3 Ikat I-kat I-kat
4 Enak E-nak -nak
5 Emak E-mak -mak
6 Orang O-rang O-rang
7 Saya Sa-ya Sa-ya
8 Kurma Kur-ma Kur-ma
9 Sisir Si-sir Si-sir
10 Sardo Sar-do Sar-do
11 Telegram Te-le-gram Te-le-gram
12 Indra In-dra In-dra
13 Ultra Ul-tra Ul-tra
14 Influenza In-flu-en-za In-flu-en-za
15 Saat Sa-at Sa-at
16 Ikrar I-krar I-krar
17 Ikhlas Ikh-las Ikh-las
18 Makhluk Makh-luk Makh-luk
19 Instrumen In-stru-men In-stru-men
20 Instruktur In-struk-tur In-struk-tur
21 Barang Ba-rang Ba-rang
22 Bangga Bang-ga Bang-ga
23 Angkasa Ang-ka-sa Ang-ka-sa
24 Anggaran Ang-ga-ran Ang-ga-ran
25 Kompleks Kom-pleks Kom-pleks
26 Pertanggungjawaban Per-tang-gung-ja-wa-ban Per-tang-gung-ja-wa-ban
27 Aula Au-la Au-la
28 Harimau Ha-ri-mau Ha-ri-mau
29 Universitas U-ni-ver-si-tas U-ni-ver-si-tas
30 Malang Ma-lang Ma-lang
31 Mengukur Meng-u-kur Meng-u-kur
32 Foto-grafi Fo-to-gra-fi Fo-to-gra-fi
33 Penyiksaan Pe-nyik-sa-an Pe-nyik-sa-an


34 Kompleksitas Kom-plek-si-tas Kom-plek-si-tas
35 Saung Sa-ung Sa-ung
36 Saudagar Sau-da-gar Sau-da-gar
37 Australia Aus-tra-li-a Aus-tra-li-a
38 Koifisien Koi-fi-si-en Koi-fi-si-en
39 Mengikis Meng-i-kis Meng-i-kis
40 Perasaan Pe-ra-sa-an Pe-ra-sa-an
41 Merasai Me-ra-sai Me-ra-sai
42 Menikmati Me-nik-ma-ti Me-nik-ma-ti
43 Bau Bau- Bau-
44 Strategi Stra-te-gi Stra-te-gi
45 Teks Teks- Teks-
46 Suara Su-a-ra Su-a-ra
47 Selisih Se-li-sih Se-li-sih
48 Transaksi Tran-sak-si Tran-sak-si
49 Permusyawaratan Per-mu-sya-wa-ra-tan Per-mu-sya-wa-ra-tan
50 Skripsi Skrip-si Skrip-si

PEMBAHASAN
1. Tahap Perencanaan
Pada tahap ini, direncanakan bahwa input, output dan proses dari program ini adalah
sebagai berikut.
Input : teks/kalimat
Output : suara
Proses antara input teks dengan mendapatkan output suara membutuhkan proses yang tidak
singkat. Proses-proses tersebut sering disebut sebagai tahapan, tahapan-tahapan dapat dilihat
pada diagram berikut :

Perekaman suara
2. Tahap Pelaksanaan
Tahap pelaksanaan ini merupakan tahap terapan dari perencanaan yang telah dibuat.
Pelaksanaan dari proses yang telah direncanakan adalah sebagai berikut.
Menghapus Simbol-Simbol pada Input Teks
Simbol-simbol pada input teks terdiri dari (:), (;), (,), (.), (), (), (?), (!), (@), (#), ($),
(%), (&), (*), ( ( ), ( ) ), ({), (}), ([), (]), (~), (/). Proses penghapusan simbol-simbol pada teks
yang telah diinputkan bertujuan agar terdapat keseragaman antara input teks dengan file suara
yang dibuat, sehingga mengurangi kemungkinan ketidakadaan data pada file suara.
Pada software Delphi, penghapusan simbol-simbol pada input teks memanfaatkan fungsi
delete(input.Text, letak simbol, jumlah simbol).
Pemenggalan Suku Kata
Pada proses pemenggalan suku kata ini terdapat dua macam metode yaitu menggunakan
metode Finite State Automata (FSA) dan pemenggalan suku kata berdasarkan pola umum
bahasa Indonesia. Berdasarkan dua metode tersebut diperoleh perbandingan sebagai berikut :
Input teks
Menghapus simbol-
simbol pada input teks
Pemenggalan suku
kata
Output (suara)


No Finite State Automata (FSA) No Pola umum bahasa Indonesia
Tingkat pertama 1 V
1 V* 2 VK
2 KV** 3 KV
Tingkat kedua 4 KVK
1 V* 5 KKV
2 VK 6 KKVK
3 VKK*** 7 VKK
4 KV** 8 KVKK
5 KVK 9 KKVKK
6 KKV 10 KKKV
7 KKVK 11 KKKVK
8 KKKV
9 KKKVK
Tingkat ketiga
1 VKK***
2 KVKK
3 KKVKK
Dari tabel tersebut disimpulkan bahwa metode menggunakan Finite State Automata
(FSA) ataupun pola umum bahasa Indonesia memiliki kesamaan dalam pemenggalan suku kata,
sehingga jika ketiga tingkatan pada metode Finite State Automata (FSA) digabungkan sama
dengan pola umum bahasa Indonesia.
Output Suara
Pada proses akhir yaitu output suara, suara yang dihasilkan dari proses rekaman
berekstensi .wav. Sehingga dalam aplikasi pada Delphi 7 memanfaatkan
sndPlaySound(lpszSoundName:PAnsiChar;uFlags:Cardinal). Selain itu, untuk mendapatkan
suku kata-suku kata yang telah dipenggal memanfaatkan fungsi split(const Delimiter:Char;
Input:String; const String:TString).
Perekaman Suara
File suara pada program aplikasi konversi teks menjadi suara ini diperoleh dari hasil
perekaman suara pada GoldWave. Proses pengambilan file suara adalah sebagai berikut.
1. Buka aplikasi GoldWave.
2. Klik rekam pada GoldWave (terletak pada tab control). Perekaman suara dapat
berbentuk persuku kata atau kumpulan dari suku kata.
3. Jika perekaman berbentuk kumpulan suku kata, maka langkah selanjutnya adalah
pemotongan kumpulan suku kata menjadi persuku kata. Cara pemotongannya adalah blok
suku kata yang diinginkan, kemudian klik trim (terdapat pada tab GoldWave). Pada
pemotongan suku kata, diusahakan terdapat ruang jeda dari suara suku kata. Hal ini
bertujuan agar saat program aplikasi konversi teks menjadi suara dapat terdengar secara
keseluruhan.
4. Jika perekaman berbentuk persuku kata, maka dapat diatur ruang jeda dari suara suku kata
seperti nomor 3.
5. Klik untuk menyimpan suara persuku kata dengan nama file seperti suara persuku
kata. Hal ini bertujuan untuk memudahkan pengambilan suara suku kata berdasarkan
penggal kata saat program aplikasi konversi teks menjadi suara dijalankan.
3. Tahap Akhir
Setelah melalui tahap perencanaan dan tahap pelaksanaan, pada tahap akhir ini
diharapkan semua rekaman suku kata yang berkaitan sudah tersimpan pada saat tahap
pelaksanaan. Sehingga untuk mengetahui data suku kata yang belum tersimpan diperlukan
pendataan suku kata-suku kata.
4. Perancangan Uji Coba Program
Pada tahap perancangan uji coba program ini, dilakukan pengujian untuk menguji
ketepatan pemenggalan kata dan kesesuaian suara yang dihasilkan. Uji coba program dilakukan


dengan jumlah teks sebanyak 50 sehingga akan diperoleh hasil uji sebanyak 100 dengan rincian
50 hasil uji penggal kata dan 50 hasil suara. Teks yang dipilih diusahakan mencakup semua kata
yang terdapat pada jenis-jenis pemenggalan kata seperti konsonan rangkap ditengah, konsonan
lebih dari dua di tengah, vokal rangkap di tengah, gugus konsonan, kata berimbuhan. Berikut
merupakan Tabel Rancangan Uji Kata.
Tabel 2. Rancangan Uji Kata
No Teks Hasil penggal kata
Penggal kata
EYD
Keterangan Hasil suara






Hasil penggal kata menunjukkan hasil pemenggalan dari teks yang diinputkan. Hasil suara
menunjukkan hasil suara yang sesuai dengan hasil penggal kata dan data yang diinputkan.

KESIMPULAN
Berdasarkan uraian di atas, diperoleh kesimpulan sebagai berikut.
1. Tahapan tahapan pada aplikasi konversi teks menjadi suara bahasa Indonesia adalah
menginputkan kalimat ke dalam program kemudian program akan menghapus simbol-simbol
yang terdapat pada kalimat yang diinputkan, jika kalimat yang diinputkan tidak mengandung
simbol tidak dilakukan proses apapun. Setelah proses penghapusan simbol, program akan
melakukan pemenggalan suku kata-suku kata dari kalimat hasil proses sebelumnya. Dari
hasil pemenggalan suku kata-suku kata kemudian disuarakan sehingga program
menghasilkan suara yang sesuai dengan hasil pemenggalan kata.
2. Metode yang digunakan untuk memenggal kata menjadi suku kata pada program aplikasi
konversi teks menjadi suara bahasa Indonesia adalah metode Finite State Automata (FSA).
Dalam menerapkan metode terebut pada Delphi memanfaatkan beberapa fungsi yaitu:
Insert
Delete
Copy
3. Untuk menyuarakan suku kata-suku kata pada program aplikasi konversi teks menjadi suara
bahasa Indonesia memanfaatkan fungsi
sndPlaySound(lpszSoundName:PAnsiChar;uFlags:Cardinal).

DAFTAR RUJUKAN
Arman, Arry Akhmad. 2003. Konversi dari Teks ke Ucapan.
(online)(http://indotts.melsa.net.id/Karakteristik Sinyal Ucapan.pdf) diakses pada tanggal
5 September 2012.
Arman, Arry Akhmad. 2003. Proses Pembentukan dan Karakteristik Sinyal Ucapan.
(online)(http://indotts.melsa.net.id/Karakteristik Sinyal Ucapan.pdf) diakses pada tanggal
5 September 2012.
Basuki, Thomas Anung. 2000. Pengenalan Suku Kata Bahasa Indonesia Menggunakan Finite
State Automata. Integral vol.5 no.2: hlm.67, (Online), dalam Integral
(http://home.unpar.ac.id/integral/Volume/Integral/No5/AnungFinal.pdf) diakses 23
Januari 2013.
Dermawan. 2005. Perancangan dan Pembuatan Perangkat Lunak Simple Word Processor with
Spell Checker and Word Suggestor (SWPSCWS) dengan Metode Non Deterministic
Finite Automata. Skripsi tidak diterbitkan. Surabaya: Universitas Kristen Petra.
Divisi Penelitian dan Pengembangan. 2002. Pemrograman Borland Delphi 7 Lengkap dengan
Contoh Aplikasi. Penerbit Andi: Yogyakarta.


Hamzah, Amir. 2009. Teori Bahasa dan Otomata, (Online),
(http://amir.dosen.akprind.ac.id/files/2012/09/TBO_FULL.pdf), diakses pada tanggal 5
Februari 2013.
Hollands, Roy. 1995. Kamus Matematika. Erlangga: Jakarta.
Kadir, Abdul. 2007. Pemrograman Database dengan Delphi 7 Menggunakan Access dan ADO.
Penerbit Andi : Yogyakarta.
Prasetyo, Bambang Eko. 2010. Perbandingan Algoritma Brute Force dan Algoritma Boyer
Moore dalam Pencocokan String pada File Teks. Skripsi tidak diterbitkan. Malang: UM.
Pusat Bahasa Departemen Pendidikan Nasional. 2008. Kamus Bahasa Indonesia. Pusat Bahasa:
Jakarta.
Strombon. 2007. GoldWave Manual, (online), (http://www.ahlalhdeeth.com), diakses pada
tanggal 27 Maret 2013.
Tjiputra, Sudarmono. 2003. Perangkat Lunak Text to Speech dalam Bahasa Indonesia dengan
Metode Phoneme Synthesis. Skripsi tidak diterbitkan. Surabaya: Universitas Kristen
Petra.
Tritoasmoro, Iwan Iwut. (iww@stttelkom.ac.id). 26 Februari 2013. Text to Speech Bahasa
Indonesia dengan Pembangkit Prosodi Menggunakan Metoda Multirate Reccurrent
Neural Network. E-mail kepada Isrokah (ochis91@gmail.com).
Waridah, Ernawati. 2008. EYD & Seputar Kebahasa-Indonesiaan. Kawan Pustaka: Jakarta
Selatan.

Anda mungkin juga menyukai