Tugas 2 Stack untuk Parser Pemecah Sukukata Bahasa Indonesia |
From:
setiawan@caplin.cs.ui.ac.id (Suryana Setiawan) Newsgroups: forum.iki.struktur Subject: Tugas II Date: 16 Mar 1998 03:16:09 GMT Tugas II Stack adalah struktur yang mempunyai sifat yang bermanfaat untuk mendukung mekanisme proses yang sifatnya maju-mundur secara backtracking, contohnya parser, pemeriksa tanda kurung, pencarian-pencarian, tanpa menggunakan pemrograman rekursif. Untuk memahami pemakaian stack maka dalam tugas ini anda diminta untuk membuat program yang dapat memecah-mecahkan kata-kata dalam Bahasa Indonesia yang tak termasuk kata adaptasi asing, yang memanfaatkan stack sebagai alat bantu. Aturan pemecahan suku katanya harus baku (sama setiap mahsiswa) jadi di kelas telah didiskusikan aturan-aturan yang berusaha mengikuti aturan baku bahasa Indonesia sebagai berikut ini. (jika k=konsonal, v=vokal, dan 'ng' serta 'ny' di anggap satu vokal) ...kvkv... =>
...kv-kv... Mengingat aturan-aturan ini mungkin saja tidak sesuai dengan aturan baku untuk Bahasa Indonesia, sambil berjalan mohon ada yang mengusulkan koreksi dari aturan-aturan tsb., sejauh saya pertimbangkan tidak jadi mempersulit dalam implementasinya maka usulan itu bisa diterima). Catatan: 1. problem ini dapat juga dipecahkan tanpa menggunakan stack, tapi sesuai tujuannya untuk melatih penggunakan stack maka anda diwajibkan menggunakan stack. 2. Tugas ini tidak ada hubungannya dengan tugas IA/IB tapi hasil tugas ini bisa dimanfaatkan untuk hyphenation di dalam teks editor tsb. - Suryana Setiawan From:
setiawan@caplin.cs.ui.ac.id (Suryana Setiawan) amnatun - 0749
(parlin@kupang.timor.or.id) wrote: Masukannya dari keyboard, bisa berupa suatu kalimat, pokoknya stream kata-kata yang dipisahkan spasi, dan keluarannya langsung di screen yang berupa stream suku-suku kata hasilnya (spasi dibiarkan sebagai spasi). - Suryana Setiawan From:
setiawan@caplin.cs.ui.ac.id (Suryana Setiawan) Ralat...... :baku bahasa
Indonesia sebagai berikut ini.(jika
k=konsonal,v=vokal,dan Seharusnya tertulis: Catatan: saya tambahkan kata sebaiknya, kalau anda punya ide lain yang lebih baik yang meanggapnya tetap sebagai dua konsonan maka silakan saja tanpa ada pengurangan nilai. From:
setiawan@caplin.cs.ui.ac.id (Suryana Setiawan) Atas beberapa pertimbangan maka Tugas 2 lebih disederhanakan lagi sebagai berikut: 1. Aturan pemecahan suku kata yang digunakan BUKANLAH aturan yang baku dalam bahasa Indonesia, tetapi mengikuti aturan sebagai berikut: vv... => v-v... Dengan v=vokal, k=konsonan, ... = karakter-karakter berikutnya. Definisi konsonan diperluas meliputi ng, ny, kh, dan tr sebagai "konsonan tunggal". Catatan: pemecahan ini tidak memperhatikan struktur pembentukan kata seperti prefiks-kt.dasar-postfix! 2. Diftong dianggap tidak ada, tetapi secara teoritis anda dapat mengembangkan program anda dengan menggunakan suatu lookup-table berdasarkan konteks kata. 3. Kombinasi 3 huruf seperti str pada kata instruktur dianggap tidak ada, tetapi program anda dapat dikembangkan untuk menangani hal tsb namun tentunya jadi lebih rumit. 4. Tanda-tanda baca yang umum dapat digunakan seperti halnya sebuah titik atau spasi yang mengakhiri suku-kata sebelumnya. 5. Masukan dimasukkan dari keyboard dan keluaran ditampilkan di screen dengan kalimat bisa berisi alfabet huruf besar dan huruf kecil. Contoh: Masukan: Hari ini
mendung sekali, mungkin mau turun hujan. - Suryana Selamat mengerjakan tugas! |