Anda di halaman 1dari 31

BAB II

TINJAUAN PUSTAKA
2.1 Studi Literatur
Ntsako Baloyi (2012), Faculty of Science, Agriculture Universitas Limpopo dalam
desertasi yang berjudul A Text-To-Speech Synthesis System For Xitsonga Using Hidden
Markov Models menjelaskan bahwa tujuan dari penelitian tersebut adalah merancang dan
membangun sistem sintesa Text-To-Speech (TTS) untuk bahasa Xitsonga yang merupakan
salah satu bahasa yang digunakan di Afrika Selatan. Sistem yang dibangun menggunakan
metode statistik parametrik dengan menggunakan toolkit HTS (HMMs-based Speech
Synthesis System) untuk membangun dan melatih model Hidden Markov parameter suara,
Festvox dan Festival TTS untuk mengubah teks menjadi format label HTS, dan
HTS_engine untuk menghasilkan gelombang suara berdasarkan format label HTS.
Karakteristik suara dimodelkan dengan menggunakan pendekatan speaker dependent (SD).
Pengujian yang dilakukan berupa pengujian subjektif yaitu Mean Opinion Score (MOS)
dengan beberapa kategori penilaian yaitu kejelasan, kealamian, fleksibilitas dan
kenyamanan ketika didengar. Korpus latih yang digunakan berjumlah 158 kalimat. Hasil
MOS secara keseluruhan sebesar 3.9 pada skala 1 – 5.
Elok Anggrayni, Sekartedjo, dan Dhany Arifianto (2013), Teknik Fisika di Institusi
Teknologi Sepuluh Nopember (ITS) dalam jurnal Teknik Pomits yang berjudul Pembuatan
Perangkat Basis Data untuk Sintesis Ucapan (Natural Speech Synthesis) Berbahasa
Indonesia Berbasis Hiddem Markov Model (HMM) mejelaskan bahwa tujuan penelitian
tersebut adalah menghasilkan model Hidden Markov dari bahasa Indonesia dengan
menggunakan HTS dan diintergrasikan dengan Festival Framework. Korpus latih yang
digunakan berjumlah 1529 kalimat. Pengujian yang dilakukan yaitu MOS. Nilai MOS
untuk pendekatan SD adalah 3.4 dan pendekatan SAD adalah 3.2 pada skala 1 – 5.
Elok Chyaingtyas, dan Dhany Arifianto (2015), Teknik Fisika di Institut
Tekonologi Sepuluh Nopember (ITS) dalam jurnal International Symposium on Intelligent
Signal Processing dan Communication Systems (ISPACS) yang berjudul “HMM-based
Indonesian Speech Synthesis System with Declarative and Question Senteces Intonation”
menjelaskan bahwa tujuan penelitian tersebut adalah mengimplementasikan sistem sintesa
ucapan bahasa Indonesia berbasis HMM dengan menambahkan informasi prosodi pada
kalimat pertanyaan dan deklaratif. Pengujian dilakukan enam kali dengan jumlah korpus

6
7

latih yang berbeda-beda yaitu 44, 72, 116, 450, 929, dan 1379 kalimat. Pengujian terdiri
dari dua jenis yaitu pengujian subjektif dan objektif. Pengujian subjektif yang dilakukan
yaitu DMOS. Skala MOS yang digunakan 1 – 5. Nilai MOS sebesar 3.53 untuk kalimat
deklaratif dan 3.36 untuk kalimat pertanyaan dengan data latih berjulah 1379. Sedangkan
pengujian objektif berupa pengujian Mel-Cepstral Distortion (MCD) dengan hasil terbaik
pada data latih berjumlah 929 dengan nilai sebesar 5.12 untuk kalimat deklaratif dan nilai
4.32 pada kalimat pertanyaan dengan data latih berjumlah 450 kalimat.
Mumtaz B. Mustafa, Raja N. Ainon dan Roziati Zainnuddin (2010) Fakultas
Computer Science dan Information Technology di Universitas Malaya, Malaysia dalam
jurnal "EM-HTS: Real-Time HMM-Based Malay Emotional Speech Synthesis”
menjelaskan bahwa tujuan penelitian tersebut membangun sebuah sistem TTS emosional
untuk bahasa Melayu standar secara real-time berbasis HMM. Kualitas suara ucapan
dengan emosi ditingkatkan dengan menggunakan Neutral to Angry, Sad, dan Happy
(NASH) duration generator pada tahap latih. Korpus latih yang digunakan berjumlah 480
kalimat. Pengujian yang dilakukan yaitu pengujian MOS. Hasil pengujian yaitu tingkat
kejelasan sekitar 80% dan tingkat kealamian yaitu 95%.
Tabel 2.1 Kajian penelitian terkait
No Penulis Judul Keterangan
.
1. Ntsako Baloyi (2012), A Text-To-Speech  GUI aplikasi
Faculty of Science, Synthesis System for menggunakan Java.
Agriculture Xitsonga Using Hidden  HMM dimodelkan
Universitas Limpopo Markov Models dengan toolkit
HTS.
 Sintesa suara
menggunakan
HTS_engine.
 Analisa Teks
menggunakan
Festival TTS dan
Festvox.
 Bahasa yang
8

digunakan
Xitsonga.
2. Elok Anggrayni, Pembuatan Perangkat  Aplikasi dibangun
Sekartedjo, dan Basis Data untuk Sintesis menggunakan
Dhany Arifianto Ucapan (Natural Speech Festival TTS.
(2013), Teknik Fisika Synthesis) Berbahasa  HMM dimodelkan
di Institusi Teknologi Indonesia Berbasis dengan
Sepuluh Nopember Hiddem Markov Model menggunakan HTS.
(ITS) (HMM)  Bahasa yang
digunakan
Indonesia.
3. Elok Chyaingtyas, dan HMM-based Indonesian  HMM dimodelkan
Dhany Arifianto Speech Synthesis System dengan toolkit
(2015), Teknik Fisika with Declarative and HTS.
di Institut Tekonologi Question Senteces  Bahasa yang
Sepuluh Nopember Intonation digunakan bahasa
(ITS). Indonesia.
 Jenis kalimat yang
digunakan untuk
tahap latih yaitu
kalimat deklaratif,
tanya dan gabungan
keduannya.
4. Mumtaz B. Mustafa, EM-HTS: Real-Time  Sistem
Raja N. Ainon dan HMM-Based Malay menggunakan
Roziati Zainnuddin Emotional Speech toolkit HTS.
(2010) Fakultas Synthesis  NASH duration
Computer Science dan generator
Information digunakan pada
Technology di tahap latih.
Universitas Malaya.  Bahasa yang
digunakan bahasa
melayu standar.
9

2.2 Sinyal Ucapan


Ucapan memilki tujuan penting yaitu komunikasi atau pertukaran informasi.
Menurut teori informasi Shannon, sebuah pesan direpresentasikan sebagai sebuah urutan
dari simbol diskret yang dapat diukur isi informasinya dalam satuan bit dan tingkat
perpindahan informasi diukur dengan bit/detik (bps). Dalam sintesa ucapan buatan, bentul
analog dasar dari pesan adalah gelombang suara akustik yang disebut dengan sinyal ucapan
(Lawrence R. Rabiner dan Ronald W. Schafer, 2007).
10

Sumber: Introduction to Digital Speech Processing (2007) Vol. 1


Gambar 2.1 Gambar Sebuah gelombang suara ucapan dengan pelabelan fonetik untuk
pesan teks “Should we chase”.
2.2.1 Representasi Fonetis Ucapan
Ucapan dapat direpresentasikan secara fonetis menggunakan sejumlah kumpulan
terbatas dari simbol yang disebut dengan fonem bahasa, nomor, dan perbaikan pada analisi.
Menurut Sami (1999:27), Fonem adalah unit abstrak dan pengucapannya tergantung pada
11

