Mesin Sekuensial dan Teori Pemrograman Pengenal Ucapan
Pendahuluan
Teori matematika tentang automata (atau mesin
sekuensial) bisa juga dikatakan sebagai sebuah studi yang abstrak. Studi
tentang automata memang agak kurang dilakukan, terutama disebabkan oleh dua
fakta, pertama sedikitnya notasi standar dan kedua, tidak memadainya
perlengkapan-perlengkapan untuk melakukan suatu manipulasi. Secara umum dalam
teori automata dihadapkan pada simbol-simbol yang merepresentasikan suatu
proses.
Di sini terdapat sebuah struktur sekuensial yang mampu mendasari sebagian besar piranti, aktivitas dan proses-proses penentuan keputusan, khususnya yang berkaitan dengan komputasi.
Aplikasi dari struktur sekuensial yaitu, alat-alat rumah tangga, permainan anak-anak, teka-teki, mesin penjual otomatis, elevator/tangga berjalan, struktur komponen penghitungan dan pemecahan masalah terkomplikasi pada bahasa-bahasa pemrograman, perancangan arsitektur komputer, transmisi informasi/data dan pengolahan citra, pemrograman, teori bahasa formal serta keterkaitan teoritis ilmu modern.
Di sini terdapat sebuah struktur sekuensial yang mampu mendasari sebagian besar piranti, aktivitas dan proses-proses penentuan keputusan, khususnya yang berkaitan dengan komputasi.
Aplikasi dari struktur sekuensial yaitu, alat-alat rumah tangga, permainan anak-anak, teka-teki, mesin penjual otomatis, elevator/tangga berjalan, struktur komponen penghitungan dan pemecahan masalah terkomplikasi pada bahasa-bahasa pemrograman, perancangan arsitektur komputer, transmisi informasi/data dan pengolahan citra, pemrograman, teori bahasa formal serta keterkaitan teoritis ilmu modern.
Mesin Sekuensial
Mesin sekuensial terdiri atas struktur
masukan-transisi-keluaran. Struktur transisi meliputi: state (keadaan), masukan
dan fungsi transisi. Struktur keluaran meliputi: keadaan, keluaran dan fungsi
keluaran. Karena struktur keluaran adalah bagian eksternal dari mesin, maka
lebih tepat untuk aplikasi praktis daripada struktur transisi yang
merupakan bagian internal.
Automata (automaton) ialah suatu mesin yang bekerja dengan sendirinya (automatis). Sebuah automaton merupakan struktur transisi dari mesin sekuensial. Sedangkan sekuensial bermakna urutan, maka mesin sekuensial adalah mesin yang keluarannya tergantung kepada struktur rangkaiannya. Atau dengan kata lain, keluaran mesin sekuensial tergantung kepada keadaan sebelumnya, yaitu urutan dari masukan terakhir yang pernah diberikan kepada mesin dan keadaan dari mesin sebelum urutan tersebut dikenakan. Dua kombinasi inilah yang menyatakan keadaan sekarang (present state) dari mesin sekuensial.
Dengan demikian, mesin diarahkan ke suatu keadaan tertentu, sehingga kita dapat memprediksi keluarannya. Prosedur mengarahkan mesin ke suatu keadaan yang diketahui ini disebut mereset mesin (resetting machine).
Paling tidak ada 2 hal penting yang harus diperhatikan. Pertama, karena adanya masukan, perubahan apakah yang terjadi pada mesin sekuensial. Kedua, perubahan yang terjadi menjadi informasi masukan bagi mesin sekuensial berikutnya, apabila perubahanya jelek akan mempebgaruhi hasil.
Mesin Sekuensial
Elektronis Automata (automaton) ialah suatu mesin yang bekerja dengan sendirinya (automatis). Sebuah automaton merupakan struktur transisi dari mesin sekuensial. Sedangkan sekuensial bermakna urutan, maka mesin sekuensial adalah mesin yang keluarannya tergantung kepada struktur rangkaiannya. Atau dengan kata lain, keluaran mesin sekuensial tergantung kepada keadaan sebelumnya, yaitu urutan dari masukan terakhir yang pernah diberikan kepada mesin dan keadaan dari mesin sebelum urutan tersebut dikenakan. Dua kombinasi inilah yang menyatakan keadaan sekarang (present state) dari mesin sekuensial.
Dengan demikian, mesin diarahkan ke suatu keadaan tertentu, sehingga kita dapat memprediksi keluarannya. Prosedur mengarahkan mesin ke suatu keadaan yang diketahui ini disebut mereset mesin (resetting machine).
Paling tidak ada 2 hal penting yang harus diperhatikan. Pertama, karena adanya masukan, perubahan apakah yang terjadi pada mesin sekuensial. Kedua, perubahan yang terjadi menjadi informasi masukan bagi mesin sekuensial berikutnya, apabila perubahanya jelek akan mempebgaruhi hasil.
Banyak untai sekuensial yang merupakan realisasi secara elektronis dari mesin sekuensial. Beberapa diantaranya seperti sistem switching telepon, elevator automatis, sistem kontrol lampu lalu lintas dan untai-untai elektronis dalam kalkulator.
Sebuah mesin sekuensial elektronis adalah sebuah peralatan yang mampu menampilkan sekumpulan karakteristik berurutan. Untai ini merealisasikan urutan sekuensial yang diperlukan dan diberikan. Karena keadaan berikutnya dan keluaran dari sebuah mesin sekuensial tergantung pada keberadaan masa lalu dari mesin, maka mesin sekuensial elektronis harus menggunakan peralatan yang mempunyai kemampuan untuk “mengingat” tingkah laku sebelumnya dari mesin. Sebuah untai kombinasi tidak dapat menyatakan keberadaan masa lalunya, karena keluarannya hanya tergantung pada masukan saat ini. Di bawah akan diterangkan tentang R-S flip-flop yang merupakan bagian dasar dari rangkaian pengingat.
R-S flip-flop dapat dibuat dengan menggunakan dua gerbang logika NOR. Simbol untuk gerbang logika NOR dan R-S flip-flop ditunjukkan di bawah:
Gambar 1 RS flip-flop
Bagaimana mencapai next state flip flop
Present state
|
Next state
|
Aksi yang diperlukan
|
|
z
|
z'
|
S
|
R
|
0
0 1 1 |
0
1 0 1 |
0
1 0 - |
-
0 1 0 |
Mesin-mesin sekuensial merupakan penerapan dari R-S flip-flop terdiri atas lebih dua keadaan. Untuk merealisasikannya digunakan lebih banyak flip-flop karena setiap R-S flip-flop hanya mempunyai dua keadaan maka dua flip-flop dikombinasikan untuk menyatakan empat keadaan dari sebuah untai. Secara umum, n flip-flop digunakan untuk menyatakan 2n keadaan dari sebuah untai.
Pemodelan Mesin Sekuensial
Untuk memudahkan mempelajari dan
mengaplikasikan mesin sekuensial, digunakanlah sistem pemodelan. Dua model yang
umum dipergunakan yaitu model Mealy dan model Moore. Perbedaan keduanya hanya
terletak pada bagaimana menempatkan keluaran.
Dalam model atau mesin Moore, keluaran dianggap seperti menempel pada keadaan saat ini (present state), bukan pada masa transisinya dan keluaran didapatkan secara automatis ketika mesin berada atau memasuki keadaan tersebut. Pada mesin Mealy keluaran didapatkan pada masa transisinya. Keduanya sebenarnya dapat digunakan untuk mewakili tugas yang sama dengan hasil yang tidak berbeda. Pemilihan model kemudian lebih dikarenakan kemudahan dalam penggunaannya.
Gambar 2. Model Mealy dan Moore Dalam model atau mesin Moore, keluaran dianggap seperti menempel pada keadaan saat ini (present state), bukan pada masa transisinya dan keluaran didapatkan secara automatis ketika mesin berada atau memasuki keadaan tersebut. Pada mesin Mealy keluaran didapatkan pada masa transisinya. Keduanya sebenarnya dapat digunakan untuk mewakili tugas yang sama dengan hasil yang tidak berbeda. Pemilihan model kemudian lebih dikarenakan kemudahan dalam penggunaannya.
Teori pemrograman Pengenal Ucapan
Berkata ataupun berbicara merupakan cara yang
paling alami dan efisien dalam bertukar informasi. Perkembangan yang pesat
dalam ilmu komputer mengakibatkan banyak ahli mencoba menerapkan teknologi
pengenal percakapan sehingga memudahkan interaksi dengan komputer. Teknologi
pengenal perkataan (speech recognition technology) bertujuan menciptakan mesin
yang mampu menerima informasi lewat perkataan serta beraksi dengan cepat dan
tepat sesuai dengan informasi tersebut.
Penelitian tentang pengenal perkataan adalah bagian dari pengembangan teknologi komputer dengan kecerdasan buatan (artificial intelligent) yang dapat “mendengar”, “mengerti” dan “bereaksi” sesuai informasi perkataan yang diberikan. Disisi lain, banyak hal yang menyebabkan perkembangan teknologi pengenal ucapan ini berjalan begitu lambat.
Sebuah mesin komputer yang diciptakan memiliki kemampuan pengenal ucapan terbagi dalam dua bagian besar. Pertama, bagian yang merubah sinyal suara (akustik) ke bentuk sinyal-sinyal digital. Kedua, bagian yang mengolah sinyal-sinyal ini, menganalisisnya, mengetahui bentuk perintah yang dimaksud, kemudian memberikan respon dengan melakukan perintah tersebut. Bagian ini terdiri dari bagian yang menganalisa struktur leksikal, sintaksis, semantik dan terakhir analisa pragmatis sehingga menghasilkan sebuah pesan yang jelas. Dalam konteks tersebut, analisa grammar melibatkan analisa leksikal dan sintaksis.
Untuk sebuah mesin sekuensial, bagian akustik lebih banyak melibatkan masalah matematika, bagaimana mengubah satu sinyal ke bentuk diskret (yang diolah komputer). Sementara itu bagian linguistik mensyaratkan pemahaman-pemahaman terhadap beberapa teori yang sifatnya abstrak seperti teori tentang linguistik dan teori bahasa formal yang dapat diterima oleh mesin sekuensial. Di bawah dibahas sekilas tentang bahasa formal.
Gambar 3 Proses pengolahan informasi Penelitian tentang pengenal perkataan adalah bagian dari pengembangan teknologi komputer dengan kecerdasan buatan (artificial intelligent) yang dapat “mendengar”, “mengerti” dan “bereaksi” sesuai informasi perkataan yang diberikan. Disisi lain, banyak hal yang menyebabkan perkembangan teknologi pengenal ucapan ini berjalan begitu lambat.
Sebuah mesin komputer yang diciptakan memiliki kemampuan pengenal ucapan terbagi dalam dua bagian besar. Pertama, bagian yang merubah sinyal suara (akustik) ke bentuk sinyal-sinyal digital. Kedua, bagian yang mengolah sinyal-sinyal ini, menganalisisnya, mengetahui bentuk perintah yang dimaksud, kemudian memberikan respon dengan melakukan perintah tersebut. Bagian ini terdiri dari bagian yang menganalisa struktur leksikal, sintaksis, semantik dan terakhir analisa pragmatis sehingga menghasilkan sebuah pesan yang jelas. Dalam konteks tersebut, analisa grammar melibatkan analisa leksikal dan sintaksis.
Untuk sebuah mesin sekuensial, bagian akustik lebih banyak melibatkan masalah matematika, bagaimana mengubah satu sinyal ke bentuk diskret (yang diolah komputer). Sementara itu bagian linguistik mensyaratkan pemahaman-pemahaman terhadap beberapa teori yang sifatnya abstrak seperti teori tentang linguistik dan teori bahasa formal yang dapat diterima oleh mesin sekuensial. Di bawah dibahas sekilas tentang bahasa formal.
Bahasa Formal
Perkataan formal mengacu pada kenyataan bahwa semua
peraturan untuk bahasa dinyatakan secara eksplisit yaitu string-string apa yang
dapat terjadi. Di sini perkataan formal ditekankan pada bentuk simbol string
bukan kepada arti. Teori bahasa formal diperkenalkan pertamakali oleh ahli bahasa Noam Chomsky (1950), ia memberikan karakteristik pada struktur bahasa-bahasa seperti Bahasa Inggris ataupun Bahasa Jerman dengan aturan matematika formal. Chomsky berusaha mencari suatu penggambaran syntax dari bahasa-bahasa melalui beberapa aturan sederhana dan transformasi, ia menganjurkan beberapa aturan-aturan pembatasan, salah satunya tentang grammar atau context-free grammar.
Grammar ialah sekumpulan aturan dengan simbol-simbol (dalam konteks pengenal ucapan adalah fonem-fonem) dikombinasikan dalam bahasa alami. Sedangkan bahasa (language) merupakan kumpulan dari seluruh kemungkinan kombinasi simbol-simbol.
Konsep bahasa dan grammar dinyatakan sebagai fenomena yang dilihat sebagai kesatuan struktur dihasilkan dengan membuatnya dari pola-pola primitif sesuai dengan aturan-aturan tertentu. Ucapan atau perkataan adalah fenomena yang terpola seperti tersebut, tapi kemudian dapat membentuk grammar yang menyatakan bentuk dari gambar-gambar, kumpulan karakter (string-string) dari bilangan biner/kode komputer. Pola primitif yang berasosiasi dengan bahasa formal disebut terminal atau batas dari bahasa. Bahasa itu sendiri didefinisikan sebagai kumpulan dari seluruh string-string kalimat yang dihasilkan dengan aturan-aturan dari grammar formal.
Untuk itu perlu definisikan sebuah mesin abstrak sekuensial (automaton) yang mempunyai kemampuan mengetahui aturan-aturan dari sebuah grammar untuk menghasilkan setiap elemen dari bahasa. Model yang paling banyak dipakai adalah Hidden Markov Model (HMM), pada dasarnya merupakan sebuah finite state automata menghasilkan bahasa yang tersusun dengan grammar umum. Grammar tersebut digunakan untuk memodelkan kode yang dihasilkan oleh ucapan pada setiap tingkatan proses linguistik dan akustik.
Tidak ada komentar:
Posting Komentar