, ,
2.4.6
Intonasi dan Ritme
Intonasi mengacu ke naik turunnya nada dalam pelafalan kalimat, sedangkan ritme mengacu ke pola pemberian tekanan pada kata dalam kalimat. Intonasi
37 dilambangkan dengan angka (1, 2, 3, 4) yang melambangkan tinggi rendahnya nada. Angka (1) melambangkan titinada yang paling rendah dan angka (4) melambangkan titinada yang paling tinggi. Contoh: D i m a n a? 2 3 3# Suatu klausa yang terdiri dari kata yang sama dapat memiliki arti yang berbeda tergantung pada tanda baca yang diberikan. Contoh: Dia dapat pergi. Dia dapat pergi? Pada contoh tersebut, kalimat yang diucapkan dengan intonasi menurun memberikan arti pernyataan sedangkan pada intonasi yang menaik, akan memberikan maksud pertanyaan. Ritme adalah pola pemberian aksen pada kata dalam untaian tuturan kalimat (Tata Bahasa Baku Bahasa Indonesia, 2003). Pemberian aksen itu dilakukan dalam selang waktu yang sama pada beberapa bahasa dan selang waktu yang berbeda untuk beberapa bahasa yang lain. Pemberian aksen pada selang waktu yang sama terlihat pada bahasa Inggris contohnya: He They
/reads /are reading
/the book /together
Setiap bagian diucapkan dengan jangka waktu yang sama. Sedangkan pada bahasa Indonesia mengikuti ritme yang berdasarkan jumlah suku kata, makin banyak suku kata, makin lama pula waktu untuk melafalkannya. Contohnya: Saya Profesor itu
/makan /mempublikasikan
/nasi /penelitiannya
Kalimat kedua dilafalkan lebih lama karena memiliki jumlah suku kata yang lebih banyak daripada kalimat pertama.
38 Intonasi merupakan urutan perubahan nada dalam untaian tuturan yang ada dalam suatu bahasa (Tata Bahasa Baku Bahasa Indonesia, 2003). Pola pengubahan nada itu membagi suatu kalimat dalam satuan yang secara gramatikal bermakna. Bagian kalimat tempat berlakunya suatu pola perubahan nada tertentu disebut kelomopk tona. Pada setiap kelompok tona terdapat satu suku kata yang terdengar menonjol yang menyebabkan terjadinya perubahan nada. Contoh pola intonasi umum dalam bahasa Indonesia: Dia / menerima uang / dari ayahnya. 2 3 / 2 -3 1 / 2 -- 3 1↓# Kamar itu, / jendelanya / rusak. 2 -- 3 3 / 2 -- 3 3 / 2 31↓# Titinada 4 biasanya digunakan untuk menyatakan emosi yang tinggi pada orang yang sedang marah, kesakitan, atau kegirangan.
2.4.7
Afiks / Imbuhan
Afiks / imbuhan digunakan untuk melakukan proses penurunan verba yang memperlihatkan peralihan suatu kata dari kategori semantik yang satu ke kategori semantik yang lain. Ada 4 afiks atau imbuhan yang dipakai untuk menurunkan verba yaitu prefiks, sufiks, konfiks, dan infiks (Tata Bahasa Baku Bahasa Indonesia, 2003, p102). Prefiks disebut juga awalan, sufiks merupakan akhiran, konfiks adalah gabungan awalan dan akhiran, dan infiks dinamakan juga sisipan.
39 Prefiks dalam bahasa Indonesia antara lain meng-, per-, ber-, ter-, di-, ke-. Jumlah sufiks untuk verba ada tiga, yakni –kan, -i, dan –an. Konfiks verba adalah ke— an dan ber—an. Prefiks dan sufiks dapat membentuk konfiks apabila prefiks dan sufiks digunakan secara bersamaan dilekatkan pada dasar kata, contohnya pada kata berdatangan, prefiks ber- dan sufiks –an secara serentak ditempelkan pada dasar datang. Selain itu, pemisahan dari salah satu afiks itu tidak boleh meninggalkan bentuk yang masih berwujud kata dan yang hubungan maknanya masih dapat ditelusuri. Misakan pada kata kecurian, secara sepintas dapat dipisahkan menjadi ke-curian karena kata curian memang ada. Namun makna verba kecurian tidak dapat ditelusuri dari gabungan ke dan curian. Oleh karena itu, ke—an, adalah konfiks. Berikut ini kemungkinan penggabungan antara prefiks dan sufiks pada gambar 2.3. Prefiks
Sufiks
meng-
-kan
perber-
-i
terdike-
Gambar 2.6 Kumpulan Prefiks dan Sufiks
-an
40 2.4.8
Urutan Afiks
Pada penggunaaan prefiks, terdapat pula urutan yang harus dipatuhi jika dua prefiks terdapat pada satu dasar yang sama (Tata Bahasa Baku Bahasa Indonesia, 2003, p108). Urutan yang pertama adalah prefiks meng- yang selalu menduduki posisi paling kiri. Kemudian menyusul prefiks per- atau ber- sehingga terjadi bentuk memper- dan member-
seperti
pada
kata
memperjuangkan,
memperkecil,
memperbaiki,
memberhentikan, memberlakukan, dan memberangkatkan. Selain prefiks meng-, prefiks ter- dan di- dapat pula diletakkan di awal apabila meng- merupakan prefiks verba yang transitif. Contoh: membeli membawa memberangkatkan
dibeli dibawa diberangkatkan
terbeli terbawa terberangkatkan
Prefiks ke- tidak dapat bergabung dengan prefiks lain. Demikian pula sufiks – kan, -i, dan –an tidak dapat saling bergabung. Perlu diperhatikan bahwa prefiks keseperti dalam kemukakan dan ketengahkan bukan merupakan prefiks verbal. Dalam kaitannya dengan sufiks, ke- hanya dapat bergabung dengan –an seperti pada verba kejatuhan, kehujanan, dan kecurian dengan satu perkecualian yaitu ketahui. Urutan afiks dalam bahasa Indonesia adalah sebagai berikut.
Tabel 2.1 Rangkaian Afiks
41
1.
mengditermeng-
2.
-kan + -i +
dimeng3.
4.
per-kan
+ perdimengditer-
-i + ber-
-kan -an
5.
ke-
+ -i
2.5
Text-to-speech
2.5.1
Pengertian Text-to-speech
Text-to-speech (TTS) merupakan sebuah aplikasi yang bertujuan untuk mengeluarkan output audio berupa ucapan manusia yang sesuai dengan input kata yang dimasukkan oleh pengguna. Menurut Thierry Dutoit (An Intoduction to Text-to-speech Snthesis), terdapat perbedaan antara TTS dengan talking machine. Perbedaan dasar dari sistem TTS dengan talking machine yang biasa ialah bahwa aplikasi TTS dapat mengucapkan kata-kata baru sehingga dapat menerima semua input yang berupa teks. Sedangkan talking machine memiliki batasan-batasan kamus sehingga hanya dapat digunakan pada aplikasi yang bersangkutan. Pada aplikasi TTS, tentu saja mustahil untuk merekam seluruh kata-kata yang bisa disebutkan oleh manusia. Lebih tepatnya, aplikasi TTS bertujuan untuk memproduksi suara melalui proses grafem ke fonem daripada kalimat.
42 It is thus more suitable to define Text-To-Speech as the automatic production of speech, through a grapheme-to-phoneme transcription of the sentences to utter (Thierry Dutoit).
Aplikasi TTS memiliki banyak kegunaan yang akan bermanfaat bagi kehidupan manusia antara lain sebagai fitur-fitur telekomunikasi pada telepon, untuk membaca pesan yang terkirim, menyebutkan nama penelepon, dll. Selain itu aplikasi TTS juga dapat digunakan sebagai alat bantu belajar suatu bahasa sehingga pengguna dapat mempelajari pengucapan suatu kata dalam suatu bahasa. Kegunaan lain dapat dilihat pada alat bantu bagi orang yang cacat, misalkan pada tuna wicara, aplikasi TTS dapat membantu mereka berkomunikasi secara normal menggunakan suara, atau pada tuna netra dimana penderita dapat menggunakan komputer lebih efisien dengan bantuan audio yang dikeluarkan sesuai dengan interaksi user. Contoh lain TTS dapat digunakan pada mainan anak-anak atau buku yang dapat berbicara atau alat-alat lain yang dapat mempermudah pengguna apabila memiliki kemampuan untuk berbicara.
2.5.2
Sejarah Text-to-speech
Usaha awal untuk menciptakan pensintesa suara telah dilakukan sejak dua ratus tahun yang lalu (Flanagan 1972, Flanagan et al. 1973, Schroeder 1993). Contoh-contoh alat berbicara yang telah dibuat antara lain oleh Gerbert of Aurillac (th. 1003), Albertus Magnus (th. 1198 – th. 1280), dan Roger Bacon (th. 1214 – th. 1294). Pada tahun 1779, Seorang peneliti dari di Russian Academy of Science bernama Christian Kratzenstein berhasil menciptakan model dari vocal tract manusia yang dapat
43 menciptakan 5 bunyi huruf hidup (berdasarkan notasi pada International Phonetic Alphabet) yaitu [a], [e], [i], [o], [u].
Gambar 2.7 Model Vocal Tract Manusia
Penelitian berikutnya dilanjutkan oleh Wolfgang von Kempelen di Vienna yang menciptakan “accoustic-mechanical speech machine” pada tahun 1791. Mesin ini membuat model lidah dan bibir yang memungkinkan munculnya suara konsonan seperti layaknya huruf hidup pada penelitian sebelumnya. Sebenarnya Kempelen sudah memulai penelitiannya sebelum Kratzenstein, pada tahun 1769 dan selama 20 tahun penelitian, ia telah menciptakan buku yang berisi penelitiannya terhadap produksi suara manusia dan eksperimennya selama meciptakan alat tersebut. Pada tahun 1837, Charles Wheatstone menciptakan “speaking machine” berdasarkan desain von Kempelen, alat ini lebih rumit dan mampu memproduksi lebih banyak konsonan dari alat sebelumnya. Bahkan kombinasi suara dan beberapa kata pun dapat diproduksi. Pada tahun 1857, M. Faber menciptakan “Euphonia”. Desain Wheatstone dibuat kembali pada tahun 1923 oleh Paget.
44
Gambar 2.8 Rekonstruksi Wheatstone dari mesin berbicara Von Kempelen
Pada tahun 1930, Bell Labs mengembangkan VOCODER, sebuah speech analyzer elektronik yang mengubah suara menjadi parameter akustik. Alat pertama yang dikenali sebagai speech synthesizer bernama VODER (Voice Operating Demonstrator) yang diperkenalkan oleh Homer Dudley di New York World’s Fair 1939. Pada tahun 1951, Franklin Cooper mengembangkan Pattern Playback Synthesizer di Haskins Laboratories. Alat ini mampu mengubah rekaman spektogtam menjadi suara. Formant Synthesizer yang pertama, PAT (Parametric Artificial Talker), diperkenalkan oleh Walter Lawrence pada tahun 1953. Pada saat yang sama, Gunnar Fant menciptakan formant synthesizer OVE I (Orator Verbis Electris), 10 tahun kemudian pada tahun 1962, Fant dan Martony menciptakan OVE II yang telah dikembangkan. Dilanjutkan dengan OVE III dan GLOVE di Universitas Kungliga Tekniska Högskolan (KTH), Swedia.
45 Pada tahun 1972 John Holmes memperkenalkan formant synthesizer miliknya setelah mempelajari synthesizer selama beberapa tahun. Ia menciptakan sendiri kalimat sintesis “I enjoy the simple life” dengan sangat baik sehingga pendengar tidak dapat membedakannya dengan yang alami. Setahun setelahnya, ia memperkenalkan formant synthesizer parallel yang dikembangkan bersama JSRU (Joint Speech Research Unit). Articulatory synthesizer yang pertama diciptakan pada tahun 1958 oleh George Rosen dari Massachusetts Institute of Technology, M. I. T. DAVO (Dynamic Analog of The Vocal Tract) dikendalikan oleh tape recording signal yang diciptakan sendiri. Pada pertengahan tahun 1960, eksperimen pertama menggunakan Linear Predictive Coding (LPC) diciptakan. LPC pada awalnya digunakan pada system yang membutuhkan biaya murah namun memiliki kualitas suara yang kurang baik. Dengan berbagai modifikasi, metode ini banyak digunakan pada system yang sekarang ini tengah berjalan. Aplikasi TTS yang pertama dalam Bahasa Inggris dikembangkan oleh Electrotechnical Laboratory, Jepang, pada tahun 1968 oleh Noriko Umeda dan temantemannya. Suara yang dihasilkan cukup baik namun masih terkesan monoton dan kualitasnya jauh dibandingkan system zaman sekarang. Pada tahun 1979 Allen, Hunnicutt, dan Klatt memperkenalkan MITalk Laboratory TTS system yang dikembangkan di M. I. T. Sistem ini digunakan oleh Telesensory System Inc. berupada TTS komersial yang telah dimodifikasi. Dua tahun kemudian, Dennis Klatt memperkenalkan Klattalk system hingga saat ini teknologinya masih digunakan oleh DECtalk, dan Prose-2000. Aplikasi pertama optical scanner untuk membantu para tuna netra diciptakan oleh Kurzweil pada tahun 1976. Pada saat itu aplikasi ini masih terlalu mahal untuk
46 masyarakat ($ 30.000) namun telah digunakan di perpustakaan dan service center untuk para tuna netra. Pada pertengahan 1970 dan 1980, aplikasi TTS komersial banyak bermunculan. Pada tahun 1978 Richard Gagnon memperkenalkan Votrax-based Type-n-Talk system. Dua tahun kemudian, pada tahun 1980, Texas Instruments memperkenalkan Speak-nSpell
synthesizer
menggunakan
LPC.
Pada
tahun
1982,
Street
Electronics
memperkenalkan diphone synthesizer yang menggunakan chip yang sama pada Speak-nSpell. Pada saat yang sama, Speech Plus Inc. memperkenalkan Prose-2000 TTS. Setahun kemudian, DECtalk dan Infovox SA-101 synthesizer diciptakan.
Gambar 2.9 Jalur Perkembangan TTS
Speech synthesizer pada tahun-tahun awal masih memiliki kesan robot pada suaranya dan belum memiliki kepintaran yang sempurna. Hingga saat ini kualitas speech synthesizer terus berkembang dan terkadang sukar dibedakan dengan ucapan manusia yang sebenarnya. Sistem TTS modern sekarang ini telah menggunakan metode dan
47 algoritma yang cukup rumit seperti HMM (Hidden Markov Model) dan juga Neural Networks. Neural networks telah diimplementasikan dalam speech synthesis selama 10 tahun belakangan ini dan hasilnya cukup menjanjikan. Namun potensi neural networks masih belum diteliti lebih dalam.
2.5.3
Tahapan-tahapan Text-to-speech
Untuk mendapatkan ucapan yang lebih alami, ucapan yang dihasilkan harus memiliki intonasi (prosodi). Menurut Arry Akhmad Arman (Konversi dari Teks ke Ucapan, p2), secara kuantisasi, prosodi adalah perubahan 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. 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.
48
Gambar 2.10 Tahapan-tahapan Text-to-speech (Pelton, 1992)
Berikut ini tahapan-tahapan dari TTS: a) Normalisasi Teks
Tahap normalisasi teks berfungsi untuk mengubah semua teks kalimat input yang ingin diucapkan menjadi teks yang secara lengkap memperilhatkan cara pengucapannya. Hal-hal yang dilakukan dalam teks normalisasi ini antara
49 lain mengubah angka menjadi angka tertulis, mengubah singkatan umum, dan waktu Angka yang tertulis menggunakan symbol harus direpresentasikan secara tertulis agar dapat dibaca sebagaimana mestinya. Sebagai contoh, “Dia akan kembali 3 hari lagi” akan diubah menjadi, “Dia akan kembali tiga hari lagi”. Singkatan umum yang dikenal sehari-hari akan diubah menjadi bentuk kepanjangannya agar dapat dibaca dengan lengkap. Misalnya, “Sdr. Adrian diminta maju ke depan” akan diubah menjadi “Saudara Adrian diminta maju ke depan”. Penulisan waktu dalam bentuk jam akan ditulis ulang berdasarkan pengucapannya. Sebagai contoh, “Pada pukul 14.45 kegiatan sekolah akan selesai” akan diubah menjadi, “Pada pukul dua lewat empat puluh menit kegiatan sekolah akan selesai”.
b) Pengkonversian Fonem
Tahap ini 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 table konversi yang berisi pasangan antara urutan huruf dan urutan fonem, bahkan mungkin hanya
50 berisi satu huruf dan satu fonem. Bahasa Indonesia merupakan bahasa yang jelas aturan konverisnya. 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, symbol huruf e dapat diucapkan sebagai e pada apel atau e pada apel, 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.
c) Pembuatan Prosodi
Hasil dari tahap tersebut adalah rangkaian fonem yang merepresentasikan bunyi kalimat yang ingin diucapkan. Bagian ini akan melengkapi setiap unit fonem yang dihasilkan dengan data durasi pengucapannya serta pitch-nya. Dalam penggenerasian suara selain membutuhkan fonem yang akan disebutkan, diperlukan juga beberapa parameter-parameter yang akan menentukan durasi dan tinggi rendahnya suara. Semakin baik hasil dari penentuan parameter ini maka pengucapan suara dalam Bahasa Indonesia akan terdengar lebih alami. Data durasi serta pitch diperoleh berdasarkan model prosodi yang sudah disiapkan. Secara simbolik, hasil dari bagian ini sudah menghasilkan informasi yang cukup untuk menghasilkan ucapan yang diinginkan.
d) Phonetic Analysis
Tahap ini dapat dikatakan sebagai tahap penyempurnaan, yaitu melakukan perbaikan di tingkat bunyi. Sebagai contoh, dalam bahasa Indonesia,
51 fonem /k/ dalam kata bapak tidak pernah diucapkan secara tegas, atau adanya sisipan fonem /y/ dalam pengucapan kata alamiah antara fonem /i/ dan /a/. Akan tetapi pada penelitian penulis, penentuan prosodi menggunakan neural networks sehingga tahap ini tidak digunakan oleh penulis.
e) Penggenerasian Parameter Suara
Setelah ditentukan representasi fonem dari input yang diberikan dan ditentukan parameter-parameter prosodi yang akan digunakan, maka semua fonem dan parameter akan ditulis ke dalam sebuah file dengan format tertentu untuk menjadi input untuk synthesizer yang akan digunakan. Tahap ini merupakan tahap akhir untuk mengolah input yang diterima menjadi ucapan suara. Setelah tahap ini, proses pengerjaan merupakan bagian synthesizer suara.
f) Penggenerasian Suara
Hasil dari speech parameter generation akan dimasukkan ke dalam sebuah synthesizer yang akan memproses parameter tersebut menjadi suara. Pada penelitian penulis, penulis menggunakan synthesizer bernama MBROLA. MBROLA merupakan synthesizer yang dibuat oleh Thierry Dutoit di Belgia dan hingga saat ini masih terus bergerak dalam penelitian terhadap speech synthesis. Misi dari MBROLA ialah menciptakan sebuah synthesizer dengan database bahasa yang lengkap di dunia. Hingga saat ini database suara Bahasa Indonesia telah diciptakan dengan kontribusi dari Arry Akhmad Arman, seorang dosen dan peneliti dari Institut Teknologi Bandung, Indonesia, yang meneliti tentang TTS
52 dan berangkat ke Belgia pada tahun 2000 untuk merekam suaranya di ruang laboratorium MBROLA.
2.6
Pengenalan kontekstual
Pada TTS, proses pengenalan kontekstual menjadi sangat penting, hadirnya kata– kata tertentu yang memiliki bentuk huruf yang sama namun dengan arti dan cara artikulasi yang berbeda (homograf) merupakan salah satu penyebab mengapa pengenalan kontekstual menjadi sangat penting. Proses pengenalan relevansi suatu kata dengan mengingat hubungannya terhadap keseluruhan kalimat merupakan proses yang kita sebut sebagai proses pengenalan kontekstual. Pengenalan kontekstual juga dapat dilakukan dengan melihat kumpulan kata yang jauh lebih besar seperti: paragraf, makalah, dsb.Terdapat dua macam cara pengenalan kontekstual yang dapat dilakukan, cara yang pertama adalah dengan mengamati makna kata dari kalimat yang mengandung kata tersebut, cara yang kedua adalah dengan melakukan pengamatan urutan kata yang menyertai kata tersebut.
“Anytime a linguist leaves the group the recognition rates goes up” Fred Jelinek (IBM speech Group)(1998)
Perhitungan kontekstual dengan mengingat makna dari suatu kalimat sangat sulit untuk dilakukan karena bahasa natural itu tidak sistematis dan statis; bahasa natural adalah kreatif dan dinamis, suatu cara yang jauh lebih mungkin dikerjakan adalah dengan melakukan perhitungan terhadap kata–kata yang menyertai kata yang menjadi
53 objek pengamatan kita. Hal ini, secara matematis dapat dilakukan dengan melakukan perhitungan distribusi kata atas kumpulan kalimat yang disertai dengan perhitungan probabilitas maksimum atas kata yang menjadi objek pengamatan kita. Perhitungan ini juga harus dapat merepresentasikan hubungan antara satu kata dengan kata lainnya, operasi ini dapat dilakukan dengan mengaplikasikan aturan rantai markov. Proses perhitungan dengan mengaplikasikan aturan rantai markov menjadi masalah tersendiri, hal ini dikarenakan objek yang digunakan adalah dinamis dan memiliki variasi penggunaan yang sangat beragam namun perhitungan ini dapat disederhanakan dengan menggunakan pemodelan markov yaitu N-Gram.
2.7
N-Gram
N-Gram adalah salah satu alat pemodelan markov yang dapat melakukan prediksi objek selanjutnya ketika diberikan urutan objek yang saling bertautan (Anonymous. N-gram, 2005, http://en.wikipedia.org/wiki/Special:Whatlinkshere/Ngram) Model ini didasari atas pekerjaan Claude Shannon dalam penelitiannya terhadap information theory. Ide utama dari pemodelan ini didapat ketika Shannon dalam penelitiannya melakukan perhitungan terhadap tingkat likelihood terhadap kata selanjutnya ketika diberikan serangkaian urutan kata–kata. Secara ringkas pemodelan ini memprediksi nilai xi berdasarkan rangkaian xi-1, xi-2, xi-3, xi-n. Pemodelan ini dapat diibaratkan sebagai jendela yang bergerak terhadap kumpulan objek.
54 Tabel 2.2 Contoh Pemodelan Bigram
Tabel B
Tabel A NO Representasi bigram Gram) 1 (Ujang, pergi) 2 (pergi, membeli) 3 (membeli, apel) 4 (apel, untuk) 5 (untuk, apel) 6 (apel, ke) 7 (ke, rumah) 8 (rumah, pacarnya)
(2-
Ujang Ujang 1 Pergi 0 Membeli 5 Apel 0 Tabel C Corpus N Tabel D
Pergi 0 2 1 0
Membeli 0 1 0 0
Apel 2 0 1 0
Ujang Pergi Membeli Apel 20 10 15 6
Ujang Ujang 1/20 Pergi 0 Membeli 5/15 Apel 0
Pergi 0 2/10 1/10 0
Membeli 0 1/15 0 0
Apel 2/6 0 1/15 0
Tabel diatas merupakan contoh pemodelan bigram, berikut adalah keterangan dari tabel contoh diatas: •
Tabel A Merupakan tabel contoh representasi kalimat ke dalam bigram atau disebut juga 2-Gram. Tabel ini disusun berdasarkan kata “ujang pergi membeli apel untuk apel ke rumah pacarnya”, kata–kata tersebut dipecah menjadi pasangan kata untuk memperkecil jangkauan pengamatan sehingga pengamatan relevansi kata dapat dilakukan dengan jangkauan yang terbatas. Perhitungan relevansi kata cukup dilakukan terhadap satu kata sebelum kata yang menjadi objek pengamatan kita, contoh: ketika diberikan potongan kalimat “ujang pergi membeli …” maka kata yang berkemungkinan tinggi
55 untuk melengkapi kalimat di atas adalah apel, hal ini didasarkan atas pengamatan kita terhadap kata yang (sesuai dengan representasi bigram) menyertai kata apel, secara matematis pengamatan kontekstual tersebut dapat dituliskan sebagai berikut: P( kata(x) | kata(x-1) ) •
Tabel B Merupakan contoh perhitungan distribusi bigram untuk kata “ujang pergi membeli apel”, perhitungan ini dilakukan dengan menghitung distribusi setiap kata mengingat runutan kata ini dengan satu kata sebelumnya
•
Tabel C Merupakan contoh perhitungan distribusi unigram untuk setiap kata yang menjadi pengamatan tabel B, perhitungan ini dilakukan dengan menghitung distribusi setiap kata tanpa mengingat adanya hubungannya dengan kata lain yang menyertainya.
•
Tabel D Merupakan contoh perhitungan probabilitas bigram untuk setiap kata, perhitungan ini dilakukan dengan membagi distribusi bigram setiap kata dengan distribusi unigram atas kata yang berkesuaian atau secara matematis ditulis: B(ujang,ujang) / C(ujang).
Menurut Daniel Jurafsky dan James H. Martin (2006, p1), seperti dalam kebanyakan model statistika, N-Gram sangat bergantung pada data–data yang digunakan sebagai model pengamatan oleh karena itu kinerja N-Gram akan semakin membaik ketika nilai dari N ditingkatkan, berikut adalah contoh yang diambil dari salah satu
56 artikel yang melakukan percobaan pembentukan kalimat acak dengan meminjam teknik yang digunakan oleh Shannon (1951), dan Miller Selfridge (1950): •
Unigram: every enter now severally, so let
•
Bigram: what I means, sir I confess she? the all sorts he is trim
•
Trigram: indeed the duke; and have a very good friend
•
Quardgram: indeed the short and long marry is noble lepidus
Karakteristik N-Gram yang semakin membaik ketika jumlah N ditambahkan menunjukkan bahwa pemodelan ini mengalami kemunduran ketika proses pengenalan kontekstual ini dilakukan terhadap kata yang memiliki dependensi yang sangat tinggi terhadap runutan kata yang berada sangat jauh dibelakangnya, karakteristik ini diderita oleh semua jenis pemodelan Markov.
57 2.8
Model Perancangan Aplikasi
Analisis Sistem/informasi engineering Desain
Koding
Testing
Gambar 2.11 Model Sekuensial Linear
Model sekuensial linear kadang disebut classic life cycle atau model waterfall. Model sekuensial linear bersifat sistematik, pendekatan sekuensial ke perkembangan software yang dimulai pada level sistem dan proses melalui analisis, desain, koding, dan testing. Model sekuensial linear terdiri dari beberapa kegiatan: a) Sistem atau informasi engineering dan modeling Karena software bagian terbesar sistem, pekerjaan dimulai dari membangun keperluan untuk semua elemen sistem dan kemudian dialokasi beberapa subbab dari keperluan untuk software. Tampilan sistem harus sederhana (essential) ketika software berhubungan dengan elemen lain seperti hardware, pengguna, dan database. Sistem engineering dan analisis
58 terkumpul pada level sistem dengan jumlah kecil dari level desain dan analisis paling atas. Informasi engineering meliputi kumpulan persyaratan pada level strategi bisnis dan level bisnis lingkungan. b) Keperluan analisis software Proses pengumpulan persyaratan adalah menguatkan dan memfokuskan hal yang spesifik. Untuk memahami program dasar yang ingin dibangun, software engineer harus mengerti informasi utama untuk software terhadap fungsi persyaratan, sifat, dan tampilan. Persyaratan untuk kedua sistem dan software dicatat dan diperlihatkan pada pelanggan. c) Desain Desain software adalah proses yang terfokus pada empat atribut program, yaitu : struktur data, arsitektur software, representasi tampilan, dan algoritma. Proses desain menterjemahkan persyaratan menjadi representasi dari software yang dapat memperkirakan kualitas sebelum mulai koding. Keperluan desain didokumentasi dan menjadi bagian dalam software. d) Penggenerasian code Desain harus dituangkan menjadi bahasa mesin. Tahap pengenerasian code melakukan tugas ini. Jika desain dilakukan dengan secara detail, pengenerasian code dapat diselesaikan secara mekanik. e) Testing Proses testing terfokus pada logika dari software, menjamin semua perintah telah dites, dan berjalan sesuai fungsinya; mengadakan tes untuk menangani error dan menjamin input akan menghasilkan hasil yang diinginkan.
59 2.9
State Transition Diagram
State transition diagram (STD) menampilkan cara kerja sistem dengan penggambaran state dan kegiatan yang menyebabkan sistem berubah. Tambahan, STD mengandung aksi–aksi yang diambil secara konsekuen dari kegiatan. State Transition diagram merupakan sebuah modelling tool yang digunakan untuk mendeskripsikan sistem yang memiliki ketergantungan terhadap waktu. STD merupakan suatu kumpulan keadaan atau atribut yang mencirikan suatu keadaan pada waktu tertentu.Komponen-komponen utama STD adalah : 1. State, disimbolkan dengan
Gambar 2.12 Notasi State State merepresentasikan reaksi yang ditampilkan ketika suatu tindakan dilakukan. Ada dua jenis state yaitu : state awal dan state akhir. State akhir dapat berupa beberapa state, sedangkan state awal tidak boleh lebih dari satu. 2. Arrow, disimbolkan dengan
Gambar 2.13 Notasi Arrow
Arrow sering disebut juga dengan transisi state yang diberi label dengan ekspresi aturan, label tersebut menunjukkan kejadian yang menyebabkan transisi terjadi.
60 3. Condition dan Action, disimbolkan dengan
Gambar 2.14 Notasi Condition dan Action
Untuk melengkapi STD diperlukan 2 hal lagi yaitu condition dan action. Condition adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh sistem, sedangkan Action adalah yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau tampilan.