efek kontekstual, karakteristik pembicara, dan emosi. Fonem adalah lambang bahasa yang
berfungsi pembeda makna.
IPA (international Phonetic Alphabeth) terdiri dari sekumpulan simbol dari fonem,
suprasegmental, nada/kontur aksen kata, dan diakritik. IPA merupakan salah satu bentuk
standar untuk membangun sebuah alfabet fonetis yang tidak tergantung pada suatu bahasa
(Sami, 1999:18).
2.2.2 Model Produksi Ucapan
Terdapat beberapa cara suara terbentuk dari cara pengucapan. Suara voiced yaitu
vokal yang dihasilkan ketika sistem saluran vokal ditekan oleh gelombang tekanan udara
disebabkan oleh pembukaan dan penutupan lubang glotal hampir secara berkala (membuka
diantara pita suara) seperti /UH/ dan /IY/. Suara unvoiced dihasilkan dengan membuah
sebuah penyempitan pada suatu tempat di dalam sistem saluran vokal dan menekan udara
yang lewat dengan penyempitan tersebut, dengan demikian menghasilkan turbulensi aliran
udara, yang berperan sebagai pembangkit suara acak (random noise excitation) pada sistem
saluran vokal seperti /SH/ dan /S/. (Lawrence R. Rabiner dan Ronald W. Schafer, 2007:17-
21).
Suara voiced terdiri dari frekuensi dasar (F0) dan komponen harmonik yang
dihasilkan oleh pita suara. Sedangkan suara unvoiced alami tidak memiliki frekunsi dasar
dalam sinyal pembangkit (excitation) ataupun struktur harmonik, dan pembangkit dianggap
sebagai white noise. (Sami, 1999:11).

Sumber: Review of Speech Synthesis Technology (1999)


Gambar 2.2 Analis Cepstral
Penentuan frekuensi dasar atau nada (pitch) dari ucapan menggunakan analisis
cepstral. Cesptrum didapatkan dengan windowing, membuat Discrete Fourier Transform
(DFT) untuk sinual dan menghitung logaritma kekuatan spektrum dan kemudian diubah
kembali ke satuan waktu dengan Inverse Discreter Fourier Transform (IDFT). Analisa
Ceptral menyediakan sebuah metode untuk memisahkan informasi sistem vokal dari
pembangkit (eksitasi).

2.3 Bahasa Melayu Pontianak


12

Bahasa Melayu Pontianak adalah bahasa yang dipakai oleh penutur asli dari 22
kampung dalam wilayah 4 kecamatan di Kotamadya Daerah Tingkat II Pontianak sesuai
dengan Laporan Tahunan Kantor Sosial Politik tahun 1980/1981. Bahasa ini dituturkan
oleh orang Melayu yang ada di kota Pontianak. Bahasa Melayu Pontianak memiliki
kemiripan dengan bahasa Indonesia karena bahasa Melayu Pontianak berkembang dengan
berdampingan dengan bahasa Indonesia dan berbagai bahasa daerah lain karena bahasa ini
banyak dituturkan di kota Pontianak. Dalam bahasa melayu tidak memiliki tingkatan
berbahasa seperti halus, sebaya, atau kasar. Kasar dan halusnya seseorang berbicara
tergantung pada penekanan nada dan intonasi. (Mustafa Kamal, dkk, 1986:2).
Fonologi adalah salah satu cabang ilmu bahasa (linguistik) yang mengkaji dan
menganalisis bunyi ujaran pada suatau bahasa dengan cara mempelajari bagaimana bunyi
ujaran itu dihasilkan oleh alat ucap manusia (artikulator), bagaimana bunyi ujaran itu
sebagai getaran udara, bagaimana ujaran itu diterima oleh telinga manusia, dan bagaimana
bunyi ujaran itu dalam fungsinya sebagai pembeda makna.
Bunyi bahasa yang disebut fon dibentuk dengan cara diartikulasikan. Berdasarkan
sifatnya, artikulator terbagi dua, yaitu aktif dan pasif. Artikulator aktif biasanya berpindah-
pindah posisi untuk menentukan titik artikulasi guna menghasilkan bunyi bahasa. Oleh
karena vokal tidak mempunyai artikulasi, strukturnya ditentukan oleh celah antara lidah
dan langit-langit.
Perbedaan fonem bahasa Indonesia dan fonem bahasa Melayu dialek Pontianak
adalah fonem bahasa Melayu dialek Pontianak tidak memiliki bunyi f, v, z, x, dan q
(Hikmah, 2015) dan terdapat perbedaan teratur yang meliputi akhiran kata [a]-[∂], [i]-[ε],
[u]-[O], [r]-[k], dan [Ø]-[k] (Erick dan Umi, 2016).
2.3.1 Vokal
Vokal adalah bunyi ucapan yang terbentuk oleh udara yang keluar dari paru-paru
dan ketika melalui tenggorokan mendapat hambatan. Kualitas vokal umumnya ditentukan
tiga hal yaitu bulat-hampanya bibir, atas-bawah lidah, dan maju-mundur lidah. Pemberian
klasifikasi vokal diperkenalkan oleh Daniel Jones (1958:18) dengan istilah sistem vokal
kardinal. Vokal kardinal adalah bunyi vokal yang mempunyai kualitas tertentu, yang telah
dipilih sedemikian rupa untuk dibentuk dalam suatu rangka gambar bunyi. Rangka gambar
bunyi ini dapat dipakai sebagai acuan perbandingan dalam deskripsi vokal seluruh bahasa
13

dunia. Vokal cardinal dilambangkan dengan [i, e, ε, a, α, ə, o, dan u] dalam International


Phonetics Association (Marsono, 1989: 26).
Adapun vokal dalam bahasa Indonesia berjumlah enam buah, yakni: [a], [i], [u], [ε],
[o], dan [ə]. Pembentukan vokal ini didasarkan pada posisi bibir, tinggi rendahnya lidah,
dan maju mundurnya lidah.
Berdasarkan tinggi rendahnya lidah, vokal dapat dibedakan diatas:
a) vokal tinggi atau atas yang dibentuk apabila rahang bawah merapat ke rahang atas: [i]
dan [u].
b) vokal madya atau tengah yang dibentuk apabila rahang bahwa menjauh sedikit dari
rahang atas: [e] dan [o]
c) vokal rendah atau tengah yang di bentuk apabila rahang bawah diundurkan lagi sejauh-
jauhnya: [a].
Berdasarkan bagian lidah yang bergerak atau maju mundurnya lidah, vokal dapat
dibedakan atas:
a) vokal depan, yakni vokal yang dihasikan oleh gerakan turun naiknya lidah bagian
depan, seperti: [i, e, ε, a].
b) vokal tengah, yakni vokal yang dihasilkan oleh gerakan lidah bagian tengah, misalnya:
[ə].
c) vokal belakang, yakni vokal yang dihasilkan oleh gerakan turun naiknya lidah bagian
belakang atau pangkal lidah, seperti: [u] dan [o].
Berdasarkan bentuk bibir sewaktu vokal diucapkan, vokal dibedakan atas:
a) vokal bulat, yakni vokal diucapkan dengan bentuk bibir bulat. Bentuk bibir bulat bisa
terbuka atau tertutup. Jika terbuka, vokal itu diucapkan dengan posisi bibir terbuka
bulat (open-rounded). Misalnya, vokal [u, o].
b) vokal tak bulat, yakni vokal yang diucapkan dengan bentuk bibir tidak bulat atau
terbentang lebar. Misalnya, [a, i, e, ə]
2.3.2 Diftong
Telah disebutkan sebelumnya bahwa ciri diftong ialah waktu diucapkan posisi lidah
yang satu dengan yang lain saling berbeda. Perbedaan itu menyangkut tinggi rendahnya
lidah, bagian lidah yang bergerak, serta strukturnya (jarak lidah dengan langit-langit).
Berdasarkan itu pula maka diftong kemudian didiklarifikasikan.
14

Diftong naik (rising diphtongs) ialah jika vokal yang kedua diucapkan dengän
posisi lidah Iebih tinggi daripada yang pertama. Karena lidah semakin menaik, dengan
demikian stnikturnya semakin tertutup, sehingga diftong mi juga dapat disebut diftong
menutup (closing diphtongs). Berikut akan diuraikan diftong naik dalam bahasa Indonesia
dan bahasa Inggris.
Menurut Soebardi (1973:8-9), bahasa indonesia mempunyai tiga jenis diftong naik,
yaitu:
a) Diftong naik-menutup-maju [aI], misalnya pada kata pakai, lalai, pandai, nilai, tupai,
sampai.
b) Diftong naik-menutup-maju [oi], misalnya pada kata amboi, sepoi-sepoi.
c) Diftong naik-menutup-mundur [aU], misalnya pada kata saudara, saudagar, lampau,
surau, pulau, kacau.
2.3.3 Konsonan
Menurut Marsono (1989:60), perbedaan klasifikasi vokal dengan konsonan terletak
pada fisiologisnya karena antara konsonan yang konsonan yang satu dengan yang lainnya
lebih mudah dibedakan daripada vokal-vokal. Konsonan dibedakan menurut:
a) cara hambat (cara artikulasi) atau tempat hambatan (tempat artikulasi),
b) hubungan posisional antara penghambat-penghambatnya atau hubungan antara
artikulator aktif dan pasif (struktur), dan
c) bergetarnya pita suara.
Berdasarkan cara artikulasi atau jenis halangan udara yang terjadi pada waktu udara
keluar dari rongga ujaran, konsonan dapat dibedakan atas konsonan hambat, frikatif,
spiran, lateral, dan getar.
a) Konsonan hambat (stop), yaitu konsonan yang dihasilkan dengan cara menghalangi
sama sekali udara pada daerah artikulasi. Konsonan yang dihasilkan ialah [p], [t], [c],
[k], [b], [d], [j], [g], dan [?]. Konsonan hambat yang disudahi dengan letupan disebut
konsonan eksplosif, misalnya [p] pada kata lapar, pukul, dan lipat. Konsonan hambat
yang tidak diakhiri oleh letupan disebut konsonan implosif, misalnya [p] pada kata
kelap, gelap, dan tetap.
b) Konsonan geser (frikatif), yaitu konsonan yang dihasilkan dengan cara menggesekkan
udara yang keluar dari paru-paru. Konsonan yang dihasilkan ialah [f], [v], [x], [h], [s],
[Š], z, dan x.
15

c) Konsonan likuida atau lateral, yaitu konsonan yang dihasilkan dengan menaikkan
lidah ke langit-langit sehingga udara terpaksa diaduk dan dikeluarkan melalui kedua
sisi lidah. Konsonan yang dihasilkan ialah [l].
d) Konsonan getar (trill), yaitu konsonan yang dihasilkan dengan mendekatkan dan
menjauhkan lidah ke alveolum dengan cepat dan berulang-ulang sehingga udara
bergetar. Bunyi yang terjadi disebut konsonan getar apikal [r]. Jika uvula yang
menjauh dan mendekat ke belakang lidah terjadi dengan cepat dan berulang-ulang,
akan terjadi konsonan getar uvular [R].
e) Semi-vokal, yaitu bunyi konsonan yang pada waktu diartikulasikan belum membentuk
konsonan murni. Misalnya, semivokal [w] dan [y]. Bunyi bilabial [w] dibentuk dengan
tempat artikulasi yang berupa bibir atas dan bibir bawah.
Berdasarkan strukturnya, yakni hubungan antara artikulator dan titik artikulasi,
konsonan dalam bahasa Indonesia dapat dibedakan atas konsonan bilabial, labiodental,
apikodental, apiko-alveolar, palatal, velar, glottal, dan konsonan laringal.
a) Konsonan bilabial, yaitu konsonan yang dihasilkan dengan mempertemukan kedua
belah bibir yang bersama-sama bertindak sebagai artikulator dan titik artikulasi. Bunyi
yang dihasilkan ialah [p], [b], [m], dan [w].
b) Konsonan labiodental, yaitu konsonan yang dihasilkan dengan mempertemukan gigi
atas sebagai titik artikulasi dan bibir bawah sebagai artikulator. Bunyi yang dihasilkan
ialah [f] dan [v].
c) Konsonan apiko-dentall, yaitu konsonan yang dihasilkan dengan ujung lidah (apex)
yang bertindak sebagai artikulator dan daerah antar gigi (alveolum) sebagai titik
artikulasi. Bunyi yang dihasilkan ialah [s], [z], [r], [l].
d) Konsonan palatal atau lamino-palatal, yakni konsonan yang dihasilkan oleh bagian
tengah lidah (lamina) sebagai artikulator dan langit-langit keras (palatum) sebagai titik
artikulasi. Bunyi yang dihasilkan [c], [j], [Š], [ñ], dan [y].
e) Konsonan velar atau dorso-velar, yaitu konsonan yang dihasilkan oleh belakang lidah
(dorsum) sebagai artikulator dan langit-langit lembut (velum) sebagai titik artikulasi.
Bunyi yang dihasilkan ialah [k], [g], [x], dan [].
f) Konsonan glottal atau hamzah, yaitu konsonan yang dihasilkan dengan posisi pita
suara sama sekali merapat sehingga menutup glotis. Udara sama sekali dihalangi.
Bunyi yang dihasilkan ialah ?.
16

g) Konsonan laringal, yaitu konsonan yang dihasilkan dengan pita suara terbuka lebar
sehingga udara yang keluar digesekkan melalui glotis. Bunyi yang dihasilkan ialah h.
Berdasarkan posisi pita suara atau bergetar tidaknya pita suara, konsonan dapat
dibedakan atas konsonan bersuara dan konsonan tak bersuara.
a) Konsonan bersuara, yaitu konsonan yang terjadi jika udara yang keluar dari rongga
ujaran turut menggetarkan pita suara. Konsonan yang dihasilkan ialah [m], [b], [v],
[n], [d], [r], [ñ], [j], [], [g], dan [R].
b) Konsonan tak bersuara, yaitu konsonan yang terjadi jika udara yang keluar dari rongga
ujaran tidak menggetarkan pita suara. Konsonan yang dihasilkan ialah [p], [t], [c], [k],
[?], [b], [d], [j], [g], [f], [s], [Š],[x], [h], [r], [1], [w], dan [y] .
Konsonan nasal merupakan konsonan yang terjadi jika udara keluar melalui
rongga hidung. Konsonan yang dihasilkan ialah [m], [n], [ñ], dan [].
Tabel 2.2 Fonem dan konsonan pada bahasa Indonesia
Cara Bersuara bilabia Labio Dental Palatal Vela Laringa Glotal
Artikulas (B) / l dental alveola r l
i tidak r
(TB)
Stop TB p t c k ?
S b d j g
Geser TB s (x) h
S (z)
Lateral B l
Getar B r
Nasal B m n ñ
Semi B w y 
vocal
sumber: Fonetik (1989)

2.4 Text to Speech (TTS)


Text-to-Speech (TTS) merupakan sebuah proses mengubah inputan teks menjadi
gelombang suara dalam format digital yang berisi ucapan dari inputan. Menurut Ntsako
(2012:15), terdapat 2 poin penting diharapkan dalam membangun sistem TTS yaitu
kealamian (naturalness) dan kejelasan (intelligibility). Kealamian adalah sebuah tingkat
kemiripan ucapan yang disintesa secara buatan dengan ucapan yang diucapkan oleh
17

manusia. Sedangkan kejelasan adalah sebuah tingkat kemudahan untuk orang mengerti
ucapan hasil sintesa buatan.
2.4.1 Struktur TTS
Sistem TTS memiliki dua bagian utama yaitu bagian analisis teks dan bagian
sintesa gelombang suara (Sami, 1999:2). Bagian analisi teks yaitu mengubah bentuk
inputan teks menjadi kumpulan fonem atau bentuk representasi lingustik. Sedangkan,
bagian sintesa gelombang suara menghasilkan keluaran akustik berupa gelombang suara
dari informasi prosodi dan fonetik yang berasal dari bagian analisis teks.

Sumber: Review of Speech Synthesis Technology (1999)


Gambar 2.3 Prosedur sederhana sistem sintesa
Sistem TTS dapat dikembangkan menjadi ruang lingkup terbatas (limited domain)
dan ruang lingkup bebas (open vocabulary platforms). TTS dengan ruang lingkup terbatas
berupa data yang telah direkam dan dilatih sebelumnya dengan jumlah kata yang terbatas
dan untuk tujuan yang spesifik seperti TTS untuk membacakan berita cuaca, TTS untuk
jam, dan TTS untuk pengucapan nama latin spesies. TTS dengan ruang lingkup terbatas
memiliki kelebihan yaitu kualitas suara yang dihasilkan sangat baik namun hanya terbatas
pada beberapa kata yang direkam. Sedangkan TTS dengan ruang lingkup bebas berupa
sebuah sistem yang dilatih untuk tujuan umum atau dapat mengucapkan berbagai kata yang
diinputkan. TTS jenis ini digunakan untuk aplikasi umum seperti Google Assistant, Siri
Assistant, dan Aplikasi penerjemah. TTS ini dapat mensintesa kata atau kalimat yang
beragam dan/atau terdapat di dalam basis data. Fleksibilitas dari TTS ini juga memiliki
kekurangan yaitu memerlukan basis data yang besar dan menghasilkan kualitas suara lebih
rendah dibanding TTS dengan ruang lingkup terbatas.
2.4.2 Metode Sintesa Ucapan
Menurut Ntsako (2012:17), Terdapat banyak metode yang dapat diterapkan dalam
membangun sebuah sistem TTS. Metode tersebut terbagi menjadi 2 pendekatan yaitu
menggunakan aturan (rule based) dan korpus (corpus based). Pendekatan menggunakan
aturan memerlukan sekumpulan aturan untuk mengendalikan alat untuk mensintesis
ucapan seperti metode artikulasi dan formant. Sedangkan pendekatan menggunakan korpus
18

tergantung pada parameter atau informasi sinyal yang didapatkan dari rekaman suara
seperti metode seleksi unit dan statistik parameter.
2.4.2.1 Metode artikulasi
Metode artikulasi (articulatory) menirukan sistem pengucapan manusia untuk
menghasilkan ucapan buatan. Metode ini didasarkan pada cara kerja alat artikulasi manusia
seperti saluran suara, saluran hidung, paru-paru dan laring untuk menghasilkan ucapan.
Metode ini pertama digunakan oleh seoarang profesor Rusia di bidang Fisiologi
yang bernama Christian G. Kratzenstein. Profesor Christian membuat sebuah alat resonansi
untuk menirukan sistem saluran suara manusia. Alat ini menggunakan sebuah pita yang
digetarkan untuk mengontrol udara masuk yang menyerupai pita suara manusia. Profesor
Christian menggunalkan alat resonator ini untuk menunjukan perbedaan fisiologi 5 vokal
yaitu a, i, u, e, o.
2.4.2.2 Metode formant
Formant adalah frekuensi alami yang terjadi didalam rongga bidang suara,
tergantung pada bentuk dan ukuran bidang suara dan menyerupai gaung. Metode formant
menggunakan sebuah model filter sumber yang mana menvariasikan parameter suara
seperti frekuensi formant, amplitudo atau derau untuk menghasilkan ucapan. Metode ini
dikenal sebagai analogi terminal karena metode ini hanya memodelkan sumber suara dan
frekuensi formant, namun tidak termasuk karakteristik saluran vokal. Sinyal eksitasi dapat
berupa suara yang dibunyikan frekuensi dasar (F0) atau derau yang tidak bersuara (noise
unvoiced).

2.4.2.3 Metode seleksi unit


Metode seleksi unit (concatenative / unit selection) menggabungkan segmen
ucapan yang telah direkam sebelumnya dari basis ucapan. Segmen ucapan atau unit
dtergantung pada jenis unit yang digunakan, unit tersebut dapat berupa fonem, suku kata,
dan kata. Metode ini berkembang dengan pesat dan digunakan Metode ini menghasilkan
19

sintesa ucapan yang baik namun memerlukan basis data rekaman ucapan yang besar ketika
sistem TTS ini dijalankan.
sumber: Statistical Parametric Speech Synthesis
Gambar 2.4 Skema umum sistem seleksi unit

2.4.2.4 Metode statistik parameter

sumber: Statistical Parametric Speech Synthesis


Gambar 2.5 Skema umum sistem statistik parametrik
Menurut Simon King (2010), metode sintesa statistik parametrik merupakan sebuah
metode sintesa ucapan yang memodelkan karakteristik suara sebagai parameter yang
didapatkan dengan menggunakan statistik. Salah satu implementasi metode statistik
parametrik adalah toolkit HMM-Based Speech Synthesis System (HTS).

2.5 Festival TTS


Festival TTS dikembangkan oleh pusat penelitian teknologi sintesa ucapan pada
Universitas Edinburgh pada akhir tahun 1990. Festival TTS merupakan aplikasi gratis,
yang mudah dibawa, tidak tergantung bahasa, teknologi sintesa ucapan dari berbagai API
(Application Programmable Interface) untuk berbagai platform. Festival TTS
dikembangkan untuk memenuhi tiga kelas pengguna sintesa ucapan, yaitu peneliti sintesa
20

ucapan, pengembang aplikasi yang menggunakan sintesa ucapan dan pengguna awam (end
user).
Arsitektur dasar dari Festival berkembang dari mesin sintesa yang dikembangkan
oleh Universitas Endinburgh, yaitu Osprey. Sistem ATR’s CHART merupakan pengaruh
paling penting pada Festival. Sistem Festival terdiri dari sekumpulan objek C++ dan
metode inti yang cocok untuk melakukan tugas sintesa. Objek ini mencakup sintesa objek
yang spesifik seperti gelombang suara, jejak dan pengucapan sama seperti objek umum
seperti fitur himpunan, n-gram dan pohon keputusan.
Festival menggunakan bahasa scripting berdasarkan bahasa pemogrman Scheme.
Perubahan yang dilakukan untuk membangun sintesa ucapan dapat dilakukan tanpa
membuat perubahan pada objek inti C++. Kondisi ini menyebabkan pengembangan untuk
sintesa baru lebih mudah. Festival menggunakan bahasa Lisp scheme. Festival memiliki
dua cara untuk sintesa ucapan yaitu melalui baris instruksi dan mode interaktif instruksi.
Festival juga dapat membaca teks dari stdin pada terminal atau CMD.

2.6 Markov Chain


Markov Chain atau disebut juga Model Markov yang diamati (observed Markov
Model) merupakan sebuah kondisi spesial dari mesin otomata berbobot dimana bobotnya
berupa probabilitas dan sekuen masukan yang menentukan keadaan (state) mana yang akan
dilalui. Markov Chain digunakan untuk menentukan probabilitas dari urutan yang tidak
ambigu (James H. Martin, 2016:124).

Sumber: Speech and Language Processing: An Introduction to Natural Language


Processing, Computational Linguistics, and Speech Recognition (2017)
Gambar 2.6 Markov chain untuk cuaca.
21

Gambar 5.6 menampilkan Markov chain untuk menetapkan probabilitas dari sebuah
sekuen dari kondisi cuaca, yang mana keadaannya terdiri dari HOT, COLD, WARM.
Penentuan urutan keadaan pada Markov Model menggunakan asumsi Markov. Asumsi
Markov yang ditampilkan pada persamaan 5.1 adalah probabilitas dari keadaan
bersangkutan tergantung hanya pada keadaan sebelumnnya.
Markov Assumption: P ( qi|q1 … qi−1 )=P( qi∨qi−1) (2.1)
a ij menunjukan probabilitas keadaan i menuju ke keadaan j ( P(q i∨q i−1) ¿. Dimana

total probabilitas transisi (a ij) dari suatu keadaan i harus berjumlah sama dengan 1.

2.7 Hidden Markov Model (HMM)


Hidden Markov Model (HMM) merupakan sebuah model sekuen (sequence) dari
probilitas dari unit (kata-kata, huruf, morfem, kalimat, dst), menghitung distribusi
probabilitas dari sekuen yag mungkin dari label dan memilih sekuen label yang terbaik.
(James H. Martin, 2016:122). Sebuah model sekuens atau pengklasifikasi urutan
merupakan sebuah model yang bertugas untuk menetapakan label atau kelas pada setiap
unit dalam sebuah urutan, sehingga memetakan urutan observasi ke dalam urutan label.
Menurut Junichi Yamagishi (2006:1), bahwa Hidden Markov Model (HMM)
merupakan “sebuah mesin Finite State Machine (FSM) yang menghasilkan sebuah urutan
waktu observasi diskrit”. Setiap satuan waktu, HMM mengubah keadaan pada proses
Markov sesuai dengan probilitas keadaan transisi (state transition), dan kemudian
menghasilkan data observasi o sesuai dengan keluaran probabilitas distribusi keadaan
sekarang (current state).
Sebuah keadaan N HMM didefinisikan oleh probabilitas keadaan transisi

A={a ij }iN, j−1, keluaran probabilitias distribusi B={bi (o)}Ni−1, probilitas awal keadaan

Π={π i }Ni−1, Notasi yang telah dipersingkan, model parameter dari HMM yaitu:
Persamaan HMM: λ={ A , B , Π } (2.2)
Keluaran probabilitas distribusi b i(o) dari data observasi o dari keadaan i dapat
berupa diskret atau kontiniu tergantung pada observasi. Dalam distribusi kontiniu HMM
(CD-HMM) untuk data observasi kontiniu, keluaran probabilitas distribusi yang biasa
dimodelkan dengan sebuah campuran dari distribusi multivariat Gaussian.
22

Salah satu contoh strukur model HMM adalah 3-state ergodic dan 3-state left-to-
right. Model 3-state ergodic merupakan sebuah model HMM dimana setiap keadaan dari
model dapat mencapat setiap keadaan lain dari model dengan sebuah transisi. Sedangkan
model 3-state left-to-right merupakan model HMM dengan indeks keadaan meningkat atau
tetap terhadap bertambahnya nilai waktu. Model N-state left-to-right merupakan model
yang paling sering digunakan sebagai unit ucapan untuk memodelkan urutan parameter
ucapan karena model ini dapat memodelkan sinyal yang memiliki properti yang berturut-
turut berubah-ubah dengan tepat.

(a) Model 3-state ergonic (b) Model 3-state left-to-right

sumber: An Introduction to HMM-Based Speech Synthesis


Gambar 2.7 Contoh Model HMM.
Pada sistem TTS, sistem memerlukan label yang berisi informasi mengenai
karakteristik sebuah sinyal ucapan yang sesuai dengan masukan teks sehingga dapat
diproses untuk menghasilkan sebuah gelombang suara ucapan. Label tersebut merupakan
keadaan yang tidak dapat secara langsung diobservasi (hidden state).

2.8 HMM-Based Speech Synthesis System (HTS)


HTS adalah sebuah toolkit yang digunakan untuk mengembangkan TTS dengan
basis Hidden Markov Model (HMM). HTS hanya sebuah alat consolidate dengan
menggunakan HMM dalam sintesa ucapan. HTS mengotomatiskan proses ekstraksi
parameter (frekuensi dasar, spektral dan durasi), pelatihan HMM, dan pembuatan pohon
keputusan untuk pencarian.
2.8.1 Perangkat lunak lain yang digunakan
23

HTS menggunakan beberapa perangkat lunak lain untuk melakukan proses training
model dan sintesa gelombang ucapan. Beberapa perangkat lunak tersebut adalah sebagai
berikut:
2.8.1.1 Hidden Markov Model Toolkit (HTK)
Hidden Markov Model Toolkit merupakan sebuah alat untuk membangun dan
memanipulasi model Hidden Markov. HTK digunakan terutama untuk penelitian
pengenalan ucapan, walaupun alat ini dapat digunakan untuk penelitian sintesa ucapan,
pengenalan karakter, dan pengurutan DNA.
HTK terdiri atas sekumpulan modul library dan alat yang tersedia pada repositori
C. Alat tersebut menyediakan fasilitas untuk analisis bunyi ucapan, melatih model HMM,
mensimulasikan, dan analisis hasil. HTK mendukung HMM dengan menggunakan
distribusi diskret dan densitas campuran Gaussian kontiniu.
2.8.1.2 Speech Signal Processing Toolkit (SPTK)
Speech Signal Processing Toolkit (SPTK) adalah sebuah rangkaian alat untuk
memproses sinyal ucapan pada platform UNIX, seperti analisis Linear Predictive Coding
(LPC), analisis PARCOR, analisis LSP, filter sintesa PARCOR, filter sintesa Line Spectral
Pairs (LSP), teknik kuantisasi vektor, dan beberapa versi lainnya. Perangkat Lunak ini
dikeluarkan dengan lisensi Modified BSD.

2.8.1.3 FestVox
Festvox adalah sebuah kumpulan alat dan script yang memperbolehkan suara untuk
dibangun dengan bahasa yang tersedia dan yang akan dibangun. Festvox mendukung
algoritma sintesis data-driven yang dikenal dengan algoritma seleksi unit (unit selection).
Festvox merupakan bagian dari projek dari grup dari Universitas Carnegie Mellon yang
meneliti mengenai sintesa ucapan.
2.8.1.4 Edinburgh Speech Tools Library
Edinburgh Speech Tools Library merupakan sekumpulan kelas C++, fungsi dan
program yang berkaitan dengan memanipulasi urutan objek yang digunakan pada
pemrosesan sinyal ucapan. Edinburgh Speech Tools Library mendukung pembacaan dan
penulisan gelombang suara, file parameter (LPC, Ceptra, F0) dengan berbagai format dan
24

mengubah format diantara format yang ada. Library ini juga mendukung tipe objek
linguistik dan berbagai format label dan ngrams (dengan smoothing).
2.8.1.5 HTS_engine
HTS_engine merupakan perangkat lunak untuk mensintesa gelombang suara ucapan
dari HMMs yang telah dilatih dari HTS (HMM-based speech synthesis system). Perangkat
lunak ini berada dibawah lisesnsi Modified BSD.

2.8.2 Struktur Kerja HTS


HTS terdiri dari 2 bagian yaitu pelatihan (training), dan sintesis (synthesis) sesuai
pada gambar 5.7. HTS tidak memiliki bagian analisa teks sehingga memerlukan aplikasi
lain yang dapat menganalisa teks seperti Festival, Flite, dan lain-lain.
Sebelum memasuki tahapan pada HTS, diperlukan beberapa file masukan sebagai
berikut:
1) File rekaman ucapan dalam bentuk file audio dengan ekstensi RAW 16-bit PCM.
2) File teks yang berisi ucapan sesuai dengan rekaman.
3) File pengucapan (.utt) yang dihasilkan dengan menggunakan bantuan aplikasi
FestVox.
4) File yang berisi mengenai aturan-aturan untuk fonem, suku kata, aksen, dan stress
pada kata.
25

sumber: A Text-To-Speech Synthesis System


For Xitsonga Using Hidden Markov Models (2012)
Gambar 2.8 Beberapa tahap pada HTS
2.8.2.1 Tahap Pelatihan HMM (Training)
Parameter yang digunakan adalah parameter spektral dan ekstitasi. Parameter
spektral yang terdiri atas vektor koefisien mel-cepstral termasuk koefisien nol, delta
koefisien mel-cepstral dan koefisien delta-delta. Parameter ekstitasi terdiri atas log
frekuensi dasar atau log F0 termasuk diantaranya delta log F0, dan koefisien delta-delta.
(Keiichi Tokuda, Heiga Zen, Alan W. Black, 2002).
Parameter tersebut diekstrak dari file raw dari basis data ucapan. Parameter yang
diekstrak mencerminkan karakteristik pembicara dan gaya berbicara. Parameter tersebut
digunakan untuk melatih fonem sesuai dengan HMMs context-dependent. parameter
spektral dimodelkan dengan menggunakan multivariate Gaussian distributions dan
parameter ekstitasi dimodelkan dengan menggunakan multi-space probability distribution
Hidden Markov Models (MSD-HMMs).
Mel-cepstral, log frekuensi dasar (log F0), dan durasi keadaan dimodelkan di dalam
sebuah satu framework yang sama, tapi dikluster masing-masing sesuai spektrum, eksitasi,
dan durasi dengan menggunakan sebuah pohon keputusan berbasis teknik kluster yang
disebut dengan minimum distance length (MDL). teknik MDL mengikat faktor kontekstual
26

(identitas fonem, berkaitan dengan penekanan dan lokasi konteks) yang hampir sama.
Paremeter spektrum, eksitasi, dan durasi dimodelkan terpisah maka karakteristik ucapan
dapat dihasilkan secara bervariasi. Tidak semua kemungkinan kontekstual dimodelkan
karena tidak praktis. Estimasi ulang dari urutan fonem contexts-dependent terkluster akan
dikerjakan menggunakan algoritma expectation-maximization (EM). Kluster tersebut juga
digunakan untuk menghasilkan parameter ekstitasi dan spektral untuk mengamati vektor,
pengamatan vektor tidak termasuk ke dalam pelatihan korpus.
2.8.2.2 Tahap Sintesa
Teks diubah menjadi sebuah urutan label kontekstual, dan HMM pengucapan
bangun dengan menggabungkan model Hidden Markov kontekstual sesuai dengan urutan
label. Algoritma penghasil parameter ucapan menghasilkan urutan parameter spektral dan
ekstitasi dari model Hidden Markov pengucapan. Kemudian, gelombang suara ucapan
dihasilkan dari parameter spektral, eksitasi dengan mengunakan sebuah filter sintesa
ucapan (Mel Log Spectrum Approximation (MLSA) filter). (Heiga Zen, Keiichi Tokuda,
Alan W. Black, 2009).

2.9 Diagram Alir (Flow Chart)


Menurut Jogiyanto (2005:795) mendefinisikan bahwa “Bagan alir (flowchart)
adalah bagan (chart) yang menunjukan alir (flow) di dalam program atau prosedur sistem
secara logika”. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk
dokumentasi.
Tabel 2.3 Daftar Simbol Flowchart (Bagan Alir) Dokumen
No Simbol Nama Keterangan
Menunjukan dokumen input dan output
Dokumen baik untuk proses manual, mekanik atau
1.
komputer
Merupakan proses manual dalam flowchart
Proses Manual
2.
Simbol Proses Menunjukan kegiatan proses dari operasi
Komputerisasi program komputer
3.

File Hardisk / Menujukan kegiatan input atau output


4.
Database menggunakan harddisk
27

No Simbol Nama Keterangan


Simbol Merupakan input data yang menggunakan
5.
Keyboard keyboard
Arus dokumen Menunjukan arus dari proses
6.
pemrosesan
7. Keputusan Menunjukan tahapan pembuatan keputusan
Menunjukan awal dan akhir dari bagan alir
8. Terminal
dokumen
Mewakili data input / output
9. Input / output

Menunjukan penghubung ke halaman yang


10. Connector
sama atau ke halaman lain
Sumber: Analisis & Desain Sistem Informasi
Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis (2005)
Terdapat beberapa jenis bagan alir yang biasa digunakan, yaitu sebagai berikut:
1. Bagan Alir Sistem (System Flowchart)
Bagan alir sistem (system flowchart) merupakan bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan dari prosedur-
prosedur yang ada didalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di
sistem. Bagan alir sistem digambarkan dengan menggunakan simbol-simbol yang telah
ditentukan.
2. Bagan Alir Dokumen (Document Flowchart)
Bagan alir dokumen (document flowchart) atau disebut dengan bagan alir formulir
(form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus
dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini
menggunakan simbol-simbol yang sama dengan yang digunakan didalam bagan alir sistem.

3. Bagan Alir Skematik (Schematic Flowchart)


Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan
bagan alir sistem, yaitu menggambarkan prosedur didalam sistem. Perbedaannya adalah
bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga
menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud
28

penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang
kurang paham dengan simbol-simbol bagan alir.
4. Bagan Alir Program (Program Flowchart)
Bagan alir program (program flowchart) terdiri dari dua macam, yaitu bagan alir
logika program (program logic flowchart) dan bagan alir program komputer terinci
(detailed computer program flowchart). Bagan alir logika program digunakan untuk
menggambarkan tiap-tiap langkah didalam program komputer secara logika. Bagan alir
logika program ini dipersiapkan oleh analis sistem.
5. Bagan Alir Proses (Process Flowchart)
Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan
di teknik industri. Berguna bagi analis sistem untuk menggambarkan proses dalam suatu
prosedur.

2.10 Wavesurfer
Wavesurfer merupakan aplikasi editor audio yang dibanyak digunakan untuk
mempelajari fonetik akustik. Aplikasi ini dilengkapi tampilan interakti dari tekonan
gelombang suara, bagian spektral, spektrogram, penanda pitch dan transkipsi. Aplikasi ini
dapat membaca dan menuliskan beberapa bentuk format transkripsi yang digunakan dalam
penelitian industri ucapan termasuk TIMIT. Wavesurfer merupakan aplikasi gratis, yang
didistribusikan dibawa lisensi permissive free software. Wavesurfer ditulis dalam Tcl/Tk
menggunakan Snack audio library.

2.11 PHP
PHP merupakan salah satu bahasa pemrograman berbasis web yang ditulis oleh dan
untuk pengembang web. PHP pertama kali dikembangkan oleh Rasmus Lerdorf, seorang
pengembang software dan anggota tim Apache, dan diliris pada akhir tahun 1994. PHP
dikembangkan dengan tujuan awal hanya untuk mencatat pengunjung pada website pribadi
Rasmus Lerdorf. Pada rills kcduanya, ditambahkan Form Interpreter, sebuah tools untuk
melakukan penerjemahan perintah SQL. Rilis kedua disebut dengan PHP/FI. Sejak itu,
PHP mulai diterima sebagai sebuah bahasa pemrograman baru yang sangat dirninati.
Terbukti pada pertengahan tahun 1997, tercatat sekitar 50.000 situs di seluruh dunia telah
menggunakan PHP. (Solichin, 2016)
29

2.12 Python
Python adalah bahasa pemograman komputer multiguna dan optimal untuk
produktifitas, keterbacaan kode, dan kualitas perangkat lunak. Python merupakan bahasa
pemorgaman yang open source, portable dan memiliki banyak kelebihan. Python
merupakan bahasa pemograman untuk tujuan umum (general purpose) yang lebih umum
diterapkan pada peran scripting. Python merupakan bahasa scripting berbasis objek
(object-oriented). Python banyak digunakan karena Python memiliki banyak library
sehingga mempermudah implementasi pada suatu perancangan perangkat lunak (Mark
Lutz, 2013:3-9).
Python merupakan intrepreter. Intrepreter merupakan sebuah jenis program yang
mengeksekusi program lain. Python menginterpretasi program dan memanggil instruksi
terkait. Python memiliki kekurangan yaitu kecepatan eksekusi yang lebih lamban
dibanding dengan jenis bahasa pemrogran C seperti C dan C++. Python memiliki dua versi
yaitu 2.X dan 3.X (Mark Lutz, 2013).

2.13 Ekspresi regular


Menurut Stubblebine (2007), Ekspresi regular adalah sebuah bahasa yang
digunakan pengurai dan memanipulasi teks. Ekspresi regular umum digunakan untuk
melakukan operasi pencarian dan penggantian yang kompleks dan validasi terhadap teks
sesuai dengan format.
Menurut Al Alho dan Jeff Ulman (1994), Ekspresi regular merupakan sebuah cara
mendefinisikan pola dengan algebra. Ekspresi regular memiliki beberapa jenis unit
perhitungan dasar (atomic operands). Dalam algebra, unit perhitungan dasar berupa sebuah
konstranta yang biasanya adalah angka. Dalam algebra dari ekspresi regular, unit
perhitungan dasar adalah sebagai berikut:

1. Sebuah karakter,
2. Simbol ɛ atau teks kosong
3. Simbol ∅ atau himpunan kosong
4. Sebuah variabel yang nilainya dapat berupa pola apapun yang dapat didefinisikan oleh
sebuah ekspresi regular.
30

Terdapat tiga operator yang digunakan pada ekspresi regular. Ketiga operator ini
dapat digabung dengan menggunakan tanda kurung sama seperti dengan algebra. Terdapat
urutan prioritas dan hukum asosiatif yang dapat menghilangkan beberapa jenis tanda
kurung. Ketiga operator tersebut adalah sebagai berikut (Al Alho dan Jeff Ulman, 558 -
561):
1. Union
Simbol operator union pada ekspresi regular adalah “|” atau pada algebra
disimbolkan dengan “∪”. Jika terdapat R dan S sebagai ekspresi regular maka union pada
R dan S dapat dinotasikan dengan L(R|S). Ekspresi regular L(R|S) akan mencari pola
karakter yang sama dengan ekspresi regular R atau expresi regular S.
2. Concatenation
Operator concatenation tidak memiliki simbol. Operator concatenation akan
menggabungkan beberapa pola menjadi sebuah pola gabungan. Jika terdapat R dan S
sebagai ekspresi regular maka concatenation pada R dan S dapat dinotasikan dengan
L(RS). Ekspresi regular L(RS) akan mencari pola karakter yang sama dengan gabungan
ekspresi regular R dan S yaitu RS.
3. Closure
Operator closure juga disebut dengan Kleene closure. Operator closure merupakan
operator postfix atau sebuah operator yang memerlukan unit perhitungan dan operator ini
muncul setelah unit perhitungan tersebut. Operator closure dinotasikan dengan bintang (*).
Contoh notasi operator closure pada ekspresi regular adalah R*. Ekspresi regular L(R*)
akan mencari pola karakter yang sama dengan beberapa pola berikut:
(a) Teks kosong (ɛ) atau tidak ada pola yang cocok,
(b) R atau satu pola yang cocok,
(c) RR atau dua pola yang cocok dan berurutan
(d) RRR … Rn atau beberapa pola yang cocok dan berurupan
Urutan tingkat prioritas pada operator expresi regular dari yang tertinggi sampai
terendah yaitu closure, concatenation, dan union.
Pada bahasa pemrograman python, terdapat modul untuk ekspresi regular yaitu
modul re (Stubblebine, 2007:57). Beberapa meta karakter atau meta urutan yang didukung
oleh bahasa pemrograman python dapat dilihat pada tabel 2.4 sampai 2.7.
Tabel 2.4 Representasi meta karakter pada Python
31

No
Urutan Keterangan
.
1 \a Alert (bell), \x07.
2 \b Backspace, \x08, hanya didukung pada kelas karakter.
3 \n Newline, \x0A.
4 \r Carriage return, \x0D.
5 \f Form feed, \x0C.
6 \t Horizontal tab, \x09.
7 \v Vertical tab, \x0B.
8 \octal Karakter dengan tiga digit oktet
9 \xhh Karakter dengan dua digit kode heksadesimal.
10 \uhhhh Karakter dengan empat digit kode heksadesimal.
11 \Uhhhhhhhh Karakter dengan delapan digit kode heksadesimal.
sumber: Regular Expression Pocket Reference, Second Edition (2007)

Tabel 2.5 Kelas karakter dan kelas konstruk pada Python


No
Kelas Keterangan
.
1 [...] Semua karakter yang termasuk ke dalam daftar.
2 [^...] Semua karakter yang tidak termasuk ke dalam daftar.
3 . Semua karakter, kecuali newline.
Karakter word yaitu [a-zA-z0-9_] kecuali pada mode LOCALE
4 \w
atau UNICODE.
Karakter bukan word yaitu [^a-zA-z0-9_] kecuali pada mode
5 \W
LOCALE atau UNICODE.
6 \d Karakter digit [0-9].
7 \D Karakter bukan digit [^0-9].
8 \s Karakter whitespace [ \t\n\r\f\v].
9 \S Karakter bukan whitespace, [ \t\n\r\f\v].
sumber: Regular Expression Pocket Reference, Second Edition (2007)

Tabel 2.6 Jangkar dan luas nol test pada Python


No
Urutan Keterangan
.
Awal dari teks, atau sebuah titik setelah newline jika dalam
1 ^
mode pencocokan MULTILINE.
2 \A Permulaan dari pencarian teks, dalam semua mode pencocokan.
Akhir dari pencarian teks atau sebuah titik sebelum teks
3 $ penutup newline, atau sebelum newline dalam model
pencocokan MULTILINE.
Akhir dari teks, atau sebuah titik sebelum teks penutup newline,
4 \Z
dalam semua mode pencocokan.
32

5 \b Batas word.
6 \B Batas bukan word.
7 (?=...) Pencarian ke depan positif.
8 (?!...) Pencarian ke depan negatif.
9 (?<=...) Pencarian ke belakang positif.
10 (?<!...) Pencarian ke belakang negatif.
sumber: Regular Expression Pocket Reference, Second Edition (2007)
Tabel 2.7 Penggabungan, pengondisian, penangkapan dan control pada Python
No
Urutan Keterangan
.
Teks yang cocok Match text matched by earlier named
1 (?P=name)
capture group, name.
2 \n Berisi hasil nth dari submatch sebelumnya.
3 (?:...) Grup dari sub pola, tapi tidak menangkap submatch.
4 ...|... Percobaan sub pola dalam alternasi.
5 * Cocok 0 atau lebih kali.
6 + Cocok 1 atau lebih kali.
7 ? Cocok 0 atau 1 kali.
8 {n} Cocok sebanyak n kali.
9 {x,y} Cocok minimal n kali, tapi tidak boleh lebih dari y kali.
10 *? Cocok 0 atau lebih kali, tapi seminimal mungkin.
11 +? Cocok 1 atau lebih kali, tapi seminimal mungkin.
12 ?? Cocok 0 atau 1 kali, tapi seminimal mungkin.
Cocok paling sedikit x kali, tidak boleh lebih dari y kali dan
13 {x,y}?
seminimal mungkin.
sumber: Regular Expression Pocket Reference, Second Edition (2007)
Modul re mendefinisikan semua fungsi ekspresi regular. Pencocokan pola dapat
dilakukan secara langsung melalui fungsi modul atau pola dapat di-compile menjadi objek
ekspresi regular yang dapat digunakan untuk pencocokan pola yang berulang kali. Sintaks
teks raw dapat dinotasikan dengan r’ ‘ atau r” “. Sintaks tersebut dapat merincikan pola
ekspresi regular tanpa harus memberikan tanda escape yaitu backslash (\). Beberapa fungsi
yang telah didefinisikan pada modul re pada Python dapat dilihat pada tabel 2.8.
Tabel 2.8 Fungsi pada modul ekspresi regular (re) pada Python
No
Nama fungsi Keterangan
.
Mengembalikan sebuah objek ekspresi regular
1 compile(pola [, flags])
dengan pilihan mode modifiers, flags.
Mencari pola dari posisi awal teks dan
match(pola, teks [,
2 mengembalikan match object atau None jika tidak
flags])
ada.
search(pola, teks [, Mencari pola dalam teks dan mengembalikan
3
flags]) match object atau None jika tidak ada.
33

Membagi teks sesuai pola, dan batas jumlah


split(pola, teks [, pembagian sesuai dengan maxsplit. Submatch dari
4
maxsplit=0]) hasil tangkap buka kurung juga akan
dikembalikan.
Menembalikan sebuah teks dengan semua tau
sesuai dengan kemunculan count dari pola dalam
sub(pola, repl, teks [,
5 teks yang digantikan dengan repl. Repl dapat
count=0])
berupa sebuah teks atau sebuah fungsi yang dapat
mengolah match object argument.
Melakukan fungsi sub( ), tapi mengembalikan
subn(pola, repl, teks [,
6 sebuah tuple dari teks yang baru dan sejumlah
count=0])
perubahan.
Mengembalikan pola yang cocok dalam teks. Jika
7 findall(pola, teks) pola menangkap sebuah grup, maka akan
mengembalikan sekumpulan submatch.
Mengembalikan iterator sesuai dengan pola yang
8 finditer(pola, teks) cocok pada teks. Pada setiap yang cocok, iterator
akan mengembalikan sebuah match object.
Mengembalikan teks dengan alphanumeric
9 escape(teks) backslashed sehingga teks dapat dicocokan secara
harafiah.

2.14 Black Box


Metode Black-Box yaitu data pengujian dipilih berdasarkan spesifikasi masalah
tanpa memperhatikan detail internal dari program (Rosa, 2009), untuk memeriksa apakah
program dapat berjalan dengan benar. Pemilihan data pengujian paling tidak harus dipilih
dengan cara berikut (Rosa, 2009):
a. Extreme values, banyak program error pada suatu batas range dari aplikasi.
b. Ilegal values, yaitu suatu data atau nilai yang tidak diperbolehkan maupun data yang
tidak berguna.
c. values, yaitu data yang mudah diperiksa.
d. Typical realistic value, yaitu mencoba program dengan data pengujian untuk melihat
bagaimana program melakukannya. Data ini harus cukup sederhana sehingga
hasilnya dapat dihitung secara manual.
Beberapa teknik pengujian secara Black box antara lain sebagai berikut:
a. Requirement Testing adalah spesifikasi kebutuhan yang terasosiasi dengan perangkat
lunak (input, output, fungsi, performansi) diidentifikasi pada tahap spesifikasi
kebutuhan dan desain. Requirement testing melibatkan pembuatan kasus uji untuk
setiap spesifikasi kebutuhan yang terkait dengan program (Rosa, 2009).
34

b. Performance Testing adalah mengevaluasi kemampuan program untuk beroperasi


dengan benar dipandang dari sisi acuan kebutuhan misalnya: aliran data, ukuran
pemakaian memori, kecepatan eksekusi dan lain-lain. Untuk mencari tahu beban
kerja atau kondisi konfigurasi program dan dapat digunakan untuk menguji batasan
lingkungan program (Rosa, 2009).
c. Scenario Testing adalah pengujian yang realistis, kredibel dan memotivasi
stakeholder, tantangan untuk program dan mempermudah pengujian untuk
melakukan evaluasi. Pengujian ini menyediakan koombinasi variabel-variabel dan
fungsi yang sangat berarti daripada kombinasi buatan yang didapatkan dengan
pengujian domain atau desain pengujian kombinasi.

2.15 Mean Opinion Score (MOS)


ITU-T (ITU Telecommunication Standardization Sector) merupakan salah satu
sektor dari ITU (International Telecommunication Union) yang bekerja sama untuk
mendefinisikan standar untuk bidang telekomunikasi. Menurut ITU-T Rec. P.10 (2006),
Mean Opinion Score adalah “sebuah ukuran yang digunakan pada bidang Quality of
Experience dan teknik telekomunikasi, yang merepresentasikan kualitas secara keseluruhan
dari sistem”.
MOS termasuk ke dalam pengujian subjektif dengan menggunakan satu skala
metrik (single metric). Skala MOS yang telah distandarkan oleh ITU-T adalah ITU-T
P.800. Skala penilaian MOS berdasarkan ITU-P.800 dapat dilihat pada tabel 2.9.

Tabel 2.9 Tabel penilaian MOS berdasarkan ITU-T P.800.


Skala MOS Quailty
5 Sangat baik (Excellent)
4 Baik (Good)
3 Sedang (Fair)
2 Buruk (Poor)
1 Sangat Buruk (Bad)
sumber: ITU-T P.800
Dalam pengujian MOS, kualitas dari sinyal ucapan berdasarkan dari presepsi umum
yang dimiliki oleh setiap individu pendengar dalam pengujian. (Benesty, 2008:87). Rumus
perhitungan MOS dapat dilihat pada rumus dibawah.
35

MOS = ∑ x (i). k (2.3)


i=0
N
Keterangan:
X(i) = Nilai Sample ke i
K = Jumlah bobot
N = Jumlah Pengamatan

2.16 Comparasion Mean Opinion Score (CMOS)


Pengujian Comparasion Mean Opinion Score (CMOS) adalah sebuah hasil dari
pengujian perbandingan perangkingan kategori (comparasion category ranking atau CCR).
Dalam pengujian CCR, penguji diberikan sejumlah sampel dan diminta untuk memilih
sampel yang lebih baik serta penilaiannya. Setiap sampel disertai dengan referensi kontrol
dan variabel eksperimen (Keagy, 2000:152-153).

2.17 Pengujian AB
Pengujian AB adalah sebuah pengujian yang digunakan untuk mendapatkan
pandangan dari pengguna dengan membandingkan dan memberi penilaian terhadap dua
versi atau lebih untuk sebuah kalimat dengan pengucapan yang sama (Kominek,
2009:132). Selain membandingkan dua versi objek pengujian AB dapat dilakukan dengan
membandingkan dua versi atau lebih terhadap sebuah referensi objek (X). Pengujian ini
disebut dengan pengujian ABX. Pengujian AB merupakan pengujian subjektif atau
berdasarkan pilihan dengan preferensi pribadi responden.

2.18 Word Error Rate (WER)


Word Error Rate (WER) adalah sebuah pengukuran umum yang digunakan dalam
penelitian pengenalan ucapan. WER merupakan turunan dari perhitungan jarak
Levenshtein. Jarak Levenshtein antara dua teks adalah angka (jumlah berbobot) minimum
dari penambahan, penghapusan, perubahan yang terjadi pada saat perubahan satu teks
menjadi teks lain.
WER adalah jarak Levenshtein antara sebuah urutan referensi kata dan transkripsi
yang disintesa secara otomatis, dinormalisasikan oleh panjang dari urutan referensi kata.
Normalisasi ini diaplikasikan untuk memperbolehkan perbandingan antara sistem yang
36

berbeda dengan tugas yang berbeda, sehingga besar dari jarak Levenshtein tergantung pada
panjang dari teks. (Iain dkk, 2015)
S + D+ I
WER = (2.4)
Nr
Keterangan:
S = jumlah kata yang terganti pada teks hasil sintesa,
D = jumlah kata yang terhapus pada teks hasil sintesa,
I = jumlah kata yang tertambah pada teks hasil sintesa,
Nr = Jumlah kata pada teks hasil sintesa.

Anda mungkin juga menyukai